var adv_search = 0
var pagecontent = ""
function advancedsearch(refineby)	
{
	//alert('hello');
	//create string of selected type id's
	var type = "";
	$(".type").each(function(){
		if($(this).is(":checked"))
		{
			type += $(this).attr("id")+";;"
		}
	});
	
	//create string of selected distance id's
	var distance = "";
	$(".distance").each(function(){
								 
		if($(this).is(":checked"))
		{
			distance += $(this).attr("id")+";;"
		}
	});
	
	var country = -1;
	if($("#adv_country").val() != 0)
	{
		country = $("#adv_country").val();
	}
	var city = -1;
	if($("#adv_city").val() != 0)
	{
		city = $("#adv_city").val();
	}	
	
	//alert($("#adv_country").val()+" c & c "+country)
	
	var difficulty = "";
	$(".difficulty").each(function()
	{
		if($(this).is(":checked"))
		{
			difficulty += $(this).attr("id")+";;"
		}
	});	
	
	//create string of selected distance id's
	var startdate = "";
	if( ($("#startdate").val().length) > 0)
	{
		startdate = $("#startdate").val()
	}
	
	var enddate = "";	
	
	if( ($("#enddate").val().length) > 0)
	{
		enddate = $("#enddate").val()		
	}

	$("#content").html("")
	$.post("ajax/advsearch.php",{refineby:refineby,type:type,distance:distance,startdate:startdate,enddate:enddate,country:country,city:city,difficulty:difficulty},function(data){
		data = eval(data)
		$("#content").html(data[0]);
		if(data[1] != -1)
		{
			$("#adv_types").html(data[1]);			
		}
		if(data[2] != -1)
		{
			$("#adv_distances").html(data[2]);		
		}
		if(data[3] != -1)
		{
			$("#adv_country").html(data[3]);				
		}
		if(data[4] != -1)
		{
			$("#adv_difficulties").html(data[4]);						
		}
		if(data[5] != -1)
		{
			$("#adv_city").html(data[5]);					
		}		
	},"json")
}


function updateoptions()
{
	var typeid		=	$("#type").val();
	var distance	=	$("#distance").val();
	var location	=	$("#location").val();
	var season 		=	$("#season").val();
	
	
	$.post("ajax/updatequsearch.php",{typeid:typeid,distance:distance,location:location,season:season},function(data){
		data= eval(data);
		if (data[0].length > 0)
		{
			$("#type").html(data[0])
		}
		
		if (data[1].length > 0)
		{
			$("#distance").html(data[1])
		}
		
		if (data[2].length > 0)
		{
			$("#location").html(data[2])
		}	
		if (data[3].length > 0)
		{
			$("#season").html(data[3])
		}			
	},"json")
}

var memberchange = 0;

