//* Copyright (c) 2000-2008 Cyber-dynamics International Inc. All Rights Reserved. *//
//* info@cyber-dynamics.com *//
window.defaultStatus=document.title;

var sSrchCookie='srchcookie',sUserCookie='lo',sTimeOutCookie='to',sShortlistCookie='sl',sStateCookie='state',bFront=0,bStatic=0,bAdvanced=0,sSearchString,cdGUID='',cdUID='',cdAUID='',cdUN='',cdTimeOut=0;
// 2010 
var iGvtPage=2,bIsRefineSrch=0,sRegHTML='';
// 2010
var bIsReverseLU=0,sActiveForm='main';
var sURLStreets = '/directory/cdDirStreets.txt';
var sURLPlaces = '/directory/cdDirPlaces.txt';
var sURLCategories = '/directory/cdDirCategories.txt'; // used in admin

// var sURLScript  = '/directory/search';
 var sURLScript  = '/cgi-bin/cdDirectory-10.cgi';

var sURLUsers = '/cgi-bin/cdUsers.cgi';	 
// strings
var strBusName = 'Name of Business';
var strWPname = 'Name of Subscriber';
var strCat = 'Select';
var strLocation = 'Island, Area, Street, PO Box or Post Code';
// var sSrch = strBusName;
var sDialogHeader='caymanbuzz.com';
var rrLID,rrCID; // related review IDs
function cdAdvanced() {}

$(document).ready(function(){
	$("form[name='MyControl']").keypress(function(e){
		if ((e) && (e.keyCode == 13)) {
			if (sActiveForm=='main'){cdStartSearch();}
			else if (sActiveForm=='logon'){cdUserLogOn(2);}
			else if (sActiveForm=='forgotPW'){cdRequestPW();}
			return false;
	}	});

	if (iGvtPage) {cdShowGovtImage(iGvtPage,1);}
	cdExtractSearch();	
	if (document.MyControl.srchQty) {document.MyControl.srchQty.value=10;}	
	setimgMaxSize();	
	if ((bSupportsOptions!=1)&&(document.MyControl.iHistory)){cdCheckSupportsOptions(document.MyControl.iHistory);}
	cdGetSearchHistory(document.MyControl.iHistory);
	$("#MyControl :input").focus(function(){sActiveForm='main';});
	$("#MyControl:input.logon").focus(function(){sActiveForm='logon';});
	$(".menu > li").click(function(e){
		$(".fptb").removeClass("active"); // fptb = front page tab bar
		$(".fpt").hide(); // fpt = front page tab content
		var s=e.target.id;
		$("#"+s).addClass("active");
		$("div."+s).show();
		$('input[id=typ]').val(s);
		if (s=='rl') {
			$("#b_location").hide();$('#fprloc').hide();$('#rZapper').show();
			
		}else{
			$("#b_location").show();$('#rZapper').hide();$('#fprloc').show();
		}
	return false;
	});

	cdUserRunLogOnChecksOnFirstLoad();
	cdRestoreState();
	$('.dms').click(function(e){cdMyAdd(this,'S');});
	$('.dmc').click(function(e){cdMyAdd(this,'C');});

	if ($("#saReviews").length){$("#saReviews").load("/cgi-bin/cdDirReviews.cgi?n=1&q=3");}// get front page reviews, 3 new at random
	if ($("#saLiveSrch").length){cdDirShowLiveSearch();} // showlive :what people are searching for
	if ($("#saTopSrchs").length){$("#saTopSrchs").load("/cgi-bin/cdDirActiveSearches.cgi?a=c");}// top 10 category searches
	
	if ($("#rrReview").length){ // get results page reviews
		if (rrCID!=''){
			$("#rrReview").load("/cgi-bin/cdDirReviews.cgi?LID="+rrLID+'&CID='+rrCID);// business, get related review
		}else{
			$("#rrReview").load("/cgi-bin/cdDirReviews.cgi?r=1"); // residential, get random review
	}	}
	if ($(".srev").length){cdFlash('srev');} // flash 'see reviews'	

	$.preloadImages("/directory/images/i_edit.gif","/directory/images/i_edit-o.gif",
"/directory/images/ic_up.gif","/directory/images/ic_down.gif",
"/directory/images/ic_view.gif","/directory/images/ic_save.gif","/directory/images/ic_delete.gif",
"/directory/images/ic_refresh.gif","/directory/images/ic_refreshing.gif","/directory/images/ic_oops.gif");
	
	var aCB,acC,acR; // autocomplete
	if ($('#acbus').length){
		acB = $('#acbus').autocomplete({ 
			serviceUrl:'/cgi-bin/cdDirQuickLookup.cgi',
			params: {B:1},
			deferRequestBy: 50, //miliseconds
			minChars:2, 
			maxHeight:400,
			width:300,
			zIndex: 9999
		});
	}
	if ($('#acres').length){
		acR = $('#acres').autocomplete({ 
			serviceUrl:'/cgi-bin/cdDirQuickLookup.cgi',
			params: {R:1},
			deferRequestBy: 50, //miliseconds
			minChars:2, 
			maxHeight:400,
			width:300,
			zIndex: 9999
		});
	}
	if ($('#accat').length){
		acC = $('#accat').autocomplete({ 
			serviceUrl:'/cgi-bin/cdDirQuickLookup.cgi',
			params: {C:1},
			deferRequestBy: 50, //miliseconds
			minChars:2, 
			maxHeight:400,
			width:300,
			zIndex: 9999
		});
	}
	

	
	
	
});

function cdDirShowLiveSearch(){
	$("#saLiveSrch").load("/cgi-bin/cdDirActiveSearches.cgi?a=live");
	setTimeout('cdDirShowLiveSearch()',10000);
}
function cdFlash(sClass){
	$("." + sClass).fadeOut(1000).fadeIn(1000);
	setTimeout("cdFlash('"+sClass+"');",5000);
}
$(window).unload(function() {
  cdSaveState();
});
$.preloadImages = function(){
	for(var i=0;i<arguments.length;i++){
		$("<img>").attr("src", arguments[i]);
} }
$.preloadImages("/directory/images/i_edit.gif","/directory/images/i_edit-o.gif",
"/directory/images/ic_up.gif","/directory/images/ic_down.gif",
"/directory/images/ic_view.gif","/directory/images/ic_save.gif","/directory/images/ic_delete.gif",
"/directory/images/ic_refresh.gif","/directory/images/ic_refreshing.gif","/directory/images/ic_oops.gif");

var cdFormsLoaded=false;
function cdLoadScript(sID,sURL){
	if (!cdFormsLoaded) {
		var eH = document.getElementsByTagName('head')[0];
		var eS = document.createElement('script');
		eS.id = sID;
		eS.type = 'text/javascript';
		eS.src = sURL;
		eH.appendChild(eS);
}	}
function cdSaveState() {
	var s='';
	if ($('#tMS').hasClass('icTabOn')){s+='&icTabs=S';}else{s+='&icTabs=C';}
	if($("#dShortListings").is(':visible')){s+='&sl=1';}else{s+='&sl=0';}
	if($("#dContactsListings").is(':visible')){s+='&cl=1';}else{s+='&cl=0';}

	saveCookie(sStateCookie,s,180);
}
function cdRestoreState(){
	var s=getCookie(sStateCookie);
	if (s.indexOf('icTabs=C')>0){cdMyTabs('C');}else{cdMyTabs('S');}
//	if (s.indexOf('sl=0')>0){$('#dSLheader').removeClass('dSLheaderOn').addClass('dSLheaderOff').attr('title','Click to show');$('#dShortListings').hide();}
//	if (s.indexOf('cl=0')>0){$('#dCLheader').removeClass('dCLheaderOn').addClass('dCLheaderOff').attr('title','Click to show');$('#dContactsListings').hide();}
}

