var imgsPreloadTimeout;
var mViewers = new Array();
var EntityImgsN = 1, EntityAddrsN = 1;

function CheckIfIslandWasChanged(default_island, default_location, original_link){
	var cur_link = original_link.replace(DOMAINstr,'');
	var ret_link;
	if ( active_island_title != default_island ){
		ret_link = active_island_title + cur_link;
	} else{
		ret_link = default_location + cur_link;
	}
	return ret_link;
}


function ShowHideObjById(docObj, objId){
	var t = docObj.getElementById(objId); 
	if ( !t ) return;
	if ( t.style.display == 'none' ){
		t.style.display = 'block';
	} else {
		t.style.display = 'none';
	}
}

function HideObjById(docObj, objId){
	var t = docObj.getElementById(objId); 
	if ( !t ) return;
	t.style.display = 'none';
}

function ShowObjById(docObj, objId){
	var t = docObj.getElementById(objId); 
	if ( !t ) return;
	t.style.display = 'block';
}

function SetFromValue(docObj, objId, selValue){
	var t = docObj.getElementById(objId);
	if ( !t ) return;
	t.innerHTML = selValue;
}

function _remove_comment(str){
	return str.replace(/[<][!][-]{2}(.*?)[-]{2}[>]/gi, '');
}

function _take_from_comment(str){
	var re = /[<][!][-]{2}(.*?)[-]{2}[>]/;
	var found = re.exec(str);
	if ( !found ){
		return '';
	}
	return found[1];
}

function ToggleFilter(hrefObj, objId, picPart){
	$j('#'+objId).slideToggle('normal');
	ShowHideObjById(document, 'Filter'+picPart+'Collapse');
	ShowHideObjById(document, 'Filter'+picPart+'Expand')
	hrefObj.title = ( hrefObj.title == 'Hide List' ? 'Show List' : 'Hide List' );
	return false;
}

function LoadCuisine(page, docObj, objId){
	var t = docObj.getElementById(objId);
	if ( !t ) {
		return;
	}
	$j("#"+objId).load("/lib/ajax/main.php?action=getcuisine&page="+page);
}

function ChangeCuisine(page, docObj, objId, filterDivId){
	LoadCuisine(page, docObj, filterDivId);
	LoadResults(page, 1, -1, -1);
}

function LoadFeaturedRelated(page){
	var pages = page.split('/');
	if ( pages[0] == 'entity' ){
		var t = document.getElementById('related_listings_block');
		if ( !t ){} else{
			var listing_id = ( pages.length > 1 ? pages[ pages.length-1 ] : 0 );
			$j("#related_listings_block").load("/lib/ajax/main.php?action=getrelated&page="+page+"&id="+listing_id);
		}
	}
	var tt = document.getElementById('featured_listings_block');
	if ( !tt ){
		return;
	}
	$j("#featured_listings_block").load("/lib/ajax/main.php?action=getfeatured&page="+page);
}


function ShowAddress(addr, addr2){
	if ( !map ){
		if (!maptimeout){
			maptimeout = setTimeout("ShowAddress('"+addr+"','"+addr2+"');",1000);
		} else{
			clearTimeout(maptimeout);
			maptimeout = setTimeout("ShowAddress('"+addr+"','"+addr2+"');",1000);
		}
		return;
	}
	
	if ( !geocoder ){
		geocoder = new google.maps.ClientGeocoder();
	} 
	geocoder.getLatLng(
    	  addr,
          function(point) {
            if (!point) {
            	if ( addr2 != '' ){
            		ShowAddress(addr2, '');
            	} else{
            		return;
            	}
            } else {
              	map.setCenter(point, 10);
              	map.setMapType(G_HYBRID_MAP);
				map.addControl(new google.maps.LargeMapControl());
				map.addControl(new google.maps.MapTypeControl());
				map.addControl(new google.maps.OverviewMapControl()); 	
              	marker = new google.maps.Marker(point, { icon:greenIcon });
              	map.addOverlay(marker);
            }
          }
        );
} 		