function creatememberfields(i)
{
	i = parseInt(i)

	html='<div id="member_inputs_'+(i+1)+'"><div class="left fifty paddinTop10"><span id="Member'+(i+1)+'_title">Member '+(i+1)+' Title </span><span class="shrink red">(required)</span></div><div class="left fifty paddinTop10"><select id="member_title_'+(i+1)+'" name="Member_Title_'+(i+1)+'"><option value="0">Please select</option><option value="Mr">Mr</option><option value="Ms">Ms</option><option value="Mrs">Mrs</option><option value="Dr">Dr</option><option value="Other">Other</option></select></div><div class="clear"></div><div class="left fifty paddinTop10">If other, please specify:</div><div class="left fifty paddinTop10"><input name="Member_Title_Other_'+(i+1)+'" id="member_title_other_'+(i+1)+'"/></div><div class="clear"></div><div class="left fifty paddinTop10">Member '+(i+1)+' First name<br/><span class="shrink">(as per passport)</span></div><div class="left fifty paddinTop10"><input name="Member_First_Passport_'+(i+1)+'" id="member_first_passport_'+(i+1)+'"/></div><div class="clear"></div><div class="left fifty paddinTop10"><span id="Member'+(i+1)+'_surname">Member '+(i+1)+' Surname </span><span class="shrink red">(required)</span><br/><span class="shrink">(as per passport)</span></div><div class="left fifty paddinTop10"><input id="member_surname_'+(i+1)+'" name="Member_Surname_'+(i+1)+'"/></div><div class="clear"></div><div class="left fifty paddinTop10"><span id="Member'+(i+1)+'_knownas">Member '+(i+1)+' known as </span><span class="shrink red">(required)</span></div><div class="left fifty paddinTop10"><input id="member_knownas_'+(i+1)+'" name="Member_Known_As_'+(i+1)+'"/></div><div class="clear"></div><div class="left fifty paddinTop10">Member '+(i+1)+' Email address</div><div class="left fifty paddinTop10"><input id="member_email_'+(i+1)+'" name="Member_Email_'+(i+1)+'"/></div><div class="clear"></div><div class="left fifty paddinTop10"><span id="Member'+(i+1)+'_evententry">Event entry </span><span class="shrink red">(required)</span></div><div class="left fifty paddinTop10">Yes <input type="radio" name="Member_'+(i+1)+'_Event_Entry" value="1"> No <input type="radio" name="Member_'+(i+1)+'_Event_Entry" value="0"></div></div>' 
	$("#extramembers").append(html)
}
function deletememberfields(i)
{
	//alert(i)
	$("#member_inputs_"+(i+1)).remove();
}


function extramemberinputs()
{
	members = $("#memberchange").val()
	
	if(members < 0)
	{
		members = 0;	
	}
	
	//alert(members+" > "+memberchange)
	if(members > memberchange)
	{
		//alert("Create - "+memberchange+" <= "+members)
		for (i=memberchange;i<members;i++)
		{
			//create member box and append to member container
			creatememberfields(i)
		}
	}
	else
	{
		//alert("delete - "+members+" >= "+memberchange)
		for (i=memberchange;i >= members;i--)
		{
			//alert("delete - "+i)
			//delete member boxes for those necessary	
			deletememberfields(i)
		}
	}
		//show boxes
	$("#extramembers").show()
	memberchange = $("#memberchange").val()
	if(memberchange < 0)
	{
		memberchange = 0;	
	}
}

