// JavaScript Document
var RegxMobile  = /^[0-9]{11,14}$/;   
var RegxPhone   = /^[0-9]{11,14}$/;
var RegxNumber  = /^[0-9]+$/;
var RegxFloat   = /^(\+?((([0-9]+(\.)?)|([0-9]*\.[0-9]+))([eE][+-]?[0-9]+)?))$/;
var RegxEmail   = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 
var RegxPin     = /^[0-9a-zA-Z ]{5,9}$/;
var checkDate   = /^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[0-9]{4}$/;

var map = null;
var geocoder = null;

if (window.XMLHttpRequest)             
    http = new XMLHttpRequest();
else if (window.ActiveXObject) 
    http = new ActiveXObject("Microsoft.XMLHTTP");
    
function getXMLHttp()
{
    var xmlHTTP;
    try
    {
        // Firefox, Opera, Safari
        xmlHTTP = new XMLHttpRequest();
    }
    catch(e)
    {
        try
        {
            //Internet Explorer
            XmlHTTP = new ActiveObject("Msxml2.XMLHTTP");
        } 
        catch(e)
        {
            try
            {
                xmlHTTP = new ActiveObject("Microsoft.XMLHTTP");    
            }
            catch(e)
            {
                alert("Your browser does not support AJAX");
                return false;
            }
        }
    }
    return xmlHTTP;
}

function GetCity(x) 
{
    http.onreadystatechange = function()
    {
        if(http.readyState == 4)
        {
            //document.getElementById('ddlState').innerHTML = http.responseText;
			document.getElementById('ddlCity').innerHTML = http.responseText;
        }
        
    }
    http.open("GET","data_provider.php?countryid="+x,true);
    http.send(null);
}

/*function GetCity(x) 
{
    http.onreadystatechange = function()
    {
        if(http.readyState == 4)
        {
            document.getElementById('ddlCity').innerHTML = http.responseText;
        }
    }
    http.open("GET","data_provider.php?stateid="+x,true);
    http.send(null);
}
*/
function chkReqValuation(frm)
{	
    if(frm.txtPropertyAddress.value == "")
    {
        alert('Please Enter your Property Address!');
        frm.txtPropertyAddress.focus();
        return false;
    }    
    if(frm.txtCity.value == "")
    {
        alert('Please Enter your City/Town!');
        frm.txtCity.focus();
        return false;
    }
    if(frm.txtPostcode.value != "" && RegxPin.test(frm.txtPostcode.value) == false)
    {
        alert('Please, Enter valid Post Code!');
        frm.txtPostcode.focus();
        return false;
    }        

    if(frm.txtFname.value == "")
    {
        alert('Please Enter your first name!');
        frm.txtFname.focus();
        return false;
    }
	if(frm.txtSname.value == "")
	{
		alert('Please Enter your surname!');
		frm.txtSname.focus();
		return false;
	}
/*	if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
	{
		alert('Please Enter valid mobile no!');
		frm.txtContactNo.focus();
		return false;     
	} 
*/
    if(frm.txtPhone.value != "")	
    {
        if (RegxPhone.test(frm.txtPhone.value) == false)
        {      
            alert('Please Enter valid Phone No.!');            
            frm.txtPhone.focus();
            return false;     
        }
    }
	if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
	{
		alert('Please Enter valid email address!');
		frm.txtEmail.focus();
		return false;
	}
}
function chkRegistration(frm)
{
    if(frm.txtName.value == "")
    {    
        alert("Please, Enter Name!");
        frm.txtName.focus();
        return false;
    }    
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtEmail.focus();
        return false;
    }
    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
    {
        alert('Please Enter valid Contact No.!');
        frm.txtContactNo.focus();
        return false;     
    }
    if(frm.txtPhoneNo.value != "")    
    {
        if (RegxPhone.test(frm.txtPhoneNo.value) == false)
        {      
            alert('Please Enter valid Phone No.!');            
            frm.txtPhoneNo.focus();
            return false;     
        }
    } 
    if(frm.txtDate.value == "")
    {
       
            alert('Please enter valid date');
            frm.txtDate.focus(); 
            return false;
       
        //alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
        //frm.txtDate.focus();
    }             
}

