﻿
function onload() {
    setDate();
}

function window_onload() {
    setDate();
}


function startup() {
	
	var f = document.mainform;
	try {
		f.refer.value = document.referrer;
	} catch (_e) {
		try {
			f.refer.value = parent.document.referrer;
		} catch(_e) {
			f.refer.value = 'unknown_ref';
		}			
	}
	if (f.refer.value == '')
			f.refer.value = 'unknown_ref';
}

function IsNumeric(sText)
	{
	   var ValidChars = "0123456789";
	   var IsNumber=false;
	   var Char;
	
	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
	      { 
	      Char = sText.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1) 
	         {
	         IsNumber = true;
	         }
	      }
	   return IsNumber;
	   
	   }
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function submit_quote()
{
	var ok = true
	
	document.getElementById('movetype').style.color= "green"
	document.getElementById('date').style.color = "green"
	document.getElementById('zip').style.color= "green"
	document.getElementById('size').style.color = "green"
	document.getElementById('city').style.color= "green"
	document.getElementById('state').style.color = "green"
	document.getElementById('firstname').style.color= "green"
	document.getElementById('lastname').style.color = "green"
	document.getElementById('email').style.color= "green"
	document.getElementById('homephone').style.color= "green"
	document.getElementById('workphone').style.color = "green"
	document.getElementById('besttimetocall').style.color = "green"
	
	
	if ( document.mainform.m_zip.value == "" || document.mainform.m_zip.value.length != 5 || IsNumeric(document.mainform.m_zip.value))
	{
		document.getElementById('zip').style.color = "red"
		
		ok = false;
	}
	if ( document.mainform.m_size.value == "" )
	{
		document.getElementById('size').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_state.value == "" )
	{
		document.getElementById('state').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_city.value == "" )
	{
		document.getElementById('city').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_firstname.value == "" )
	{
		document.getElementById('firstname').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_lastname.value == "" )
	{
		document.getElementById('lastname').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_homephone.value == "" || checkInternationalPhone(document.mainform.m_homephone.value) == false )
	{
		document.getElementById('homephone').style.color = "red"
		ok = false;
	}
	if ( document.mainform.m_email.value == "" || !echeck(document.mainform.m_email.value) )
	{
		document.getElementById('email').style.color = "red"
		ok = false;
	}

	if ( ok == true )
		document.mainform.submit()
	
}
function opent_terms()
{
	window.open ("terms.html", "mywindow","status=0,scrollbars=1, width=795");
}


function setDate()
{
  var today=new Date();
  today.setDate(today.getDate()+2);

  document.mainform.m_month.selectedIndex = today.getMonth();   
  document.mainform.m_day.selectedIndex = today.getDate(); 
  document.mainform.m_year.selectedIndex = today.getFullYear() - 2010;
}

/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
