
/*This file has all the Javascript functions
  that are related to all form elements
*/
team = new Array(
new Array(
                        new Array("Below  7 lacs", 1),
                        new Array("7 to 15 lacs", 2),
                        new Array("15 to 25 lacs", 3),
                        new Array("25 to 40 lacs", 4),
                        new Array("40 to 60 lacs", 5),
                        new Array("60 to 100 lacs", 6),
                        new Array("1 to 1.5 crores", 7),
                        new Array("1.5 to 2 crores", 8),
                        new Array("2 to 2.5 crores", 9),
                        new Array("2.5 to 5 crores", 12),
                        new Array("5 to 10 crores", 13),
                        new Array("10 to 15 crores", 14),
                        new Array("15 to 20 crores", 15),
                        new Array("20 to 25 crores", 16),
                        new Array("25 to 30 crores", 17),
                        new Array("30 to 35 crores", 18),
                        new Array("35 to 40 crores", 19),
                        new Array("40 to 45 crores", 20),
                        new Array("45 to 50 crores", 21),
                        new Array("50 to 55 crores", 22),
                        new Array("55 to 60 crores", 23),
                        new Array("60 to 65 crores", 24),
                        new Array("65 to 70 crores", 25),
                        new Array("70 to 75 crores", 26),
                        new Array("75 to 80 crores", 27),
                        new Array("80 to 85 crores", 28),
                        new Array("85 to 90 crores", 29),
                        new Array("90 to 95 crores", 30),
                        new Array("95 to 100 crores", 31),
                        new Array("Above 100 crores", 10),
                        new Array("On Request", 11)
),
new Array(
new Array("Below 4000", 1),
new Array("4000 to 6,000", 2),
new Array("6,000 to 10,000", 3),
new Array("10,000 to 15,000", 4),
new Array("15,000 to 20,000", 5),
new Array("20,000 to 25,000", 6),
new Array("25,000 to 40,000", 7),
new Array("40,000 to 70,000", 8),
new Array("70,000 to 1 lac", 9),
new Array("1 lac to 1.5 lacs", 10),
new Array("1.5 lacs to 2 lacs", 11),
new Array("2 lacs to 5 lacs", 12),
new Array("5 lacs to 10 lacs", 13),
new Array("Above 10 lacs", 14),
new Array("On Request", 15)
)
);
function fillBudgetFromArray(form_name,sel)
{
        var qs_flag=0;

        if(form_name == null || form_name == "")
                form_name = "search_form";
        var x = "var selectCtrl = document"+"."+form_name+".Budget";
        eval(x);

        var x = "var docF = document"+"."+form_name;
        eval(x);
        if(docF.Mode[1].checked || (docF.Mode[2] && docF.Mode[2].checked))
        {
                var itemArray=team[1];
        }
	else
        {
                if(docF.Mode.value =='R' || docF.Mode.value == 'P')
                        var itemArray=team[1];
                else
                        var itemArray=team[0];
        }

        var i, j;
        var prompt;
        // empty existing items
        if(selectCtrl!="")
        {
                for (i = selectCtrl.options.length-1; i >= 0; i--)
                {
                        selectCtrl.options[i] = null;
                }
        }
        goodPrompt="INR";
        badPrompt="INR";
        prompt = (itemArray != null) ? goodPrompt : badPrompt;
        if (prompt == null) {
                j = 0;
        }
        else
        {
                if(selectCtrl!="")
                {
                selectCtrl.options[0] = new Option(prompt);
                selectCtrl.options[0].value="0";
                }
                j = 1;
        }
        if (itemArray != null)
        {
                // add new items
                for (i = 0; i < itemArray.length; i++)
                {
                        selectCtrl.options[j] = new Option(itemArray[i][0]);
                        if (itemArray[i][1] != null)
                        {
                                selectCtrl.options[j].value = itemArray[i][1];
                                if( sel != null)
                                {
                                        if(sel == selectCtrl.options[j].value)
                                                selectCtrl.options[j].selected = true;
                                }
                                else /*if sel is not found, check for any set cookie*/
                                {
                                        if(getCookie('QS_BUDGET') == selectCtrl.options[j].value)
                                        {
                                                selectCtrl.options[j].selected = true;
                                                qs_flag = 1;
                                        }
                                }
                        }
                        j++;
                }
                // select first item (prompt) for sub list
                if(!qs_flag && sel == null)
                        selectCtrl.options[0].selected = true;
        }
}
function PG_search()
{
        if(getCookie('RES_COM') != 'RES')
        {
                if(document.search_form.Mode[2])
                        document.search_form.Mode[2].style.display = 'none';
                if(document.getElementById("PG"))
                        document.getElementById("PG").style.display = 'none';
                if(document.getElementById("pgtd1"))
                        document.getElementById("pgtd1").style.display = 'none';
                if(document.getElementById("pgtd2"))
                        document.getElementById("pgtd2").style.display = 'none';
                return;
        }
        else
        {
                document.search_form.Mode[2].style.display = '';
                document.getElementById("PG").style.display = '';
                document.getElementById("pgtd1").style.display = '';
                document.getElementById("pgtd2").style.display = '';
        }
        if(document.search_form.Mode[1].checked)
                var val=document.search_form.Mode[1].value;
        else if(document.search_form.Mode[2].checked)
                var val=document.search_form.Mode[2].value;
        else
                var val=document.search_form.Mode[0].value;
        switch(val)
        {
                case 'R':
                        document.search_form.Mode[2].style.display = '';
                        document.getElementById("PG").style.display = '';
                        document.search_form.PG.value = 'N';
                        break;
                case 'S':
                        document.search_form.PG.value = 'N';
                        break;
                case 'P':
                        document.search_form.PG.value = 'Y';
                        break;
        }
}
function validate_alert()
{
        docF=document.property_alert;
        if((docF.email.value)== "")
        {
                alert("Please enter Email ID");
                docF.email.focus();
                return false;
        }
        if((docF.email.value)!="" && !checkemail(docF.email.value))
        {
                alert(docF.email.value + " is not a valid Email ID");
                docF.email.focus();
                return false;
        }
        if ((docF.email.value) == "")
        {
                alert("Please enter Email ID");
                docF.email.focus();
                return false;
        }
        if((docF.phone.value) == "")
        {
                alert("Please enter phone number!");
                docF.phone.focus();
                return false;
        }
        if(isNaN((docF.phone.value)))
        {
                alert("Invalid Phone No.! Please do not use any special characters! Like + ~ and ~");
                docF.phone.focus();
                return false;
        }
        var ph=(docF.phone.value);
        if(ph.substr(0,1)==9 && ( ph.length<10 || ph.length>15 ))
        {
                alert("Please enter a valid mobile No.!");
                docF.phone.focus();
                return false;
        }
        if(ph.substr(0,1)==0 && (ph.length<11 || ph.length>15 ))
        {
                alert("Please enter a valid Phone No.!");
                docF.phone.focus();
                return false;
        }
        if(ph.substr(0,1)=='+' && (ph.length<12 || ph.length>15 ))
        {
                alert("Please enter a valid Phone No.!!");
                docF.phone.focus();
                return false;
        }
        if(ph.substr(0,1)!=9 && ph.substr(0,1)!=0 && ph.substr(0,1)!='+')
        {
                alert("Please enter Phone No. with complete STD code/Area Code!");
                docF.phone.focus();
                return false;
        }
        if (docF.Budget.value == "0")
        {
                alert("Please enter Budget");
                docF.Budget.focus();
                return false;
        }
        var name1="citycode[]";
        for(var i=0; i<docF.elements.length ; i++)
        {
                if(docF.elements[i].name == name1)
                {
                        var flag=0;
                        for(var j=1;j<docF.elements[i].options.length;j++)
                        {
                                if(docF.elements[i].options[j].selected)
                                        flag=1;
                        }
                        if(!flag)
                        {
                                alert("Please select City");
                                docF.elements[i].focus();
                                return false;
                        }
                }
        }
        return true;
}
function validate_property()
{
        docF=document.post_property;
        if(docF.res_com[0].checked)     //Residential Checked
        {
                if(document.getElementById('PostPropertyDDRes').value=='0')
                {
                        alert("Please select property type");
                        document.getElementById('PostPropertyDDRes').focus();
                        return false;
                }
                if(document.getElementById('OwnerDD').value=='0')
                {
                        alert("Please select Ownership type");
                        document.getElementById('OwnerDD').focus();
                        return false;
                }
                if(document.getElementById('ModeDDRes').value=='1')
                {
                        alert("Please select Transaction type");
                        document.getElementById('ModeDDRes').focus();
                        return false;
                }
        }
        if(docF.res_com[1].checked)   //Commercial Checked
        {
                if(document.getElementById('PostPropertyDDCom').value=='0')
                {
                        alert("Please select property type");
                        document.getElementById('PostPropertyDDCom').focus();
                        return false;
                }
                if(document.getElementById('OwnerDD').value=='0')
                {
                        alert("Please select Ownership type");
                        document.getElementById('OwnerDD').focus();
                        return false;
                }
                if(document.getElementById('ModeDDCom').value=='1')
                {
                        alert("Please select Transaction type");
                        document.getElementById('ModeDDCom').focus();
                        return false;
                }
        }
}
/*ADD START 15.06.2006 (Tripti) For checking if someone has searched without entering locality*/
function check_city_empty()
{
        var docF=document.search_form;
        var name1="city";
        for(var i=0; i<docF.elements.length ; i++)
        {
                if(docF.elements[i].name == name1)
                {
                        var flag=0;
                        for(var j=1;j<docF.elements[i].options.length;j++)
                        {
                                if(docF.elements[i].options[j].selected)
                                        flag=1;
                        }
                        if(!flag)
                        {
                                alert("Please select City");
                                docF.elements[i].focus();
                                return false;
                        }
                }
        }
        if(docF.type.value == 'L')
        {
                alert("Please select one option under LAND");
                return false;
        }
}
/*ADD END 15.06.2006 (Tripti) For checking if 
someone has searched without entering locality*/
function isNum(str)
{
	var string = str + '';
	var flag=1;
	for (var i=0;i < string.length;i++)
	{
		if (((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9')) && (string.substring(i,i+1) != "."))
			return false;
	}
	return true;   
}

function isInt(string)
{
	var flag=1;
		for (var i=0;i < string.length;i++)
		{
      		if ((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9'))
      		{   
      			return false;
      		}
		}
	    return true;
}
/* string : the string to be validated
 invalidchar : array of invalid characters
*/
function validate_characters(string,invalidchar)
{
	var invalid=true;
	for(i=0;i<string.length;i++)
	{
		for(j=0;j<invalidchar.length;j++)
		{
			if (string[i]==invalidchar[j])
			{
				invalid=false;
				break;
			}
		}
	}
	return invalid;
}
function isAlphanum(string)
{
	var invalidchar = new Array('#','\'','"','\\','/',' ','!','@','$','%','^','&','*','?','.',':','~','`','(',')','-','_','+','=','{','}','[',']','|','<','>',',',';');
	return validate_characters(string,invalidchar);
}
function isName(string)
{
	var invalidchar = new Array('#','\'','"','\\','!','@','$','%','^','&','*','?',':','~','`','(',')','_','+','=','{','}','[',']','|','<','>',';','1','2','3','4','5','6','7','8','9','0');
	return validate_characters(string,invalidchar);
}
function isCompanyName(string)
{							 
	var invalidchar = new Array('#','!',"'",'"','\\','@','$','%','^','*','?',':','~','`','_','+','=','{','}','[',']','|','<','>');
	return validate_characters(string,invalidchar);
}
function isPropertyName(string)
{
	var invalidchar = new Array('#','\\','!','@','$','%','^','*','?',':','~','`','_','+','=','{','}','[',']','|','<','>');
	return validate_characters(string,invalidchar);
}
function isNumText(string)
{
	var invalidchar = new Array('\'','"','\\','!','@','$','%','^','&','*','?',':','~','`','(',')','_','+','=','{','}','[',']','|','<','>');
	return validate_characters(string,invalidchar);
}
function invalid_user(username)
{
	var invalidchar = new Array('#','\'','"','\\','/',' ','!','@','$','%','^','&','*','?');
	return validate_characters(username,invalidchar);
}

function isEmail(str)
{
	var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	return regex.test(str);
}
function checkemail(emailadd)
{
//this is replaced by sandeep Beniwal for proper email validation.
        if (emailadd.length>100)
                return false;
        else if (emailadd.length<8)
                return false;
        else
		return isEmail(trim(emailadd));
}
function trim(inputString) 
{

	if (typeof inputString != "string") { return inputString; }
   	var retValue = inputString;
   	var ch = retValue.substring(0, 1);
   	while (ch == " ") 
	{
      		retValue = retValue.substring(1, retValue.length);
      		ch = retValue.substring(0, 1);
   	}
   	ch = retValue.substring(retValue.length-1, retValue.length);
   	while (ch == " ") 
	{
      		retValue = retValue.substring(0, retValue.length-1);
      		ch = retValue.substring(retValue.length-1, retValue.length);
   	}
   	while (retValue.indexOf("  ") != -1) 
	{
      		retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   	}
   	return retValue;
}
function strlen(str)
{
	return str.length;
}
/*
Function name   :       checkNPerror
Created by      :       Puneet Chawla
Date            :       3 Apr 2007
Description     :       This function checks for any errors introduced by mismatched selection in case of New Projects
*/
function checkNPerror()
{
        var type = document.search_form.type;
        var mode = document.search_form.Mode;
        var show_newprojects = document.search_form.prop_newprojects;
        if(show_newprojects)
	{
                if ((type.value=='23' || show_newprojects.checked) && !(mode[0].checked || mode[0].selected))   //new project selected with Rent/PG Selected
        	{
                	var err = document.getElementById('error_msg');
                	if(err)
           	             document.getElementById('error_msg').style.display="";
			else
				alert('Please Select "Buy" to View New Project Properties');
		}
	        else
        	{
                	var err = document.getElementById('error_msg');
	                if(err)	
        	                document.getElementById('error_msg').style.display="none";
        	}
	}
}
function check_property(val)
{
        var base=document.search_form;
	var show_newprojects = base.prop_newprojects;
        if(val==1)
        {
                base.prop_all.checked=true;
                base.prop_owner.checked=false;
                base.prop_builder.checked=false;
                base.prop_broker.checked=false;
        	if(show_newprojects)
                	base.prop_newprojects.checked=false;
        }
        if(val==2)
        {
                if(base.prop_owner.checked && base.prop_builder.checked && base.prop_broker.checked && (!show_newprojects || (show_newprojects && base.prop_newprojects.checked)))   //all except 'All' checked
                {
                        base.prop_all.checked=true;
                        base.prop_owner.checked=false;
                        base.prop_builder.checked=false;
                        base.prop_broker.checked=false;
			if(show_newprojects)
	                        base.prop_newprojects.checked=false;
                }
                if(!base.prop_owner.checked && !base.prop_builder.checked && !base.prop_broker.checked && (!show_newprojects || (show_newprojects && !base.prop_newprojects.checked)))
                {
                        base.prop_all.checked=true;
                        base.prop_owner.checked=false;
                        base.prop_builder.checked=false;
                        base.prop_broker.checked=false;
			if(show_newprojects)
				base.prop_newprojects.checked=false;
                }
                else
                {
                        base.prop_all.checked=false;
                }
                checkNPerror();
        }
}
function check_type(index_type)
{
        if(!index_type)
        var index_type = document.search_form.type.value;
	var show_newprojects = document.search_form.prop_newprojects;
        if(index_type=='C' || (index_type >= 6 && index_type<= 21) || index_type==25 || index_type==81) //commercial
        {
		if(show_newprojects)
		{
                	document.search_form.prop_newprojects.checked=false;
	                document.search_form.prop_newprojects.disabled=true;
		}
                if(document.search_form.bedroom)
                        document.search_form.bedroom.disabled=true;
                if(document.search_form.Mode.options)
                {
                        document.search_form.Mode.options[1].text = 'Lease';
                        document.search_form.Mode.options[2] = null;
                }
        }
        else
        {
		if(show_newprojects)
	                document.search_form.prop_newprojects.disabled=false;
                if(document.search_form.bedroom)
                        document.search_form.bedroom.disabled=false;
                if(document.search_form.Mode.options)
                {
                        document.search_form.Mode.options[1].text = 'Rent';
                        document.search_form.Mode.options[2] = new Option('PG');
                        document.search_form.Mode.options[2].value = 'P';
                }
        }
}
function togglePostPropertyDD(x)
{
        if(x=='C')
        {
                document.getElementById('PostPropertyDDCom').disabled=false;
                document.getElementById('PostPropertyDDCom').style.display='block';

                document.getElementById('PostPropertyDDRes').disabled=true;
                document.getElementById('PostPropertyDDRes').style.display='none';

                document.getElementById('ModeDDCom').disabled=false;
                document.getElementById('ModeDDCom').style.display='block';

                document.getElementById('ModeDDRes').disabled=true;
                document.getElementById('ModeDDRes').style.display='none';
        }
        else
        {
                document.getElementById('PostPropertyDDCom').disabled=true;
                document.getElementById('PostPropertyDDCom').style.display='none';

                document.getElementById('PostPropertyDDRes').disabled=false;
                document.getElementById('PostPropertyDDRes').style.display='block';

                document.getElementById('ModeDDCom').disabled=true;
                document.getElementById('ModeDDCom').style.display='none';

                document.getElementById('ModeDDRes').disabled=false;
                document.getElementById('ModeDDRes').style.display='block';
        }
}

function check_search()
{
        var base=document.search_form;
        if(base.Mode.value=="-1" && base.city.value=="0" && base.type.value=="0" && base.Budget.value=="0" && base.bedroom.value=="0")
        {
                alert("User,kindly select one criterion for the search");
                return false;
        }
        else
                return true;
}
