function GetXMLHttpRequest() { var xmlreq = false; if (window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { } } } return xmlreq; }

//Multi-Purpose Form Fields Checking function
var oXMLHTTP = GetXMLHttpRequest();
var formname = "";

function checkFormMail(form) {		
	formname = "";
	var errMsg = "";
	var poststr = "";	

	var regEmail = new RegExp(/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,4}(.[a-zA-Z]{2})?$/);	

	if (form.name.value.length < 1)        
		errMsg = errMsg + '\n- Name';
	
	if (!(regEmail.test(form.email.value)))
		errMsg = errMsg + '\n- Email Address';

	//Some forms do not have phone number field so check if it is there first.
	if (form.phone.value.length > 0){
		if (form.phone.value.search(/\d{3}\-\d{3}\-\d{4}/) == -1)
			errMsg = errMsg + '\n- Phone Number';
	}

	if (errMsg != '') {
		errMsg = 'Please complete the followings fields again.' + errMsg;
		alert(errMsg);
		return false;
	} else {
		isSaveProp = false;
		for (var i = 0; i < form.elements.length; i++) {
			if(form.elements[i].name == "formname"){
				formname = escape(form.elements[i].value);
				if(formname == 'saveProperty')
					isSaveProp = true;
			}
			if(i > 0) {                                  
				if (form.elements[i].name == "besttime"){
					if (form.elements[i].checked)
						poststr +=  "&"  + form.elements[i].name + "=" + escape(form.elements[i].value); 
				} else {
					poststr += "&" + form.elements[i].name + "=" + escape(form.elements[i].value);
				}
			}else {
				poststr += form.elements[i].name + "=" + escape(form.elements[i].value); 
			}                
		}
		
		//var urlSplit = location.href.split("/");		
		
		if(isSaveProp)			
			makePOSTRequest('/standard/lib/process_save_property.asp', poststr);		
		else			
			makePOSTRequest('/standard/lib/process_form.asp', poststr);		
		
		return false;
	}
}

//AJAX Form Submission
function makePOSTRequest(URL, parameters) {
	oXMLHTTP.onreadystatechange = displayResult;
	oXMLHTTP.open( "POST", URL, true );
	oXMLHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	oXMLHTTP.setRequestHeader("Content-length", parameters.length);
	oXMLHTTP.send(parameters);
}

function displayResult() {	
	div_form	= formname + '_form';
	div_result	= formname + '_result';
	div_status	= formname + '_status';
	div_close	= formname + '_close';
	
	//alert(div_form + " " + div_result + " " + div_status);

	document.getElementById(div_form).style.display = 'none';
	document.getElementById(div_result).style.display = 'inline';
	document.getElementById(div_status).innerHTML = "<font color=orange>Sending email ...</font>"; 
	
	if (oXMLHTTP.readyState == 4) {
		//alert(oXMLHTTP.status);
		if (oXMLHTTP.status == 200) {			
			document.getElementById(div_status).innerHTML = oXMLHTTP.responseText;
			if (oXMLHTTP.responseText == "fail") 
				document.getElementById(div_status).innerHTML = "<font color='red'>There was a problem sending your request.</font>";                
			else 
				document.getElementById(div_status).innerHTML = "Your email was successfully sent.";                        
		} else 
				document.getElementById(div_status).innerHTML = "<font color='red'>There was a problem sending your request.</font>";
		document.getElementById(div_close).style.display = "";
	}      
}

function imgError(source){
	source.src = "http://www.reseeker.com/lib/show_thumbnail.re?type=1&path=noimage.gif";
	source.onerror = "";
	source.title = "";
	return true;
}