var getConfirm = function() {
	var sUrl = "/lmsform/lmsformservice/submitform";
	//sUrl= 'http://d-sfa-515969.corp.ebay.com/debug/LMS/proxy.asp?url='+escape(sUrl);
	//var sUrl = "confirm.asp";
	
		var handleSuccess = function(o){
		    if(o.responseText !== undefined){
				try {
					result= YAHOO.lang.JSON.parse(o.responseText);
				}
				catch (e) {
				    //alert("JSON Parse failed!");
				    handleFailure(o);
				}
				
				if(result.SubmitFormResult.Result=="SUCCESS"){
					var event= result["event"];
					var user= result["user"];
					YAHOO.util.Dom.get('confirm').style.display="block";
					YAHOO.util.Dom.get('main').style.display="none";
					YAHOO.util.Dom.get('event').style.display="none";
					YAHOO.util.Dom.get('error').style.display="none";
				}
				else{	
					errors = result.SubmitFormResult.Errors.FormErrors;
					if(!errors.length){							
						if(YAHOO.util.Dom.get(errors.FormField+'_err')){
							YAHOO.util.Dom.get(errors.FormField+'_err').innerHTML="<div>"+errors.ErrorMessage+"<br/>";
						}
						else{
							YAHOO.util.Dom.get('general_err').innerHTML="<div>"+errors.ErrorMessage+"<br/>";
						}
					}
					else{
						for(i=0; i<errors.length; i++){		
							if(YAHOO.util.Dom.get(errors[i].FormField+'_err')){
								YAHOO.util.Dom.get(errors[i].FormField+'_err').innerHTML="<div>"+errors[i].ErrorMessage+"<br/>";
							}
							else{
								YAHOO.util.Dom.get('general_err').innerHTML="<div>"+errors[i].ErrorMessage+"<br/>";
							}
						}
					}
					showErrorMessage(true);
					YAHOO.util.Dom.get('confirm').style.display="none";
					YAHOO.util.Dom.get('error').style.display="block";
					YAHOO.util.Dom.get('main').style.display="block";
					YAHOO.util.Dom.get('event').style.display="block";
				}
		    }
		}
	
		var handleFailure = function(o){
			YAHOO.util.Dom.get('confirm').style.display="block";
			YAHOO.util.Dom.get('main').style.display="none";
			YAHOO.util.Dom.get('event').style.display="none";
			YAHOO.util.Dom.get('error').style.display="none";	    
			var div = YAHOO.util.Dom.get('confirm');
			
			div.innerHTML ='<div class="error_msg" style="display:block">We are not able to process your request. Please try again</div>';
			if(o.responseText !== undefined){		
				div.innerHTML += "<li>Transaction id: " + o.tId + "</li>";
				div.innerHTML += "<li>HTTP status: " + o.status + "</li>";
				div.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
				div.innerHTML += "<li>Message: " + o.responseText + "</li>";		        
				toogleSubmitBtn("on");
			}
		}
	
		var callback =
		{
		  success:handleSuccess,
		  failure: handleFailure
		};
		
	var postData="";
	postData += "firstName="+YAHOO.util.Dom.get('firstName').value;
	postData += "&lastName="+YAHOO.util.Dom.get('lastName').value;
	postData += "&phone="+YAHOO.util.Dom.get('phone').value.replace( /\D/g, '' );
	postData += "&email="+YAHOO.util.Dom.get('email').value;
	postData += "&confirmEmail="+YAHOO.util.Dom.get('confirmEmail').value;
	postData += "&geoLocation="+YAHOO.util.Dom.get('geoLocation').value;
	postData += "&eventDate="+YAHOO.util.Dom.get('eventDate').value;
	
	var pdfArray= document.getElementsByName('pdfTickets');

	pdfchecked= false;
	for(var i = 0; i < pdfArray.length; i++) {
		if(pdfArray[i].checked) {			
			postData += "&pdfTickets="+pdfArray[i].value;
			pdfchecked=true;
		}
	}
	
	if(YAHOO.util.Dom.get('agreesTermsConditions').checked){
		postData += "&agreesTermsConditions=true";
	}
	else{postData += "&agreesTermsConditions=false";}
	
	
	postData += "&eventId="+YAHOO.util.Dom.get('eventId').value;
	
	YAHOO.util.Connect.initHeader('Accept', 'application/json'); 
	//var request = YAHOO.util.Connect.asyncRequest('post', sUrl, callback, postData);
	var request = YAHOO.util.Connect.asyncRequest('get', sUrl+"?"+postData, callback);
	//var request = YAHOO.util.Connect.asyncRequest('get', sUrl+"?path="+postData, callback);
}

