// JavaScript Document

//check form fields membership.
function validate_member(field)
	{
			var error=1;
			var v_field=field.value;
						
			if (v_field == "" || 
				v_field == null ||
				v_field.length < 4 ||v_field.length > 4 ) 
				{
					//alert("You cann't get 10% off, as you haven't joined our membership.");
					error=-1;
					
				}
		return error;
	}

// form calculation.
function cal_total(){
	var total=0;
	var t_ticket=0;
	var t_surcharge=0;
	var total_sur=0;
		
	if (validate_number(form_01.ticket01_num)==-1 || 
				validate_number(form_01.ticket02_num)==-1 || 
				validate_number(form_01.ticket03_num)==-1 ||
				validate_number(form_01.ticket04_num)==-1 ||
				validate_number(form_01.ticket05_num)==-1 )
			
			{
				alert("The tickets you are ordering should be numbers.");
				return false;
							
			}
	
	t_ticket = parseInt(form_01.ticket01_num.value) + parseInt(form_01.ticket02_num.value) 
				+ parseInt(form_01.ticket03_num.value) + parseInt(form_01.ticket04_num.value)
					+ parseInt(form_01.ticket05_num.value);
	
	if (t_ticket==0){
		alert("Please enter the number of the tickets you will order.");
		
		form_01.price_service.value = 0;
		form_01.price_total.value = 0;
	}
	else {
		alert("You have ordered "+t_ticket+" tickets");
	
		total=parseInt(form_01.ticket01_p.value)*parseInt(form_01.ticket01_num.value)
				 + parseInt(form_01.ticket02_num.value)*parseInt(form_01.ticket02_p.value)
				 + parseInt(form_01.ticket03_num.value)*parseInt(form_01.ticket03_p.value)
				 + parseInt(form_01.ticket04_num.value)*parseInt(form_01.ticket04_p.value)
				 + parseInt(form_01.ticket05_num.value)*parseInt(form_01.ticket05_p.value)	;
		alert("The total amount before surcharge is:  "+total);
		
		t_surcharge = t_ticket*2.5 + 0.06*total;
		form_01.price_service.value = Math.round(t_surcharge*100)/100;
		alert("Service Fee is:  "+Math.round(t_surcharge*100)/100)
		
		total_sur = total + t_surcharge;
		
		// check if it is a membership, if it is, give it a 10% off
		if (validate_member(form_01.member)==1)
		{
			alert("Total Amount before membership discount is:  "+Math.round(total_sur*100)/100);
			total_member = total_sur*0.9;
			form_01.price_total.value = Math.round(total_member*100)/100;
			alert("Total Amount is:  "+Math.round(total_member*100)/100 +"\n\n"+"Thanks. \n\n You got a 10% off as a member ship. \n\n Please Submit the form!");
		}
		else
		{
		form_01.price_total.value = Math.round(total_sur*100)/100;
		alert("Total Amount is:  "+Math.round(total_sur*100)/100 +"\n\n"+"Thanks. \n\n Please Submit the form!");
		}
	}
	
	return true;
}

//Check Yes or no for proceccing the form
//function check_yes_no(check_field){
	
//	if (!check_field.checked) {
//		alert("Please confirm above information. Thanks.");
//	}
//	else{
//		window.open("https://protected.ehost.com/cantonpr/best_seat/form.html");
//	}
// }
//check the form.
function check_form(v_form)
	{
		var message="";
		var complete=false;
		var f=v_form;
		var error=1;
		
		if (validate_nospacenumber(f.name)==-1 )
			{
				message="The name cannot be empty, or have numbers. \n\n"; 
				//alert(message);
			}
		
		if (validate_phone(f.phone)==-1)
			{
				message= message + "The phone can only have numbers. \n\n";
				//alert(message);
			}
		
		if (validate_email(f.email)==-1)
			{
				message=message + "A valid email address looks like XXX@XXXX.XXX.XX \n\n";
				//alert(message);
			}
			
		if (validate_day(f.day)==-1)
			{
				message=message + "A valid day is between 01-31. \n\n";
				//alert(message);
			}
			
		if (validate_month(f.month)==-1)
			{
				message=message + "A valid month is between 01-12. \n\n";
				//alert(message);
			}
			
		if (validate_nospacenumber(f.card_name)==-1)
			{
				message=message + "The name on the credit card cannot be empty or has numbers. \n\n";
				//alert(message);
			}
		
		
		if (validate_nospace(f.card_num)==-1)
			{
				message=message + "The credit card number cannot be empty. \n\n";
				//alert(message);
			}
			
		if (validate_month(f.card_month)==-1)
			{
				message=message + "The expiration month is between 01-12. \n\n";
				//alert(message);
			}
			
		if (validate_year(f.card_year)==-1)
			{
				message=message +"The expiration year is not correct. \n\n";
			}
			
		
				
		if ((parseInt(f.ticket01_num.value)==0) && (parseInt(f.ticket02_num.value)==0)
				&& (parseInt(f.ticket03_num.value)==0) && (parseInt(f.ticket04_num.value)==0)
				&& (parseInt(f.ticket05_num.value)==0))
			{
				message=message+ "Please enter the number of tickes you will order.";
			}
		else if (validate_number(f.ticket01_num)==-1 || 
				validate_number(f.ticket02_num)==-1 || 
				validate_number(f.ticket03_num)==-1 ||
				validate_number(f.ticket04_num)==-1 ||
				validate_number(f.ticket05_num)==-1 )
			
			{
				message=message + "The tickets you are ordering should be numbers. \n\n"
							//alert(message);
			}
			
		
		//alert(message);
		if (message=="")
		{
			if ( (parseInt(f.price_service.value)==0) || (parseInt(f.price_total.value)==0) )
			{
				alert("Please click the Calculation button to get a total amount payment!")
				complete=false;
			}
			else 
			{
				if (message=="")
				{
					//alert("all input")
					complete=true;
				}
			}
		}
	else 
		{
			alert("Please change the following fields:" + "\n\n\n" + message +"\n\n" + "Thanks");
			complete=false;
		}
	return complete;
}
//check form fields.
function validate_phone(field)
	{
		var error=1;
		var v_field=field.value;
		var stripped = v_field.replace(/[\(\)\.\-\ ]/g, '');
										   		
		if (isNaN(stripped)|| stripped.search(/[A-Za-z]/)!=-1) 
			{
					//alert("This field can only have numbers.");
					error=-1;
					
			}
		return error;
	}
	
