var resultingText;

function updateMenus(action, year, make, model, body_s){

  switch(action){

  case "102":

  ID = document.getElementById('auto_m_1');

  break;

  case "103":

  ID = document.getElementById('auto_mo_1')

  break;

  case "104":

  ID = document.getElementById('auto_body')

  break;

  }

  if (typeof year == 'undefined' ) year = '';

  if (typeof make == 'undefined' ) make = '';

  if (typeof model == 'undefined' ) model = '';

  if (typeof body_s == 'undefined' ) body_s = '';

  

  var xmlHttp;

  try {

    // Firefox, Opera 8.0+, Safari

    xmlHttp=new XMLHttpRequest();

  } catch (e) {

    // Internet Explorer

    try {

    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e) {

      try {

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e) {

	    alert("Your browser does not support AJAX!");

		return false;

      }

    }

  }

  xmlHttp.onreadystatechange=function(){

    if(xmlHttp.readyState==4){

	  changeMenus(xmlHttp.responseText, ID);

    }

  }

  if ((action!=0)){

	  var URL = "/nags_data.php?action=" + action + "&year=" + year + "&make=" + make + "&model=" + model + "&body_s=" + body_s;

  }

  xmlHttp.open("GET", URL ,true);

  xmlHttp.send(null); 

}

function changeMenus(CS, ID){

  var optionArray = CS.split(",");

  ID.options.length=0;

  ID.options[ID.options.length]= new Option('Select One','');

  for (i=0; i<optionArray.length-1; i++){
	var tempValue = optionArray[i].replace("&amp;", "&");
	var tempValue2 = optionArray[i].replace("&amp;", "amp;");
	ID.options[ID.options.length]= new Option(tempValue, tempValue2);
  }  

}

function IsValidPhoneValue(phoneValue, format) {

  var num = phoneValue.replace(/[^\d]/g,'');

  if(num.length != 10) {

    return false;

   } else {

     switch(format) {

	  case '0': //Format (xxx) xxx-xxxx

	    phoneValue = "(" + num.substring(0,3) + ") " +

		num.substring(3, 6) + "-" + num.substring(6);

		break;



        case '1': //Format xxx-xxx-xxxx

		  phoneValue = num.substring(0,3) + "-" +

		  num.substring(3, 6) + "-" + num.substring(6);

		  break;



        default: //Format xxxxxxxxxx

		  phoneValue = num;

		  break;

    }

	return true;

  }

}

function formatPhoneValue(phoneValue, format) {

  var num = phoneValue.replace(/[^\d]/g,'');

  if(num.length != 10) {
    return false;
   } else {

     switch(format) {
	  case 0: //Format (xxx) xxx-xxxx
	    phoneValue = "(" + num.substring(0,3) + ") " +
		num.substring(3, 6) + "-" + num.substring(6);
		return phoneValue;
      case 1: //Format xxx-xxx-xxxx
		  phoneValue = num.substring(0,3) + "-" +
		  num.substring(3, 6) + "-" + num.substring(6);
		  return phoneValue;
        default: //Format xxxxxxxxxx
		  phoneValue = num;
		  return phoneValue;
	}

  }

}


function IsValidPhone(phoneField, format) {

  var num = phoneField.value.replace(/[^\d]/g,'');

  if(num.length != 10) {

    return false;

   } else {

     switch(format) {

	  case 0: //Format (xxx)-xxx-xxxx

	    phoneField.value = "(" + num.substring(0,3) + ") " +

		num.substring(3, 6) + "-" + num.substring(6);

		break;



        case 1: //Format xxx-xxx-xxxx

		  phoneField.value = num.substring(0,3) + "-" +

		  num.substring(3, 6) + "-" + num.substring(6);

		  break;



        default: //Format xxxxxxxxxx

		  phoneField.value = num;

		  break;

    }

	return true;

  }

}


function isChecked(radioObj) {
	if(!radioObj)
		return false;
	var radioLength = radioObj.length;
	if(radioLength == undefined)
	{
		if(radioObj.checked) { return true; }
		else { return false; }
	}
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return true;
		}
	}
	return false;
}

