	var Application = {
	myCon:   		false,
	control:		false,
	body:    		false,
	loader:  		false,
	target: 		false,
	content:		false,
	pageURL:		false,
	params: 		false,
	myFuncWhenDone: false,
	
	//SubmitForm: function(valReference, valFirstname, valLastname, valCompany, valAddress, valZip, valCity, valCountry, valPort, valDealerNo, valComRegNo, valBusiness, valOPhone, valHPone, valMPhone, valAltPhone, valFax, valEmail, valSkypeID, valWhatLookingFor, valWhatMake, valWhatModel, valWhatYear, valTextInfo, valPassword, valIDWebsite, valMFormat, valATAnouncement, valATPromo) {
	SubmitForm: function(valReference, valFirstname, valLastname, valCompany, valAddress, valZip, valCity, valCountry, valPort, valDealerNo, valComRegNo, valBusiness, valOPhone, valHPone, valMPhone, valAltPhone, valFax, valEmail, valSkypeID, valWhatLookingFor, valWhatMake, valWhatModel, valWhatYear, valTextInfo, valPassword, valIDWebsite, valAgree, valATAnouncement, valATPromo) {
		//alert(valReference + '\n' + valFirstname + '\n' + valLastname + '\n' + valCompany + '\n' + valAddress + '\n' + valZip + '\n' + valCity + '\n' + valCountry + '\n' + valPort + '\n' + valDealerNo + '\n' + valComRegNo + '\n' + valBusiness + '\n' + valOPhone + '\n' + valHPone + '\n' + valMPhone + '\n' + valAltPhone + '\n' + valFax + '\n' + valEmail + '\n' + valSkypeID + '\n' + valWhatLookingFor + '\n' + valWhatMake + '\n' + valWhatModel + '\n' + valWhatYear + '\n' + valTextInfo + '\n' + valPassword + '\n' + valIDWebsite + '\n' + valMFormat + '\n' + valATAnouncement + '\n' + valATPromo);
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById('ApplicationFormBody');
		Application.params = "action=Save&IDWebsite=" + valIDWebsite;
		Application.params += "&Reference=" + valReference;
		Application.params += "&firstname=" + valFirstname;
		Application.params += "&lastname=" + valLastname;
		Application.params += "&company=" + valCompany;
		Application.params += "&address=" + valAddress;
		Application.params += "&zip=" + valZip;
		Application.params += "&city=" + valCity;
		Application.params += "&dcountry=" + valCountry.replace('&','{{amp}}');
		Application.params += "&port=" + valPort;
		Application.params += "&dealerno=" + valDealerNo;
		Application.params += "&comregno=" + valComRegNo;
		Application.params += "&business=" + valBusiness;
		Application.params += "&ophone=" + valOPhone;
		Application.params += "&hphone=" + valHPone;
		Application.params += "&mphone=" + valMPhone;
		Application.params += "&altphone=" + valAltPhone;
		Application.params += "&fax=" + valFax;
		Application.params += "&email=" + valEmail;
		Application.params += "&skypeid=" + valSkypeID;
		Application.params += "&whatlookingfor=" + valWhatLookingFor;
		Application.params += "&whatmake=" + valWhatMake;
		Application.params += "&whatmodel=" + valWhatModel;
		Application.params += "&whatyear=" + valWhatYear;
		Application.params += "&textinfo=" + valTextInfo;
		Application.params += "&password=" + valPassword;
		Application.params += "&termsagree=" + valAgree;
		//Application.params += "&mFormat=" + valMFormat;
		Application.params += "&ATAnouncement=" + valATAnouncement;
		Application.params += "&ATPromo=" + valATPromo;
		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Saving');
		Application.myFuncWhenDone = function(xmlObj) {
			var strForm
			Application.killPageLoader();
			strForm = xmlObj.responseText;
			Application.target.innerHTML = strForm;
			dhtmlHistory.add('view:submit', {message: strForm});
			
			// google tracking - gerb//01-30-2007
			if (strForm.indexOf("granted") != -1) {
				document.getElementById('google_tracking').src = "http://www.autoterminal.com/google_track.html";				
				document.getElementById('google_signuptracking').src = "http://citwebdev011:8045/google_signuptracking.asp?region=atuk";								
			}
		}
		Application.retrieveContent();
	},
	
	ValidateForm: function(valHistory, formName, varTarget) {
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById(varTarget);
		Application.control = document.forms[formName];
		if ( valHistory == 'new') {
			Application.params = "IDWebsite=" + Application.control["IDWebSite"].value;
			Application.params += "&firstname=" + Application.control["firstname"].value;
			Application.params += "&lastname=" + Application.control["lastname"].value;
			Application.params += "&company=" + Application.control["company"].value;
			Application.params += "&address=" + Application.control["address"].value;
			Application.params += "&city=" + Application.control["city"].value;
			Application.params += "&dcountry=" + Application.control["dcountry"].value.replace('&','{{amp}}');
			Application.params += "&port=" + Application.control["port"].value;
			Application.params += "&termsagree=" + Application.control["termsagree"].value;
			//Application.params += "&comregno=" + Application.control["comregno"].value;
			Application.params += "&comregno=0";
			Application.params += "&ophone=" + Application.control["ophone"].value;
			Application.params += "&email=" + Application.control["email"].value;
			Application.params += "&password=" + Application.control["password"].value;
			if (formName == 'regForm'){
				Application.params += "&Reference=" + Application.control["Reference"].value;
				Application.params += "&zip=" + Application.control["zip"].value;
				/* To be deleted
				//Application.params += "&business=" + Application.control["business"].value;
				*/
				Application.params += "&hphone=" + Application.control["hphone"].value;
				/* To be deleted
				//Application.params += "&mphone=" + Application.control["mphone"].value;
				//Application.params += "&altphone=" + Application.control["altphone"].value;
				//Application.params += "&fax=" + Application.control["fax"].value;
				//Application.params += "&skypeid=" + Application.control["skypeid"].value;
				*/
				Application.params += "&whatlookingfor=" + Application.control["whatlookingfor"].value;
				Application.params += "&whatmake=" + Application.control["whatmake"].value;
				Application.params += "&whatmodel=" + Application.control["whatmodel"].value;
				Application.params += "&whatyear=" + Application.control["whatyear"].value;
				//Application.params += "&textinfo=" + Application.control["textinfo"].value;
				//if (Application.control["mFormat"][0].checked) Application.params += "&mFormat=" + Application.control["mFormat"][0].value;
				//else Application.params += "&mFormat=" + Application.control["mFormat"][1].value;
				if (Application.control["ATAnouncement"][0].checked) Application.params += "&ATAnouncement=" + Application.control["ATAnouncement"][0].value;
				else Application.params += "&ATAnouncement=" + Application.control["ATAnouncement"][1].value;
				if (Application.control["ATPromo"][0].checked) Application.params += "&ATPromo=" + Application.control["ATPromo"][0].value;
				else Application.params += "&ATPromo=" + Application.control["ATPromo"][1].value;
				Application.params += "&action=Validate";
				dhtmlHistory.add('view:validate', {message: Application.params});
			}else{
				Application.params += "&action=Save&from=landing";	
			}
		}

		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Validating');
		Application.myFuncWhenDone = function(xmlObj) {
			Application.killPageLoader();
			if (formName == 'regForm'){
					try{
						Application.target.innerHTML = xmlObj.responseText;
						var myframeid = document.getElementById("myframe");
						var msgboard= document.getElementById("messageBoard");	
						document.getElementById("promptheader").style.display="block";
						//alert(document.getElementById("messageBoard").offsetHeight);		
						
						if (navigator.product == "Gecko") {
							//for mozilla
							var divheight,divwidth;
							divheight=document.getElementById("messageBoard").offsetHeight-25;
							divwidth=document.getElementById("messageBoard").offsetWidth-25;
							myframeid.height=divheight + "px";
							myframeid.width=divwidth + "px";	
						}else{
							//for ie
							myframeid.height=document.getElementById("messageBoard").offsetHeight + "px";
							myframeid.width=document.getElementById("messageBoard").offsetWidth + "px";					
						}
					}catch(e){
					
					}
			}else{
				switch(xmlObj.responseText)
				{
				case 'landing_success':
					Tracking.insertTrackData('','Success Application');
					valid = Application.control["valid"].value;
					document.getElementById('google_tracking').src = "http://www.autoterminal.com/google_track.html";				
					document.getElementById('google_signuptracking').src = "http://www.autoterminal.com/google_signuptracking.asp?region=atuk";								
					window.location = 'application_form.asp?from=landing&valid=' + valid + '#view:success';
					break;    
				default: 
					Application.openErrorMessage(varTarget,xmlObj.responseText);
					break;
				}
			}
		}
		Application.retrieveContent();
	},
	
	openErrorMessage: function(varTarget, varContent) {
		Application.content = document.getElementById('messagecontent');
		Application.target = document.getElementById(varTarget);
		if(lightbox.isMozilla) {
			Application.target.style.top = (lightbox.getWindowSize('height')/2);
			Application.target.style.left = (lightbox.getWindowSize('width')/2) - 50;
		} else {
			Application.target.style.top = (lightbox.getWindowSize('height')/2) - 300;
			Application.target.style.left = (lightbox.getWindowSize('width')/2) - 50;
		}			
		Application.content.innerHTML = varContent;
		lightbox.show();
		Application.target.style.visibility = 'visible';	
	},
	
	closeErrorMessage: function(varTarget) {
		lightbox.hide()
		Application.target.style.visibility = 'hidden';
	},
	
	//changeDetailsForm: function(valHistory, valReference, valFirstname, valLastname, valCompany, valAddress, valZip, valCity, valCountry, valPort, valDealerNo, valComRegNo, valBusiness, valOPhone, valHPone, valMPhone, valAltPhone, valFax, valEmail, valSkypeID, valWhatLookingFor, valWhatMake, valWhatModel, valWhatYear, valTextInfo, valPassword, valIDWebsite, valMFormat, valATAnouncement, valATPromo) {
	changeDetailsForm: function(valHistory, valReference, valFirstname, valLastname, valCompany, valAddress, valZip, valCity, valCountry, valPort, valDealerNo, valComRegNo, valBusiness, valOPhone, valHPone, valMPhone, valAltPhone, valFax, valEmail, valSkypeID, valWhatLookingFor, valWhatMake, valWhatModel, valWhatYear, valTextInfo, valPassword, valIDWebsite, valAgree, valATAnouncement, valATPromo) {
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById('ApplicationFormBody');
		if ( valHistory == 'new') {
			Application.params = "action=Reset&IDWebsite=" + valIDWebsite;
			Application.params += "&Reference=" + valReference;
			Application.params += "&firstname=" + valFirstname;
			Application.params += "&lastname=" + valLastname;
			Application.params += "&company=" + valCompany;
			Application.params += "&address=" + valAddress;
			Application.params += "&zip=" + valZip;
			Application.params += "&city=" + valCity;
			Application.params += "&dcountry=" + valCountry.replace('&','{{amp}}');
			Application.params += "&port=" + valPort;
			Application.params += "&dealerno=" + valDealerNo;
			Application.params += "&comregno=" + valComRegNo;
			Application.params += "&business=" + valBusiness;
			Application.params += "&ophone=" + valOPhone;
			Application.params += "&hphone=" + valHPone;
			Application.params += "&mphone=" + valMPhone;
			Application.params += "&altphone=" + valAltPhone;
			Application.params += "&fax=" + valFax;
			Application.params += "&email=" + valEmail;
			Application.params += "&skypeid=" + valSkypeID;
			Application.params += "&whatlookingfor=" + valWhatLookingFor;
			Application.params += "&whatmake=" + valWhatMake;
			Application.params += "&whatmodel=" + valWhatModel;
			Application.params += "&whatyear=" + valWhatYear;
			Application.params += "&textinfo=" + valTextInfo;
			Application.params += "&password=" + valPassword; 
			//Application.params += "&mFormat=" + valMFormat;
			Application.params += "&ATAnouncement=" + valATAnouncement;
			Application.params += "&ATPromo=" + valATPromo;
			dhtmlHistory.add('view:change', {message: Application.params});
		}
		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Loading');
		Application.myFuncWhenDone = function(xmlObj) {
			Application.killPageLoader();
			Application.target.innerHTML = xmlObj.responseText;
		}
		Application.retrieveContent();
	},
	
	newForm: function(valAction) {
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById('ApplicationFormBody');
		if (valAction == 'history') {
			Application.params = "action=getEmpty";
			dhtmlHistory.add('view:form', {message: Application.params});
		}else {
			Application.params = "action=" + valAction;
		}
		
		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Loading');
		Application.myFuncWhenDone = function(xmlObj) {
			Application.killPageLoader();
			Application.target.innerHTML = xmlObj.responseText;
		}
		Application.retrieveContent();
	},
		
	getNewCityandPortList: function(valCountry, valCity) {
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById('conCity');
		Application.params = "country=" + valCountry.replace('&', '{{amp}}') + "&action=GetCityList"
		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Populating');
		Application.myFuncWhenDone = function(xmlObj) {
			Application.killPageLoader();
			//alert(xmlObj.responseText);
			Application.target.innerHTML = xmlObj.responseText;
			Application.getNewPortList(valCountry, valCity);
		}
		Application.retrieveContent();
	},
	
	getNewPortList: function(valCountry, valCity) {
		Application.myCon = new AjaxDell();
		if(!Application.myCon) return;
		Application.target = document.getElementById('conPort');
		Application.params = "country=" + valCountry.replace('&', '{{amp}}') + "&city=" + valCity + "&action=GetPortList"
		Application.pageURL = "application_newcustomer_action.asp";
		Application.buildPageLoader('Populating');
		Application.myFuncWhenDone = function(xmlObj) {
			Application.killPageLoader();
			Application.target.innerHTML = xmlObj.responseText;
			checkCountry(valCountry);
		}
		Application.retrieveContent();
	},
	
	termUpdater: function() {
		if(document.getElementById("termsagree").checked == false){
			document.getElementById("termsagree").value="off";
		}else{
			document.getElementById("termsagree").value="on";
		}
	},

	retrieveContent: function() {
		Application.myCon.connect(Application.pageURL, "Get", Application.params, Application.myFuncWhenDone);
	},
	
	retrieveTContent: function() {
		window.location = Application.pageURL + '?' + Application.params;
	},
	
	buildPageLoader: function(valMessage){
	    Application.loader = document.getElementById('pageLoader');
		Application.loader.style.visibility	= 'visible';
		document.getElementById('LoaderMsg').innerHTML = valMessage + '...'
 	},
	
	killPageLoader: function() {
		Application.loader.style.visibility	= 'hidden';
	},
	CheckStrApostrophe: function(e){	
		 
		var key;
		var keychar;

		if (window.event){
		key = window.event.keyCode;
		}
		else if (e){
			key = e.which;
		}
		else{
			return true;
		}

		keychar = String.fromCharCode(key);	  	
		 
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
			return true; // control keys
			
		}
		else if ((key == 34) || key == 39)	return false; //[34 - " (single quote)] [39 - '(apostrophe)]	
		else{
			return true;
		}
		 
	},
	
	isNumericKeyStroke: function(e){		
		var keychar;
	    var e = e || window.event;
	    var key = e.which || e.keyCode;	   
		keychar = String.fromCharCode(key);		 
	
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
			return true; // control keys
		}
		else if (("-()0123456789").indexOf(keychar) >= 0){			
			return true; // numbers
		}
		else{
			
			return false;
		}
	
	}
};