// ------------------------------------------------- BEGIN USER -------------------------------------------------------------------
function cdUsersCheckNoAjaxError(s){
//??	alert(s);
	var srch=cdGetXML(s,'usersrch'),sE=cdGetXML(s,'error');
	if (srch==''){srch=s;}
	if (sE==''){var sNVP=cdSplitNVs(s);sE=cdGetNVv(sNVP,'error');}
	var bIsLoggedOn=cdUserRunLogOnChecksOnReLoad(srch);
	if ((sE)&&(sE!='')){ 
		cdAlert('',sE,'OK');
		return(0);
	} else if (! bIsLoggedOn){
		cdAlert('','Oops, it looks like there was an error. Sorry. Please try again','OK');	
		return(0);
	}else{
		return(1);
}	}
function cdUserRunLogOnChecksOnFirstLoad(){
	var s=getCookie(sUserCookie),sNVP=cdSplitNVs(s),bIsLoggedOn;
	cdGUID=cdGetNVv(sNVP,'guid');cdUID=cdGetNVv(sNVP,'uid');cdUN=cdGetNVv(sNVP,'un');
	cdTimeOut=getCookie(sTimeOutCookie);
	if (typeof cdAdminLoggedOn != 'function'){
		var s1=getCookie(sShortlistCookie);
		$('#dShortlist').data('shortlist',s1);
		if ((s1)&&(s1.length>10)) {cdMyRefresh('S',s1);}
	}
	if (cdUserIsLoggedOn(1)) {
		if (typeof cdAdminLoggedOn=='function'){cdAdminLoggedOn(s);}else{cdMyRefresh('C');}	
}	}
function cdUserRunLogOnChecksOnReLoad(s){
	//2010 - replacing parameter s
	// s=getCookie(sUserCookie);
	var sNVP=cdSplitNVs(s),bIsLoggedOn=false;
	cdGUID=cdGetNVv(sNVP,'guid');cdUID=cdGetNVv(sNVP,'uid');cdUN=cdGetNVv(sNVP,'un');
	if (cdGUID.length>10){
		var d=new Date();
		cdTimeOut = (1*Math.floor(d.getTime())) + cdGUID.substr(14,4)*60*1000;	
		s = $.trim(s); // + '&to=' + cdTimeOut; 
		cdUserShowLogOnStatus('dLogOffLink',cdUN);		
		if (typeof cdAdminLoggedOn=='function'){cdAdminLoggedOn(s);}
		bIsLoggedOn=true;	
	}else{cdUserShowLogOnStatus('dLogOn');} 			
	// saveCookie(sUserCookie,s,0);
	saveCookie(sTimeOutCookie,cdTimeOut,0);
	return(bIsLoggedOn);
}
function cdUserLogOn(i){
	if (i===0){
		cdUserShowLogOnStatus('dLogOnLink');
	}else if (i==1){
		cdUserShowLogOnStatus('dLogOn');
	}else{
		var f=document.MyControl,sUN=$.trim(f.un.value),sPW=$.trim(f.pw.value);
		if ((sUN=="")||(sPW=="")) {cdAlert('','Please enter your user name and password<br />then click log on again','');} else{
			cdUserShowLogOnStatus('dUserWait');			
			deleteCookie(sUserCookie);
			deleteCookie(sTimeOutCookie);
			pu2010hide();
			var sSrch="un="+sUN+"&pw="+sPW+"&a=lo&b=c";
			cdAjax('POST',sURLUsers,sSrch,'html','cdUserLoggedOn');
			document.MyControl.pw.value='';
}	}	}
function cdUserLoggedOn(s,o,e) {
	$('#dUserWait').hide();
	sActiveForm='main';
	var sNVP=cdSplitNVs(s),sE=cdGetNVv(sNVP,'error');
	cdGUID=cdGetNVv(sNVP,'guid');cdUID=cdGetNVv(sNVP,'uid');cdUN=cdGetNVv(sNVP,'un');
	if (((sE)&&(sE!=''))||((!cdGUID)||(cdGUID.length<10))){
		if (sE!=''){
			cdAlert('',sE,'OK');
		} else {
			cdAlert('','Oops. Sorry. There was an error communicating with the server.<br />Please check your Internet connection, firewall, etc', 'OK');
		}
		if (cdGUID.length<10){
//			document.MyControl.pw.focus();
		} 
		cdUserShowLogOnStatus('dLogOn');
		return(false);
	}else if (cdGUID.length>10){
			var d=new Date();
			cdTimeOut = (1*Math.floor(d.getTime())) + cdGUID.substr(14,4)*60*1000;	
			s = $.trim(s); // + '&to=' + cdTimeOut; 
			cdUserShowLogOnStatus('dLogOffLink',cdUN);
			saveCookie(sTimeOutCookie,cdTimeOut,0);		
			if (typeof cdAdminLoggedOn == 'function'){cdAdminLoggedOn(s);}else{cdMyRefresh('C');}
			return(true);	
	} else {
		cdUserShowLogOnStatus('dLogOnLink');
		return(false);
}	}
function cdUserLogOff(i){
	if (i==1){
		var sSrch='a=loff&uid='+cdUID+'&un='+escape(cdUN);
		cdUserShowLogOnStatus('dLogOnLink');
		document.MyControl.un.value='';
		if (typeof cdAdminLogOff == 'function'){cdAdminLogOff();}
		cdUserResetData();
		cdAjax('POST',sURLUsers,sSrch,'html','cdUserLoggedOff');
}	}
function cdUserResetData(){
	$("#dContactsListings").fadeOut().empty().show();
	$('#icCountC').html('');	
	$('#dContacts').removeData();
	$('#dShortlist').removeData();		
	deleteCookie(sUserCookie);
	deleteCookie(sTimeOutCookie);
	cdUID='';cdAUID='';cdGUID='';cdUN='';cdTimeOut=0;
}
function cdUserLoggedOff(s,o,e) {
	if ((s) && (s.indexOf('error')>-1)){    //
}	}
function cdUserShowLogon(sMsg) {
	var sHTML= '<form name="MyControlBLO"><div class="puheader">' +sDialogHeader+ ': Log On</div>'
		+ '<h3>' + sMsg + '</h3><div style="width:350px;pading-right:30px;margin:0 auto;"> <p><br /><br /><b>Log On</b></p>'
		+ '<table border="0" cellpadding="2" cellspacing="0" align="center" width="200" style="width:350px;">'
		+ '<tr><td class="tdl" width="100">User Name</td><td><input type="text" name="unBLO" class="narrow logon" value="' + document.MyControl.un.value + '" onkeyup="document.MyControl.un.value=this.value;"/></td></tr>'
		+ '<tr><td>Password</td><td><input type="password" name="pwBLO" class="narrow logon" onkeyup="document.MyControl.pw.value=this.value;"/></td></tr> '
		+ '<tr><td>&nbsp;</td><td><input type="button" value="Log On" class="button" onclick="cdUserLogOn(2);pu2010hide();" /><br /><br /> '
		+ '<span class="aLogOn" onclick="cdUserShowForgotPW(1);">Forgot password</span> &nbsp; &nbsp; | &nbsp; &nbsp; '
		+ '<span class="aLogOn" onclick="cdUserLogOn(0);pu2010hide();sActiveForm==\'main\'">Cancel/Exit</span></td></tr></table><p><br /><br /><b>Not a member?</b> &nbsp; '
		+ '<span class="aLogOn" onclick=\'pu2010hide();pu2010load("","/directory/BuzzRegistration.html");\'>Sign up</span> now to use this free service</p></div></form> '
		+ '<script type="text/javascript">$(document).ready(function(){$("form[name=\'MyControlBLO\']").keypress(function(e){if((e)&&(e.keyCode==13)){cdUserLogOn(2);pu2010hide();return false;}});});</script>';
	sActiveForm='logon';
	pu2010load(sHTML);
}
function cdUserShowForgotPW(sPUactive) {
	var sHTML= '<form name="MyControlFPW"><div class="puheader">' +sDialogHeader+ ': Forgot Password</div>'
		+ '<h3>Password Request Form</h3><div style="width:350px;pading-right:30px;margin:0 auto;"> <p><br /><br /><b>Enter your user name and the email address you registered with us and we will email you a new password</b><br /><br /></p>'
		+ '<table border="0" cellpadding="2" cellspacing="0" align="center" width="200" style="width:350px;">'
		+ '<tr><td class="tdl" width="100">User Name</td><td><input type="text" name="unBLO" class="narrow logon" value="' + document.MyControl.un.value + '" onkeyup="document.MyControl.un.value=this.value;"/></td></tr>'
		+ '<tr><td>Email Address</td><td><input type="text" name="emailBLO" class="narrow logon"/></td></tr>'
		+ '<tr><td>&nbsp;</td><td><input type="button" value="Submit" class="button" onclick="cdRequestPW();" /> &nbsp; &nbsp; '
		+ '<span class="aLogOn" onclick="pu2010hide();sActiveForm==\'main\'">Cancel/Exit</span></td></tr></table></form>'		
		+ '<script type="text/javascript">$(document).ready(function(){$("form[name=\'MyControlFPW\']").keypress(function(e){if((e)&&(e.keyCode==13)){cdRequestPW();return false;}});});</script>';
//	sActiveForm='forgotpw';
	if (sPUactive==1){$('#pu2010').empty().html(sHTML);}else{pu2010load(sHTML);}
}
function cdRequestPW(){
	var sUN=$.trim(document.MyControlFPW.unBLO.value),sEmail=$.trim(document.MyControlFPW.emailBLO.value);
	if ((sUN=='')||(sEmail=='')){
		cdAlert('','Please enter your User Name and Email Address','OK')
	}else{
		cdUserShowLogOnStatus('dUserWait');
		sActiveForm='main';
		deleteCookie(sUserCookie);
		deleteCookie(sTimeOutCookie);
		var sSrch='a=rpw&UserName='+sUN+'&Email='+sEmail+'&x=x';
		cdAjax('POST',sURLUsers,sSrch,'html','cdUserRequestedPW');
		pu2010hide();
}	}
function cdUserRequestedPW(s,o,e) {
	cdUserShowLogOnStatus('dLogOnLink');	
	var sNVP=cdSplitNVs(s),sE=cdGetNVv(sNVP,'error'),sR=cdGetNVv(sNVP,'result');
	if ((sR)&&(sR!='')){
		cdAlert('',sR,'OK');
		if (!sR.match('new password')){cdUserShowForgotPW();}
	}else if ((sE)&&(sE!='')){
		cdAlert('',sE,'OK');		
	}else{
		cdAlert('','Sorry, an error occurred','OK');	
}	}
function cdUserIsLoggedOn(bSilent,sAction){
	$('#dUserWait').hide();
	var d=new Date();
	var dNow=d.getTime();
//	alert(dNow + ' ' + d.getTime());
	if (cdTimeOut<1000) {
		if (!bSilent){
			if (!sAction) {sAction='Please log on first, then try this again.';}
			cdUserShowLogon(sAction);
			cdUserShowLogOnStatus('dLogOn');
		}
		return(false);
	} else if (dNow>cdTimeOut) {
		if (!bSilent){
			cdUserShowLogon('For your protection, your session has been timed out.<br/>Before you try this again,<br />please re-enter your password and click Log On');
			cdUserShowLogOnStatus('dLogOn');
		}
		return(false);
	} else if ((cdGUID.length>10)&&(cdUN.length>1)){
		cdUserShowLogOnStatus('dLogOffLink',cdUN);
		return(true);
	} else {
		return(false);
}	}

