// JavaScript for Align Car Carrying

// Functions generated with Fireworks/Dreamweaver

function MM_swapImgRestore() { 
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { 
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Javascript to validate email address

function chkemail(email)
{
	var emsg="OK"
	var at="@"
	var dot="."
	var lat=email.lastIndexOf(at)              // Position of @ sign in Email address
	var lstr=email.length                      // Length of Email address
	var ldot=email.indexOf(dot)                // Position of First Dot
	
	if (email == "")
		{emsg = "Email Id missing, please enter"
		return emsg
		}
	
	if (lat==-1){
	   emsg = "Email Id missing @ sign"
	   return emsg
	   }
	   
	if (lat == lstr-1){
		emsg = "Email Id can't end with @ sign"
	    return emsg
	   }
	if (email.split("@").length-1 > 1)
		{emsg = "Too many @ signs in Email Id"
 		 return emsg}
	   
	local = email.substring(0, lat)
	domain = email.substring(lat+1, lstr)
		
	var llocal=local.length                      // Length of Local Part of Email address
	var ldomain=domain.length

	if (llocal==0){
	   emsg = "Email Id must have something before @ sign"
	   return emsg
	   }
	   
	if (ldomain < 5) {   
	   emsg = "The Email Id after the @ sign is too short"
	   return emsg
	   }
	   
	if (ldomain > 67) {   
	   emsg = "The Email Id after the @ sign is too long"
	   return emsg
	   }   
// Top Level Domains

var tld = new Array(                               
".com",".net",".org",".biz",".coop",".info",".museum",".name",".pro",".edu",".gov",".int",".mil",
".aero","cat","jobs","mobi","travel",
".ac",".ad",".ae",".af",".ag",".ai",".al",".am",".an",".ao",".aq",".ar",".as",".at",".au",".aw",
".az",".ba",".bb",".bd",".be",".bf",".bg",".bh",".bi",".bj",".bm",".bn",".bo",".br",".bs",".bt",
".bv",".bw",".by",".bz",".ca",".cc",".cd",".cf",".cg",".ch",".ci",".ck",".cl",".cm",".cn",".co",
".cr",".cu",".cv",".cx",".cy",".cz",".de",".dj",".dk",".dm",".do",".dz",".ec",".ee",".eg",".eh",
".er",".es",".et",".eu",".fi",".fj",".fk",".fm",".fo",".fr",".ga",".gb",".gd",".ge",".gf",".gg",
".gh",".gi",".gl",".gm",".gn",".gp",".gq",".gr",".gs",".gt",".gu",".gv",".gy",".hk",".hm",".hn",
".hr",".ht",".hu",".id",".ie",".il",".im",".in",".io",".iq",".ir",".is",".it",".je",".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",".mk",".ml",".mm",".mn",
".mo",".mp",".mq",".mr",".ms",".mt",".mu",".mv",".mw",".mx",".my",".mz",".na",".nc",".ne",".nf",
".ng",".ni",".nl",".no",".np",".nr",".nu",".nz",".om",".pa",".pe",".pf",".pg",".ph",".pk",".pl",
".pm",".pn",".pr",".ps",".pt",".pw",".py",".qa",".re",".ro",".rw",".ru",".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",".tl",".tm",".tn",".to",".tp",".tr",".tt",".tv",".tw",
".tz",".ua",".ug",".uk",".um",".us",".uy",".uz",".va",".vc",".ve",".vg",".vi",".vn",".vu",".ws",
".wf",".ye",".yt",".yu",".za",".zm",".zw")

var audom = new Array(
".com",".org",".gov",".edu",".net",".co",".name",".info", ".biz")

var val = true

var lastdot = domain.lastIndexOf(".")
var rest = domain.substring(0,lastdot)
var dn1 = domain.substring(lastdot,domain.length)


//
//    *** Test if the Top Level Domain is OK ***
//


for(var i=0; i<tld.length; i++)
	{
	  if(dn1 == tld[i])
	  {
	 	val = true;
		break;
	  }	
	  else
	  {
	 	val = false;
	  }
	}
	if(val == false)
	{
	  	 emsg = "The last part of your Email Id "+dn1+" is not correct"
		 return emsg;
	}

nextrest = rest
lastdot = nextrest.lastIndexOf(".")
rest = nextrest.substring(0,lastdot)
dn2 = nextrest.substring(lastdot,nextrest.length)


//if(chkdom(dn2) != "OK")
//   {emsg = chkdom(dn2)
//   return emsg}

val = true;
if (dn1 == ".au")
    {
	 for(var i=0; i<audom.length; i++)
		{
	  	if(dn2 == audom[i])
	  	  {
	 		val = true;
			break;
	  	  }	
	    else
	      {
	 	    val = false;
	      }
	    }
	    if(val == false)
	       {
	  	    emsg = "The 2nd last part of your Email Id "+dn2+" is not correct"
		    return emsg;
	       }
	}


while (rest.length > 0)

    {
	nextrest = rest
	lastdot = nextrest.lastIndexOf(".")
	rest = nextrest.substring(0,lastdot)
	dnx = nextrest.substring(lastdot,nextrest.length)

//	if(chkdom2(dnx) == "OK")
//   		{return emsg
//		 break;}
		 
	}
	
return emsg

}

function chkdom2(dompart)
{

msg = "OK"

if (dompart.charAt(0) == ".")
    {
	if (dompart.length < 3)
   		{ 
    	msg = "The domain "+dompart+" in your Email Id is too short"
		return msg
   		}
   }
else
   { 
   if (dompart.length < 2)
   		{ 
    	msg = "The domain "+dompart+" in your Email Id is too short"
		return msg
   		}
   }
			 
for(var j=0; j<dompart.length; j++)
		{
		  dh = dompart.charAt(j);
		  hh = dh.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dompart.length-1) && hh == 45)	
		  	 {
		 	  	 msg = "The domain "+dompart+" in your Email Id should not start/end with a '-'"
				 return msg
		 	 }
		  }
		else
			{
		  	 msg = "The domain "+dompart+" in your Email Id should not have special characters except periods and hyphens"
			 return msg
		  	}
		}	
		
	return msg
	
}

