var searchmode=1;
var p_i=2;
var validation_flag;
valid_ini=false;
function goo(page_index){
	p_i=page_index;
	for (var i=1;i<10;i++)
	{
		if (page_index==i)
		document.getElementById("table"+i).style.display="";
		else
		document.getElementById("table"+i).style.display="none";		
	}
	
	if (page_index==2)
	{
		form_validate();
	}
}

var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);

function caretPos(input)
{
	if (is_gecko)
		return input.selectionStart;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(true);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
}

function setSelectionRange(input, start, end) {
	if (is_gecko) {
		input.setSelectionRange(start, end);
	} else {
		// assumed IE
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	}
};

function arrow_over(my_event,input,prev_cell,next_cell)
{
	var mykey=my_event.keyCode;
	max_length=3;
	caret=caretPos(input);
	services=document.getElementsByName("services")[0];
	//services.value="caret: "+caret+"   length: "+input.value.length+" keycode: "+my_event.keyCode;
	if((caret==max_length)&&(mykey==39))
	{
		if(next_cell);
		{
		  myobj=document.getElementsByName(next_cell)[0];
		  myobj.focus();
		  setSelectionRange(myobj,0,0);
		}
	}
}

function move_caret (my_event,input,prev_cell,next_cell)
{
	var mykey=my_event.keyCode;
	max_length=3;
	caret=caretPos(input);
	services=document.getElementsByName("services")[0];
	//services.value="caret: "+caret+"   length: "+input.value.length+" keycode: "+my_event.keyCode;
	if((input.value.length==max_length)&&(caret==max_length))
	{
		if ((mykey!==39)&&(next_cell))
		document.getElementsByName(next_cell)[0].focus();
	}
	if (((mykey==8)||(mykey==37))&&caret==0)
	{
		if(prev_cell)
		document.getElementsByName(prev_cell)[0].focus();
	}
	
}

function open_privacy()
{
window.open("http://treeservice.com/privacy.html","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=yes, width=800, height=600");
}

function form_validate()
{
	validation_flag=true;
var valid=0;
var mystr=""
var count=1;
		valid+=vali("first_name",3,"text");
		valid+=vali("last_name",3,"text");
		valid+=vali("street",3,"text");
		valid+=vali("city",3,"text");
		valid+=vali("state",2,"text");		
		valid+=vali("phone1_area",3,"num");
		valid+=vali("phone1_prefix",3,"num");
		valid+=vali("phone1_number",4,"num");
		valid+=vali("zipcode",5,"num");
		valid+=vali("referrer_lead",1,"text");
		valid+=validate_work_request();
		return(valid);
}

function my_submit()
{
	//document.title='submit';
	val=form_validate();
	if (val>0)
	{
		alert("Please enter all required fields.");
		return false;
	}
	else
	{
		return true;
	}
		
}
function my_submit2 ()
{
	if (my_submit())
		document.mainform.submit();
	else
		return (false);
}

function vali(vname,size,vtype)
{
	myobj=document.getElementsByName(vname)[0];
	val=myobj.value;
	if (val=='street'||val=='city'||val=='zip'||val=='st')
	{
		myobj.style.background="#fffacd";
		return(false);
	}
	switch (vtype)
	{
		case("text"):return(validate_text(size,myobj));break;
		case("num"):return(validate_number(size,myobj));break;
	}
}

function validate_check(vname)
{
	myobj=document.getElementsByName(vname)[0];
	val=myobj.checked;
	//alert (vname+" "+val+"   "+myobj.checked);
	if (val)
		return (1);
	else
		return (0);	
}

function validate_work_request()
{
var val=0;
var mystr=""
var count=1;
	val+=validate_check("tree_removal_ck");
		mystr+="  "+count+": "+val+" ... ";count++;
	val+=validate_check("trimming_ck");
		mystr+="  "+count+": "+val+" ... ";count++;
	val+=validate_check("tree_treatment");
		mystr+="  "+count+": "+val+" ... ";count++;
	val+=validate_check("stump_removal");
		mystr+="  "+count+": "+val+" ... ";count++;
	val+=validate_check("tree_planting");
		mystr+="  "+count+": "+val+" ... ";count++;
	val+=validate_check("arborist");
		mystr+="  "+count+": "+val+" ... ";count++;
	if (vali("services",1,"text")==0)
	{
		val+=1;
	}
		mystr+="  "+count+": "+val+" ... ";count++;
		//document.title=mystr;
	if (val==0)
	{
		validation_flag=false;
		alert ("Please Check one of services in section 5 or type the services you require in section 6");
		return (1);
	}
	return (0);
}


function validate_number(size,obj)
{
	if (!isNaN(obj.value))	
	{
		if(obj.value.length<size)
		{
			obj.style.background="#fffacd";
			return (1);
		}
		obj.style.background="#ffffff";
		return(0);
	}
			obj.style.background="#fffacd";
	return(1);
}

function validate_text(size,obj)
{
	if(obj.value.length<size)
	{
		obj.style.background="#fffacd";
		return(1);
	}
	obj.style.background="#ffffff";
	return(0);
}

var compId=0;
function updateMsgOnBrowser(testXML) {
	//var company = testXML.childNodes[0].childNodes;//getElementsByTagName("company");
	var company = testXML.getElementsByTagName("company");
	//document.writeln("stuff:"+company.length+"<br>");
	goo(7);
	var myLen=company.length;
	if (myLen>8) myLen=8;
	for (var i=0;i<8;i++)
	{
		var company_name;
		var company_id;
		if (i<myLen)
		{
			company_name=company[i].getElementsByTagName("company_name")[0].childNodes[0].nodeValue;
			company_id=company[i].getElementsByTagName("company_id")[0].childNodes[0].nodeValue;
		}
		else
			{
				company_name="";
				company_id="";
			}
			var myRadio=document.getElementById("radio"+i);
			var myEdit=document.getElementById("company_name"+i);
			myEdit.value=company_name;
			myRadio.value=company_id;
		}

	}
	
function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
        		responseXmlHandler(req.responseXML);
		} else {
			alert( "ERROR: "+ req.status);
      		}
    	}
 	}
}
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Not IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		//Display your error message here. 
		//and inform the user they might want to upgrade
		//their browser.
		alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
	}
}
function doquery(mode)
{
var query;
searchmode=mode;
	if (mode==1)
	{
		var zip=document.getElementById("just_zip").value;
		query="zip="+zip;
	}
	else
	{
		var zip=document.getElementById("search_zip").value;
		var cname=document.getElementById("search_company").value;
		query="zip="+zip+"&company="+cname;		
	}
if (isNaN(zip)||zip.length!=5)
{
	alert ("Zip code is invalid");
	return(0);
}
var req=getXmlHttpRequestObject();
var callbackHandler = getReadyStateHandler(req, updateMsgOnBrowser);
  	req.onreadystatechange = callbackHandler;
  	req.open("POST", "xml_search.html", true);
  	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  	req.send(query);
}

function clicke(i)
{
	if(i!="")
	{
		var id=document.getElementById("checkbox"+i).checked=true;
		
	}
	return false;
}

var formstate=0;
function myfocus () {
	//	document.title="formstate:"+formstate;
if (formstate==1)
{
	document.location.replace('3est.html');
}
	formstate=2;
return true;
}
window.onfocus=myfocus;