function validate_number(field)
	{
			var error=1;
			var v_field=field.value;
						
			if (isNaN(v_field) || v_field.search(/[A-Za-z]/)!=-1) 
				{
					//alert("This field can only have numbers.");
					error=-1;
					
				}
		return error;
	}
function validate_email(field)
	{
		var error=1;
		var v_field=field.value;
		var lst=v_field.length;
		var lat=v_field.indexOf("@");
		var ldot=v_field.indexOf(".");
		
		if (v_field.indexOf("@",2)==-1 || 
				v_field.indexOf("@")==0 || 
				v_field.indexOf("@")==lst || 
				v_field.indexOf("@",(lat+1))!=-1 ||
				v_field.indexOf(".")==-1 || 
				v_field.indexOf(".")==0 ||
				v_field.indexOf(".")==lst ||
				v_field.substring(lat-1,lat)=="." ||
				v_field.substring(lat+1,lat+2)=="." ||
				(v_field.substring(lst-3, lst-4)!="." && v_field.substring(lst-2,lst-3)!=".") ||
				v_field.indexOf(" ",0)!=-1 )
			{
				//alert("Please enter a valid email address XXX@XXXX.XXX.XX. Thanks.");
				error=-1;
				
			}
			return error;
	}
	
function validate_day(day)
	{
		var error=1;
		
		if (day.value<01 || day.value>31 || day.value.search(/[0-9]/)==-1 ||
			day.value.search(/[A-Za-z]/)!=-1 || day.value.length>2)
			{
				//alert("Please enter a valid day 01-31. Thanks.");
				error=-1;
			}
		return error;
	}
	
function validate_month(month)
	{
			var error=1;
			
			if (month.value<01 || month.value>12 || 
					month.value.search(/[0-9]/)==-1 || 
					month.value.search(/[A-Za-z]/)!=-1 || 
					month.value.length>2)
				{
					//alert("Please enter a valid month 01-12. Thanks.");
					error=-1;
				}
			return error;
	}
	
function validate_year(year)
	{
			var error=1;
			
			if (year.value<06 || year.value>99 || 
					year.value.search(/[0-9]/)==-1 ||
					year.value.search(/[A-Za-z]/)!=-1 || 
					year.value.length>2)
				{
					//alert("Please enter a valid month 01-12. Thanks.");
					error=-1;
				}
			return error;
	}
	
function validate_nospacenumber(field)
	{
		var error=1;
		
		if ( (field.value.search(/ +/)!= -1 && field.value.search(/\w/)==-1) || 
					field.value.search(/[0-9]/)!=-1 || field.value=="" || field.value==null)
			{
				//alert("This field cannot be empty, and has numbers. Thanks.");
				error=-1;
				
			}
		return error;
	}	
	
function validate_nospace(field)
	{
			var error=1;
			if ( (field.value.search(/ +/)!= -1 && field.value.search(/\w/)==-1) || field.value=="" || field.value==null)
			{
				//alert("This field cannot be empty. Thanks.");
				error=-1;
				
			}
		return error;
	}	
			


//check form older version			
		
function check_it() {
	var complete=false;
	var f=window.document.form_01;
	var fields="";
	
	//alert("check fields value");
	
	if ((f.name.value=="" )|| (parseInt(f.name.value==0)) ) 
	{
		fields="Name";		
	}
	
	if ((f.phone.value=="")||(parseInt(f.phone.value==0))) 
	{
		fields=fields + "\n" + "Phone Number";		
	}
	
	if (f.email.value=="") 
	{
		fields=fields + "\n" + "Email";
	}
	
	if (f.day.value=="00" || f.month.value=="00" || f.year.value=="00") 
	{
		fields=fields + "\n" + "Show Date";
	}
	
	if (f.card_name.value=="" || f.card_num.value=="" || f.card_month.value=="00" || f.card_year.value=="00")
	{
		fields=fields + "\n" + "Credit Card Information";
	}
	
	if ( (parseInt(f.ticket01_num.value)==0) && (parseInt(f.ticket02_num.value)==0)
		 && (parseInt(f.ticket03_num.value)==0) && (parseInt(f.ticket04_num.value)==0) )
	{
		fields=fields + "\n" + "Tickets";
	}
	
	//alert("fileds" + fields);
	//alert("service" + f.price_service.value);
	//alert("total" + f.price_total.value);
	
	if (fields=="")
		{
			if ( (parseInt(f.price_service.value)==0) || (parseInt(f.price_total.value)==0) )
			{
				alert("Please click the Calculation button to get a total amount payment!")
				complete=false;
			}
			else 
			{
				if (fields=="")
				{
					//alert("all input")
					complete=true;
				}
			}
		}
	else 
		{
			alert("Please enter the following fields:" + "\n\n" + fields);
			complete=false;
		}
	return complete;
}
		
		
		
		
		
		
		
		
