// validate.js

//validate for data submitted by ajax jquery submits
function validate(formData, jqForm) { 
	
	var formContext = "#"+$(jqForm).attr("id");
	var isValidForm = false;
	returnDay="0";
	returnDateMonth="0";
	returnDateYear="0";
	returnDateStr="1/1/1990";
	departDay="0";
	departDateMonth="0";
	departDateYear="0";
	departDateStr="1/1/1990";
	noOfTravellers = 1;
	
	var form = jqForm[0]; 
	if(form.departDate.value) {departDateStr = form.departDate.value};
	if(form.returnDate.value) {returnDateStr = form.returnDate.value};
			
	if (typeof productCategoryAcc != "undefined") {
		if (productCategoryAcc.toLowerCase()=="air transportation") {
			if (!form.departDate.value) { alert("Depart date is required"); return false;}
      if (!form.returnDate.value) { returnDateStr=form.departDate.value}
      
			var dds = $(formContext+" .departDate").val();
			if(dds!=""){
				departDateStr=dds;
			};
			
			var rds = $(formContext+" .returnDate").val();
			if(rds!=""){
				returnDateStr=rds;
			};

			departDate = new Date(departDateStr);
			returnDate = new Date(returnDateStr);

			departDay=departDate.getDay();
			returnDay=returnDate.getDay();
			returnDateMonth=returnDate.getMonth();
			returnDateYear=returnDate.getFullYear();
			departDateMonth=departDate.getMonth();
			departDateYear=departDate.getFullYear();

			noOfTravllers=$(formContext+" .numberTravelling").val();
			if(noOfTravellers="") {
				noOfTravllers=1;	
			}
		} 
	} 
	
	
	
	if (!form.fullName.value) { alert("Name is required"); return false; }
	if (!form.phone1.value) { alert("Phone is required"); return false; }
	if (!form.email1.value) { alert("Email is required"); return false; }
	if (!form.zipCode.value) { alert("Postcode is required"); return false;} else {isValidForm = true;}

	var productExtra="";
	if($("#priceFrom").length) { 
				productExtra="\n\nPackage Name          :" + document.title + "\nPrice                 :" + $("#priceFrom").find(".priceFeature").html(); 
	}
	
	/*Using Form Context(id) to identify and label which form type */
	var enquiryFrom="";
	var enquiryType="";
	if (isValidForm) {
		if (formContext.indexOf("Product") > 0) {
			enquiryFrom = "Inline Product Enquiry";
			enquiryType = "Inline-Product";
			
			$("#productSubmitBtn").removeClass();
			$("#productSubmitBtn").addClass("true");
			$("#productSubmitLoading").show();
			var inlinesubmittimeout = setTimeout("showThankyouText()", 3000);
		} else if (formContext.indexOf("General") > 0) {
			enquiryFrom = "Enquiry Options";
			enquiryType = "Side-Nav-accordion-nav";
			
			$("#sideNavSubmitBtn").removeClass();
			$("#sideNavSubmitBtn").addClass("true");
			var sidenavsubmittimeout = setTimeout("showThankyouGeneral()", 3000);
		}		
	}
	
	var currentURL = document.URL;

	for (var i=0; i < formData.length; i++) { 
		switch (formData[i].name) {
			case "RETURN_DAY1": formData[i].value=returnDay; break;
			case "RETURN_MONTH1": formData[i].value=returnDateMonth; break;
			case "RETURN_YEAR1": formData[i].value=returnDateYear; break;
			case "returnDate": formData[i].value=returnDateStr; break;
			case "DEPART_DAY1": formData[i].value=departDay; break;
			case "DEPART_MONTH1": formData[i].value=departDateMonth; break;
			case "DEPART_YEAR1": formData[i].value=departDateYear; break;
			case "departDate": formData[i].value=departDateStr; break;
			case "firstName": formData[i].value=form.fullName.value; break;
			case "noOfTravllers": formData[i].value=noOfTravllers; break;
			case "addressField1": formData[i].value="News=N|Cont=NA|Depart="+departDateStr+"|Return="+returnDateStr+"|TravNo= ";break;
			case "orderId": formData[i].value=$("#WC_CachedItemDisplay_FormInput_orderId_In_OrderItemAddForm_1").val();break;
			case "productId": formData[i].value=$("#WC_CachedItemDisplay_FormInput_productId_In_OrderItemAddForm_1").val();break;
			case "additionalDetails": formData[i].value+="\n\nEnquired from page    :" + currentURL +  productExtra + "\nEnquiry form          :"+enquiryFrom + "\n-----Below text is used for tracking purposes only - please ignore -----\r\nViewed-Page:  " +document.URL+" \r\nEnquiry-Type: "+enquiryType+"\n-----end of tracking text -----";break;
			
			
		}
	}
  
	return true;
};