function isSelected(selObj) {
	if(!selObj)
		return false;
	var selLength = selObj.length;
	if(selLength == undefined)
	{
		if(selObj.checked) { return true; }
		else { return false; }
	}
	for(var i = 0; i < selLength; i++) {
		if(selObj[i].selected && selObj[i].value != '') {
			return true;
		}
	}
	return false;
}

function getChecked(radioObj) {

	var radioLength = radioObj.length;
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value
		}
	}
	return false;
}



function validateZIP(field) {
	var valid = "0123456789-";
	var hyphencount = 0;
	
	if (field.length!=5 && field.length!=10) {
		return false;
	}
	for (var i=0; i < field.length; i++) {
	temp = "" + field.substring(i, i+1);
	if (temp == "-") hyphencount++;
	if (valid.indexOf(temp) == "-1") {
		return false;
	}
	if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
		return false;
	   }
	}
	return true;
}

function checkEmail(emailAddr) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddr.value)){
		return true;
	}
	return false;
}

function checkEmailValue(emailAddr) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddr)){
		return true;
	}
	return false;
}

function ValidateQuoteForm(form){

	var msg = '';

   if(document.getElementById('auto_y_1').value == ""){ 
	  msg = msg + 'Please select a Year\n';
   }

   if(document.getElementById('auto_m_1').value == ""){ 
	  msg = msg + 'Please select a Make\n';
   }
   if(document.getElementById('auto_mo_1').value == ""){ 
	  msg = msg + 'Please select a Model\n';
   }
   if(document.getElementById('auto_body').value == ""){ 
	  msg = msg + 'Please select a Body\n';
   }
   if(validateZIP(document.getElementById('zip').value) == false){ 
	  msg = msg + 'Please enter a valid Zipcode\n';
   }
   if(msg == '') return true;
   
   alert(msg);
   return false;

}

function ValidateGlassForm(form){

	var msg = '';

   if(isChecked(form.g_1) == false){ 
	  msg = msg + 'Please select a Glass Type\n';
   }
   if(document.getElementById('car_side').value == ""){ 
	  msg = msg + 'Please select a Driver Side\n';
   }  
   if(msg == '') return true;
   
   alert(msg);
   return false;
}


function ValidateStoreLocatorForm(form){

   var msg = '';

   if(validateZIP(document.getElementById('zipcode').value) == false){ 
	  msg = msg + 'Please enter a valid Zipcode\n';
   }
   if(msg == '') return true;
   
   alert(msg);
   return false;

}

function ValidateNewsletterForm(form){

   var msg = '';

   if(checkEmail(document.getElementById('email')) == false){ 
	  msg = msg + 'Please enter a valid Email Address\n';
   }
   if(validateZIP(document.getElementById('attribute1').value) == false){ 
	  msg = msg + 'Please enter a valid Zipcode\n';
   }
   if(msg == '')
   {
    alert('Thanks for subscribing to our newsletter. You will being receiving special promotions and coupons.');
    return true;
   }
   
   alert(msg);
   return false;
}

function ValidateEmailForm(form){

   var msg = '';

   if(checkEmail(document.getElementById('email')) == false){ 
	  msg = msg + 'Please enter a valid Email Address\n';
   }
   if(msg == '') {
   	  alert('You should be receiving an email. We will now take you to the schedule appointment page.');
   	  window.location="emailQuote.php?email=" + escape(document.getElementById('email').value);
   	  return false;
   }
     
   alert(msg);
   return false;
}

function ValidateWindshieldOptionsForm(form){

   var msg = '';

   if(isChecked(form.win_options) ==  false){ 
	  msg = msg + 'Please select a Windshield Option\n';
	  alert(msg);
   	  return false;
   }
   if(getChecked(form.win_options) !=  'no_options'){ 
	  document.getElementById('phone').value = 'true';
   }
   return true;
}