var maptimeout, greenIcon, marker = null;

function initializeMap() {
	if (google.maps.BrowserIsCompatible()) {
		map = new google.maps.Map2(document.getElementById("GoogleMap"));
		greenIcon = new google.maps.Icon(G_DEFAULT_ICON);
		greenIcon.image = "/imgs/green_arrow.png";
	}
}

function ChangeHomeCategory(active_island_title, page, docObj, catId, homecats){
	var tabObj, linkObj, sepObj;
	
	for ( var i = 0; i < homecats.length; i++ ){
		tabObj = docObj.getElementById('MainTab'+homecats[i]);
		if ( homecats[i] == catId ){
			if (tabObj){
				tabObj.className = 'tab_selected';
			}
		} else{
			if (tabObj){
				tabObj.className = 'tab_nonselected';
			}
		}
	}
	if ( catId == 0 ){
		FillDefaultHomePage(docObj); 
	} else{
		var t = docObj.getElementById('MainHomePageTab');
		
		if ( !t ){
			return;
		}
		$j('#MainHomePageTab').load("/lib/ajax/main.php?action=getemptyhometab");
		$j('#MainHomePageTab').load("/lib/ajax/main.php?action=getfeaturedhomepage&page="+(active_island_title == '' ? '' : active_island_title +'/')+'home'+page+"&cat="+catId);
	}
}

function FillDefaultHomePage(docObj){
	var t = docObj.getElementById('MainHomePageTab');
	var tt = docObj.getElementById('homepage_map_hidden');

	if ( t && tt ){
		t.innerHTML = '<div id="homepage_map">'+
						tt.innerHTML.replace(/[%]/gi, '')+
					  '</div>';
	}
}

function MakeLogin(docObj, LoginId, SignUpId){
	HideObjById(docObj, SignUpId);
	ShowHideObjById(docObj, LoginId);
}

function Register(docObj, LoginId, SignUpId){
	HideObjById(docObj, LoginId);
	ShowHideObjById(docObj, SignUpId);
}

function MakeLoginFromPlanner(docObj, LoginId, SignUpId){
	HideObjById(docObj, SignUpId);
	ShowObjById(docObj, LoginId);
}

function RegisterFromPlanner(docObj, LoginId, SignUpId){
	HideObjById(docObj, LoginId);
	ShowObjById(docObj, SignUpId);
}

function SwitchInsidePopup(docObj, HidePopup, ShowPopup){
	HideObjById(docObj, HidePopup);
	ShowObjById(docObj, ShowPopup);
}

function RegisterNewUser(docObj, formObj, namesArr){
	var formData = CollectFormData(formObj);

	var regerrs = docObj.getElementById('RegisterErrs');
	regerrs.innerHTML = '';

	var check  = CheckErrors(formData, namesArr);
	var errs = check['errs'];
	var firstWrong = check['firstWrong'];

	var str = OutputErrors(docObj, 'RegisterErrs', errs, ( firstWrong == '' ? null : formObj.elements[firstWrong]), '<br>' );
	if ( str != '' ){
		return false;
	}
	
	regerrs.innerHTML = '';
	
	var datastr = PrepareForGet(formData, namesArr, 0);

	var d = new Date();
	tstmp = Date.parse(d);

	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=signup"+datastr+'&tstmp='+tstmp,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = docObj.getElementById('ajaxresults');
			var errs = res.innerHTML.split("/");
			
			var regerrs = docObj.getElementById('RegisterErrs');
			regerrs.innerHTML = '';
			
			var curstr = OutputErrors(docObj, 'RegisterErrs', errs, formObj.elements[0], '<br>');
			
			if ( curstr == "" ){//no errors
				HideObjById(docObj, 'sign_up_block_form');
				HideObjById(docObj, 'license_agreement');
				ShowObjById(docObj, 'HiddenRegisterDiv');
				return;
			} 
			return;
	 	}
	 });	
	
}
	