function cdUserDetailsSrch(i){
	if ((!cdAUID)||(cdAUID=='')){cdAUID=cdUID;}
	return("guid="+cdGUID+"&uid="+cdUID+"&auid="+cdAUID+"&un="+cdEncode(cdUN));
}
function cdUserShowLogOnStatus(sState,sUN){
	var f=document.MyControl;
	$('#dUserName').html(sUN);
	$('#dUserWait').hide();
	$('#dLogOnLink').hide();
	switch (sState) {
		case 'dLogOnLink':  $('#dUserWait').hide();
								$('#dUser').height(82);
								$('#dLogOn').hide();
								$('#dLogOffLink').hide();
								$('#dLogOnLink').show();
								$("#dAdminContent").hide();
								break;
		case 'dLogOffLink': $('#dUserWait').hide();
								if((cdUN!='')&&(f.un)){f.un.value=cdUN;}
								$('#dLogOn').hide();
								$('#dLogOnLink').hide();
								$('#dLogOffLink').show();
								$("#dAdminContent").show("slow");
								$('#dUser').height(40);
								break;
		case 'dLogOn':			$('#dUser').height(106);
								$('#dUserWait').hide();
								$('#dLogOffLink').hide();
								$('#dLogOnLink').hide();
								$('#dLogOn').show();
							if((cdUN!='')&&(f.un)){f.un.value=cdUN;}
						//	if (!f.un.value){f.un.focus();}else{f.pw.focus();}
							$("#dAdminContent").hide("slow");
							break;
		case 'dUserWait'	: 	$('#dUser').height(85);
								$('#dLogOffLink').hide();
								$('#dLogOnLink').hide();
								$('#dLogOn').hide();
								$('#dUserWait').show();
								break;
		default : alert('Cannot show log on state ' + sState);
	}
	if (sState != 'dUserWait') {$('#dUserWait').css('display','none');setTimeout('cdFixWait()',1000);}
}	
function cdFixWait(){
	$('#dUserWait').css('display','none'); 
}
function cdUserEditProfile() {
	if (cdUserIsLoggedOn(0,'You need to be logged on to edit your profile')){pu2010load('','/directory/BuzzEditProfile.html');}
}

// ------------------------------------------------- END USER -------------------------------------------------------------------
function cdMyTabs(s){
	if (s=='S'){
		$('#dShortlist').show();$('#dContacts').hide();
		$('#tMS').removeClass('icTabOff').removeClass('icTabOn').addClass('icTabOn');
		$('#tMC').removeClass('icTabOff').removeClass('icTabOn').addClass('icTabOff');
	}else{
		$('#dContacts').show();$('#dShortlist').hide();
		$('#tMS').removeClass('icTabOff').removeClass('icTabOn').addClass('icTabOff');
		$('#tMC').removeClass('icTabOff').removeClass('icTabOn').addClass('icTabOn');
	}
	cdSaveState();	
}	
function cdUpdateCounter(sID,iX){
	var iCount=$('#' + sID).html();
	iCount=iCount.replace(/\(/,'').replace(/\)/,'');
	iCount=(1*iCount)+(1*iX);
	iCount="("+iCount+")";
	$('#' + sID).html(iCount);
}
function cdMyAdd(sE,sList){
	var sT = $(sE).closest('table').children().eq(0).children().eq(0).children().eq(0);
	var sNew,sName = $(sT).children('h2').html(),sNo = $(sT).children('div.dpp').html(),sID = 'd'+$(sT).children('div.did').html();
	if (sList=='S'){
		sNew = $("#dMyShortlistSample").html();
		sNew=sNew.replace('SDID',sID);
	}else{
		sNew = $("#dMyContactsSample").html();
		sNew=sNew.replace('CDID',sID);
	}
	sNew=sNew.replace('NAME',sName);sNew=sNew.replace('NUMBER',sNo);
	if (sList=='S') {
		var sIDs=$('#dShortlist').data('shortlist');
		if (!sIDs){sIDs='';}
		var sA=sIDs.split(',');
		if (sA.length>=11) {
			cdAlert('','Limit reached for My Shortlist<br />Please delete some items from My Shortlist<br />or Save to My Contacts','OK');
		}else if ((sIDs)&&(sIDs.match(sID))){
			cdAlert('','<i>'+sName+'</i>&nbsp; is already in My Shortlist','OK');
			$(sE).html('Added to My Shortlist').addClass('disabled');
		}else{
			cdUpdateCounter('icCountS',1);
			sIDs=sIDs+sID+',';
			$('#dShortlist').data('shortlist',sIDs);
			$("#dShortlistings").append(sNew);
			saveCookie(sShortlistCookie,sIDs,30);
			$(sE).html('Added to My Shortlist').addClass('disabled');
			cdAlert('','Added <i>'+sName+'</i>&nbsp; to My Shortlist','OK');
	}	} else if (cdUserIsLoggedOn(0,'You need to be logged on to add to <i>My Contacts</i><br /><span style="font-size:12px;">(You can add to My Shortlist without being logged on)</span>')==true) {	// list = contacts		
		var sIDs=$('#dContacts').data('contacts');
		if (!sIDs){sIDs='';}
		var sA=sIDs.split(',');
		if (sA.length>=21) {
			cdAlert('','Limit reached for My Contacts','OK');
		}else if ((sIDs)&&(sIDs.match(sID))){
			cdAlert('','<i>'+sName+'</i>&nbsp; is already in My Contacts','OK');
			$(sE).addClass('disabled');
		}else{
			cdUpdateCounter('icCountC',1);
			sIDs=sIDs+sID+',';
			$('#dContacts').data('contacts',sIDs);
			$("#dContactsListings").append(sNew);
			cdAlert('','Added <i>'+sName+'</i>&nbsp; to My Contacts','OK');		
			$(sE).addClass('disabled');
			cdAjax('POST',sURLUsers,cdUserDetailsSrch()+'&a=usd&MyContacts='+cdEncode(sIDs),'html','cdUserRunLogOnChecksOnReLoad');
}	}	}
function cdMyDelAll(sL){
	$("#dShortlistings").fadeOut().empty();	
	$('#icCountS').html('');	
	$('#dShortlist').removeData();
	deleteCookie(sShortlistCookie);
}
function cdMyData(sE,sL,sA) {
	var sIDs,s;
	if ((sA=='A') && ((sL=='S')||((sL=='C')&&(cdUserIsLoggedOn()==true))))  {
		if (sL=='S'){sIDs=$('#dShortlist').data('shortlist');s='&msl=1';}else{sIDs=$('#dContacts').data('contacts');s='&mcs=1';}
		if (cdUN) {s+='&un='+encodeURIComponent(cdUN);}
		if ((sIDs)&&(sIDs!='')){
			sIDs=sIDs.replace(/d/g,'');
			self.location=sURLScript+'?IDs=' + sIDs + s;
		} else {
			cdAlert('','No listings found','OK');	
	}	}else{
		var sD = $(sE).closest('div');
		var sID= $(sD).attr('id'),sName=$(sD).children('h2').html();
		if (sA=='V') { // action = view
			if (cdUN) {s='&un='+encodeURIComponent(cdUN);}
			sID = sID.replace('d','');
			self.location=sURLScript+'?info=' + sID + s;
		} else if (sL=='S') { // list = shortlist
			if (sA=='S') {// save
				if (cdUserIsLoggedOn()==true) { // list = contacts
					var sIDs=$('#dContacts').data('contacts');
					if (!sIDs){sIDs='';}
					var sA=sIDs.split(',');
					if (sA.length>=20) {
						cdAlert('','Limit reached for My Contacts','OK');
					}else if ((sIDs)&&(sIDs.match(sID))){
						cdAlert('','<i>'+sName+'</i>&nbsp; is already in My Contacts','OK');
					}else{
						cdUpdateCounter('icCountC',1);
						sIDs=sIDs+sID+',';
						$('#dContacts').data('contacts',sIDs);
						var sNew=$("div #" + sID).html();
						$("#dContactsListings").append(sNew);
						cdAlert('','Copied <i>'+sName+'</i>&nbsp; to My Contacts','OK');		
						cdAjax('POST',sURLUsers,cdUserDetailsSrch()+'&a=usd&MyContacts='+cdEncode(sIDs),'html','cdUserRunLogOnChecksOnReLoad');
			}	}	} else if (sA=='D') { //delete
				cdUpdateCounter('icCountS',-1);
				sIDs=$('#dShortlist').data('shortlist');
				sIDs=sIDs.replace(sID,'');
				sIDs=sIDs.replace(/^\,/g,'');
				sIDs=sIDs.replace(/\,\,/g,',');
				$('#dShortlist').data('shortlist',sIDs);
				$("div #" + sID).remove();
				s=$('#dShortlistings').html();
				saveCookie(sShortlistCookie,sIDs,30);
				cdAlert('','Removed <i>'+sName+'</i> from My Shortlist.','OK');
		}	} else if (cdUserIsLoggedOn()==true) { // list = contacts
			if (sA=='D') { //delete
				cdUpdateCounter('icCountC',-1);
				sIDs=$('#dContacts').data('contacts');
				var re = new RegExp();
				sIDs=sIDs.replace(sID,'');
				sIDs=sIDs.replace(/^\,/g,'');
				sIDs=sIDs.replace(/\,\,/g,',');
				$('#dContacts').data('contacts',sIDs);
				$("div #" + sID).remove();
				cdAlert('','Removed <i>'+sName+'</i> from My Contacts','OK');	
				cdAjax('POST',sURLUsers,cdUserDetailsSrch()+'&a=usd&MyContacts='+cdEncode(sIDs),'html','cdUserRunLogOnChecksOnReLoad');
}	}	}	}
function cdMyRefresh(sList,sIDs){
	if (sList=='S'){
		if (!sIDs) {sIDs=$('#dShortlist').data('shortlist');}
		if ((sIDs)&&(sIDs.length)>10){
			cdMyShowListed('#dShortlist','shortlist','dms','Shortlist'); // dmc
			$("#dRefresh"+sList).removeClass().addClass("icRefreshing").html("&nbsp; &nbsp; &nbsp; Refreshing . . .");
			cdAjax('GET',sURLScript,'sl='+sList+'&IDs='+sIDs,'html','cdMyRefreshed');
		}else{
			cdAlert('','No shortlist found. To create a shortlist: <br />when you view a listing, click <i>Add to My Shortlist</i>.','OK');
	} 	} else if ((sList=='C') && (cdUserIsLoggedOn()==true)) {
//		$("#dRefresh"+sList).removeClass("icRefresh").removeClass("icRefreshing").removeClass("icRefreshOops").addClass("icRefreshing").html("&nbsp; &nbsp; &nbsp; Refreshing . . .");
		$("#dRefresh"+sList).removeClass().addClass("icRefreshing").html("&nbsp; &nbsp; &nbsp; Refreshing . . .");
		cdAjax('POST',sURLUsers,cdUserDetailsSrch()+'&a=ugd&MyContacts=1&x=x','html','cdMyGotIDs');
}	}	
function cdMyGotIDs(s,o,e){
	var sNVP=cdSplitNVs(s),sIDs=cdGetNVv(sNVP,'MyContacts'),sE=cdGetNVv(sNVP,'error');
	var bIsLoggedOn=cdUserRunLogOnChecksOnReLoad(s);
	if (sIDs.length>10) {
		$('#dContacts').data('contacts',sIDs);
		cdMyShowListed('#dContacts','contacts','dmc','Contacts'); 
		cdAjax('GET',sURLScript,'sl=C&IDs='+sIDs,'html','cdMyRefreshed');
	}else if (bIsLoggedOn) {	
		 cdMyRefreshed('C   ',o,e);
	}else{
		 cdMyRefreshed('CERR',o,e);
}	}
function cdMyRefreshed(s,o,e) {	
	var sList,sIDs;
	if (s.length > 1){
		sList=s.substr(0,1);
		sIDs=s.substr(1);
	}            
	$('#dRefresh'+sList).removeClass();
	var sE="&nbsp; &nbsp; &nbsp; Refresh (error, please try again later)";
	if (!sList){
		$('#dRefresh'+sList);
		if ($('#dRefreshS').hasClass('icRefreshing')){
				$('#dRefreshS').removeClass().addClass("icRefreshOops").html(sE);
		}
		if ($('#dRefreshC').hasClass('icRefreshing')){
				$('#dRefreshC').removeClass().addClass("icRefreshOops").html(sE);
	}	} else {
		if (sIDs == 'ERR'){
			$('#dRefresh'+sList).removeClass().addClass("icRefreshOops").html(sE);
		}else{
			$('#dRefresh'+sList).removeClass().addClass("icRefresh").html("&nbsp; &nbsp; &nbsp; Refresh");
			cdMyUpdate(sList,sIDs);
}	}	}
function cdMyUpdate(sList,sData){
	var s,sNew,sV,sHTML='',iCount=0;	
	if (!sList) {
		//
	}else {
		if (sList=='S'){sNew = $("#dMyShortlistSample").html();}else{sNew = $("#dMyContactsSample").html();}
		var sContacts=sData.split('~'),iLen=sContacts.length;
		for (var i=0;i<iLen;i++){
			if ((sContacts[i])&&(sContacts[i].length>10)) {
			sV=sContacts[i].split(',');
				for(var j=0;j<3;j++){if (!sV[j]){sV[j]='';} else {sV[j]=$.trim(sV[j]);}}
				if ((sV[0].length==10)&&(sV[1].length>1)) {
					iCount++;
					s=sNew;
					sV[0]='d'+sV[0];
					s=s.replace(sList+'DID',sV[0]); 
					s=s.replace('NAME',sV[1]); 
					s=s.replace('NUMBER',sV[2]); 
					sHTML += s;
	}	}	}	}
	iCount="("+iCount+")";
	if (sList=='S') {
		$('#icCountS').html(iCount);		
		$('#dShortlistings').fadeOut().html(sHTML).fadeIn('fast');
	}else if (sList=='C') {
		$('#icCountC').html(iCount);	
		$('#dContactsListings').fadeOut().html(sHTML).fadeIn('fast');
		
}	}
function cdMyShowListed(sList,sData,sClass,sListName){
	var t,s = $(sList).data(sData);
	if ((s)&&(s!='')){
		var sL = s.split(','); 
		for (var i=0;i<sL.length;i++) {
			s=sL[i].replace('d','');
			if (s!=''){
				$("div.did:contains('"+s+"')").closest("table").find("span."+sClass).html('Added to My ' + sListName).addClass('disabled');
}	}	}	}	
function cdToggleShow(sLink,sDiv) { 
	if ($('#'+sLink).hasClass(sLink+'On')){
		$('#'+sLink).removeClass(sLink+'On').addClass(sLink+'Off').attr('title','Click to show');$('#'+sDiv).hide('slow');
	}else{
		$('#'+sLink).removeClass(sLink+'Off').addClass(sLink+'On').attr('title','Click to hide');$('#'+sDiv).show('slow');
	}	
	cdSaveState();
}
function cdShowGovtImage(iX,iScTh) {
	if ((iX>0)&&(document.images['gpmain'])){
		document.images['gpmain'].src='/directory/govt10/gp'+iX+'.png';
		var d=document.getElementById('gpno').innerHTML=iX;
		if(iScTh==1) {document.getElementById('gp'+iX).scrollIntoView();self.location='#gtop';}	
}	}