// Email A Friend Validation
function chkEmailFriend(frm)
{        
    if (frm.txtName.value == "")
    {
        alert("Please, Enter your name!");
        frm.txtName.focus();
        return false;
    }    
    if(frm.txtFrom.value == "" || RegxEmail.test(frm.txtFrom.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtFrom.focus();
        return false;
    }
    if(frm.txtTo.value == "" || RegxEmail.test(frm.txtTo.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtTo.focus();
        return false;
    }    
    if (frm.txtMsg.value == "")
    {
        alert("Please, Enter your message!");
        frm.txtMsg.focus();
        return false;
    }
    if (frm.txtVerification.value == "")
    {
        alert("Please Enter the Security Code!");
        frm.txtVerification.focus();
        return false;
    }
}

// Validation for contact us form
function chkContactUs(frm)
{
    if(frm.txtName.value == "" )
    {
        alert('Please, Enter your name!');
        frm.txtName.focus();
        return false;
    }            
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtEmail.focus();
        return false;
    }    
    if(frm.txtMobileNo.value != "" && RegxMobile.test(frm.txtMobileNo.value) == false)
    {
        alert('Please, Enter your valid mobile no.');
        frm.txtMobileNo.focus();
        return false;
    }
    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
    {
        alert('Please, Enter your valid phone no.');
        frm.txtPhoneNo.focus();
        return false;
    }
    if(frm.txtQuery.value == "" )
    {
        alert('Please, Enter your message');
        frm.txtQuery.focus();
        return false;
    }
    if(frm.txtVerification.value == "")
    {
        alert('Please Enter the Security Code!');
        frm.txtVerification.focus();
        return false;
    }
}

// Validation for Inquiry Form
function chkInquiry(frm)
{
    if(frm.txtName.value == "")
    {
        alert('Please Enter your Name!');
        frm.txtName.focus();
        return false;
    }
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtEmail.focus();
        return false;
    }
    if(frm.txtContact.value == "")
    {
        alert('Please Enter your conact no.!');
        frm.txtContact.focus();
        return false;
    }
    if(frm.txtInquiry.value == "")
    {
        alert('Please Enter Inquiry!');
        frm.txtInquiry.focus();
        return false;
    }
    if(frm.txtVerification.value == "")
    {
        alert('Please Enter the Security Code!');
        frm.txtVerification.focus();
        return false;
    }
}

function mOver(aval,bval)
{
    document.getElementById(aval).style.background = "url(Images/menu-hover.jpg) repeat-x left top";
    document.getElementById(aval).style.color = "#000";
}

function mOut(aval,bval)
{
    document.getElementById(aval).style.background = "";
    document.getElementById(bval).style.background = "";    
    document.getElementById(aval).style.color = "#FFF";    
}

function popUpWindow(url)
{
    newwindow = window.open(url,'name','fullscreen=yes,resizable=1,scrollbars=1');
    if (window.focus) 
    {
        newwindow.focus()
    }
}


function computeField(input) 
{
	if (input.value != null && input.value.length != 0)
	{
		input.value = "" + eval(input.value);
	}
	computeForm(input.form);
	//clearForm(input.form);
	return false;
}

function computeForm(form) 
{
	if(form.txtAmt.value == "" || RegxNumber.test(form.txtAmt.value) == false)
    {
        alert("Enter Valid Mortgage Ammount");
        document.getElementById('txtAmt').focus();
        return false;
    }
	if(form.txtTerm.value == "" || RegxNumber.test(form.txtTerm.value) == false)
    {
        alert("Enter Valid Term of Mortgage");
        document.getElementById('txtTerm').focus();
        return false;
    }
	if(form.txtTerm.value < 5 || form.txtTerm.value  > 40 )
	{
		alert("Term of Mortgage must between 5 to 40");
		return false;
	}
	if(form.txtIRate.value == "" || RegxFloat.test(form.txtIRate.value) == false)
    {
        alert("Enter Valid Interest Rate");
        document.getElementById('txtIRate').focus();
        return false;
    }
	if(form.txtIRate.value < 0.001 || form.txtIRate.value  > 1000 )
	{
		alert("Interest Rate must between 0.001 to 1000");
		return false;
	}
	    
	var A = form.txtAmt.value; // Principal amount
	var T = form.txtTerm.value; // Term - number of years
	var R = form.txtIRate.value; // Rate of interest
	if ((A == null || A.length == 0) ||	(R == null || R.length == 0))
	{
		return;
	}
	R = R / 100;
	var P = ((A*R)/12) * (1/(1-(Math.pow(1/(1+R),T))));
	form.txtMonthRep.value = poundsPence( P );
	//P = ((A*0.12)/12) * (1 / (1-(Math.pow((1/1.12),T))));
	//form.CCm.value = poundsPence( P );
	P = (A*R)/12;
	form.txtMonthInt.value = poundsPence( P );
	//P = ((A*0.12)/12);
	//form.CCI.value = poundsPence( P );
	return false;
}