function SignIn(docObj, formObj, namesArr){
	var formData = CollectFormData(formObj);
	
	var loginerrs = docObj.getElementById('LoginErrs');
	loginerrs.innerHTML = '';
	
	var check  = CheckErrors(formData, namesArr);
	var errs = check['errs'];
	var firstWrong = check['firstWrong'];
	
	var str = OutputErrors(docObj, 'LoginErrs', errs, ( firstWrong == '' ? null : formObj.elements[firstWrong]), '<br>' );
	if ( str != ''){
		return false;
	}

	var datastr = PrepareForGet(formData, namesArr, 1);
	
	var d = new Date();
	tstmp = Date.parse(d);

	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=login"+datastr+'&tstmp='+tstmp,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = docObj.getElementById('ajaxresults');
			var errs = res.innerHTML.split("/");
			
			var loginerrs = docObj.getElementById('LoginErrs');
			loginerrs.innerHTML = '';
			
			var str = OutputErrors(docObj, 'LoginErrs', errs, formObj.elements[0], '<br>');
			if ( str == '' ){//no errors
				var cur_link = CheckIfIslandWasChanged(active_island_title, active_island_title, '/my');
				document.location = cur_link;
				return;
			} 
			return;
	 	}
	 });	
}

function checkEmail(emailVal){
	var re = /^([a-z])([a-z0-9._-]+)[@](([a-z0-9]+[.])+)([a-z]+)$/i
	if ( emailVal.match(re)){
		//alert('Email '+emailVal+' valid');
		return true;
	} else{
		//alert('Email '+emailVal+' invalid');
		return false;
	}
}

function LogOut(email, pwd){
	$j("#ajaxresults").load("/lib/ajax/main.php?action=logout&email="+escape(email)+"&pwd="+pwd);
	var str = '';
	var t = document.getElementById('ajaxresults');
	if ( t.innerHTML.replace(/[\s]/gi, '') != '' ){// errors found
		var errs = t.innerHTML.split('/');
		for ( var i = 0; i < errs.length; i++ ){
			str += errs[i]+'\n';
		}
	}
	if ( str != '' ){
		alert(str);
		return false;
	}
	var cur_link = CheckIfIslandWasChanged(active_island_title, active_island_title, '/home');
	document.location = cur_link;
	return true;
}

function ReloadCaptchaImage(docObj,objId, picWidth, picHeight, charsNum){
	var t = document.getElementById(objId);
	if ( !t ){
		return;
	}
	var d = new Date();
	var i = Date.parse(d);
	var m =Math.random();
	var k = i+m;
//alert('i='+i+'\nm='+m+'\nk='+k);
	t.src = '/utils/captcha?width='+picWidth+'&height='+picHeight+'&characters='+charsNum+'&clearcache='+m;
}
								
function OutputErrors(docObj, objId, errsArr, firstWrong, delimiter){
	if ( !delimiter ){
		delimiter = '<br>';
	}
	var errsStr = '';
	for ( var i = 0; i < errsArr.length; i++ ){
		if ( errsArr[i] == '' ){
			continue;
		}
		errsStr += errsArr[i]+delimiter;
	}

	if ( (!errsStr) || errsStr == "" || errsStr == delimiter ){
		return "";
	}
	var tt = docObj.getElementById(objId);
	if ( !tt ){
		return "";
	}
	tt.innerHTML = errsStr;
	if ( !firstWrong ){} else {
		firstWrong.focus();
	}
	return errsStr;
}