/* images
var img = new Array(),imgs = new Array();
function getImages(){
	if (document.images) {
//		imgs[0] = "/directory/images/b-business.gif";
//		imgs[1] = "/directory/images/b-business-o.gif";
//		imgs[2] = "/directory/images/b-business-a.gif";
//		imgs[3] = "/directory/images/b-residential.gif";
//		imgs[4] = "/directory/images/b-residential-o.gif";
//		imgs[5] = "/directory/images/b-residential-a.gif";
//		imgs[6] = "/directory/images/CFPCCarrow.gif";
//		imgs[7] = "/images/shadow-grid.gif";
//		imgs[7] = "/images/shadow.png";
		imgs[8] = "/directory/images/i_edit.gif";
		imgs[9] = "/directory/images/i_edit-o.gif";
		imgs[10] = "/directory/images/i_validate.gif";
		imgs[11] = "/directory/images/i_validate-o.gif";	
		for (var i = 0; i < imgs.length; i++) {
			if (imgs[i] != '') {
			img[i] = new Image();
			img[i].src = imgs[i];
} } } }
function cdSwpImg(iImg,iIn){if((img[iIn])&&(document.images[iImg])){if(img[iIn].src){document.images[iImg].src=img[iIn].src;}}}	
*/
//function selectBanner() {
//var saBanners = Array ('Buzz-Banner1.jpg', 'Buzz-Banner2.jpg', 'Buzz-Banner3.jpg', 'Buzz-Banner4.jpg', 'Buzz-Banner5.jpg', 'Buzz-Banner6.jpg', 'Buzz-Banner7.jpg', 'Buzz-Banner8.jpg', 'Buzz-Banner9.jpg', 'Buzz-Banner10.jpg' );
//var i = Math.round( Math.random() * (saBanners.length - 1));
//document.write("<a href='http://www.caymanbuzz.com/directory/'><img src='/directory/banners/"  + saBanners[i] +  "' width='350' height='115' border='0' alt='Caymanbuzz - The independent phone directory of the Cayman Islands' title='Caymanbuzz - The independent phone directory of the Cayman Islands'/></a>");
//}
function cdTrim(s){if ((s)&&(s!='')) {return s.replace(/^\s\s*/, '').replace(/\s\s*$/, '').replace(/^\xA0\xA0*/, '').replace(/\xA0\xA0*$/, '');}else{return '';}}
function cdChop(s){if(s!=''){return(s.replace(/.$/,''));}else{return(s);}} 	

function cdGetXML(sXML,sTag,bNoTrim) {
	var s=cdGetTextBetween(sXML,'<'+sTag+'>','</'+sTag+'>');
	if (bNoTrim) {return(s);}else{
		s=s.replace(/^\<\!\[CDATA\[/,'');
		s=s.replace(/\]\]\>$/,'');
		s=$.trim(s);
	}
	return(s);
}
function cdSetXML(sXML,sTag,sVal) {
	var s=cdGetXML(sXML,sTag,1);
	sXML=cdReplace(sXML,'<'+sTag+'>'+s+'</'+sTag+'>','<'+sTag+'>'+sVal+'</'+sTag+'>');
	return(sXML);
}
function cdGetTextBetween(sText,sStart,sEnd) {
	if ((!sText)||(sText=="")||(!sStart)||(sStart=="")||(!sEnd)||(sEnd=="")) {return("");}else{
	var x=sText.indexOf(sStart); 
	if (x == -1) {return('');}else{
		x = (x*1) + sStart.length;
		sText=sText.substr(x);
		x = sText.indexOf(sEnd);  
		if (x == -1) {return('');} else{
			return(sText.substr(0,x));}
}	}	}
function cdReplace(s,sReplace,sWith){
	if(s){
		var i = s.indexOf(sReplace);
		var j = 0;
		if(sReplace) {j=sReplace.length;}
		if (i > -1) {s = s.substr(0,i) + sWith + s.substr(i+j,9999);}	
	} 
	return(s);
}
function cdRBget(fm,sRBname) {
	var sVal='';
	for (var i=0; i<fm.length;i++) {
		if ((fm.elements[i].type=='radio')&&(fm.elements[i].name==sRBname)&&(fm.elements[i].checked)){
				sVal=fm.elements[i].value;
				break;
	}	} 
	return(sVal);
}
function cdGetNVv(sNV,sN){
	var i,sV='',iLen=sNV.length;
	for (i=0;i<iLen;i++){if (sNV[i][0]==sN){sV=sNV[i][1];break;}}
	return(sV);
}
function cdSplitNVs(s) {
	var sNVP = new Array(); var sNV = new Array(); var sResults = new Array(); 
	if (s) {
		s = s.replace(/^\?/,'');
		s = s.replace(/^\&/,'');
		sNVP = s.split("&");
		for (i=0; i<sNVP.length; i++) {
			if(sNVP[i]){
				sNV = sNVP[i].split("=");	
				if (sNV[0]) {
					if(!sNV[1]){sNV[1]='';}
					sNV[1] = unescape(sNV[1]);
					sNV[1] = sNV[1].replace(/\+/g,' '); // 2009
					sResults[i] = new Array();
					sResults[i][0]=$.trim(sNV[0]);	
					sResults[i][1]=$.trim(sNV[1]);
	}	}	} }
	return(sResults);	
}		
function cdExtractSearch() {
	var sNVP = new Array(); var sNV = new Array(); 
	var s=window.location.search, fm=document.MyControl,i,j,sAdvanced=0;;
	if ((s)&&(fm)) {
		s = s.substr(1);
		sNVP = s.split("&");
		for (i=0; i<sNVP.length; i++) {
			sNV = sNVP[i].split("=");	
			if (sNV[0] && sNV[1]) {
				sNV[1] = unescape(sNV[1]);
				sNV[1] = sNV[1].replace(/\+/g,' '); // 2009
				if (sNV[0]=='ct') { // kluge
					sNV[1]= cdReplace(sNV[1],'&amp;','&');
				}else if (sNV[0]=='cat') {  // FIX FOR MULTIPLE CATS
					if (sNV[1].match(/^Multiple/)){
						j=sNV[1].indexOf(')');
						if (j>-1) {sNV[1] = sNV[1].substring(10,j);}						
					}
					sNV[0]= 'ypt';
				}
				for (j=0; j<fm.length;j++) {
					if ((fm.elements[j].name==sNV[0])&&(fm.elements[j].type)) {
						if ((fm.elements[j].type=='checkbox')&&(sNV[1]!=0)&&(sNV[1]!='N')) {
							fm.elements[j].checked = true;
						} else if (fm.elements[j].type.indexOf('select')>-1) {
							cdLBset(fm.elements[j],sNV[1]);
						} else if (fm.elements[j].type=='radio') {
							cdRBset(fm,fm.elements[j],sNV[1]);
						} else {						
							fm.elements[j].value = sNV[1];
						}
						break;
		}	}	}	}	
		// show active tab
		$(".fptb").removeClass("active"); // fptb = tab bar
		$(".fpt").hide(); // fpt = front page tab content
		s=$('input[id=typ]').val();
		$("#"+s).addClass("active");
		$("div."+s).show();
		if (s=='rl') {$('#fprloc').hide();$('#rZapper').show();}else{$('#rZapper').hide();$('#fprloc').show();}
		if ((fm.rl2)&&(fm.rl)){fm.rl2.value=fm.rl.value;}
}	}	


