
/**********************Basic Ajax Script*************************************/
function ajax(functName, displayId, params){
	var ajaxRequest;  // The variable that makes Ajax possible!

	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Unsupported Browser: No Ajax Object.");
				return false;
			}
		}
	}
	//Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = 
		function(){
			if(ajaxRequest.readyState == 4)
			{
				//Get the data from the server's response
				result = ajaxRequest.responseText;
				response = result.split("#");
				lines = response[1].split("^");
				
				if(lines[0] == "Invalid Cardnumber:"){
					disableFields();
				}else{
					enableFields();
				}
						
				document.getElementById(response[0]).innerHTML = "";
				for(j=0;j<lines.length;j++)
				{
					document.getElementById(response[0]).innerHTML+=lines[j]+"</br>";					
				}								
			}
		}
	var queryString = "?action=" + arguments[0];
	for(i=1; i<arguments.length; i++)
	{
		queryString += "&arg" + i + "=" + arguments[i];			
	}
	queryString = "registerController.php" + queryString;
	
	ajaxRequest.open("GET", queryString, true);
	ajaxRequest.send(null);
}
function enableFields()
{
		document.getElementById("firstName").disabled = false;
		document.getElementById("lastName").disabled = false;
		document.getElementById("address").disabled = false;
		document.getElementById("city").disabled = false;
		document.getElementById("zip").disabled = false;
		document.getElementById("vipEmail").disabled = false;
		document.getElementById("vipPhone").disabled = false;
		document.getElementById("cellPhone").disabled = false;
		document.getElementById("vin").disabled = false;				
		document.getElementById("insurCo").disabled = false;	
		document.getElementById("sourceName").disabled = false;	
		return;	
}
function disableFields()
{
		document.getElementById("firstName").disabled = true;
		document.getElementById("lastName").disabled = true;
		document.getElementById("address").disabled = true;
		document.getElementById("city").disabled = true;
		document.getElementById("zip").disabled = true;
		document.getElementById("vipEmail").disabled = true;
		document.getElementById("vipPhone").disabled = true;
		document.getElementById("cellPhone").disabled = true;
		document.getElementById("vin").disabled = true;				
		document.getElementById("insurCo").disabled = true;	
		document.getElementById("sourceName").disabled = true;	
		document.getElementById("cardNumberResult").innerHTML="";
		document.getElementById("cardNumberResult").style.border="0px";
		return;		
}
function getShop(cardNumber)
{
	if (cardNumber.length < 9)
	{
		disableFields();
	}else{
		ajax("checkCardNumber", "cardNumberResult", cardNumber);
	}
}
/*****************************End Basic Ajax Script***************************/

/*****************************Check All***************************************/
function checkAll(field)
{
	if(field.checked == true)
	{
		document.getElementById('optVoice').checked = true;
		document.getElementById('optText').checked = true;
		document.getElementById('optEmail').checked = true;
		
	}	
	else{
		document.getElementById('optVoice').checked = false;
		document.getElementById('optText').checked = false;
		document.getElementById('optEmail').checked = false;
	}
}
/******************************End Check All*********************************/

/******************************addInput**************************************/

var counter = 0;

function addInput(divId){ 
	counter++;        
	var newdiv = document.createElement('div');
	var text = "Vehicle VIN" + " <br><input type='text' size='23' name='vins[]' id='vin" + counter + "'>";
	newdiv.innerHTML = text;
	document.getElementById(divId).appendChild(newdiv);
	    
}
function removeInput(){
	deadDiv = document.getElementById('vin' + counter);
	if(deadDiv){
		deadDiv.parentNode.innerHTML = "";
		deadDiv.style.display = "none";
		counter--;
	}
}

/****************************endaddInput****************************************/

/************
 * Form Validation Script
 * 
 * 
 */
 
 function notEmpty(){
	 var isValid = true;	
	if(document.forms["regVipCard"]["firstName"].value == null || document.forms["regVipCard"]["firstName"].value == "")
	{ 
		document.getElementById("firstNameError").innerHTML = "Required Field";				
		isValid=false;
	}
	if(document.forms["regVipCard"]["lastName"].value == null || document.forms["regVipCard"]["lastName"].value == "")
	{ 
		document.getElementById("lastNameError").innerHTML = "Required Field";				
		isValid=false;
	}
	if(document.forms["regVipCard"]["vipEmail"].value == null || document.forms["regVipCard"]["vipEmail"].value == "")
	{ 
		document.getElementById("vipEmailError").innerHTML = "Required Field";				
		isValid=false;
	}
	if(document.forms["regVipCard"]["vipPhone"].value == null || document.forms["regVipCard"]["vipPhone"].value == "")
	{ 
		document.getElementById("vipPhoneError").innerHTML = "Required Field";				
		isValid=false;
	}
	return isValid;
	
}

function isNumeric(elem){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		document.getElementById(elem.name + "Error").innerHTML = "";
		return true;
	}else{
		document.getElementById(elem.name + "Error").innerHTML = "Only letters are allowed";		
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == "Please Choose"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		document.getElementById(elem.name + "Error").innerHTML = "";
		return true;
	}else{
		document.getElementById(elem.name + "Error").innerHTML = "Invalid Email";
		elem.focus();
		return false;
	}
}
function phoneNumberValidator(elem)
{
	var phoneExp = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;  
	if(elem.value.match(phoneExp)){
		document.getElementById(elem.name + "Error").innerHTML = "";
		return true;
	}else{
		document.getElementById(elem.name + "Error").innerHTML = "Invalid Phone Number";
		elem.focus();
		return false;
	}
}








