function ltrim(s, c)
{
	if (!c)
		c = ' ';
	var i;
	i=0;
	var n;
	n = s.length;
	while((i<n)&&(s.charAt(i)==c)) i++;
		s = s.substring(i);
	return(s);
} 

function rtrim(s, c)
{
	if (!c)
		c = ' ';
	var n;
	n = s.length;
	var i;
	i = s.length-1;
	while((i>=0)&&(s.charAt(i)==c)) i--;
		s = s.substring(0,i+1);
	return(s);
}

function trim(s, c)
{
	if (!c)
		c = ' ';
	s = ltrim(s, c);
	s = rtrim(s, c);
	return(s);
}

function kklSetContent(divID, strContent) {
	if (document.getElementById(divID))
		document.getElementById(divID).innerHTML = strContent;
}

var arr_obj = new Array();
for (aaIdx=0; aaIdx<5; ++aaIdx)
	arr_obj[aaIdx] = false;

function kklLoadContent(urlContent, divID, idx, divID2) {
	arr_obj[idx] = false;
	
	if (window.XMLHttpRequest) 
		arr_obj[idx] = new XMLHttpRequest();
	else 			
		arr_obj[idx] = new ActiveXObject("Microsoft.XMLHTTP");
	if (arr_obj[idx])
	{
		arr_obj[idx].onreadystatechange = function()
		{
			if (arr_obj[idx].readyState == 0) { }
			if (arr_obj[idx].readyState == 1) { }
			if (arr_obj[idx].readyState == 2) { }
			if (arr_obj[idx].readyState == 3) { }
			if (arr_obj[idx].readyState == 4 && arr_obj[idx].status == 200)
			{
				kklSetContent(divID, arr_obj[idx].responseText);
				if (divID2) {
					kklSetContent(divID2, arr_obj[idx].responseText);
				}
			}
		}
		urlContent = rtrim(urlContent, '?');
		if (urlContent.indexOf("?")==-1)
			urlContent = urlContent + "?";
		else
			urlContent = urlContent + "&";
		dateObj = new Date();
		randContent = dateObj.getTime();
		arr_obj[idx].open("GET", urlContent + randContent, true);
		arr_obj[idx].send(null);
	}
}

function kklChangeImage(imgID, newSrc) {
	tmpImgObj = document.getElementById(imgID);
	if (tmpImgObj && tmpImgObj.src) {
		tmpImgObj.src = newSrc;
	}
}

function isIE() {
	kkl_pos = navigator.userAgent.indexOf("MSIE ");
	return (kkl_pos>=0);
}

function menu_hover(imgID) {
	tmpImgObj = document.getElementById(imgID);
	if (tmpImgObj && tmpImgObj.src) {
		newSrc = tmpImgObj.src.replace(/.jpg/i, "-a.jpg");
		tmpImgObj.src = newSrc;
	}
}

function menu_out(imgID) {
	tmpImgObj = document.getElementById(imgID);
	if (tmpImgObj && tmpImgObj.src) {
		newSrc = tmpImgObj.src.replace(/-a.jpg/i, ".jpg");
		tmpImgObj.src = newSrc;
	}
}

function doRegExp(strVal, reg)
{
	value = strVal;
	if (value.length == 0)
		return false;
	var rx = new RegExp(reg);
	var matches = rx.exec(value);
    return (matches != null && value == matches[0]);
}


function isEmail(email)
{
	if (email.length<=0)
		return false;
	if  (!doRegExp(email, "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"))
	{
		return false;
	}
	return true;
}

function isZipcode(zip)
{
	if (zip.length<=0)
		return false;
	if  (!doRegExp(zip, "\\d{5}$"))
	{
		return false;
	}
	return true;
}


var omr_current_highlight_item = 1;
var omr_highlight_timer = false;