function ValidateInsuranceOptionsForm(form){

   var msg = '';
   var coupon = '';
   if(document.getElementById('coupon')) {
		coupon = document.getElementById('coupon').value;
   }

   if(isChecked(form.insurance_option) ==  false)
   { 
	  msg = msg + 'Please select an Insurance Option\n';
   }
   else
   {	
   		if(getChecked(form.insurance_option) == 'yes' && isSelected(form.insurance_company) == false){ 
	  		msg = msg + 'Please select an Insurance Company\n';
   		}
   		if(getChecked(form.insurance_option) == 'yes' && isChecked(form.deductible) == false){ 
	  		msg = msg + 'Please select a Deductible Option\n';
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'enter' && document.getElementById('amount').value == ""){ 
	  		msg = msg + 'Please enter a Deductible Amount\n';
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'enter' && isNaN(document.getElementById('amount').value) == true ){ 
	  		msg = msg + 'Please enter a valid deductible amount\n';
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'enter' && document.getElementById('amount').value < 0){ 
	  		msg = msg + 'Please enter a valid deductible amount\n';
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'enter' && document.getElementById('amount').value > 250){ 
	  		alert('The deductible amount you entered is greater than our cash price for this service. We will quote you the discounted cash price for this service.\n'); 
	  		window.location="quoteD.php";
	  		return false;
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'dont_know' ){ 
	  		window.location="quoteC.php?deductible=dont_know&phone=true&coupon=" + coupon;
	  		return false;
   		}
   		if(getChecked(form.insurance_option) == 'yes' && getChecked(form.deductible) == 'liability' ){ 
	  		window.location="quoteC.php?deductible=liability&phone=true&coupon=" + coupon;
	  		return false;
   		}   		
   }
   
   if(msg == '') return true;
   
   alert(msg);
   return false;
}

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function ValidatePhoneNumberForm(form){
	
   var coupon = '';
   if(document.getElementById('coupon')) {
		coupon = document.getElementById('coupon').value;
   }
   
   if(document.getElementById('phoneNumber'))
   {
	   if(document.getElementById('phoneNumber').value != '') {
		   if(IsValidPhone(document.getElementById('phoneNumber'), 1) == false) {
		   		alert('Please enter a valid 10 digit phone number.');
		   		return false;
		   }
	   }
	   
	   if(gup('deductible') == 'dont_know') {
	   		if(document.getElementById('phoneNumber').value == "") {
	   			window.location="quoteC.php?phone=false&deductible=dont_know&coupon=" + coupon;
	   			return false;
	   		}
	   		alert('You should expect a call from us shortly. You may proceed with your quote, but the base price will not reflect any insurance coverage until you speak with a representative.');
	   		window.location="phone_flag.php?phoneNumber=" + document.getElementById('phoneNumber').value;
	   		return false;
	   }
	   
	   if(gup('deductible') == 'liability') {
	   		if(document.getElementById('phoneNumber').value != "") {
	   			alert('You should expect a call from us shortly. You may proceed with your quote, but the base price will not reflect any option(s) until you speak with a representative.');
	   			window.location="phone_flag.php?phoneNumber=" + document.getElementById('phoneNumber').value;
		  		return false;
	   		} else {
	   			return true;
	   		}
	   }
	   
	   if(document.getElementById('partFound')) {
	   		if(IsValidPhone(document.getElementById('phoneNumber'), 1) == false || document.getElementById('phoneNumber').value == "") {
		   		alert('Please enter a valid 10 digit phone number.');
		   		return false;
		   	} else {
	   			alert('You should expect a call from us shortly.');
	   			window.location="phone_flag.php?partFound=false&phoneNumber=" + document.getElementById('phoneNumber').value;
	   			return false;
	   		}
	   }
	   
	   if(document.getElementById('phoneNumber').value == ""){ 
		  window.location="quoteC.php?phone=false&coupon=" + coupon;
		  return false;
	   }
	   
	   alert('You should expect a call from us shortly. You may proceed with your quote, but the base price will not reflect any option(s) until you speak with a representative.');
	   window.location="phone_flag.php?phoneNumber=" + document.getElementById('phoneNumber').value;
	   return false;
   }
   return true;
}