function CheckErrors(formData, namesArr){
	var errs = new Array();
	var firstWrong = '';
	if ( !namesArr['pwdconfirm'] ){
		namesArr['pwdconfirm'] = '';
	}
	if ( !namesArr['agree'] ){
		namesArr['agree'] = '';
	}
	if ( !namesArr['captcha'] ){
		namesArr['captcha'] = '';
	}
	if ( !namesArr['non-empty'] ){
		namesArr['non-empty'] = new Array();
	}
	
	for ( var i in formData ){
		if ( typeof(formData[i]) == 'function' ){
			continue;
		}
		if ( i == namesArr['captcha'] && formData[i].replace(/[\s]gi/, '') == '' ){
			errs[ errs.length ] = errMsgs['empty_captcha'];
			if ( firstWrong == '' ){
				firstWrong = i;
			}
		}else if ( i == namesArr['email'] && formData[i].replace(/[\s]gi/, '') == '' ){
			errs[ errs.length ] = errMsgs['empty_email'];
			if ( firstWrong == '' ){
				firstWrong = i;
			}
		} else if ( i == namesArr['email'] && (!checkEmail(formData[i])) ){
			errs[ errs.length ] = errMsgs['invalid_email'];
			if ( firstWrong == '' ){
				firstWrong = i;
			}
		} else if ( i == namesArr['pwd'] ){
			if ( formData[i].replace(/[\s]gi/, '') == '' ){
				errs[ errs.length ] = errMsgs['empty_password'];
				if ( firstWrong == '' ){
					firstWrong = i;
				}
			} else if ( namesArr['pwdconfirm'] != ''){
				if ( formData[i] != formData[namesArr['pwdconfirm']] ){
					errs[ errs.length ] = errMsgs['password_mismatch'];
					if ( firstWrong == '' ){
						firstWrong = namesArr['pwdconfirm'];
					}
				}
			}
		} else if ( namesArr['agree'] != '' ){
			if ( i == namesArr['agree'] && formData[ namesArr['agree'] ]['checked'] == false ){
				errs[ errs.length ] = errMsgs['agree_required'];
				if ( firstWrong == '' ){
					firstWrong = i;
				}
			}
		}
	}
	for ( var i = 0; i < namesArr['non-empty'].length; i++ ){
		var j = namesArr['non-empty'][i];
		if ( typeof(formData[j]) == 'undefined' ){
			continue;
		}
		if ( formData[j].replace(/[\s]gi/, '') == ''  ){
			errs[ errs.length ] = errMsgs['empty_'+j];
			if ( firstWrong == '' ){
				firstWrong = j;
			}
		}
	}
	var ret = new Array();
	ret['errs'] = errs;
	ret['firstWrong'] = firstWrong;
	return ret;
}

function PrepareForGet(formData, namesArr, md5pwd){
	if ( !md5pwd ){
		md5pwd = 0;
	}
	if ( !namesArr['checkboxes'] ){
		namesArr['checkboxes'] = new Array();
	}

	var datastr = '';
	for ( var i in formData ){
		if ( typeof(formData[i]) == 'function' ){
			continue;//skip functions 
		}
		if( typeof(formData[i]) == 'object' ){
			var is_checkbox = false;
			for ( var k = 0; k < namesArr['checkboxes'].length; k++ ){
				if ( i == namesArr['checkboxes'][k] ){
					is_checkbox = true;
					break;
				}
			}
			if ( is_checkbox ){// will be parsed later
				continue;
			}
			if( typeof(formData[i]['text']) == 'undefined' || typeof(formData[i]['value']) == 'undefined' ) {
				continue;
			}
			// checkbox
			datastr += '&'+i+'='+escape(formData[i]['value']);
			continue;
		}
		
		if ( i == namesArr['agree'] || i == namesArr['pwdconfirm'] ){
			continue;
		} else if ( i == namesArr['pwd'] && md5pwd > 0 ){
			datastr += '&'+i+'='+md5(formData[i]);
		} else {
			datastr += '&'+i+'='+escape(formData[i]);
		}
	}
	
	for ( var k = 0; k < namesArr['checkboxes'].length; k++ ){
		var j = namesArr['checkboxes'][k];
		if ( !formData[j] ){//not exist in form
			continue;
		}
		if ( !formData[j]['checked'] ){//not checked
			continue;
		}
		datastr += '&'+j+'='+escape(formData[j]['value']);
	}
	return datastr;
}

