function trim(p_str)
{
   var i=0;
   while(1)
   {
     if ( p_str.charAt(0)==" " || p_str.charAt(0)=="\n" || p_str.charAt(0)=="\r") 
       p_str = p_str.substr(i+1);
     else
       break;
    } 
   
   while(1)
   {
     i=p_str.length;
     if ( p_str.charAt(i-1)==" " || p_str.charAt(i-1)=="\n" || p_str.charAt(i-1)=="\r") 
       p_str=p_str.substr(0,i-1);
     else
       break;
   }
  return p_str; 
}

function isValidEmailId(obj, name)
{
   obj.value=trim(obj.value);
   if (obj.value=='')
   {
	   alert("Please enter "+name );
	   obj.focus();
	   return false;
   }
   
   if (! isValidEmail(obj.value))
   {
      alert("EmailID should be like : yourname@yourdomain.com");
	  obj.focus();
	  return false;
   }
   return true;
}

function isValidEmail(elm)
{
 if(elm.indexOf('@',1) ==-1)
 	return (false);
 
 if(elm.indexOf('.',1) ==-1)
 	return (false);
 
 return true;
}



function vaild_newuser(obj)
{
		obj.txtname.value=trim(obj.txtname.value);
 		if(obj.txtname.value == "")
		{
			alert("Please Enter First Name ");
			obj.txtname.focus();
			return false;
		}
 
		obj.txtname_l.value=trim(obj.txtname_l.value);
		if(obj.txtname_l.value == "")
		{
			alert("Please Enter last Name ");
			obj.txtname_l.focus();
			return false;
		}


		
		obj.txtaddress.value=trim(obj.txtaddress.value);
		if(obj.txtaddress.value == "")
		{
			alert("Please Enter Address  ");
			obj.txtaddress.focus();
			return false;
		}

		 
		obj.txtcity.value=trim(obj.txtcity.value);
		if(obj.txtcity.value == "")
		{
			alert("Please Enter City  ");
			obj.txtcity.focus();
			return false;
		} 
 
 		if(obj.cmbstate.value == "-1" || obj.cmbstate.value == "" )
		{
			alert("Please Select   Provinces ");
			obj.cmbstate.focus();
			return false;
		}
		 

 		obj.txtzip.value=trim(obj.txtzip.value);
		if(obj.txtzip.value == "")
		{
			alert("Please Enter postal code 	 ");
			obj.txtzip.focus();
			return false;
		}
 
 	 
   		  obj.txtemail.value=trim(obj.txtemail.value);
  		if(!isValidEmailId(obj.txtemail,"Email"))
		{
			obj.txtemail.focus();
			return false;
		}	

 
   		  obj.txtemail_c.value=trim(obj.txtemail_c.value);
  		if(!isValidEmailId(obj.txtemail_c," Confirm Email"))
		{
			obj.txtemail_c.focus();
			return false;
		}	

		if(obj.txtemail.value != obj.txtemail_c.value)
		{
			alert("Email Not  match ,Please enter email again.")
			obj.txtemail_c.focus();
			return false;
		}
 
 		obj.txtphone_d.value=trim(obj.txtphone_d.value);
		if(obj.txtphone_d.value == "")
		{
			alert("Please Enter  Phone Number	 ");
			obj.txtphone_d.focus();
			return false;
		}
 
		return  true; 
}

 

 function vaild_conatct(obj)
{
		obj.txtname.value=trim(obj.txtname.value);
 		if(obj.txtname.value == "")
		{
			alert("Please Enter First Name ");
			obj.txtname.focus();
			return false;
		}
 
		obj.txtname_l.value=trim(obj.txtname_l.value);
		if(obj.txtname_l.value == "")
		{
			alert("Please Enter last Name ");
			obj.txtname_l.focus();
			return false;
		}
 
   		  obj.txtemail.value=trim(obj.txtemail.value);
  		if(!isValidEmailId(obj.txtemail,"Email"))
		{
			obj.txtemail.focus();
			return false;
		}	

		 
		obj.txtphone.value=trim(obj.txtphone.value);
		if(obj.txtphone.value == "")
		{
			alert("Please Enter Phone no ");
			obj.txtphone.focus();
			return false;
		}

		
		 
		obj.txtquery.value=trim(obj.txtquery.value);
		if(obj.txtquery.value == "")
		{
			alert("Please Enter Your Query ");
			obj.txtquery.focus();
			return false;
		}
		return  true; 
}

 function valid_dateslot(obj)
 {
 		obj.txtdate.value=trim(obj.txtdate.value);
		if(obj.txtdate.value == "")
		{
			alert("Please Enter Date ");
			obj.txtdate.focus();
			return false;
		}
 
 }

 
 function valid_timeslot(obj)
 {
   		var sel=0;
		var i;
	 if(obj.cnt.value=='1')
	 {
		 if(obj.sel_time.checked == true)
			{
				sel=sel+1;
			}
		else
		 {
				sel=sel;
		}
	 }
	 else
	 {
	 
					for(i=0;i<obj.sel_time.length;i++)
				 {
					if(obj.sel_time[i].checked == true)
					{
						 sel=sel+1;
					}
				 }
	 }
	 
		if(sel == 0)
		{
			alert("Please Select Time Period ");
 			return false;
		}
  }
  function valid_room(obj)
 {
   		var sel=0;
		var i;
 		 if(obj.cnt.value=='1')
	 {
		 if(obj.sel_room.checked == true)
			{
				sel=sel+1;
			}
		else
		 {
				sel=sel;
		}
	 }
	 else
	 {
	 	for(i=0;i<obj.sel_room.length;i++)
		 {
			if(obj.sel_room[i].checked == true)
			{
				 sel=sel+1;
			}
		 }
	 }
		if(sel == 0)
		{
			alert("Please Select At least One Room ");
 			return false;
		}
  }

  
  function valid_pkg(obj)
 {
   		var sel=0;
		var i;
		for(i=0;i<obj.sel_pkg.length;i++)
	 {
 		if(obj.sel_pkg[i].checked == true)
		{
			 sel=sel+1;
		}
	 }
		if(sel == 0)
		{
			alert("Please Select At least One Package ");
 			return false;
		}
  }

  function valid_geust_details(obj)
  {
   		obj.txtname.value=trim(obj.txtname.value);
		if(obj.txtname.value == "")
		{
			alert("Please Enter Birthday's Child Name ");
			obj.txtname.focus();
			return false;
		}
  		if(obj.cmbgender.value == "")
		{
			alert("Please select Gender");
			obj.cmbgender.focus();
			return false;
		}
   		obj.txt_age.value=trim(obj.txt_age.value);
		if(obj.txt_age.value == "")
		{
			alert("Please Enter Birthday's Childs Age ");
			obj.txt_age.focus();
			return false;
		}
		obj.txt_no_adults.value=trim(obj.txt_no_adults.value)
  		if(obj.txt_no_adults.value == "")
		{
			alert("Please Enter  Number  Of Adults Guests");
			obj.txt_no_adults.focus();
			return false;
		}
		else
	  {
			if(isNaN(obj.txt_no_adults.value)==true)
			{
				alert("Please Enter  Number  Only")
				obj.txt_no_adults.focus();
				return false;
 			}
	    }
  		if(eval(obj.txt_no_adults.value) > eval(obj.pkg_total_adult.value))
		{
			alert(" Number of adult guests should not    exceed    "+obj.pkg_total_adult.value+'\n"Additional" adults need to be added in the "Additional adults box."');
			obj.txt_no_adults.focus();
			return false;
		}
  		if(eval(obj.txt_no_adults.value) <2 )
		{
			alert(" Number of adult guests should not less then 2    ");
			obj.txt_no_adults.focus();
			return false;
		}

		obj.txt_no_child.value =trim(obj.txt_no_child.value);
  		if(obj.txt_no_child.value == "")
		{
			alert("Please Enter  Number Of Child Guests");
			obj.txt_no_child.focus();
			return false;
		}
		else
	  {
		
			if(isNaN(obj.txt_no_child.value )==true)
			{
				alert("Please Enter  Number  Only")
				obj.txt_no_child.focus();
				return false;
 			}
	  }
 		if(eval(obj.txt_no_child.value) > eval(obj.pkg_total_child.value))
		{
			
			alert(' Guests exceeding 8 must be entered into the "Additional guests box."' );
			obj.txt_no_child.focus();
			return false;
		}
 		if(eval(obj.txt_no_child.value) < 8)
		{
			
			alert(' Number of adult guests should not less then 8 ' );
			obj.txt_no_child.focus();
			return false;
		}
	var a;
	var b;
	var c;
	if(trim(obj.txt_no_child_add.value)!='')
	  {
	    if(isNaN(obj.txt_no_child_add.value)==true)
		  {
			alert("Please Enter number only");
			obj.txt_no_child_add.focus();
			return false;
		 }
		 else
		  {
  			a=obj.txt_no_child_add.value;
		 }
	  }
	  else
	  {
		  a=0;
	  }
 		if(eval(obj.txt_no_child_add.value)> 5)
	    {
 			alert('"A maximum of 5 additional child guests are allowed.\n Please contact Stir Crazy directly if your group\n requirements are more than 13 child guests." ');
			
			obj.txt_no_child_add.focus();
			return false;
  		}

 
 	  if(obj.txt_boys.value=='')
	  {
		alert("Please Enter  number of boys ");
		obj.txt_boys.focus();
		return false;
	 }
	 else
	  {
 	    if(isNaN(obj.txt_boys.value)==true)
		  {
			alert("Please Enter number only");
			obj.txt_boys.focus();
			return false;
		 }
	  }
  if(obj.txt_girls.value=='')
	  {
		alert("Please Enter  number of girls ");
		obj.txt_girls.focus();
		return false;
	 }
	 else
	  {
 	    if(isNaN(obj.txt_girls.value)==true)
		  {
			alert("Please Enter number only");
			obj.txt_girls.focus();
			return false;
		 }
	  }
 if(parseInt(obj.txt_no_child.value)+parseInt(obj.txt_no_child_add.value)!=parseInt(obj.txt_boys.value)+parseInt(obj.txt_girls.value))
	  {
 			alert("Please Check Additon of Guest ");
 			return false;
		}
	   c=parseInt(a)+parseInt(b);

   }

   function vaild_cake_theme(obj)
{
					if(obj.own_cake.checked==true)
					{
							//obj.cmbtheme.disabled=true;
								if(obj.cmbtheme.value == "")
								{
									alert("Please Choose Theme Of Decor. ");
									obj.cmbtheme.focus();
									return false;
								}
							obj.cmbcake.disabled=true;
							obj.chk_cake.disabled=true;

					}
					else if(obj.chk_cake.checked==true)
					{
					
								if(obj.cmbtheme.value == "")
								{
									alert("Please Choose Theme Of Decor. ");
									obj.cmbtheme.focus();
									return false;
								}
						  obj.own_cake.disabled=true;
					//	obj.cmbcake.disabled=true;

							
						if(obj.cmbcake.value == '' || obj.cmbcake.selectedIndex == '0')
						{
							alert("Please Choose Cake/Cupcake flavour");
							obj.cmbcake.focus();
							return false;
						}
						 
					}
				else
					{
						obj.cmbtheme.disabled=false;
						obj.cmbcake.disabled=false;
						if(obj.cmbtheme.value == "")
						{
							alert("Please Choose Theme Of Decor. ");
							obj.cmbtheme.focus();
							return false;
						}
				 
						if(obj.cmbcake.value == '' || obj.cmbcake.selectedIndex == '0')
						{
							alert("Please Choose cake flavour");
							obj.cmbcake.focus();
							return false;
						}
					}
				if(obj.d_qty.value!='')
			{
								if(isNaN( obj.d_qty.value )==true)
								{
									alert("Please Enter Number  Only")
									 obj.d_qty.focus();
									return false;
								}
						 

								if( obj.choco_qty.value!= "")
								{
									if(isNaN( obj.choco_qty.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.choco_qty.focus();
										return false;
									}	
									var b1=obj.choco_qty.value;
								}
								else
								{
									var b1=0;
								}

								if( obj.vanilla_qty.value!= "")
								{
									if(isNaN( obj.vanilla_qty.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.vanilla_qty.focus();
										return false;
									}
									var c1= obj.vanilla_qty.value;
								}
								else
								{
									var c1=0;
								}
								 
								 
								if( obj.half_half_qty.value!= "")
								{
									if(isNaN( obj.half_half_qty.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.half_half_qty.focus();
										return false;
									}
									var f1= obj.half_half_qty.value;
								}
								else
								{
									var f1=0;
								}
								 
								var d1 =obj.d_qty.value;

								var e1= eval(b1)+eval(c1)+eval(f1);
							 
 								if(eval(d1) !=eval(e1))
								{
									alert("Please Check  value enter for Chocolate &	Vanilla Flavor .\n  Addition not match")
									 obj.d_qty.focus();
									 return false;
								}

			}

			
						 var a=0;

							for(var i=0; i<obj.elements.length; i++)
									{
										if(obj.elements[i].name.substring(0, 10) == "chk_icing_")
										{ 
											 
													 if( obj.elements[i].checked== true)
													  {
														a=a+1
													  }
													  else
													  {
														a=a;
													  }

										}
						
									}

										if(eval(e1) > 0)
						{
							
							 
								if(a ==0)
								{
									alert("Please select Icing color(s)")
								 
									 return false;
								}
						}
						if(a > 0)
						{
									if(obj.d_qty.value=='' || obj.d_qty.value=='0' )
								{
									alert("Please Enter Number  of Cupcake")
									 obj.d_qty.focus();
									return false;
								}
						}

						if(a > 2)
						{
							alert("You can not choose more then 2 Icing colors.")
							 obj.d_qty.focus();
							 return false;
						}
				
			
 
 }

function vaild_cake_theme_new(obj)
{
	if(obj.own_cake.checked==true)
	{
			//obj.cmbtheme.disabled=true;
			obj.cmbcake.disabled=true;
			obj.chk_cake.disabled=true;

	}
	else if(obj.chk_cake.checked==true)
	{
		 obj.own_cake.disabled=true;
		// obj.cmbcake.disabled=true;
	}
	else
	{
		 obj.own_cake.disabled=false;
		 obj.chk_cake.disabled=false;
		obj.cmbtheme.disabled=false;
		obj.cmbcake.disabled=false;
	}
}
function valid_additional_food(obj)
{
	var sel2=0;
	var i;
	var upg=0;
	var z;

 	for(var i=0; i<obj.elements.length; i++)
			{
 				if(obj.elements[i].name.substring(0, 6) == "qty_f_")
				{ 
 							 if( obj.elements[i].value!= "")
							  {
 									if(isNaN( obj.elements[i].value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.elements[i].focus();
										return false;
									}
									else
								   {
									  	sel2=sel2+eval(obj.elements[i].value);
 									}
							  }
				}
 			}

for(var z=0; z<obj.elements.length; z++)
			{
 				if(obj.elements[z].name.substring(0, 10) == "upgrade_e_")
				{ 
 							 if( obj.elements[z].value!= "")
							  {
 									if(isNaN( obj.elements[z].value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.elements[z].focus();
										return false;
									}
									else
								   {
									  	upg=upg+eval(obj.elements[z].value);
 									}
							  }
				}
 			}

		

			if(sel2==0 && eval(obj.food_qt.value) != 0)
		{
			alert("Please Enter number of FREE food platters")
  			return false;
		}

		
		if(sel2 > eval(obj.food_qt.value) &&  eval(obj.food_qt.value) != 0)
			{
				alert("You can Choose Only "+obj.food_qt.value+" food platters ");
				return false;
			}	
			if(sel2 < eval(obj.food_qt.value))
			{
				alert("Please chosse  "+obj.food_qt.value+" food platters ");
				return false;
			}
	var add_food ;
	 if(obj.add_qty_f_4.value!='')
	{
	 add_food=eval(obj.add_qty_f_4.value);
	}
	else
	{
		add_food=0;
	}
	var free_food
	 if(obj.qty_f_4.value!='')
	{
	 free_food=eval(obj.qty_f_4.value);
	}
	else
	{
		free_food=0;
	}
	var upgrade_limit
upgrade_limit=free_food+add_food;
		if(upg > 0)
		{
 				if(upg > upgrade_limit )
				{
					//alert("You can Upgrade Only "+obj.food_qt.value+" Edible Arrangements Bouquet  at  $30 discount per Arrangements Bouquet");
//alert('upgrade_limit='+upgrade_limit);
					alert("Discounted upgrades only available as per specified FREE standard \n fruit platters above. If you wish to ADD ON an additional Edible \n Arrangement proceed to the next page.");
					return false;
				}
		}

 	for(var k=0; k<obj.elements.length; k++)
			{
 				if(obj.elements[k].name.substring(0,10) == "add_qty_f_")
				{ 
					 
							 if( obj.elements[k].value!= "")
							  {
 									if(isNaN( obj.elements[k].value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.elements[k].focus();
										return false;
									}
 							  }
				}
			 
			}
	 if(obj.ice_vanilla_qty.value!='')
				{
				 
				 
						if(isNaN( obj.ice_vanilla_qty.value )==true)
						{
							alert("Please Enter Number  Only")
							 obj.ice_vanilla_qty.focus();
							return false;
						}
				 
				 }
				  if(obj.ice_choco_qty.value!='')
				{
				 
				 
						if(isNaN( obj.ice_choco_qty.value )==true)
						{
							alert("Please Enter Number  Only")
							 obj.ice_choco_qty.focus();
							return false;
						}
				 
				 }
				 if(obj.ice_twist_qty.value!='')
				{
						if(isNaN( obj.ice_twist_qty.value )==true)
						{
							alert("Please Enter Number  Only")
							 obj.ice_twist_qty.focus();
							return false;
						}
				 
				 }

 return true;
 }

function valid_guest_list(form)
{
 			for(var i=0; i<form.elements.length; i++)
			{
				if(form.elements[i].name.substring(0, 8) == "txtname_" && trim(form.elements[i].value) == "" )
				{
					alert("Please Enter Name")	
					form.elements[i].focus();
					return false;
				}
			}
}

function valid_pay(obj)
{
		if(trim(obj.firstName.value) == "")
		{
			alert("Please Enter First Name");
			obj.firstName.focus();
			return false;
		}
		if(trim(obj.lastName.value) == "")
		{
			alert("Please Enter Last Name");
			obj.lastName.focus();
			return false;
		}
	  obj.email.value=trim(obj.email.value);
  		if(!isValidEmailId(obj.email,"Email"))
		{
			obj.email.focus();
			return false;
		}	

	 
		obj.address1.value=trim(obj.address1.value);
		if(obj.address1.value == "")
		{
			alert("Please Enter Address  ");
			obj.address1.focus();
			return false;
		}

		 
		obj.city.value=trim(obj.city.value);
		if(obj.city.value == "")
		{
			alert("Please Enter City  ");
			obj.city.focus();
			return false;
		} 
 
 		if(obj.state.value == "-1" || obj.state.value == "" )
		{
			alert("Please Select   Provinces ");
			obj.state.focus();
			return false;
		}
		 

 		obj.zip.value=trim(obj.zip.value);
		if(obj.zip.value == "")
		{
			alert("Please Enter postal code 	 ");
			obj.zip.focus();
			return false;
		}
 

		if(trim(obj.creditCardNumber.value) == "")
		{
			alert("Please Enter Credit Card Number ");
			obj.creditCardNumber.focus();
			return false;
		}

		if(obj.expDateMonth.selectedIndex == '0')
		{
			alert("Please Select month Of Card Exp. ");
			obj.expDateMonth.focus();
			return false;
		}

		if(obj.expDateYear.selectedIndex == '0')
		{
			alert("Please Select Year Of Card Exp. ");
			obj.expDateYear.focus();
			return false;
		}
		if(trim(obj.cvv2Number.value) == "")
		{
			alert("Please Enter CVV Code ");
			obj.cvv2Number.focus();
			return false;
		}
		if(obj.terms.checked==false)
		{
			alert("Please Check the Terms & Condition");
			obj.terms.focus();
			return false;
		}
 
}

function popup1(ID)
{
 window.open("invition_popup.php?BID="+ID,"","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");
}


function popup2(ID)
{
 window.open("recipt_popup.php?BID="+ID,"","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");
}

function popup3(ID)
{
 window.open("thanks_popup.php?BID="+ID,"","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");
}

function download(ID)
{
 window.open("download.php?FID="+ID,"","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");

}

function popup_notice ()
{
 window.open("notice.php","","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");
}

function download_waiver()
{
 window.open("download_waiver.php","","resizable=yes,width=700,height=400,scrollbars=yes,status=no,screenX=350,toolbar=no,directories=no,status=yes,menubar=no");
 }

 function validate_addon(obj)
 {
 							 if( obj.face_paint_no.value!= "")
							  {
 									if(isNaN( obj.face_paint_no.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.face_paint_no.focus();
										return false;
									}
							}
							 if( obj.g_tatoos.value!= "")
							  {
 									if(isNaN( obj.g_tatoos.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.g_tatoos.focus();
										return false;
									}
							}

 							 if( obj.g_glitter_kit.value!= "")
							  {
 									if(isNaN( obj.g_glitter_kit.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.g_glitter_kit.focus();
										return false;
									}
							}

 							 if( obj.b_glitter_kit.value!= "")
							  {
 									if(isNaN( obj.b_glitter_kit.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.b_glitter_kit.focus();
										return false;
									}
							}
 							
							 if( obj.c_glitter_kit.value!= "")
							  {
 									if(isNaN( obj.c_glitter_kit.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.c_glitter_kit.focus();
										return false;
									}
							}

 							 if( obj.std_loot_bag_b.value!= "")
							  {
 									if(isNaN( obj.std_loot_bag_b.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.std_loot_bag_b.focus();
										return false;
									}
							}
							
							 if( obj.std_loot_bag_g.value!= "")
							  {
 									if(isNaN( obj.std_loot_bag_g.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.std_loot_bag_g.focus();
										return false;
									}
							}
							
 							 if( obj.stir_loot_bag_b.value!= "")
							  {
 									if(isNaN( obj.stir_loot_bag_b.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.stir_loot_bag_b.focus();
										return false;
									}
							}
							
							 if( obj.stir_loot_bag_g.value!= "")
							  {
 									if(isNaN( obj.stir_loot_bag_g.value )==true)
									{
										alert("Please Enter Number  Only")
										 obj.stir_loot_bag_g.focus();
										return false;
									}
							}
 }
