var vt_http_request = false;

function vt_makePOSTRequest(url, parameters) {
  vt_http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 vt_http_request = new XMLHttpRequest();
	 if (vt_http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//vt_http_request.overrideMimeType('text/xml');
		vt_http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		vt_http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   vt_http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!vt_http_request) {
	 alert('Cannot create XMLHTTP instance.');
	 return false;
  }
  
  vt_http_request.onreadystatechange = vt_alertContents;
  vt_http_request.open('POST', url, true);
  vt_http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  vt_http_request.setRequestHeader("Content-length", parameters.length);
  vt_http_request.setRequestHeader("Connection", "close");
  vt_http_request.send(parameters);
  
  vt_send_email_loading();
}

function vt_hide_form(){
	clearInterval(intervalID);
    document.getElementById('screen').style.display = 'none';
    document.getElementById('vt_form').style.display = 'none';
	vt_contact_clear_fields();
	vt_send_email_normal();
}

function vt_alertContents() {
  if (vt_http_request.readyState == 4) {
	 if (vt_http_request.status == 200) {
		result = vt_http_request.responseText;
		if (result != 'error') {
			vt_send_email_success();
			}
		else {
			alert('error returned');
			vt_send_email_error();
			}
	 } else {
		alert('bad 200: ' + vt_http_request.status);
		vt_send_email_error();
	 }
  }
}
	
function vt_send_email_normal() {
	document.getElementById("mt_send_vt_text").innerHTML = "";
	document.getElementById("mt_send_vt_indicator").className = "mt_send_vt_indicator_normal";
	document.getElementById("vt_header_message").innerHTML = 'VALUE MY TRADE';
	document.getElementById("send_vt_form_holder").style.display = '';
	document.getElementById("vt_loading").style.display = 'none';
	document.getElementById("vt_thankyou").style.display = 'none';
	document.getElementById("vt_error").style.display = 'none';
}
	
function vt_send_email_success() {
	document.getElementById("vt_header_message").innerHTML = 'Thank You';
	document.getElementById("vt_loading").style.display = 'none';
	document.getElementById("vt_error").style.display = 'none';
	document.getElementById("vt_thankyou").style.display = '';
}
	
function vt_send_email_error() {
	document.getElementById("vt_header_message").innerHTML = 'Error on Submission';
	document.getElementById("vt_loading").style.display = 'none';
	document.getElementById("vt_thankyou").style.display = 'none';
	document.getElementById("vt_error").style.display = '';
}

function vt_send_email_loading() {
	// show loading screen
	document.getElementById("send_vt_form_holder").style.display = 'none';
	document.getElementById("vt_loading").style.display = '';
}

function vt_contact_clear_fields() {
	document.getElementById("vtName").value = '';
	document.getElementById("vtEmail").value = '';
	document.getElementById("vtPhone").value = '';
	document.getElementById("vtComments").value = '';
	document.getElementById("vtTradeYear").value = '';
	document.getElementById("vtTradeMake").value = '';
	document.getElementById("vtTradeModel").value = '';
	document.getElementById("vtTradeMiles").value = '';
}

function vt_sendemail() {
	var full_name, email_address, phone_number, vt_comments, vtTradeYear, vtTradeMake, vtTradeModel, alert_error, poststr, storeloc, credit;
	
	// Car info
	var vYear = document.getElementById("frmYear").value;
	var vMake = document.getElementById("frmMake").value;
	var vModel = document.getElementById("frmModel").value;
	var vTrim = document.getElementById("frmTrim").value;
	var vStock = document.getElementById("frmStock").value;
	var vVin = document.getElementById("frmVin").value;
	var vPrice = document.getElementById("frmPrice").value;
	var vSendto = document.getElementById("frmSendto").value;
	
	// Customer data fields
	credit = document.getElementById("vtCredit").value;
	full_name = document.getElementById("vtName").value;
	email_address = document.getElementById("vtEmail").value;
	phone_number = document.getElementById("vtPhone").value;
	vt_comments = document.getElementById("vtComments").value;
	tradeyear = document.getElementById("vtTradeYear").value;
	trademake = document.getElementById("vtTradeMake").value;
	trademodel = document.getElementById("vtTradeModel").value;
	trademiles = document.getElementById("vtTradeMiles").value;
	storeloc = document.getElementById("vtLocation").value; // really could have used this in hardcode before but did that work after
	
	alert_error = "";

	if(full_name.length < 2) {
		alert_error += "Please enter you name.\n";
	}
	if(email_address.length < 2) {
		alert_error += "Please enter your email address.\n";
	}
	else {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email_address) == false){
			alert_error += "Email address is in an unacceptable format.\n";
		}
	}
	if(tradeyear.length < 2) {
		alert_error += "Please enter your trade-in vehicles year.\n";
	}
	if(trademake.length < 2) {
		alert_error += "Please enter your trade-in vehicles make.\n";
	}
	if(trademodel.length < 2) {
		alert_error += "Please enter your trade-in vehicles model.\n";
	}
	
	if(alert_error.length > 0) {
		alert(alert_error);
	} 
	else {
			
		// prepare the post data
		poststr = "vtName=" + encodeURI(full_name)
			+ "&vtEmail=" + encodeURI(email_address)
			+ "&vtPhone=" + encodeURI(phone_number)
			+ "&vtComments=" + encodeURI(vt_comments)
			+ "&vtTradeYear=" + encodeURI(tradeyear)
			+ "&vtTradeMake=" + encodeURI(trademake)
			+ "&vtTradeModel=" + encodeURI(trademodel)
			+ "&vtTradeMiles=" + encodeURI(trademiles)
			+ "&vtLocation=" + encodeURI(storeloc)
			+ "&vtCredit=" + encodeURI(credit);
		
		// Hardcode values to pass
		poststr = poststr + "&formtype=valuetrade"
			+ "&year=" + encodeURI(vYear)
			+ "&make=" + encodeURI(vMake)
			+ "&model=" + encodeURI(vModel)
			+ "&trim=" + encodeURI(vTrim)
			+ "&stock=" + encodeURI(vStock)
			+ "&vin=" + encodeURI(vVin)
			+ "&sendto=" + encodeURI(vSendto)
			+ "&price=" + encodeURI(vPrice);
							
		//alert(poststr);
		//location = '/inventory/email.asp?' + poststr;
		vt_makePOSTRequest('/inventory/email.asp', poststr);
	}
}