function CollectFormData(formObj){
	var formData = new Array();
	for ( var i = 0; i < formObj.elements.length; i++ ){
		// check inputs and selects only
		if ( formObj.elements[i].tagName != 'INPUT' && 
			 formObj.elements[i].tagName != 'SELECT' && 
			 formObj.elements[i].tagName != 'TEXTAREA' ){
			continue;
		}
		if ( formObj.elements[i].name.replace(/[\s]gi/, '') == '' ){//skip no-named
			continue;
		}
		if ( formObj.elements[i].tagName == 'SELECT' ){//single selects only
			formData[ formObj.elements[i].name ] = new Array();
			if ( formObj.elements[i].selectedIndex == -1 ){//no selection
				formData[ formObj.elements[i].name ] ['value'] = '';
				formData[ formObj.elements[i].name ] ['text'] = '';
			} else{
				formData[ formObj.elements[i].name ] ['value'] = formObj.elements[i].options[formObj.elements[i].selectedIndex].value;
				formData[ formObj.elements[i].name ] ['text'] = formObj.elements[i].options[formObj.elements[i].selectedIndex].text;
			}
		} else if ( formObj.elements[i].type == 'checkbox' ){
			formData[ formObj.elements[i].name ] = new Array();
			formData[ formObj.elements[i].name ] ['checked'] = formObj.elements[i].checked;
			formData[ formObj.elements[i].name ] ['value'] = formObj.elements[i].value; 
		}else {
			formData[ formObj.elements[i].name ] = formObj.elements[i].value;
		}
	}
	return formData;
}

function RestorePassword(docObj, formObj, namesArr){
	var pwderrs = docObj.getElementById('RestorePwd');
	pwderrs.innerHTML = '';

	var formData = CollectFormData(formObj);
	
	var check  = CheckErrors(formData, namesArr);
	var errs = check['errs'];
	var firstWrong = check['firstWrong'];

	var str = OutputErrors(docObj, 'RestorePwd', errs, ( firstWrong == '' ? null : formObj.elements[firstWrong]), '<br>' );
	if ( str != '' ){
		return false;
	}
	
	pwderrs.innerHTML = '';
	
	var datastr = PrepareForGet(formData, namesArr, 0);

	var d = new Date();
	tstmp = Date.parse(d);

	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=restorepwd"+datastr+'&tstmp='+tstmp,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = docObj.getElementById('ajaxresults');
			var errs = res.innerHTML.split("/");
			
			var loginerrs = docObj.getElementById('RestorePwd');
			loginerrs.innerHTML = '';
			
			var str = OutputErrors(docObj, 'RestorePwd', errs, formObj.elements[0], '<br>');
			if ( str == '' ){//no errors
				errs = new Array();
				errs[0] = 'Instructions sent.'
				OutputErrors(docObj, 'RestorePwd', errs, formObj.elements[0], '<br>')
				return;
			} 
			return;
	 	}
	 });	
}

function PreloadVideo(preloadMagazinesImg){
   	if ( !so ){
   		return;
   	} 
   	
   	var imgsNum = document.images.length
   	var allComplete = true;
   	for ( var i = 0; i < imgsNum; i++ ){
   		if ( !document.images[i].complete ){
   			allComplete = false;
   			break;
   		}
   	}
   	if ( !allComplete ){
   		if ( imgsPreloadTimeout ){
   			clearTimeout(imgsPreloadTimeout);
   		}
   		imgsPreloadTimeout = setTimeout('PreloadVideo();', 1000);
   		return;
   	}
   	if ( allComplete && (!preloadMagazinesImg) ){
   		$j("#slideshow").html('<img src="/imgs/best_magazines.jpg" width="776" height="363" />');
   		if ( imgsPreloadTimeout ){
   			clearTimeout(imgsPreloadTimeout);
   		}
   		imgsPreloadTimeout = setTimeout('PreloadVideo(true);', 6000);
   		return;
   	}
   	so.write("slideshow");
}