function poundsPence( N ) 
{
	// won't work as intended in ie3
	if ((navigator.appName.indexOf('Microsoft')>-1)
	&& (navigator.appVersion.indexOf('3.0')>-1) )
	{
		return N;
	}
	S = new String( N );
	var i = S.indexOf('.');
	if (i != -1) 
	{
		S = S.substr( 0, i+3 );
		if (S.length-i < 3)
		S = S + '0';
	}
	return S;
}

//clears form
function clearForm(form) 
{
	form.txtAmt.value = "";
	form.txtTerm.value = "";
	form.txtIRate.value = "";
	
	form.txtMonthRep.value = "";
	form.txtMonthInt.value = "";		
	return false;
}

// For Google Map in view Property Details
function load() 
{
    if (GBrowserIsCompatible()) 
    {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(51.5163988, -0.065375), 13);
        geocoder = new GClientGeocoder();
    }            
}

function showAddress(address1,address2) 
{
    if (geocoder) 
    {
        geocoder.getLatLng
        (
            address1,
            function(point) 
            {
                if (!point) 
                {
                    alert(address1 + " not found");
                } 
                else 
                {
                    map.setCenter(point, 17);
                    var marker = new GMarker(point);
                    map.addOverlay(marker);
                    marker.openInfoWindowHtml(address1);
					marker.openInfoWindowHtml(address2);
                    //marker.openInfoWindowHtml(address);
                }
            }
        );
    }
}
function chkAddTenants(frm)
{
    if(frm.txtName.value == "")
    {
        alert('Please, Enter your name!');
        frm.txtName.focus();
        return false;
    }
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please Enter valid email address!');
        frm.txtEmail.focus();
        return false;
    }
    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
    {
        alert('Please Enter valid mobile no.!');
        frm.txtContactNo.focus();
        return false;
    }    
    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
    {
        alert('Please Enter valid phone no.!');
        frm.txtPhoneNo.focus();
        return false;
    } 
    // if(parseInt(frm.cmbPriceFromS.value) > parseInt(frm.cmbPriceToS.value))
//    {
//        alert('Price From must less than Price To');
//        frm.cmbPriceFromS.focus();
//        return false;
//    }   
    if(frm.cmbBedroomsFrom.value != 'Studio' && (frm.cmbBedroomsFrom.value > frm.cmbBedroomsTo.value))
    {
        alert('Bedroom From must less than Bedroom To');
        frm.cmbBedroomsFrom.focus();
        return false;
    }   
   // if(frm.txtDate.value == "")
//    {
//        alert('Please, Enter move in date!');
//        frm.txtDate.focus();
//        return false;
//    }
    if(frm.txtDate.value == "")
    {
          alert('date is not valid');
            frm.txtDate.focus(); 
            return false;
      
        //alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
        //frm.txtDate.focus();
    }             
}

