  function button_over(x) {
      x.style.backgroundColor = '#FD9B06';
      x.style.color = '#FFFFFF';
      x.style.borderColor = '#000099';
      x.style.cursor = 'hand';
  }
  function button_out(x) {
      x.style.backgroundColor = '';
      x.style.color = '';
      x.style.borderColor = '';
      x.style.cursor = '';
  }

    var started = 0;

    function test_function()
{

/* is_forbidden
 is_letter
 is_number
 is_not_number
 is_email
 is_not_empty
 is_visible  */


the_form = document.free_estimate_form;
allright = true;

elements_name = new Array();
criteris = new Array();

elements_name[elements_name.length+1]="first_name";
criteris[elements_name.length-1]=new Array("is_forbidden","is_letter","is_not_empty");

elements_name[elements_name.length]="email";
criteris[elements_name.length-1]=new Array("is_email");

elements_name[elements_name.length]="specifics";
criteris[elements_name.length-1]=new Array("is_not_empty");

elements_name[elements_name.length]="city_from";
criteris[elements_name.length-1]=new Array("is_not_empty","is_forbidden","is_letter");

elements_name[elements_name.length]="city_to";
criteris[elements_name.length-1]=new Array("is_not_empty","is_forbidden","is_letter");

elements_name[elements_name.length]="country_from";
criteris[elements_name.length-1]=new Array("is_not_empty");

elements_name[elements_name.length]="country_to";
criteris[elements_name.length-1]=new Array("is_not_empty");

elements_name[elements_name.length]="p_phone1";
criteris[elements_name.length-1]=new Array("is_american_phone");

elements_name[elements_name.length]="state_from";
criteris[elements_name.length-1]=new Array("is_not_empty");

elements_name[elements_name.length]="move_date";
criteris[elements_name.length-1]=new Array("is_date");

for (var i = 1; i < (elements_name.length); i++)
     {
for (var j = 0; j < (criteris[i].length); j++)
     {

 if  (criteris[i][j]=="is_visible")
          {
      if  (the_form.elements[elements_name[i]].style.visibility=="hidden")
               {
               	break; }
          }

 if  (criteris[i][j]=="is_forbidden")
          {
      if  (test_forbidden(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }

  if  (criteris[i][j]=="is_letter")
          {
      if  (test_letter(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }

   if  (criteris[i][j]=="is_number")
          {
      if  (test_number(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }


   if  (criteris[i][j]=="is_not_number")
          {
      if  (test_not_number(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }


   if  (criteris[i][j]=="is_email")
          {
      if  (email_checker(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }

   if  (criteris[i][j]=="is_zip")
          {
      if  (test_zip(the_form.elements[elements_name[i]].value))
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }


   if  (criteris[i][j]=="is_not_empty")
          {
      if  (the_form.elements[elements_name[i]].value=='')
               {allright =  false;
                document.getElementById(elements_name[i]+"_id").style.visibility="visible";
                break;}
      else
               {document.getElementById(elements_name[i]+"_id").style.visibility="hidden"; }
          }

	if  (criteris[i][j]=="is_american_phone") {
		if (document.free_estimate_form.country_from.value=="222") {
			if  ((test_number(the_form.p_phone1.value)) ||  (test_number(the_form.p_phone2.value)) || (test_number(the_form.p_phone3.value))
			|| the_form.p_phone1.value.length != 3 || the_form.p_phone2.value.length != 3 || the_form.p_phone3.value.length != 4) {
				allright = 0;
				document.getElementById("p_phone_id").style.visibility="visible";
			}
			else {
				document.getElementById("p_phone_id").style.visibility="hidden";
			}
		}
		else {
			if  ((test_number(the_form.p_phone.value)) || the_form.p_phone.value.length == 0) {
				allright = 0;
				document.getElementById("p_phone_id").style.visibility="visible";
			}
			else {
				document.getElementById("p_phone_id").style.visibility="hidden";
			}
		}
	}

	if  (criteris[i][j]=="is_date") {
		if  ((the_form.move_date.value=="") ||  (the_form.move_month.value=="") || (the_form.move_year.value=="")) {
			allright = 0;
			document.getElementById("move_date_id").style.visibility="visible";
		}
		else {
			document.getElementById("move_date_id").style.visibility="hidden";
		}
	}

     }
     }


   return allright;

}

function  form_processor() {
	started = 1;
	if (test_function()) {
		if(the_form.country_from.value=="222") {
		    the_form.action = "/estimates/short_send_from_usa.php";
		}
		else {
		    the_form.action = "/estimates/short_send.php";
		}
		document.free_estimate_form.submit();
		return true;
	}
	else {
		document.getElementById("form_correct_id").style.visibility="visible";
		return false;
	}
}


function form_checker_usa() {
	if(document.free_estimate_form.country_from.value=="222") {
		document.getElementById("sff").style.visibility = "visible";
		if(document.free_estimate_form.state_from.value==" ") {
		   document.free_estimate_form.state_from.selectedIndex=0;			
		}
		document.free_estimate_form.state_from.disabled=false;
		document.getElementById("phone_america").style.display="block";	
		document.getElementById("phone_world").style.display="none";	
	}
	else {
		document.free_estimate_form.state_from.selectedIndex=54;
		document.getElementById("sff").style.visibility = "hidden";
		document.free_estimate_form.state_from.disabled=true;
		document.getElementById("phone_america").style.display="none";	
		document.getElementById("phone_world").style.display="block";	
	}

	form_checker();
}

function form_checker() {
	if (started == 1)
	{
		if (test_function())
		document.getElementById("form_correct_id").style.visibility="hidden";
	}
}

function limit_it(x, lim) {
val=x.value;
	if (val.length>=lim) {
		val=val.substring(0,lim);
		if(x==document.forms['free_estimate_form'].p_phone1) {
		    document.forms['free_estimate_form'].p_phone2.focus();
		}
		if(x==document.free_estimate_form.p_phone2) {
		    document.free_estimate_form.p_phone3.focus();
		}
	}
x.value=val;
}