function RateComment(docObj, formObj, entityId, dropdownName, divId){
	var formData = CollectFormData(formObj);
	var rating = formData[dropdownName]['value'];

	var d = new Date();
	tstmp = Date.parse(d);

	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=ratecomment&id="+entityId+'&rating='+rating+'&tstmp='+tstmp,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = docObj.getElementById('ajaxresults');
			
			if ( res.innerHTML == '' ){
				// do nothing
				return;
			}
			
			//html will be output, delimiter should be neutral
			var errs = res.innerHTML.split("|");
			if ( errs[0] == 'ERRORS'){
				// todo
				return;
			} 
			
			var old_rating = errs[0];
			var new_rating = errs[1];
			if ( old_rating == new_rating ){
				return;
			}
			var stars_str = '', star_type = '';
			for ( var i = 1; i <= 5; i++ ){
				if ( i <= new_rating ){
					star_type = '';
				} else{
					star_type = '_dis';
				}
				stars_str += '<img src="/imgs/star_icon'+star_type+'.gif" width="16" height="14" class="margin_10" alt="Read the reviews" />';
			}
			$j("#star_icons_div").html(stars_str);
			//reload rating stars
			HideObjById(docObj, divId);
			return;
	 	}
	 });	
}

function AddComment(docObj, formObj, entityId, objId, divId, namesArr){
	var formData = CollectFormData(formObj);

	var commerrs = docObj.getElementById('CommentErrs');
	commerrs.innerHTML = '';

	var check  = CheckErrors(formData, namesArr);
	var errs = check['errs'];
	var firstWrong = check['firstWrong'];

	var str = OutputErrors(docObj, 'CommentErrs', errs, ( firstWrong == '' ? null : formObj.elements[firstWrong]), '<br>' );
	if ( str != '' ){
		return false;
	}
	
	commerrs.innerHTML = '';
	
	var datastr = PrepareForGet(formData, namesArr, 0);

	var d = new Date();
	tstmp = Date.parse(d);

	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=adcomment&id="+entityId+datastr+'&tstmp='+tstmp,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = docObj.getElementById('ajaxresults');
			
			//html will be output, delimiter should be neutral
			var errs = res.innerHTML.split("|");
			if ( errs[0] == 'ERRORS'){
				var commerrs = docObj.getElementById('CommentErrs');
				commerrs.innerHTML = '';
				var curstr = OutputErrors(docObj, 'CommentErrs', errs.slice(1), formObj.elements[0], '<br>');
				return;
			}
			$j("#"+objId).html(res.innerHTML);//reload comments
			HideObjById(docObj, divId);
			return;
	 	}
	 });	
}

function ShowMagazineViewer(document, objId){
	window.open('/mviewer.php?id='+objId, 'MagViewer'+objId, 'width=1024,height=768,toolbar=no,menubar=no,location=no');
}

function ChangeIslandOnHomePage(docObj, active_loc_id, active_island_ttl, title_ontop, title_forpic){
	if ( active_loc_id > 0 ){
		active_island_title = active_island_ttl;
		var curpic = "url(/imgs/map_islands_"+title_forpic+".gif)";
		$j("#homepage_map").css({backgroundImage: curpic});
		$j("#select_island").css({backgroundImage:'url(/imgs/backto_islands.gif)'});
		$j("#select_island").html('<a href="/home" style="padding-left:220px" onClick="return false;">Show All Islands</a>');
		$j("#Overview_text").html($j("#hidden_text_"+title_forpic).html());
		$j("div[hideattr]").hide();
	} else{
		active_island_title = '';
		$j("#homepage_map").css({backgroundImage:'url(/imgs/home_page_map.gif)'});
		$j("#select_island").css({backgroundImage:'url(/imgs/select_island_arrow.gif)'});
		$j("#select_island").html('Select your island');
		$j("#Overview_text").html($j("#hidden_text_default").html());
		$j("div[hideattr]").show();
	}
	SwitchTabs(document, active_loc_id);
	$j("#Overview_h1").html(title_ontop);
}