function getSearchValue(sStr,sName){
	var sValue='';
	if (sStr.indexOf(sName)>-1){
		sValue = sStr.substring(sStr.indexOf(sName+'=')+sName.length+1);
		if (sValue.indexOf("&")>-1){sValue=sValue.substring(0, sValue.indexOf("&"));}
	}
	return(sValue);
}

function cdClickClear(oMe,sVal) {if (oMe.value==sVal){oMe.value='';}}
function cdClickShout(oMe,sVal) {if (cdIsBlank(oMe.value)){oMe.value=sVal;}}

function cdStatus(sStr) {window.status=sStr;document.returnValue=true;}
function cdBadField(str,minlength){if(cdIsBlank(str)||(str.length<minlength)){return true;}else{return false;}}	 
function cdIsBlank(str){if(str.length==0){return true;};for(i=0;i<=str.length-1;i++){if(str.charAt(i)!=" "){return false;}}return true;}

function cdSwapAntiSpam(sImage,sSRC1,sSRC2) {
	if (document.getElementById){
		var img = document.getElementById(sImage);
		if(img.src.indexOf(sSRC1)>-1) {
				document.getElementById(sImage).src=sSRC2;				
			}else {
				document.getElementById(sImage).src=sSRC1;
}	}	}	
function cdAntiSpamCheck(sFormID){
	var i=0,j=0,k=4,s = sFormID.i_antiSpamCheck.value;
	if (s.length==5) {
		for (j=0;j<4;j++){i = i + (k * s.charAt(j));k--;}
		if ((i%11) == s.charAt(4)) {
			return(1);
	}	}
		return(0);
}
var  supp;
// var st=window.location.search;if (st.indexOf('popup=')<0){
function cdPopUp(url,pLeft,pTop,pWidth,pHeight) {if (pWidth<10){pWidth=400;} if (pHeight<10){pHeight=200;} var str='left='+pLeft+',top='+pTop +',width='+pWidth+',height='+pHeight+',resizable=no,scrollbars=yes';if (supp) {if (supp.open) {supp.close();}}
url=url;supp=window.open(url,"popper",str);if (!supp.opener){supp.opener = self;}if (supp.focus != null) {supp.focus();}
return false;}
//DHTML Window script- Copyright Dynamic Drive (http://www.dynamicdrive.com)
var dragapproved=false;
var minrestore=0;
var initialwidth,initialheight;
var ie5=document.all&&document.getElementById;
var ns6=document.getElementById&&!document.all;
function iecompattest() {if ((!window.opera)&&(document.compatMode)&&(document.compatMode!="BackCompat")){return(document.documentElement);}else{return(document.body);}}
function drag_drop(e){
if (ie5&&dragapproved&&event.button==1){
document.getElementById("dwindow").style.left=tempx+event.clientX-offsetx+"px";
document.getElementById("dwindow").style.top=tempy+event.clientY-offsety+"px";}
else if (ns6&&dragapproved){
document.getElementById("dwindow").style.left=tempx+e.clientX-offsetx+"px";
document.getElementById("dwindow").style.top=tempy+e.clientY-offsety+"px";}}
function initializedrag(e){
offsetx=ie5? event.clientX : e.clientX;
offsety=ie5? event.clientY : e.clientY;
document.getElementById("dwindowcontent").style.display="none"; //extra
tempx=parseInt(document.getElementById("dwindow").style.left);
tempy=parseInt(document.getElementById("dwindow").style.top);
dragapproved=true;
document.getElementById("dwindow").onmousemove=drag_drop;}
function loadwindow(url,width,height){if (!ie5&&!ns6){window.open(url,"","width=width,height=height,scrollbars=1");}else{
document.getElementById("dwindow").style.display='';
document.getElementById("dwindow").style.width=initialwidth=width+"px";
document.getElementById("dwindow").style.height=initialheight=height+"px";
document.getElementById("dwindow").style.left="30px";
document.getElementById("dwindow").style.top=ns6? window.pageYOffset*1+30+"px" : iecompattest().scrollTop*1+30+"px";
document.getElementById("cframe").src=url;}}
function maximize(){if (minrestore==0){
minrestore=1; //maximize window
document.getElementById("maxname").setAttribute("src","/images/restore.gif");
document.getElementById("dwindow").style.width=ns6? window.innerWidth-20+"px" : iecompattest().clientWidth+"px";
document.getElementById("dwindow").style.height=ns6? window.innerHeight-20+"px" : iecompattest().clientHeight+"px";}else{
minrestore=0; //restore window
document.getElementById("maxname").setAttribute("src","/images/max.gif");
document.getElementById("dwindow").style.width=initialwidth;
document.getElementById("dwindow").style.height=initialheight;}
document.getElementById("dwindow").style.left=ns6? window.pageXOffset+"px" : iecompattest().scrollLeft+"px";
document.getElementById("dwindow").style.top=ns6? window.pageYOffset+"px" : iecompattest().scrollTop+"px";}
function closeit(){document.getElementById("dwindow").style.display="none";}
function stopdrag(){dragapproved=false;document.getElementById("dwindow").onmousemove=null;
document.getElementById("dwindowcontent").style.display="";}
// - END DHTML WINDOW

//  sOpt= 0,1 or blank to toggle; 
function cdShowHide(sElement,sOpt,sDisplay) {
	var oElement, i = sElement;
	if (!sDisplay) {sDisplay='block';}
	if (document.getElementById) {if (document.getElementById(sElement)) {oElement = document.getElementById(sElement).style;} }
	else {if (document.all) {if (document.all[sElement]){oElement = document.all[sElement].style;}}
	else {if (document.layers) {if(document.layers[sElement]){oElement = document.layers[sElement];}}}}
	if (oElement){if ((sOpt=='0')||(sOpt=='1')) {
			if (sOpt==0){sOpt='none';}else{sOpt=sDisplay;}	
			oElement.display = sOpt;
		} else {
			if (oElement.display == "none"){oElement.display = sDisplay;} else {oElement.display = "none";
}	}	}	}
function cdWriteDiv(divID,sText) {$(divID).html(sText);}

//  XML
var sGETnextAction,sGETresult,sGETtextorxml; // 0 or 1
function cdGETRequest(url) {

	eval(sGETnextAction);
}