// JavaScript to Validate the Contact Us Form

function chkit1(tff)
{
	if (tff.tff1.value == "")
		{alert("Name missing, please enter")
		tff.tff1.focus()
		return false
		}

	if (tff.tff4.value == "")
	   {alert("Email missing, please enter")
	    tff.tff4.focus()
		return false
		}
		
	if (chkemail(tff.tff4.value) != "OK")
		{alert(chkemail(tff.tff4.value))
		tff.tff4.focus()
		return false
		}
		
	if (tff.tff5.value.length < 10)
	   {alert("Request missing or too short, please enter")
	    tff.tff5.focus()
		return false
		}
}

// JavaScript to Validate the Quote Form

function chkit2(qff)
{
	if (qff.qff1.value == "")
	   {alert("Name missing, please enter")
	    qff.qff1.focus()
		return false
		}
	if (qff.qff2.value == "")
	   {alert("Email missing, please enter")
	    qff.qff2.focus()
		return false
		}
	if (chkemail(qff.qff2.value) != "OK")
		{alert(chkemail(qff.qff2.value))
		qff.qff2.focus()
		return false
		}
	
	if (qff.radhow[1].checked)
		{
		if (qff.qff3.value == "")
	   		{alert("Please provide Phone Number if you want us to phone you")
	    	qff.qff3.focus()
			return false
			}
		}
	if (qff.radhow[2].checked)
		{
		if (qff.qff4.value == "")
	   		{alert("Please provide Mobile Phone Number if you want us to phone you")
	    	qff.qff4.focus()
			return false
			}
		}		
			
	if (qff.radhow[3].checked)
		{
		if (qff.qff5.value == "")
	   		{alert("Please provide Fax Number if you want us to Fax you")
	    	qff.qff4.focus()
			return false
			}
		}	
			
			


		
	if (qff.qff6.value == "0")
	   {alert("Make missing, please enter")
	    qff.qff6.focus()
		return false
		}
	if (qff.qff8.value == "")
	   {alert("Model missing, please enter")
	    qff.qff8.focus()
		return false
		}
	if (qff.qff9.value == "Year?")
	   {alert("Year missing, please enter")
	    qff.qff9.focus()
		return false
		}
	if (qff.qff10.value == "0")
	   {alert("Type missing, please enter")
	    qff.qff10.focus()
		return false
		}
	if (qff.qff12.value == "")
	   {alert("From Suburb missing, please enter")
	    qff.qff12.focus()
		return false
		}
	if (qff.qff13.value == "")
	   {alert("Destination Suburb missing, please enter")
	    qff.qff13.focus()
		return false
		}
	if (qff.qff14.value == "0")
	   {alert("From State missing, please enter")
	    qff.qff14.focus()
		return false
		}
	if (qff.qff15.value == "0")
	   {alert("To State missing, please enter")
	    qff.qff15.focus()
		return false
		}
	if (qff.qff18.value == "")
	   {alert("Pickup Date missing, please enter")
	    qff.qff18.focus()
		return false
		}
	if (qff.qff21.checked == false)
	   {alert("You must acknowlege that you have read and understood the Terms & Conditions to request a quote")
	    qff.qff21.focus()
		return false
	   }
	return true
}