function PreCheckListingsStep1(formObj, selName, errDivId){
	if ( formObj.elements[selName].selectedIndex == -1 || formObj.elements[selName].options[formObj.elements[selName].selectedIndex].value == 0 ){
		$j("#"+errDivId).html("Please, select category first<br/>&nbsp;");
		return false;
	}
	return true;
}

function PreCheckListingsStep3(formObj){
	return true;
}

function PreCheckListingsStep2(formObj){
	return true;
}

function setSelected(selObj, selVal){
	var i;
	selObj.selectedIndex = -1;
	for ( i=0; i < selObj.options.length; i++ ){
		if ( selObj.options[i].value == selVal ){
			selObj.selectedIndex = i;
			//selObj.options[i].selected = true;
			return i;
		}
	}
	return -1;
}

function attachImg(divId, addDivId){
	var div_html = $j("#"+divId).html();
	EntityImgsN++;
	div_html = div_html.replace(/[%]imgId[%]/gi, EntityImgsN);
	$j("#"+addDivId).append(div_html);
}

function attachAddr(divId, addDivId){
	var div_html = $j("#"+divId).html();
	EntityAddrsN++;
	div_html = div_html.replace(/[%]addrId[%]/gi, EntityAddrsN);
	$j("#"+addDivId).append(div_html);
}

function removeAddr(addrId){
	if ( addrId > 1 ){
		$j("#Addr_"+addrId).remove();
	}
}

function removeImg(imgId){
	if ( imgId > 1 ){
		$j("#Img_"+imgId).remove();
	}
}

function DeleteSelectedListings(page, formObj, delCheckboxGroup, isOneOnly){
	var delgroup = formObj.elements[delCheckboxGroup+'[]'];
	var ids = '';
	if ( isOneOnly ){
		if ( delgroup.checked ){
			ids += delgroup.value;
		}
	} else{
		for ( var i in delgroup ){
			if ( delgroup[i].checked ){
				ids += delgroup[i].value+',';
			}
		}
	}
	
	if ( ids == ''){
		return;
	}
	
	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=dellmylisting&delids="+ids,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = document.getElementById('ajaxresults');
			var errs = res.innerHTML.split("/");
			LoadResults(page, -1, -1, -1)
	 	}
	 });	
	
}

function RemoveListingsFromPlanner(page, formObj, delCheckboxGroup, isOneOnly){
	var delgroup = formObj.elements[delCheckboxGroup+'[]'];
	var ids = '';
	if ( isOneOnly ){
		if ( delgroup.checked ){
			ids += delgroup.value;
		}
	} else{
		for ( var i in delgroup ){
			if ( delgroup[i].checked ){
				ids += delgroup[i].value+',';
			}
		}
	}
	
	if ( ids == ''){
		return;
	}
	
	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=delfromplanner&delids="+ids,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
			var res = document.getElementById('ajaxresults');
			var errs = res.innerHTML.split("/");
			LoadResults(page, -1, -1, -1)
	 	}
	 });	
	
}


function RecalculateAmount(numberObj, totalObj, costVal){
	var n = numberObj.value;
	if ( n == '' || n == 0 || parseInt(n,1) == 0 ){
		numberObj.value = totalObj.value = 0;
		return;
	}
	
	if ( !parseInt(n,10) ){
		alert('Integer number allowed only');
		numberObj.focus();
		return;
	}
	
	totalObj.value = Math.round(parseFloat(costVal * n),2);
	if ( totalObj.value == parseInt(totalObj.value,10) ){
		totalObj.value = ''+totalObj.value+'.00';
	}
	return totalObj.value;
}

