$(function() {
	if ($('td#category_dropdown select option').length > 1) {
		 showCategoryDescription();
		 sortCategoryDescriptions();
		 $('td#category_dropdown select').change(function(){
			showCategoryDescription();
		 });
	} else {
		$('tr:has(td#category_dropdown), tr:has(td#category_description)').css("display","none");
	}
});

function showCategoryDescription() {
	var category_description = $('td#category_dropdown select option:selected').attr('title');
	$('td#category_description').text(category_description);
}
function sortCategoryDescriptions() {
	var a = new Array();
    $("#category_dropdown select").children("option").each(function(x){
        isDuplicate = false;
        b = a[x] = $(this).text();
        for (i=0;i<a.length-1;i++){
        	if (b ==a[i]) isDuplicate = true;
        }
        if (isDuplicate) $(this).remove();
    }) 
}

function searchCrane(){

	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
	 alert ("Browser does not support HTTP Request");
	 return
	}
	 
	document.getElementById("submitToDealer").style.display = 'block';

	var width = document.getElementById("width").value;
	var height = document.getElementById("height").value;
	var length = document.getElementById("length").value;
	var weight = document.getElementById("weight").value;
	var categoryName = $('td#category_dropdown select option:selected').text();
	var categoryFolderID = $('td#category_dropdown select').val();	
	var units = getUnits();
	
	var params = "width=" + width + "&height=" + height + "&length=" + length + "&weight=" + weight + "&units=" + units + "&categoryName=" + categoryName + "&categoryFolderID=" + categoryFolderID + "&categoryName=" + categoryName + "&searchForCrane=1";
	var url="showCraneRecommendations.php";
	xmlHttp.open("POST", url, true);
	
	document.getElementById("errors").innerHTML='';
	document.getElementById("result").innerHTML='<h2>Step 2: Review the Recommended Cranes</h2><img src="http://eaglewestequipment.com/FindACrane/images/loading.gif" alt="Loading ..." />';
	
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.send(params);
	
	xmlHttp.onreadystatechange=function func(){	
		if (xmlHttp.readyState==4 && xmlHttp.status == 200)
		{  
			document.getElementById("result").innerHTML=xmlHttp.responseText;	 
		} 
	}	
}

function submitDealer() {
	var xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
	 alert ("Browser does not support HTTP Request");
	 return
	 }
	
	var width = document.getElementById("width").value;
	var height = document.getElementById("height").value;
	var length = document.getElementById("length").value;
	var weight = document.getElementById("weight").value;
	var units = getUnits();
	
	var first_name = document.getElementById("first_name").value;
	var last_name = document.getElementById("last_name").value;
	var email = document.getElementById("email").value;
	var phone = document.getElementById("phone").value;
	var address = document.getElementById("address").value;
	var city = document.getElementById("city").value;
	var state = document.getElementById("state").value;
	var zip = document.getElementById("zip").value;
	var company = document.getElementById("company").value;
	var comments = document.getElementById("comments").value;
	var categoryName = $('td#category_dropdown select option:selected').text();
	var wants_newsletter = document.getElementById("wants_newsletter").checked;
	
	var cranes = new Array();
	cranesList = document.getElementById("cranes").getElementsByTagName("li");
	if(cranesList.length>=1){
		cranes[0] = cranesList[0].getElementsByTagName("a")[0].innerHTML;
	}else{
		cranes[0] = 'none';
	}

	if(cranesList.length>=2){
		cranes[1] = cranesList[1].getElementsByTagName("a")[0].innerHTML;
	}else{
		cranes[1] = 'none';
	}

	if(cranesList.length>=3){
		cranes[2] = cranesList[2].getElementsByTagName("a")[0].innerHTML;
	}else{
		cranes[2] = 'none';
	}
	
	var params = "width=" + width + "&height=" + height + "&length=" + length + "&weight=" + weight + "&units=" + units + "&submitToDealer=1" + "&first_name=" + first_name + "&last_name=" + last_name + "&email=" + email + "&phone=" + phone + "&address=" + address + "&city=" + city + "&state=" + state + + "&zip="+ zip + "&company=" + company + "&comments=" + comments + "&craneone=" + cranes[0] + "&cranetwo=" + cranes[1] + "&cranethree=" + cranes[2] + "&categoryName=" + categoryName + "&wants_newsletter=" + wants_newsletter;
	var url="submitToDealer.php";
	xmlHttp.open("POST", url, true);
	
	document.getElementById("email_body").innerHTML='<img src="http://eaglewestequipment.com/FindACrane/images/loading.gif" alt="Loading ..." />';
	
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.send(params);
	
	xmlHttp.onreadystatechange=function func(){
		if (xmlHttp.readyState==4 && xmlHttp.status == 200)
		{  
			var responseText = xmlHttp.responseText;
			
			if(responseText.charAt(0) == "0"){
				document.getElementById("email_body").innerHTML='';
				responseText = responseText.substring(2);
				document.getElementById("errors").innerHTML = responseText;
			}else{
				document.getElementById("email_body").innerHTML='';
				responseText = responseText.substring(2);
				document.getElementById("text").innerHTML = responseText;
			}			 
		} 
	}	
}

function GetXmlHttpObject() {  	
	var xmlHttp=null;
	
	try {
	 // Firefox, Opera 8.0+, Safari
	 xmlHttp=new XMLHttpRequest();
	 }
	catch (e)
	 {
	 //Internet Explorer
	 var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
		for(i=0;i<axO.length;i++)
			try{
				xmlHttp=new ActiveXObject(axO[i]);
				return  xmlHttp;
			}
			catch(e){}
	 }
	
	return xmlHttp;
}

function getUnits() {
	radioObj = document.forms['crane_search'].elements['units'];
	var radioLength = radioObj.length;
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			if(radioObj[i].value == "m"){
				return "m";
			}
			else {
				return "f";
			}
		}
	}
}