function omr_highlight_random() {
	highlight_temp = omr_current_highlight_item;
	for (rand_idx=0;rand_idx<10;rand_idx++) {
		rand_num = Math.random();
		rand_num = rand_num*100;
		rand_num = parseInt(rand_num);
		highlight_temp = 1 + rand_num%4;
		objHighlightRandom = document.getElementById("omr_highlight_" + highlight_temp);
		if (objHighlightRandom && highlight_temp!=omr_current_highlight_item) {
			break;
		}
	}	
	return highlight_temp;
}

function omr_highlight_next() {
	objHighlightMain = document.getElementById("omr_focus_layout");
	objHighlightTest = document.getElementById("omr_highlight_1");
	if (!objHighlightMain || !objHighlightTest) {
		return;
	}
	/*
	if (omr_current_highlight_item>=3) {
		omr_current_highlight_item = 1;
	} else {
		omr_current_highlight_item++;
	}*/
	omr_current_highlight_item = omr_highlight_random();
	objHighlightNext = document.getElementById("omr_highlight_" + omr_current_highlight_item);
	if (objHighlightNext) {
		objHighlightMain.innerHTML = objHighlightNext.innerHTML;
	}
	omr_highlight_go();
}
function omr_highlight_go() {
	omr_highlight_timer = setTimeout("omr_highlight_next()", 8888);
}
function show_sort_panel() {
	objSort = document.getElementById("sort_the_results");
	objSort2 = document.getElementById("sort_the_results_content");
	if (objSort && objSort2) {
		tmpSort = objSort.innerHTML;
		objSort.innerHTML = objSort2.innerHTML;
		objSort2.innerHTML = tmpSort;
	}
}
window.onload = function()
{
	if (window.omr_do_onload) {
		omr_do_onload();
	}
	omr_highlight_go();
	if (window.omr_extra_onload) {
		omr_extra_onload();
	}
	show_sort_panel();
}

function frmSort_SortBy_onchange() {
	frmSortObj = document.getElementById("frmSort");
	if (frmSortObj) {
		frmSortObj.submit();
	}
}

function check_frmQuickContact() {
	objTemp = document.getElementById("frmQuickContact_FullName");
	objTemp1 = document.getElementById("frmQuickContact_Email");
	objTemp2 = document.getElementById("frmQuickContact_Phone");
	if (window.trim) {
		objTemp.value = trim(objTemp.value);
		objTemp1.value = trim(objTemp1.value);
		objTemp2.value = trim(objTemp2.value);
	}
	if (objTemp.value=="") {
		alert("Please enter Your Name!");
		objTemp.focus();
		return false;
	}
	if (objTemp1.value=="" && objTemp2.value=="") {
		alert("Please enter either your Email Address or your Phone Number!");
		objTemp1.focus();
		return false;
	}
	if (objTemp1.value!="" && window.isEmail) {
		if (!isEmail(objTemp1.value)) {
			alert("Your Email Address is invalid. Please re-enter!");
			objTemp1.focus();
			return false;
		}
	}
	objTemp3 = document.getElementById("frmQuickContact_ContactMeDate");
	if (objTemp3) {
		if (objTemp3.value=="") {
			alert("Please select the Date you want us to contact you!");
			objTemp3.focus();
			return false;
		}
	}
	return true;
}

function numbers_only(myfield, e)
{
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27)) {
	   return true;
	}   

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
	   return true;
	else
	   return false;
}

function omr_currency(currency_num) { // used for buyer's receiving and seller's saving in the calculator
	if (currency_num==-1) {
		return "-";
	} else if (currency_num==0) {
		return "$0";
	}
	currency_ret = "";
	while (currency_num>0) {
		currency_1 = Math.floor(currency_num/1000);
		currency_2 = currency_num % 1000;
		if (currency_1>0) {
			currency_tmp = "";
			if (currency_2==0) {
				currency_tmp = "000";
			} else if (currency_2<10) {
				currency_tmp = currency_tmp.concat("00", currency_2);
			} else if (currency_2<100) {
				currency_tmp = currency_tmp.concat("0", currency_2);
			} else {
				currency_tmp = currency_2;
			}
			currency_ret = "," + currency_tmp + "" + currency_ret;
		} else {
			currency_ret = currency_2 + "" + currency_ret;
		}	
		currency_num = currency_1;
	}
	currency_ret = "$" + currency_ret;
	return currency_ret;
}