function CheckPaymentForm(formObj, costVal, mon_year_txt){
	$j("#PaymentErrorTd").html();
	formObj.SubmitBut.value = 'Pay';
	formObj.SubmitBut.disabled = false;
	
	var n = RecalculateAmount(formObj.amountN, formObj.totalAmount, costVal);
	if ( (!parseInt(n,10)) || n == 0 ){
		$j("#PaymentErrorTd").html("Please, specify valid number of "+mon_year_txt);
		formObj.amountN.focus();
		return false;
	}
	formObj.CCNumber.value = formObj.CCNumber.value.replace(/[^0-9]/gi,'');
	if ( formObj.CCNumber.value == '' ){
		$j("#PaymentErrorTd").html("Please, specify valid credit card number");
		formObj.CCNumber.focus();
		return false;
	}

	formObj.CCExpireDate.value = formObj.CCExpireDate.value.replace(/[^0-9\/]/gi,'');
	if ( formObj.CCExpireDate.value == '' ){
		$j("#PaymentErrorTd").html("Please, specify valid credit card expire date in mm/yyyy format");
		formObj.CCExpireDate.focus();
		return false;
	}
	
	if ( formObj.CCCardHolder.value.replace(/[\s]/gi,'') == '' ){
		$j("#PaymentErrorTd").html("Please, specify valid name on credit card");
		formObj.CCCardHolder.focus();
		return false;
	}

	return true;
}

function LoadWeather(selObj){
	var location_id = selObj.options[selObj.selectedIndex].value;
	$j("#WeatherDetails").html('<div style="width:100%"><img src="/imgs/animated_preloader.gif" style="margin-left:200px;margin-top:40px" border="0" width="50" height="50" /></div>');
	if ( map && marker ){
		map.removeOverlay(marker);
	}
	if ( weather_titles[location_id] == '' ){
		ShowAddress('Hawaii,USA','');
	} else{
		ShowAddress(weather_titles[location_id],'Hawaii,USA');
	}
	if ( location_id > 0 ){
		$j("#WeatherDetails").load("/lib/ajax/main.php?action=getweather&id="+location_id);
	} 
}

function AddToPlanner(hrefObj, entityId){
	if ( hrefObj.innerHTML == 'View Planner' ){
		return true;
	}
	entityId = parseInt(entityId,10);
	if ( isNaN(entityId) || entityId == 0 ){
		return false;
	}
	$j.ajax({
	   type: "GET",
	   url: "/lib/ajax/main.php?action=add2planner&entity_id="+entityId,
	   success: function(msg) {
	   		$j("#ajaxresults").html(msg);
	   		hrefObj.innerHTML = 'View Planner';
	   		return false;
	 	}
	 });	
	return false;
}

function SubmitSurvey(formObj, docObj, emailName){
	var isOK = true;
	var firstFocus = null;
	
	for ( var i = 0; i < formObj.elements.length; i++ ){
		var elName = formObj.elements[i].name;
		var elTag = formObj.elements[i].tagName;
		var elValue = '';
		if ( elTag == 'INPUT' ){
			elValue = formObj.elements[i].value;
		}
		
		if ( docObj.getElementById( elName+"_err") != null && elValue.replace(/[\s]/gi, '') == '' ){	
			ShowObjById(docObj, elName+"_err");
			isOK = false;
			if ( !firstFocus ){
				firstFocus = formObj.elements[i];
			}
		} else if ( elName == emailName && (!checkEmail(elValue)) ){
			ShowObjById(docObj, 'email_wrong');
			isOK = false;
			if ( !firstFocus ){
				firstFocus = formObj.elements[i];
			}
		}
	}
	
	if ( !isOK ){
		if ( firstFocus ){
			firstFocus.focus();
		}
		return false;
	}
	
	return true;
}