//function cdGetXML(sXML,sTag) {
//try {
//	 if(sXML) {
//		 if ((document.getElementsByTagName)&&(sXML)&&(sXML!=null)&&(sTag!='')&&(sTag!=null)&&(sTag!='null')){
//			if(!sXML.getElementsByTagName(sTag)){cdAlert('','Problem communicating with server','OK');} else {
// 	var sData = sXML.getElementsByTagName(sTag).item(0).firstChild;if (sData){return(sData.data);}}return('');	
// }}} catch(e) {return('Sorry, an error occurred ' + e.description);}
//}	
function cdStartSearch(i) {
	var f = document.MyControl,sTyp=f.typ.value;
	if (bIsRefineSrch==1) {
		sTyp=cdRBget(f,'typ2');
		f.typ.value=sTyp;
		f[sTyp].value=f.ypn2.value;
		f.lc.value=f.lc2.value;
	}else if (bIsReverseLU==1) {
		sTyp='rl';
		f.typ.value=sTyp;
		f[sTyp].value=f.rl2.value;
		f.lc.value='';	
	}
	var sVal=f[sTyp].value,sLoc=f.lc.value,s='',sT;		
	if (cdIsBlank(sVal)) {
		if (sTyp=='ypt') {cdAlert('','Please enter a business type for us to search against','OK');}
			else if (bIsReverseLU==1) {cdAlert('','Please enter a number for us to look up','OK');}
			else{cdAlert('','Please enter a name for us to search against','OK');}
		return(false);
	}else{
		if (sTyp=='rl') {cdStartReverseLookUp(i);return(false);}	
		if(sTyp=='gpn'){sT='G:';}else if (sTyp=='wpn'){sT='R:';}else{sT='B:';}	
		sT += sVal;			
		if (!cdIsBlank(sLoc)){sT+=' (' + sLoc + ')';}	
		cdRunSearch(i,'',sT);
}	}	
function cdStartReverseLookUp(i) {
	var f=document.MyControl,sRL=f.rl.value;
	if (sRL.length<2)	{cdAlert('','Please enter a PO Box No., post code, phone no., email address or web site address','OK');return(false);} else {
		var sT='LU:'+sRL;
		sRL=encodeURIComponent(sRL);
		sRL=sRL.replace(/\'/g,'');
		var sSch='typ=rl&rl='+sRL;
		if (cdUN) {sSch += '&un=' + encodeURIComponent(cdUN);}
		cdRunSearch(i,sSch,sT);
}	}	
function cdRunSearch(i,sSch,sT) { // i = 1 = AJAX, sT = LB text for saved search
	var f = document.MyControl,sCat,sLoc,sURL;
	if ((!i)||(i==undefined)) {i = 0;}
	f.srchStart.value = i;
	if((!sSch)||(sSch==undefined)||(sSch=='')){sSch=cdBuildSearch(f,'iHistory,iNoHist');}
	sURL=sURLScript;
	if (sSch!='') {		
		sSch  = sSch.replace(/ \& /g,' %26 ');
		sSch  = sSch.replace(/ /g,'%20');
		sURL=sURL+'?'+sSch;
		if ((sT)&&(sT!='')&&(f.iHistory)){cdSaveSearch(f.iHistory,sSch,sT);}else{cdSaveSearch('',sSch,sT);}			
	} 
	cdShowHide('dWait',1);
	cdShowHide('dSchWait',1);
	if (f.ax.value==1) {
		sGETnextAction 	= 'cdEndSearch();';
		sGETresult		= '';
		sGETtextorxml	= 1;
		cdGETRequest(sURL); 
	} else {
		self.location = sURL;
	}	
	return(false);
}
function cdEndSearch() {
	cdShowHide('dWait',0);
	cdShowHide('dSchWait',0);

	var s = sGETresult;
	s = cdGetXML(s,'results');
	sGETresult='';
	cdWriteDiv('d',s);	 
}
function cdBuildSearch(f,excl) {
	var s,sNam,sTyp,sVal,sV,i,j,b,sEx=new Array();
	s = String.fromCharCode(8217);
	var re = new RegExp(s);
	s='';
	if ((excl) && (excl!='')) {sEx = excl.split(',');}
	for (j=0; j<f.length;j++) {
		sNam=f.elements[j].name;
		if ((sNam)&&(sNam!='')){
			b=0;
			for (i=0; i<sEx.length;i++) {if (sEx[i] == sNam) {b=1;break;}}		
			if (b==0) {
				sTyp=f.elements[j].type;
				sV = '';
				if ((sTyp=='radio')||(sTyp=='checkbox')){ if (f.elements[j].checked) {sV = f.elements[j].value;}}
				else if (sTyp.indexOf('select')>-1){sV=cdLBget(f.elements[j]);}
				else if (f.elements[j].value != '') {sV = f.elements[j].value;}
				if  (sV != '') {// && (sV != strSrchCat) && (sV != strBusName) && (sV != strWPname) && (sV != strLocation)   ) {
					if (s!='') {s = s + '&';}
					sV = sV.replace(re, "'");
					sV = encodeURIComponent(sV);
					sV= sV.replace(/\'/g,'%27');
					s = s + sNam + '=' + sV;
	}	}	}	}
	s = s.replace(/\n/g,'%20');
	s = s.replace(/\r/g,'');
	return (s);
}
function cdSrchGet(i,s) {	
	if (sSearchString) {sSearchString += '&srchStart=' + i + '&srchQty=' + document.MyControl.srchQty.value;} 
	cdRunSearch(i,sSearchString,'..');
}
// business card
function cdBC(c,n) {var sURL = sURLScript + '?bc=1&c=' + escape(c) + '&n=' + escape(n);loadwindow(sURL,600,400);}
// show category and name
function cdCnN(c,n){
	if(c){c=c.replace(/\&rsquo;/,"'");c=c.replace(/\&amp;/,"&");c=c.replace(/\&quot;/g,'"');}
	if(n){n=n.replace(/\&rsquo;/g,"'");n=n.replace(/\&amp;/g,"&");n=n.replace(/\&quot;/g,'"');}
	cdShowHide('dWait',1);
	cdShowHide('dSchWait',1);
	sSch='yp=1&typ=ypn&cat='+escape(c)+'&ct='+escape(n)+'&my=ex&srchStart=0';
	var f=document.MyControl,sURL=sURLScript+'?'+sSch;
	if (f.iHistory){cdSaveSearch(f.iHistory,sSch,'B:'+n+'/'+c);}			
	self.location = sURL;
}
function cdMap(sURL) {cdPopUp(sURL,10,10,500,560);}


// SELECT
function cdLBset(oLB,s){if((oLB)&&(s)){for (var i=0;i<oLB.length;i++){if (oLB.options[i].text==s){oLB.options[i].selected = true;return(i);break;}}}}
function cdLBget(oLB) {if((oLB)&&(oLB.selectedIndex > -1)){if (oLB.options[oLB.selectedIndex].value) 
{return(oLB.options[oLB.selectedIndex].value);}else {return(oLB.options[oLB.selectedIndex].text);}}else{return('.');}}
function cdRBset(fm,oRB,s) {
	for (var i=0; i<fm.length;i++) {
		
	//	alert(fm.elements[i].name + ' = ' + oRB.name + ' ' + fm.elements[i].type + ' ' + fm.elements[i].value + ' = ' + s);
	
		if ((fm.elements[i].name==oRB.name)&&(fm.elements[i].type=='radio')&&(fm.elements[i].value==s)){
			//	alert('found');
				fm.elements[i].checked=true;break;
}	}	}
//* SAVE & RESTORE SEARCH *// 
function cdCheckSupportsOptions(oLB) {
	if((oLB)&&(oLB.options.length==2)){
		oLB.options[1]=null;
		if (oLB.options.length==1){bSupportsOptions=1;}
	}
	return(bSupportsOptions);
}
function cdDisableSearchHistory(oLB,bDisable){
	if (bDisable) { 
		saveCookie(sSrchCookie,'null=1',180);
		oLB.options.length=1;
	}else{
		saveCookie(sSrchCookie,'',0);
	//	deleteCookie(sSrchCookie); // remove null=1
}	}
function cdSaveSearch(oLB,sV,sT) {
	if (document.MyControl.iNoHist.checked==true) { 
		// don't save search history
		
	} else if ((sV != '')&&(sT != '')&&(sT != '..')&&(bSupportsOptions)&&(oLB)) { 		
		var iFound=-1,i,iLBlen=oLB.options.length;
		// 201001: unescape ... server sending escaped cat strings
		sT=unescape(sT);	
		// 200801: add match type
		if((sT.length>7)&&(sT.indexOf('Type=')!=2)) {
			var s=''; if (sT.substr(0,1)=='B'){s=getSearchValue(sV,'my');} else {s=getSearchValue(sV,'mw');}
			if (s=='ex'){sT += ' (exact match)'} else if (s=='all'){sT+=' (all words)';}else if (s=='any') {sT+=' (any words)';}
		}
		// escape value, show raw text 
		sV=escape(sV);
		// check if Val is in the list box already
		for (i=1;i<iLBlen;i++) {if (oLB.options[i].value == sV) {iFound=i;break;}}
		// ... if not, add at end
		if (iFound==-1) {
			iFound=iLBlen;
			oLB.options[iLBlen] = new Option('&nbsp;',''); 
			iLBlen++;
		}			
		// shuffle everything up
		for (i=iFound;i>1;i--) {
			oLB.options[i].value=oLB.options[i-1].value;
			oLB.options[i].text=oLB.options[i-1].text;
		}
		// stuff new value in at beginning	
		oLB.options[1].value = sV; 		
		oLB.options[1].text = sT; 	
		// save first 10 LB items as cookie
		if(iLBlen>21){iLBlen=21;} 	
		var sCk='';
		for (i=1;i<iLBlen;i++) {if ((oLB.options[i].value!='')&&(oLB.options[i].value!='Loading...')){sCk+=escape(oLB.options[i].text)+'~'+oLB.options[i].value+'|';}}
//alert('saving cookie '+sCk);
		saveCookie(sSrchCookie,'srch='+sCk,180);
}	}		
function showHistory(oObj,e){
	var s='Recent searches:<ul>',i;
	if (oObj.length == 1){
		s += '<li>No saved searches</li>';
	}else{ 
		for (i=1;i<oObj.length; i++){
			if (oObj.options[i].text == 'No Browser Support'){
				s += '<li>No Browser Support</li>';
			} else if (oObj.options[i].text == 'Loading...'){
				//
			}else{
				s +=  "<li><a href='#' onclick='cdRunSavedSearch2(&quot;" + i + "&quot);return false;'>" + oObj.options[i].text + "</a></li>";
	}	}	}
	s += '</ul>';
	if ((oObj.length > 1)&&(oObj.options[1].text != 'No Browser Support')){
		s += "Memo: B: = search business listing. R: = search residential listing";
	}
	// cdShowTip(s,oObj,e,400); 
}	
function cdGetSearchHistory(oLB){
	var f = document.MyControl;
	if(bSupportsOptions){
		var i,s=getCookie(sSrchCookie),sOpt=new Array(),sNV=new Array();
		if (s=='') {
			if(!supportsCookies()) {
				oObj.options[1].text='No Browser Support';
			} else { 
				oLB.options.length=1;
		} } else if (s=="null=1") {// don't save search history
				if(f.iNoHist){f.iNoHist.checked=true;}
				oLB.options.length=1;
		} else {
				s=s.substr(5);			
				sOpt = s.split('|');
				// clear LB
				oLB.options.length=1;
				for (i=0;i<sOpt.length;i++) {
					sNV = sOpt[i].split('~');
					sNV[0] = unescape(sNV[0]);
					if ((sNV[0]!='')&&(sNV[0]!=' ')&&(sNV[0]!='Loading...')&&(sNV[1]!='')&&(sNV[0]!=' ')) {
						oLB.options[i+1] = new Option(sNV[0],sNV[1]);
}	}	}	}	}	

function cdRunSavedSearch(oLB) {
	var sT,sV;
	if ((oLB)&&(oLB.selectedIndex>0)&&(oLB.options[oLB.selectedIndex].value!='')&&(oLB.options[oLB.selectedIndex].text!='Loading...')){
		sT = oLB.options[oLB.selectedIndex].text;
		sV = unescape(oLB.options[oLB.selectedIndex].value);	
		cdRunSearch(0,sV,sT);
}	}
function cdRunSavedSearch2(iX) {
	var oObj=document.MyControl.iHistory;
	if (oObj.options[iX].text != 'Loading...'){
		oObj.options[iX].selected = true;
		cdRunSavedSearch(oObj);
}	}
// --------------------- pop up tool tips -------------------------

var cdTipWidth=150; 			
// var cdTipBGcolor='#000;opacity:0.7;-moz-opacity:0.7;filter:alpha(opacity=70);z-index:50;border:0;color:#fff;';	
var cdTipBGcolor='#fff;z-index:50;';	
var cdTipDelay=500;  //  close (ms)
var cdTipY=5; 		
var cdTipX=-20; 	
var cdHiding,oMenu;
var ie4=document.all,ns6=document.getElementById&&!document.all;
function ieCompat(){return (document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;}
if (ie4||ns6) {document.write('<div id="cdTipDiv" class="ds" style="visibility:hidden;width:'+cdTipWidth+'px;"><div class="dsc" id="cdTipIHTML" onmouseover="cdTipCancelHide()" onmouseout="cdHideTip()" style="width:100%;color:#000;background-color:'+cdTipBGcolor+'" ></div></div>');}
function cdShowTip(sHTML,oObj,e,cdTipWidth){
	if(window.event){event.cancelBubble=true;}else{if(e.stopPropagation){e.stopPropagation();}}
	cdTipCancelHide();
	oMenu=document.getElementById?document.getElementById("cdTipDiv"):cdTipDiv;
	var oMenu2=document.getElementById?document.getElementById("cdTipIHTML"):cdTipIHTML;
	oMenu2.innerHTML=sHTML;
	if (ie4||ns6){
		cdTipShow(oMenu.style, e,"visible","hidden",cdTipWidth);
		oMenu.x=cdTipGetCoord(oObj, "x");
		oMenu.y=cdTipGetCoord(oObj, "y");
		oMenu.style.left=oMenu.x-clrFrame(oObj, "r")+"px";
		oMenu.style.top=oMenu.y-clrFrame(oObj, "b")+oObj.offsetHeight+"px";
}	}
function cdHideTip(){if (ie4||ns6){cdHiding=setTimeout("cdHideTipNow()",cdTipDelay);}}
function cdHideTipNow(e){if (typeof oMenu!="undefined"){if (ie4||ns6){oMenu.style.visibility="hidden";}}}
function cdTipCancelHide(){if (typeof cdHiding!="undefined") {clearTimeout(cdHiding);}}
function cdTipShow(obj, e, visible, hidden, cdTipWidth){
	if (ie4||ns6){oMenu.style.left=oMenu.style.top=-500;}
	if (cdTipWidth!=""){
		oMenu.oStyle=oMenu.style;
		oMenu.oStyle.width=cdTipWidth+'px';
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){
		obj.visibility=visible;
	}else{
		if (e.type=="click"){obj.visibility=hidden;}
}	}
function cdTipGetCoord(oObj, iXY){
	var iCoord=(iXY=="x")? oObj.offsetLeft : oObj.offsetTop;
	var oParent=oObj.offsetParent;
	while (oParent!=null){iCoord=(iXY=="x")? iCoord+oParent.offsetLeft : iCoord+oParent.offsetTop;oParent=oParent.offsetParent;}
	return iCoord;
}
function clrFrame(oObj, frameXY){
	var edgeoffset=(frameXY=="r")?parseInt(cdTipX)*-1:parseInt(cdTipY)*-1;
	if (frameXY=="r"){
		var windowedge=ie4 && !window.opera? ieCompat().scrollLeft+ieCompat().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		oMenu.contentmeasure=oMenu.offsetWidth;
		if (windowedge-oMenu.x < oMenu.contentmeasure){edgeoffset=oMenu.contentmeasure-oObj.offsetWidth;}
	}else{
		var windowedge=ie4 && !window.opera? ieCompat().scrollTop+ieCompat().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		oMenu.contentmeasure=oMenu.offsetHeight;
		if (windowedge-oMenu.y < oMenu.contentmeasure){edgeoffset=oMenu.contentmeasure+oObj.offsetHeight+5;}
	}
	return edgeoffset;
}
// --------------------- image pop ups-------------------------
function cdShowDisplayAd(iX,iSRC,dDiv){
	var iImg = new Image();
	$(iImg)
		.load(function () {
			var daMW=433,daMH=290,sMouse='';
			var w=$(this).attr("width");
			var h=$(this).attr("height");	
			if ((w>daMW)||(h>daMH)) {sMouse= ' onmouseout="daOut();" onmouseover="daOver(this,event,'+iX+');" ';}
			if (w>daMW) {h=Math.floor(h/w*daMW);w=daMW;}
			if (h>daMH) {w=Math.floor(w/h*daMH);h=daMH;}	
			var dh=Math.floor((daMW-w)/2);
			if (dh>10){dh=10;}
			$('#'+dDiv)
				.removeClass('iLoading')
				.height((dh*2)+(h))
				.html('<img src="' + iSRC + '" alt="Display Ad" border="0" width="'+w+'" height="'+h+'" onclick="return false;" ' + sMouse
						+ ' style="margin-top:'+dh+'px;" />');				
		})
		.error(function () {
			$(dDiv).removeClass('iLoading').removeClass('oops').addClass('oops');
		});
	iImg.src=iSRC;
}
function cdMoreInfo(sID,i){
	if (sID==''){sID=i.className;}
	if (sID!=''){self.location=sURLScript+'?info='+sID;}
}
var imgDelay = 0;				
var linkOutTimeout = 400;	
var imgOutTimout = 200;		
var imgMaxSize = 5000;
var displayPos = "L";
var ImgOutId = -1;
var linkOutTimeoutId = -1;
var imgOutTimoutId = -1;
var AdImageURLs = new Array();
var dImages = new Array();

function setimgMaxSize(iX){
	if (document.MyControl.iimagesize){
		iX=document.MyControl.iimagesize.value;
	}
	iX = 1 * iX;
	if (iX < 1) {iX=5000;}
	imgMaxSize=iX;
}
function addImageURL(iX, imageURL, linkURL){
	if (dImages[iX] == null){dImages[iX] = new Array();}
	dImages[iX] = new Image();
	dImages[iX].src = imageURL;
	if(AdImageURLs[iX] == null){AdImageURLs[iX] = new Array();}
	AdImageURLs[iX] = linkURL;
}
function daIsLoaded(iX){
	if(document.images["AdImage"].complete){
		
		document.images["AdImage"].style.display = "";
		document.getElementById("AdDivLoading").style.display = "none";
		resizeImg(iX);
	//	positionImage('');		
	} else {
		window.setTimeout("daIsLoaded(" + iX + ")", 333);
}	}
// display ad - mouse out
function daOut(){
	if(ImgOutId != -1){
		clearTimeout(ImgOutId);
		ImgOutId = -1;
	}else{
		linkOutTimeoutId=window.setTimeout("closeImg()", linkOutTimeout);
}	}
// display ad - show on mouse over
function daOver(oObj,e,iX) {
	if(document.images["AdImage"]) {
		if(window.event){event.cancelBubble=true;}else{if(e.stopPropagation){e.stopPropagation();}}
		if(linkOutTimeoutId != -1) {
			clearTimeout(linkOutTimeoutId);
			linkOutTimeoutId = -1;
		}
		if(imgOutTimoutId != -1){
			clearTimeout(imgOutTimoutId);
			imgOutTimoutId = -1;
		}		
		if(document.images["AdImage"].src != dImages[iX].src){		
			document.images["AdImage"].src = "";
			document.images["AdImage"].src = dImages[iX].src;
			document.images["AdImage"].galleryImg = false;
		
			if(!document.images["AdImage"].complete){
				document.images["AdImage"].style.display = "none";
				document.getElementById("AdDivLoading").style.display = "block";
				window.setTimeout("daIsLoaded(" + iX + ")", 333);
			}
			resizeImg(iX);
			if ($("#dDispAd").length) {
				$("#AdImage").removeClass().css("cursor","default");
			}else{
				$("#AdImage").removeClass().addClass(AdImageURLs[iX]).css("cursor","pointer");
		}	} else {resizeImg(iX);}   // TESTING ONLY
		positionImg(e);		
		document.getElementById("AdDiv").style.visibility = "visible";	
		ImgOutId = -1;
}	}
function positionImg(e){	
	var oAdDiv=document.getElementById?document.getElementById("AdDiv"):'AdDiv';
	if (!oAdDiv) {return;}
   	var posX = 0, posY = 0;
   	if (!e) {e = window.event;}
   	if (e) {
      if ( typeof(e.pageX) == 'number' ) {
         posX = e.pageX; posY = e.pageY;
      } else if ( typeof(e.clientX) == 'number' ) {
         posX = e.clientX; posY = e.clientY;
         if ( document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' ) ) {
            posX += document.body.scrollLeft; posY += document.body.scrollTop;
         } else if ( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.opera || window.debug || navigator.vendor == 'KDE' ) ) {
            posX += document.documentElement.scrollLeft; posY += document.documentElement.scrollTop;
   }	}	}
   var scrollX = 0, scrollY = 0;
   if ( document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) ) {
      scrollX = document.body.scrollLeft; scrollY = document.body.scrollTop;
   } else if ( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) ) {
      scrollX = document.documentElement.scrollLeft; scrollY = document.documentElement.scrollTop;
   }
   var winWidth = 0, winHeight = 0;
   if (window.innerWidth && window.innerHeight) {
      winWidth = window.innerWidth; winHeight = window.innerHeight;
   } else if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {
      winWidth = document.documentElement.clientWidth; winHeight = document.documentElement.clientHeight;
   } else if (document.body && document.body.clientWidth && document.body.clientHeight) {
      winWidth = document.body.clientWidth; winHeight = document.body.clientHeight;
   }
   if (oAdDiv.offsetWidth && oAdDiv.offsetHeight) {
	  var oWidth = oAdDiv.offsetWidth, oHeight = oAdDiv.offsetHeight;
	  // X POS: space to right 
      if (posX - scrollX + oWidth + 20 < winWidth) {posX = posX + 25;}
      // otherwise
      else {posX = posX - (oWidth - (winWidth - (posX - scrollX)));} 	  
      // Y POS: small window: image has to go at top
      if (oHeight > winHeight) {posY = scrollY;}
      // room below link
      else if (winHeight - (posY - scrollY) > (oHeight-20)) {posY = posY-30;}
      // else min overlap at top 
      else {posY = posY - (oHeight - (winHeight - (posY - scrollY))) - 10;} 
   }
   oAdDiv.style.left = posX + "px"; oAdDiv.style.top = posY + "px";
}
function resizeImg(iX) {
//	dImages[iX].width = '';
		var hR = dImages[iX].height/imgMaxSize;
	var wR = dImages[iX].width/imgMaxSize;
	var iW = dImages[iX].width
	var iH = dImages[iX].height;
	if((hR > 1) || (wR > 1)) {if (hR >= wR) {iH=iH/hR; iW=iW/hR;} else {iH=iH/wR;iW=iW/wR;}} 
	document.images["AdImage"].height = iH;
	document.images["AdImage"].width = iW;
}
function closeImg(){
	document.getElementById("AdDiv").style.visibility = "hidden";
	ImgOutId = -1;
	linkOutTimeoutId = -1;
	imgOutTimoutId = -1;
}
// popup - mouseover
function daImgOver(){
	// stop the image from being closed.
	clearTimeout(linkOutTimeoutId);
	clearTimeout(imgOutTimoutId);
	linkOutTimeoutId = -1;
	imgOutTimoutId = -1;
}
// popup - mouseout
function daImgOut(){
	imgOutTimoutId = window.setTimeout("closeImg()", imgOutTimout);
}