var numbers_only_buyer_timer = false;
function numbers_only_buyer(myfield, e) {
	ret_buyer = numbers_only(myfield, e);
	if (ret_buyer) {
		numbers_only_buyer_timer = setTimeout("buyer_receive_update()", 50);
	}
	return ret_buyer;
}

function buyer_receive_update() {
	objBuyerPrice = document.getElementById("frmReceive20_Price");
	objBuyerReceive_1 = document.getElementById("divReceive20_1");
	objBuyerReceive_2 = document.getElementById("divReceive20_2");
	objBuyerReceive_3 = document.getElementById("divReceive20_3");
	if (objBuyerPrice) {
		if (objBuyerPrice.value!="") {
			nBuyerReceive_1 = Math.floor(Math.floor(objBuyerPrice.value * 2.5 / 100) * 20 / 100);
			nBuyerReceive_2 = Math.floor(Math.floor(objBuyerPrice.value * 2.75 / 100) * 20 / 100);
			nBuyerReceive_3 = Math.floor(Math.floor(objBuyerPrice.value * 3 / 100) * 20 / 100);
		} else {
			nBuyerReceive_1 = -1;
			nBuyerReceive_2 = -1;
			nBuyerReceive_3 = -1;
		}
		
		if (objBuyerReceive_1) {
			objBuyerReceive_1.innerHTML = omr_currency(nBuyerReceive_1);
			objBuyerReceive_2.innerHTML = omr_currency(nBuyerReceive_2);
			objBuyerReceive_3.innerHTML = omr_currency(nBuyerReceive_3);
		}
		//alert(nBuyerReceive_1 + " " + nBuyerReceive_2 + " " + nBuyerReceive_3);
	}
}

var numbers_only_seller_timer = false;
function numbers_only_seller(myfield, e, dec) {
	ret_buyer = numbers_only(myfield, e, dec);
	if (ret_buyer) {
		numbers_only_seller_timer = setTimeout("seller_save_update()", 50);
	}
	return ret_buyer;
}

function seller_save_update() {
	objSellerPrice = document.getElementById("frmSave25_Value");
	objSellerSave_1a = document.getElementById("divSave25_1a");
	objSellerSave_2a = document.getElementById("divSave25_2a");
	objSellerSave_3a = document.getElementById("divSave25_3a");
	objSellerSave_4a = document.getElementById("divSave25_4a");
	objSellerSave_5a = document.getElementById("divSave25_5a");
	objSellerSave_1b = document.getElementById("divSave25_1b");
	objSellerSave_2b = document.getElementById("divSave25_2b");
	objSellerSave_3b = document.getElementById("divSave25_3b");
	objSellerSave_4b = document.getElementById("divSave25_4b");
	objSellerSave_5b = document.getElementById("divSave25_5b");
	if (objSellerPrice) {
		if (objSellerPrice.value!="") {
			nSeller_1a = objSellerPrice.value;
			nSeller_2a = Math.floor(objSellerPrice.value / 100);
			nSeller_3a = Math.floor(objSellerPrice.value * 6 / 100);
			nSeller_4a = 0;
			nSeller_5a = Math.floor(objSellerPrice.value - nSeller_2a - nSeller_3a);
			nSeller_1b = objSellerPrice.value;
			nSeller_2b = Math.floor(objSellerPrice.value / 100);
			// notice: special
			nSeller_4b = Math.floor(nSeller_3a * 25 / 100);
			nSeller_3b = nSeller_3a - nSeller_4b;
			nSeller_5b = Math.floor(objSellerPrice.value - nSeller_2b - nSeller_3b);
		} else {
			nSeller_1a = -1;
			nSeller_2a = -1;
			nSeller_3a = -1;
			nSeller_4a = -1;
			nSeller_5a = -1;
			nSeller_1b = -1;
			nSeller_2b = -1;
			nSeller_3b = -1;
			nSeller_4b = -1;
			nSeller_5b = -1;
		}
		
		if (objSellerSave_1a) {
			objSellerSave_1a.innerHTML = omr_currency(nSeller_1a);
			objSellerSave_2a.innerHTML = omr_currency(nSeller_2a);
			objSellerSave_3a.innerHTML = omr_currency(nSeller_3a);
			objSellerSave_4a.innerHTML = omr_currency(nSeller_4a);
			objSellerSave_5a.innerHTML = "<span class=\"cal_highlight_1\">" + omr_currency(nSeller_5a) + "</span>";
			objSellerSave_1b.innerHTML = omr_currency(nSeller_1b);
			objSellerSave_2b.innerHTML = omr_currency(nSeller_2b);
			objSellerSave_3b.innerHTML = omr_currency(nSeller_3b);
			objSellerSave_4b.innerHTML = omr_currency(nSeller_4b);
			objSellerSave_5b.innerHTML = "<span class=\"cal_highlight_2\">" + omr_currency(nSeller_5b) + "</span>";
		}
		//alert(nBuyerReceive_1 + " " + nBuyerReceive_2 + " " + nBuyerReceive_3);
	}
}

