
// Image Rollover Effect
function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function changeListingImages() {
	changeImages(arguments[0],arguments[1]);
	document.getElementById(arguments[0]+'_link').href = arguments[2];
}


// Main Nav Functions
function display_subnav(nav, id, total) {
	
	for (var i=1; i<=total; i++)
		if ( document.getElementById('subnav-'+i) )
			document.getElementById('subnav-'+i).style.display = 'none';
	
	if ( document.getElementById('subnav-'+id) ) {
		
		
		subLeft = 415;
		if ( total == 6 ) {
			if ( id == 1 )	
				subLeft = 345;
			else if ( id == 2 )
				subLeft = 415;
			else if ( id == 4 )
				subLeft = 535;
		} else {
			if ( id == 1 )	
				subLeft = 415;
			else if ( id == 3 )
				subLeft = 535;
		}				
		
		document.getElementById('subnav-'+id).style.left = subLeft + 'px';
		document.getElementById('subnav-'+id).style.display = 'block';
	}
}

function isEmail(e)
{
	if ( e == '' )
		return false;
		
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(e)) 
		return true;
	else 
		return false;
}

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : mm/dd/yyyy")
		return "The date format should be : mm/dd/yyyy"
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		return "Please enter a valid month"
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		return "Please enter a valid day"
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return "Please enter a valid 4 digit year between "+minYear+" and "+maxYear
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date")
		return "Please enter a valid date"
	}
return ''
}

function IsNumeric(sText) 
{
var ValidChars = "0123456789.";
var IsNumber=true;
var Char;


for (i = 0; i < sText.length && IsNumber == true; i++) 
  { 
  Char = sText.charAt(i); 
  if (ValidChars.indexOf(Char) == -1) 
	 {
	 IsNumber = false;
	 }
  }
return IsNumber;
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

Array.prototype.findIdx = function(value){
	for (var i=0; i < this.length; i++) {
		if (this[i] == value) {
			return i; 
		}
	}
}

function jsGoogleHelp() {
	googlemap = window.open('help/googlemap.cfm','googlemaphelp','width=660,height=480,scrollbars=1,resizable=1');
	googlemap.focus();
}

function img_preload() {
	image1 = new Image();
	image1.src = "../images/head_bkgd.gif";
	
	image2 = new Image();
	image2.src = "../images/head_bkgd2.gif";
	
	image3 = new Image();
	image3.src = "../images/footer_line.gif";
	
	image4 = new Image();
	image4.src = "../images/title_head_bkgd.gif";
	
	image5 = new Image();
	image5.src = "../images/findarealtor_bkgd.gif";
	
	image6 = new Image();
	image6.src = "../images/featured_bkgd.gif";
	
	image7 = new Image();
	image7.src = "../images/nav_head_bkgd.gif";
	
	image8 = new Image();
	image8.src = "../images/realtor_bkgd.gif";
	
	image9 = new Image();
	image9.src = "../images/nav_footer_bkgd.gif";
	
	image10 = new Image();
	image10.src = "../images/listing_head_bkgd.gif";	
	
	
	image11 = new Image();
	image11.src = "../images/butt_aboutonepercent.gif";	
	image12 = new Image();
	image12.src = "../images/butt_aboutonepercent-over.gif";	
	
	image13 = new Image();
	image13.src = "../images/butt_findrealtor.gif";	
	image14 = new Image();
	image14.src = "../images/butt_findrealtor-over.gif";	
	
	image15 = new Image();
	image15.src = "../images/butt_compare.gif";	
	image16 = new Image();
	image16.src = "../images/butt_compare-over.gif";	
	
	image17 = new Image();
	image17.src = "../images/butt_happycustomer.gif";	
	image18 = new Image();
	image18.src = "../images/butt_happycustomer-over.gif";
	
	
}

//
function jsAddRealtorToListing() {
	var frm = document.frm_listing;
	var arrDel = new Array();
	//alert(frm.sAllRealtors.length);
	
	var count = 0;
	for (var i=0; i<frm.sAllRealtors.length; i++) {
		if ( frm.sAllRealtors[i].selected ) {
			//alert(frm.sAllRealtors[i].value);
			
			jsAddToList(frm.sCoRealtors,frm.sAllRealtors[i].value);
			arrDel[count] = i;
			count++;
			
		} // check if selected
	}
	
	//Remove From List
	for (var c=count-1; c>=0; c--) {
		frm.sAllRealtors.options[arrDel[c]] = null;
	}
}

function jsRemoveRealtorFromListing() {
	var frm = document.frm_listing;
	var arrDel = new Array();
	//alert(frm.sAllRealtors.length);
	
	var count = 0;
	for (var i=0; i<frm.sCoRealtors.length; i++) {
		if ( frm.sCoRealtors[i].selected ) {
			//alert(frm.sAllRealtors[i].value);
			jsAddToList(frm.sAllRealtors,frm.sCoRealtors[i].value);
			arrDel[count] = i;
			count++;
		} // check if selected
	}
	
	//Remove From List
	for (var c=count-1; c>=0; c--) {
		frm.sCoRealtors.options[arrDel[c]] = null;
	}
}

function jsAddToList(frmList,val) {
	var newValue = val.split('|');
	var originalList = new Array();
	var originalLength = frmList.length
	
	for (var t=0; t<originalLength; t++) {
		originalList[t] = frmList[t].value;
	}	
	
	var count = 0;
	for (var k=0; k<originalLength; k++) {
		var originalValue = originalList[k].split('|');
		
		//alert( originalValue[1].toLowerCase() + ' <= ' + newValue[1].toLowerCase() );
		if ( originalValue[1].toLowerCase() <= newValue[1].toLowerCase() ) {
			//alert('switch');
			frmList.options[count] = new Option(originalValue[1] + ', ' + originalValue[2], originalList[k]);
			count++;
		} else {
			//alert('break');
			break;
		}
	}
	
	frmList.options[count] = new Option(newValue[1] + ', ' + newValue[2], val);
	count++;
	//alert('k = ' + k);
	for (var j=k; j<originalLength; j++) {
		//alert('j = '+ j + ' ' + frmList[j].value);
		var originalValue = originalList[j].split('|');
		frmList.options[count] = new Option(originalValue[1] + ', ' + originalValue[2], originalList[j]);
		count++;
	}	
	
	//frmList.options[frmList.length] = new Option(newValue[1] + ', ' + newValue[2], value);
}


function jsDisclaimer() {
	disclaimer = window.open('/help/disclaimer.cfm','disclaimer','width=250,height=180');
	disclaimer.focus();
}

function jsOpenCommercialListing() {
	commercial = window.open('/commerciallisting.cfm','commercial', 'width=977,height=600,scrollbars=1,resizable=1');
	commercial.focus();
}

function jsDemoSignup() {
	demosignup = window.open('/demosignup.cfm','signup', 'width=1024,height=650,scrollbars=1,resizable=1');
	demosignup.focus();
}

img_preload(); 