// 2010 cookies 
function saveCookie(name,value,days,path) {
	if (days) {
		var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}else{
		var expires="";
	}
	var s = name + "=" + escape(value) + expires;
	// if (path) {
		s+="; path=/";
	document.cookie=s;
}
function getCookie(name) {
	var nameEQ=name+"=",ca=document.cookie.split(';');
	for(var i=0;i<ca.length;i++) {
		var c=ca[i];
		while(c.charAt(0)==' '){c=c.substring(1,c.length);}
		if (c.indexOf(nameEQ)==0){
			return unescape(c.substring(nameEQ.length,c.length));
	}	}
	return '';
}
function supportsCookies(name){var sC='test',sT='text=hello';saveCookie(sC,sT);var sC=getCookie(sC);deleteCookie(sC);return(sC==sT);}
function deleteCookie(name){saveCookie(name,"",-1);}

// cdAlert - dialog box
// if sCaption is blank, 
// type = 'OK', 'OKC', 'YN', YNC', 'YC' (OK, Yes, No, Cancel)
// callback is a function called after a button is pressed - see cdAlertCB() - returns text on the key that was pressed;
var sTemp;
function cdAlert(sCaption,sAlert,sType,sCallback){
//alert(1); 	
	if (!$("#cdAlert").length){$("body").append('<div id="cdAlert" style="300px;display:none;"><h2>' +sDialogHeader+ '</h2><p></p><form id="fAlert"><input id="b3" value="Cancel" type="button" onclick="cdAlertCB(this);" /><input type="button" id="b2" value="No" onclick="cdAlertCB(this);" /><input type="button" id="b1" value="OK" onclick="cdAlertCB(this);" /></form></div>');}
	if (!$("#cdAlertBG").length){$("body").append('<div style="opacity:0.7;display:none;" id="cdAlertBG"></div>');}
	var b1=$("#cdAlert #b1"),b2=$("#cdAlert #b2"),b3=$("#cdAlert #b3"),h2=$("#cdAlert h2"),s1="OK",s2='',s3='';
	if (sCaption==""){h2.html(h2.data('caption'));}else{h2.html(sCaption);}
	$("#cdAlert p").html(sAlert);
	if (sType.match("Y")){s1="Yes";s2="No";}
	if (sType.match("N")){s2="No";}
	if (sType.match("C")){s3="Cancel";}	
	b1.removeClass().addClass(sCallback+'-'+s1).val(s1);
	if (s2==''){b2.hide();}else{b2.removeClass().addClass(sCallback+'-'+s2).val(s2).show();}
	if (s3==''){b3.hide();}else{b3.removeClass().addClass(sCallback+'-'+s3).val(s3).show();}
	if (!sCallback){sCallback='nil';}
//alert(sCallback);
	cdCentre("#cdAlert");
//alert($("#cdAlert").html());
	$("#cdAlertBG").css({"opacity": "0.7"}).show();
	$("#cdAlert").show();
//	$("#b1").focus();
	sTemp=sActiveForm;
	sActiveForm='alert';
}
function cdAlertCB(o,sID){
	sActiveForm=sTemp;
	$("#cdAlertBG").hide();$("#cdAlert").hide();
	var s=o.className; 
	if ((s)&&(!s.match(/^nil/))){
		var cA=s.split('-');
		if ((cA)&&(cA!='undefined')&&(cA[0])&&(cA[0]!='undefined')){
			eval(cA[0] + "(cA);");
}	}	}	