function ie_keyup(myfield, e, for_what) {
	var keyup;
	
	if (!isIE()) {
		return true;
	}

	if (window.event)
		keyup = window.event.keyCode;
	else if (e)
		keyup = e.which;
	else
		return true;
	   
	// keys: delete, backspace
	if ((keyup==8) || (keyup==46)) {
		if (for_what && for_what=="buyer") {
			numbers_only_buyer_timer = setTimeout("buyer_receive_update()", 100);
		} else if (for_what && for_what=="seller") {
			numbers_only_seller_timer = setTimeout("seller_save_update()", 100);
		}
	   return true;
	} 
	return true;	
}

function check_frmCompareHome() {
	objT = document.getElementById("frmCompareHome_Street");
	objTemp = document.getElementById("frmCompareHome_Zip");
	objTemp1 = document.getElementById("frmCompareHome_Beds");
	objTemp2 = document.getElementById("frmCompareHome_Baths");
	
	objT.value = trim(objT.value);
	objTemp.value = trim(objTemp.value);
	objTemp1.value = trim(objTemp1.value);
	objTemp2.value = trim(objTemp2.value);
	
	if (objT.value=="") {
		alert("Please enter the Street Name where your property locates!");
		objT.focus();
		return false;
	} else if (objT.value.length<3) {
		alert("Street Name is too short, it must contain at least 3 letters. Please re-enter!");
		objT.focus();
		return false;
	}
	if (objTemp.value=="") {
		alert("Please enter the Zip Code where your property locates!");
		objTemp.focus();
		return false;
	} else if (!isZipcode(objTemp.value)) {
		alert("The Zip Code is invalid. Please re-enter!");
		objTemp.focus();
		return false;
	}
	if (objTemp1.value=="" || ltrim(objTemp1.value, '0')=="") {
		alert("Please select the number of Bedrooms of your property!");
		objTemp1.focus();
		return false;
	}
	if (objTemp2.value=="" || ltrim(objTemp2.value, '0')=="") {
		alert("Please select the number of Bathrooms of your property!");
		objTemp2.focus();
		return false;
	}
	return true;
}

function show_est_time() {
	var est_offset = -5;
	var yourDateTime = new Date();
	var estDateTime = new Date(yourDateTime.getTime() + (est_offset * 3600 * 1000 + yourDateTime.getTimezoneOffset() * 60000 ));
	alert(estDateTime);
	document.write(estDateTime);
}