function ValidateTimeForm(form){

   var msg = '';
   
   if(isChecked(form.appointment_type) ==  false){ 
	  msg = msg + 'Please select an Appointment Type\n';
   }
   if(getChecked(form.appointment_type) == 'in_shop' && isSelected(form.storesList) ==  false){ 
	  msg = msg + 'Please select a Store\n';
   }
   if(getChecked(document.getElementsByName('timeSelect')) == false || getChecked(document.getElementsByName('timeSelect')) == '') {
	  msg = msg + 'Please select a Date & Time\n';
   }
   if(msg == '') return true;
   
   alert(msg);
   return false;
}


function ValidateTimeForm2(form){

   var msg = '';
   
   if(isChecked(form.appointment_type) ==  false){ 
	  msg = msg + 'Please select an Appointment Type\n';
   }
   if(getChecked(form.appointment_type) == 'in_shop' && isSelected(form.storesList) ==  false){ 
	  msg = msg + 'Please select a Store\n';
   }
   if(document.getElementById('timeSelect').value == '') {
	  msg = msg + 'Please select a Date & Time\n';
   }
   if(msg == '') return true;
   
   alert(msg);
   return false;
}


function ValidateConfirmMobileForm(form){

   var msg = '';
   var header = 'To ensure proper scheduling, please correct the following information:\n\n';

   if(document.getElementById('first_name').value == ""){ 
	  msg = msg + 'Please enter your First Name\n';
   }
   if(document.getElementById('last_name').value == ""){ 
	  msg = msg + 'Please enter a Last Name\n';
   }
   if(document.getElementById('address').value == ""){ 
	  msg = msg + 'Please enter an Address\n';
   }
   if(document.getElementById('city').value == ""){ 
	  msg = msg + 'Please enter a City\n';
   }
   if(document.getElementById('state').value == ""){ 
	  msg = msg + 'Please select a State\n';
   }
   if(validateZIP(document.getElementById('zip').value) == false){ 
	  msg = msg + 'Please enter a valid Zipcode\n';
   }  
   if(checkEmail(document.getElementById('email')) == false){ 
	  msg = msg + 'Please enter a valid Email Address\n';
   }
   if(IsValidPhone(document.getElementById('phone'), 0) == false){ 
	  msg = msg + 'Please enter a valid 10 digit Phone Number\n';
   }
   if(document.getElementById('phone2').value != ''){
      if(IsValidPhone(document.getElementById('phone2'), 0) == false){ 
	  	msg = msg + 'Please enter a valid 10 digit Phone2 Number\n';
   	  }
   }
   if(msg == '') return true;
   
   alert(header + msg);
   return false;

}

function ValidateConfirmInShopForm(form){

   var msg = '';
   var header = 'To ensure proper scheduling, please correct the following information:\n\n';

   if(document.getElementById('first_name').value == ""){ 
	  msg = msg + 'Please enter your First Name\n';
   }
   if(document.getElementById('last_name').value == ""){ 
	  msg = msg + 'Please enter a Last Name\n';
   }
   if(checkEmail(document.getElementById('email')) == false){ 
	  msg = msg + 'Please enter a valid Email Address\n';
   }
   if(IsValidPhone(document.getElementById('phone'), 0) == false) { 
	  msg = msg + 'Please enter a valid 10 digit Phone Number\n';
   }
   if(document.getElementById('phone2').value != ''){
      if(IsValidPhone(document.getElementById('phone2'), 0) == false){ 
	  	msg = msg + 'Please enter a valid 10 digit Phone2 Number\n';
   	  }
   }  
   if(msg == '') return true;
   
   alert(header + msg);
   return false;

}

function displayStoreHours() {
	alert('Store Hours:\nM - F: 8am - 6pm\nSat: 9am - 6pm');
}

function submitCouponLink() {
	window.location="quoteD.php?coupon=" + document.getElementById('coupon').value;
}