//function chkAddTenants(frm)
//{
//    if(frm.txtName.value == "")
//    {
//        alert('Please, Enter your name!');
//        frm.txtName.focus();
//        return false;
//    }
//    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
//    {
//        alert('Please Enter valid email address!');
//        frm.txtEmail.focus();
//        return false;
//    }
//    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
//    {
//        alert('Please Enter valid mobile no.!');
//        frm.txtContactNo.focus();
//        return false;
//    }    
//    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
//    {
//        alert('Please Enter valid phone no.!');
//        frm.txtPhoneNo.focus();
//        return false;
//    }    
//    if(frm.txtDate.value == "")
//    {
//        alert('Please, Enter move in date!');
//        frm.txtDate.focus();
//        return false;
//    }    
//}
function chkRegistrationNew(frm)
{
    if(frm.txtName.value == "")
    {
        alert('Please, Enter your first name!');
        frm.txtName.focus();
        return false;
    }    
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please, Enter your valid email address!');
        frm.txtEmail.focus();
        return false;
    }    
    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
    {
        alert('Please Enter valid contact no.!');
        frm.txtContactNo.focus();
        return false;
    }       
    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
    {
        alert('Please Enter valid phone no.!');
        frm.txtPhoneNo.focus();
        return false;
    }
    if(document.getElementById('buyPriceDivRange1').style.display != 'none')      
    {
        if((parseInt(frm.cmbPriceFromS.value) > parseInt(frm.cmbPriceToS.value)) && (frm.cmbPriceToS.value != '2 million+'))
        {
            alert('Price From must less than Price To');
            frm.cmbPriceFromS.focus();
            return false;
        }
    }     
    if(frm.cmbBedroomsFrom.value != 'Studio' && (frm.cmbBedroomsFrom.value > frm.cmbBedroomsTo.value))
    {
        alert('Bedroom From must less than Bedroom To');
        frm.cmbBedroomsFrom.focus();
        return false;
    }
    // if(frm.txtDate.value == "")
//    { 
//      
//            alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
//            frm.txtDate.focus(); 
//            return false;
       //alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
        //frm.txtDate.focus();
//    }        
}
function chkBuyingRegistration(frm)
{
    if(frm.txtName.value == "")
    {
        alert('Please, Enter your first name!');
        frm.txtName.focus();
        return false;
    }    
    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
    {
        alert('Please, Enter your valid email address!');
        frm.txtEmail.focus();
        return false;
    }    
    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
    {
        alert('Please Enter valid contact no.!');
        frm.txtContactNo.focus();
        return false;
    }       
    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
    {
        alert('Please Enter valid phone no.!');
        frm.txtPhoneNo.focus();
        return false;
    }
    if(document.getElementById('buyPriceDivRange').style.display != 'none')      
    {
        if((parseInt(frm.cmbPriceFromS.value) > parseInt(frm.cmbPriceToS.value)) && (frm.cmbPriceToS.value != '2 million+'))
        {
            alert('Price From must less than Price To');
            frm.cmbPriceFromS.focus();
            return false;
        }
    }     
    if(frm.cmbBedroomsFrom.value != 'Studio' && (frm.cmbBedroomsFrom.value > frm.cmbBedroomsTo.value))
    {
        alert('Bedroom From must less than Bedroom To');
        frm.cmbBedroomsFrom.focus();
        return false;
    }
     if(frm.txtDate.value == "")
    {
          
                alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
                frm.txtDate.focus(); 
                return false;
                      //alert('Please Enter valid Date in DD-MM-YYYY Format Only.!');
            //frm.txtDate.focus();
    }        
}

//function chkRegistrationNew(frm)
//{
//    if(frm.txtName.value == "")
//    {
//        alert('Please, Enter your first name!');
//        frm.txtName.focus();
//        return false;
//    }    
//    if(frm.txtEmail.value == "" || RegxEmail.test(frm.txtEmail.value) == false)
//    {
//        alert('Please, Enter your valid email address!');
//        frm.txtEmail.focus();
//        return false;
//    }    
//    if(frm.txtContactNo.value == "" || RegxMobile.test(frm.txtContactNo.value) == false)
//    {
//        alert('Please Enter valid contact no.!');
//        frm.txtContactNo.focus();
//        return false;
//    }       
//    if(frm.txtPhoneNo.value != "" && RegxPhone.test(frm.txtPhoneNo.value) == false)
//    {
//        alert('Please Enter valid phone no.!');
//        frm.txtPhoneNo.focus();
//        return false;
//    }     
//}