function submit_booking()
{
	error = false
var msg ="<ul>"

	if ($("#organiser_title").val() != 0)
	{
		if( $("#organiser_title").val() == 'Other' ) //if set to other, check other is filled out
		{
			if ( ($("#organiser_title_other").val()).length == 0)
			{
				error = true;	
				//msg	+= "<li>Organiser title set to other, but other not filled out</li>";
				$("#title_err").addClass("formerror");
			}
			else
			{
				$("#title_err").removeClass("formerror");
			}
		}else
		{
			$("#title_err").removeClass("formerror");			
		}
	}
	else
	{
		//organiser title not set	
		error = true;			
//		msg	+= "<li>Organiser title not filled out</li>";
		$("#title_err").addClass("formerror");
	}
	
	if (($("#organiser_surname").val()).length == 0)
	{
		//organiser surname not filled out
		error = true;			
		//msg	+= "<li>Organiser surname not filled out</li>";
		$("#surname_err").addClass("formerror");		
	}
	else
	{
		$("#surname_err").removeClass("formerror");	
	}
	if (($("#dayphone").val()).length == 0)
	{
		//organiser surname not filled out
		error = true;			
		//msg	+= "<li>Organiser surname not filled out</li>";
		$("#dayphone_err").addClass("formerror");		
	}
	else
	{
		$("#dayphone_err").removeClass("formerror");	
	}


	if (($("#organiser_knownas").val().length) == 0)
	{
		//organiser surname not filled out
		error = true;			
	//	msg+= "<li>Organiser first name (known as) not filled out</li>"
		$("#firstname_err").addClass("formerror");		
	
	}
	else
	{
		$("#firstname_err").removeClass("formerror");	
		
	}

	if (($("#organiser_email").val().length) == 0)
	{
		//organiser surname not filled out
		error = true;			
		//msg+= "<li>Organiser email not filled out</li>"
		$("#email_err").addClass("formerror");				
	}	
	else
	{
		//alert(echeck($("#organiser_email").val()))
		if (!isValidEmailAddress($("#organiser_email").val()))
	 	{
//  			msg+= "<li>Organiser email appears to be incorrect, please check</li>"
			error = true;
			$("#email_err").addClass("formerror");				
	 	}
		else
		{
			$("#email_err").removeClass("formerror");							
		}
	}
	
	 if ($("input[@name='event_entry']:checked").val() == '1')
     {   
	 	//yes
		$("#evententry_err").removeClass("formerror");						
	 }
     else if ($("input[@name='event_entry']:checked").val() == '0')
	 {
         //no
		$("#evententry_err").removeClass("formerror");						 
	 }
     else
	 {
		 //not set
		error = true;			
  		//msg+= "<li>Organiser must set whether or not event entry is required with the booking</li>"
		$("#evententry_err").addClass("formerror");				
	 }

	if ($("#groupflights").val() == 0)
	{
		error = true;			
  		//msg+= "<li>You must select your flight preferences</li>"	
		$("#groupflights_err").addClass("formerror");	
	}
	else
	{
		$("#groupflights_err").removeClass("formerror");		
	}

	if ($("#hoteloptions").val() < 0)
	{
		error = true;			
//  		msg+= "<li>You must select your hotel preference</li>"	
		$("#accomm_err").addClass("formerror");		
	}	
	else
	{
		$("#accomm_err").removeClass("formerror");		
	}

	if (!$("#terms").is(":checked"))
	{
		error = true;			
//  		msg+= "<li>You must agree to our terms & conditions</li>"	
		$("#tcs_err").addClass("formerror");		
	}
	else
	{
		$("#tcs_err").removeClass("formerror");			
	}

	if ($("#memberchange").val() > 0)
	{
		//member boxes to check
		for (i=1;i<=$("#memberchange").val();i++)
		{
			//check required member boxes	
			if ($("#member_title_"+i).val() != 0)
			{
				$("#Member"+i+"_title").removeClass("formerror")
				
				if( $("#member_title_"+i).val() == 'Other' ) //if set to other, check other is filled out
				{
					if ( ($("#member_title_other_"+i).val()).length == 0)
					{
						error = true;	
						//msg	+= "<li>Member "+i+" title set to other, but other not filled out</li>";
						$("#Member"+i+"_title").addClass("formerror")
						
					}
					else
					{
						$("#Member"+i+"_title").removeClass("formerror")						
					}
				}
			}
			else
			{
				//organiser title not set	
				error = true;			
				$("#Member"+i+"_title").addClass("formerror")
//				msg	+= "<li>Member "+i+" title not filled out</li>";
			}
		
			if (($("#member_surname_"+i).val().length) == 0)
			{
				//organiser surname not filled out
				error = true;			
//				msg+= "<li>Member "+i+" surname not filled out</li>"
				$("#Member"+i+"_surname").addClass("formerror")
				
			}
			else
			{
				$("#Member"+i+"_surname").removeClass("formerror")
			}
			
			if (($("#member_knownas_"+i).val().length) == 0)
			{
				//organiser surname not filled out
				error = true;			
			//	msg+= "<li>Member "+i+" first name (known as) not filled out</li>"
				$("#Member"+i+"_knownas").addClass("formerror")
			}
			else
			{
				$("#Member"+i+"_knownas").removeClass("formerror")
			}
			
			if ($("input[@name='Member_"+i+"_evententry']:checked").val() == '1')
		    {   
			 	//yes
				$("#Member"+i+"_evententry").removeClass("formerror")
			}
		    else if ($("input[@name='Member_"+i+"_evententry']:checked").val() == '0')
			{
		        //no
				$("#Member"+i+"_evententry").removeClass("formerror")				
			}
		    else
			{
				 //not set
				error = true;			
//		  		msg+= "<li>Member "+i+" must set whether or not event entry is required with the booking</li>"
				$("#Member"+i+"_evententry").addClass("formerror")
			}
	 

		}
	}

	msg += "</ul>";

	if (!error)
	{
		$("#the_booking_form").submit()
//		alert($("#the_booking_form"))
	}else
	{
		msg = "Sorry,nearly there but it appears that some of the required fields are not correctly filled out. Please check the fields marked in red.";
		//output error
		alert(msg)
	}
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}