function validateField(){
	var errorDiv =YAHOO.util.Dom.get('error');
	errorDiv.style.display="none"
	errorDiv.innerHTML= "";
	errorMsgArray = YAHOO.util.Dom.getElementsByClassName('error_msg');
	for(i=0;i<errorMsgArray.length;i++){
		 errorMsgArray[i].style.display="none";
		 errorMsgArray[i].innerHTML="";
	}	
	errorFlag=false;
	
	if(validateName(YAHOO.util.Dom.get('firstName').value)){YAHOO.util.Dom.get('firstName_err').innerHTML="<div>Enter a first name<br/>";errorFlag=true; }
	if(validateName(YAHOO.util.Dom.get('lastName').value)){YAHOO.util.Dom.get('lastName_err').innerHTML="<div>Enter a last name</div>" ;errorFlag=true; }
	if(validatePhone(YAHOO.util.Dom.get('phone').value)){YAHOO.util.Dom.get('phone_err').innerHTML="<div>Enter a valid phone number</div>" ;errorFlag=true; }
	if(validateEmail(YAHOO.util.Dom.get('email').value, YAHOO.util.Dom.get('confirmEmail').value)){YAHOO.util.Dom.get('email_err').innerHTML="<div>Enter a valid email address</div>" ;errorFlag=true; }
	if(validateEmailMatch(YAHOO.util.Dom.get('email').value, YAHOO.util.Dom.get('confirmEmail').value)){YAHOO.util.Dom.get('email_err').innerHTML="<div>Enter matching email addresses</div>" ;errorFlag=true; }
	
	var pdfArray= document.getElementsByName('pdfTickets');
	var pdfSelected=false;
	for(var i = 0; i < pdfArray.length; i++) {
		if(pdfArray[i].checked) {
			pdfSelected=true;
		}
	}
	if(!pdfSelected){YAHOO.util.Dom.get('pdfTickets_err').innerHTML="<div>Select a ticket format</div>";errorFlag=true; }
	if(YAHOO.util.Dom.get('eventDate').value==""){YAHOO.util.Dom.get('eventDate_err').innerHTML="<div>Select a date</div>" ;errorFlag=true; }
	if(YAHOO.util.Dom.get('geoLocation').value==""){YAHOO.util.Dom.get('geoLocation_err').innerHTML="<div>Select a location</div>" ;errorFlag=true; }
	if(YAHOO.util.Dom.get('eventId').value==""){YAHOO.util.Dom.get('eventId_err').innerHTML="<div>Please choose an event</div>" ;errorFlag=true; }
	if(!YAHOO.util.Dom.get('agreesTermsConditions').checked){YAHOO.util.Dom.get('agreesTermsConditions_err').innerHTML="<div>Please accept the Terms and Conditions</div>" ;errorFlag=true; }
	
	return showErrorMessage(errorFlag);

	
}

function showErrorMessage(errorFlag){
	errorDiv =YAHOO.util.Dom.get('error');
	errorMsgArray = YAHOO.util.Dom.getElementsByClassName('error_msg');
	if(errorFlag==false){
		return true;
	}
	else{		
		errorDiv.innerHTML= "Please provide the correct information in the highlighted fields.";
		errorDiv.style.display="block";
		for(i=0;i<errorMsgArray.length;i++){
			if(errorMsgArray[i].innerHTML!="") errorMsgArray[i].style.display="block";
		}			
		toogleSubmitBtn("on");
		window.scrollTo(0,0);
		return false; 
	}
}

function toogleSubmitBtn(status){
	if(status=="on"){
		YAHOO.util.Dom.get('submit_div').style.display="block";
		YAHOO.util.Dom.get('submit_inactive_div').style.display="none";
	}
	else{	
		YAHOO.util.Dom.get('submit_div').style.display="none";
		YAHOO.util.Dom.get('submit_inactive_div').style.display="block";
	}
}

function validateName(str){
	if(str.length<2) return true;
	if(str.length>60) return true;
	return false;
}
function validatePhone(str){
	var re= /[a-z]/i; 
	if(str.search(re)!=-1)return true; //check for char a-z
	
	str = str.replace( /\D/g, '' ); //strip non number
	if(str.length!=10) return true;
	return false;	
}
function validateEmail(str1, str2){
	if(str1.indexOf('@')<1 || str2.indexOf('@')<1) return true; 
	if(str1.indexOf('.')<3 || str2.indexOf('.')<3) return true; 
	return false;
	
}
function validateEmailMatch(str1, str2){
	if(str1!=str2) return true;
	return false;
	
}

function processSubmit(){
	toogleSubmitBtn("off");
	if(validateField()){
		getConfirm();
	}
}

YAHOO.util.Event.onDOMReady(function(){
	YAHOO.util.Event.addListener(YAHOO.util.Dom.get('submitBtn'), "click", processSubmit);
});