// 2010 popup
function pu2010show(){
	cdCentre("#pu2010");
	$("#puBG").css({"opacity": "0.7"}).fadeIn("slow");
	$("#pu2010").fadeIn("slow");
}
function pu2010hide(){
	$("#puBG").fadeOut("slow");
	$("#pu2010").fadeOut("slow").empty();
}	
function cdCentre(sID){
	if (sID.indexOf('#')==-1){sID='#'+sID;}
	var wWidth=document.documentElement.clientWidth,wHeight=document.documentElement.clientHeight;
	var puHeight=$(sID).height(),puWidth=$(sID).width();
	$(sID).css({"position":"fixed","top":wHeight/2-puHeight/2,"left":wWidth/2-puWidth/2});
}

$(document).ready(function(){
	$("#pu2010show").click(function(){pu2010show();});			
//	$("#pu2010close").click(function(){pu2010hide();});
//	$("#puBG").click(function(){pu2010hide();});
//	$(document).keypress(function(e){if(e.keyCode==27){pu2010hide();}});
});
function pu2010load(s1,s2) { // tries to load s1, if blank loads s2. If s1/2 contains '<' loads html, else loads URL
	if ((!s1)||(s1=='')){s1=s2;}
	if ((s1)&&(s1!='')){
		var s = $('#dDownloading').html();
		$('#pu2010').html(s);
		pu2010show();		
		if (s1.match('<')) {
			$('#pu2010').html(s1);
		}else{
			$.ajax({type:'GET',url:s1, cache:false,dataType:'html',timeout:60000,
				success: function(d,s){$('#pu2010').html(d).show(2000);},
				error: function(o,s,e){cdAlert('','Sorry. Unable to load page.<br />Error:&nbsp;' + s + '<br />Please try again.','OK');pu2010hide();}
 });	}	}	}
// 2010 ajax
function cdAjax(sType,sURL,sData,sDataType,sNext){
 	$.ajax({type:sType,url:sURL,data:sData,cache:false,dataType:sDataType,timeout:60000,
		success: function(d,s){eval(sNext+='(d)');},
		error: function(o,s,e){cdUserShowLogOnStatus('dLogOnLink');cdAlert('','Sorry. Unable to load page.<br />Error:&nbsp;' + s + '<br />Please try again.','OK');pu2010hide();}
});	}
function cdEncode(s) {
	s=encodeURIComponent(s);
	s=s.replace(/\'/g,'');
	return(s);
}
function cdRateListing(sDivID,sCurVal,sRatedVal){
	if (cdUserIsLoggedOn()){
		var sT=$('#'+sDivID).closest('table').children().eq(0).children().eq(0).children().eq(0);
		var sName=$(sT).children('h2').html(),sID=$(sT).children('div.did').html();
		$("#pu2010").data("rating","Name="+escape(sName)+"&ID="+sID+"&CV="+sCurVal+"&RV="+sRatedVal);
		pu2010load("/directory/BuzzRateListing.html");
}	}
jQuery.fn.rater = function(divID,origVal,options) {
	if(divID == null) {return;}
	var settings = {
		divID       : divID, // post changes to 
		maxvalue  : 5,   // max number of stars
		curvalue  : 0    // number of selected stars
	};
	if(options){jQuery.extend(settings, options);}
	jQuery.extend(settings, {cancel: (settings.maxvalue > 1) ? true : false});
	var container = jQuery(this);
	jQuery.extend(container, { averageRating: settings.curvalue, divID: settings.divID });
	var raterwidth = settings.maxvalue * 25;
	var ratingparent = '<ul class="star-rating" style="width:'+raterwidth+'px">';
	container.prepend(ratingparent);
	var starWidth, starIndex, listitems = '';
	var curvalueWidth = Math.floor(100 / settings.maxvalue * settings.curvalue);
	for(var i = 0; i <= settings.maxvalue ; i++) {
		if (i == 0) {
			listitems+='<li class="current-rating" style="width:'+curvalueWidth+'%;">'+settings.curvalue+'/'+settings.maxvalue+'</li>';
		} else {
			starWidth = Math.floor(100 / settings.maxvalue * i);
			starIndex = (settings.maxvalue - i) + 2;
			listitems+='<li class="star"><a href="#'+i+'" title="'+i+'/'+settings.maxvalue +'" style="width:'+starWidth+'%;z-index:'+starIndex+'">'+i+'</a></li>';
	}	}
	container.find('.star-rating').append(listitems);
	if(settings.maxvalue > 1) {container.append('<span class="star-rating-result"></span>');}
	var stars = jQuery(container).find('.star-rating').children('.star');
	stars.click(function() {
		settings.curvalue = stars.index(this) + 1;
		raterValue = jQuery(this).children('a')[0].href.split('#')[1];
		cdRateListing(divID,origVal,raterValue);
		return false;
	});
	return this; // strict warning: anonymous function does not always return a value. fix?
}

var gMap;
function cdShowGMap(sLat,sLng,sInfo){
	if ((sLat)&&(sLng)) {
		var sLatLng = new google.maps.LatLng(sLat,sLng);	
		var sOptions = {
			zoom: 		15,
			center: 	sLatLng,
			mapTypeId: 	google.maps.MapTypeId.ROADMAP
		};
		gMap = new google.maps.Map(document.getElementById("gMap"), sOptions);
		if ((sInfo)&&(sInfo !='')) {
			var infowindow = new google.maps.InfoWindow({
				content: 	sInfo,
				position: 	sLatLng,
				map: 		gMap
			});
			infowindow.open(gMap);  
		}else{
	//		var marker = new google.maps.Marker({
	//			position: sLatLng, 
	//			map: gMap
	//		});   
}	}	}
	
	