$(document).ready(function() {
	
	$('.eventSearchText').click(function() {
		$(this).next().toggle('slow');

		if($(this).attr("id")=="adv")
		{
			if( adv_search == 0)
			{
				//if advanced search opening, load initial search results
				adv_search = 1
				pagecontent = $("#content").html()
				advancedsearch()
			}
			else
			{
				//if advanced search closing, reset flag
				adv_search = 0
				$("#content").html(pagecontent)
			}
		}
	})
	
	$('#quickclose').click(function() {
		$(this).parent().toggle('slow');
		return false;
	})
	
	$('#advclose').click(function() {
		$(this).parent().toggle('slow');
		$("#content").html(pagecontent)
		adv_search = 0
		pagecontent ="";
		return false;
	})
	
 	$(".date").datepicker({dateFormat: 'dd/mm/yy',changeYear: true});
 	$(".bookdate").datepicker({dateFormat: 'dd/mm/yy',changeYear: true});
 	$(".dobdate").datepicker({dateFormat: 'dd/mm/yy',changeYear: true,yearRange:"-75:50"});

	$(".date").change(function(){advancedsearch()});

	
});

function submit_contact()
{
	
	var	error = false;			

	if (($("#contact_surname").val()).length == 0)
	{
		//organiser surname not filled out
		error = true;			
		//msg	+= "<li>Organiser surname not filled out</li>";
		$("#surname_err").addClass("formerror");		
	}
	else
	{
		$("#surname_err").removeClass("formerror");	
	}
	

	if ($("#mailme").val() < 0)
	{
	//organiser surname not filled out
		error = true;			
	//	msg+= "<li>Organiser first name (known as) not filled out</li>"
		$("#mailme_err").addClass("formerror");	
	}
	else
	{
		$("#mailme_err").removeClass("formerror");		
	}
	
	if (($("#contact_firstname").val().length) == 0)
	{
		//organiser surname not filled out
		error = true;			
	//	msg+= "<li>Organiser first name (known as) not filled out</li>"
		$("#firstname_err").addClass("formerror");		
	
	}
	else
	{
		$("#firstname_err").removeClass("formerror");	
		
	}


	if (($("#contact_email").val().length) == 0)
	{
		//organiser surname not filled out
		error = true;			
		//msg+= "<li>Organiser email not filled out</li>"
		$("#email_err").addClass("formerror");				
	}	
	else
	{
		//alert(echeck($("#organiser_email").val()))
		if (!isValidEmailAddress($("#contact_email").val()))
	 	{
//  			msg+= "<li>Organiser email appears to be incorrect, please check</li>"
			error = true;
			$("#email_err").addClass("formerror");				
	 	}
		else
		{
			$("#email_err").removeClass("formerror");							
		}
	}
	
	
if (!error)
	{
		$("#the_contact_form").submit()
//		alert($("#the_booking_form"))
	}else
	{
		msg = "Sorry,nearly there but it appears that some of the required fields are not correctly filled out. Please check the fields marked in red.";
		//output error
		alert(msg)
	}	
	
	
	
	
	
	
	
	
}
