$(function() {
	$( "#from_date" ).datepicker({ dateFormat: 'dd-mm-yy' });
	$( "#to_date" ).datepicker({ dateFormat: 'dd-mm-yy' });
	
	jQuery.validator.addMethod("greaterThan", function(value, element) {
		
		//var dateChunks = $("#from_date").val().split('-');
		
		var startDate = new Date();
		
		var startDateTime = startDate.setHours($("#from_hr").val(), $("#from_min").val());
		var endDateTime = startDate.setHours($("#to_hr").val(), $("#to_min").val());
		//alert(startDateTime);
		//alert(endDateTime);
		
		//alert($("#to_hr").val()); alert($("#to_min").val());
		if ($("#from_min").val() != '' || $("#from_hr").val() != '' || $("#to_hr").val() != '' || $("#to_min").val() != '')
		{
			//alert('r');
			if($("#duration").val() == 1) {
				if ($("#from_hr").val() == '')
					{ return false; }
			
				if ($("#from_min").val() == '')
					{ return false; }
			
				if ($("#to_hr").val() == '')
					{ return false; }
			
				if ($("#to_min").val() == '')
					{ return false; }
			}
		}
		
		if ($("#from_min").val() != '' && $("#from_hr").val() != '' && $("#to_hr").val() != '' && $("#to_min").val() != '') {
			if ($("#duration").val() == 1)
			{		
				return (startDateTime < endDateTime);
			}
		}
		
		
		return true;
	    
	}, "Please enter an end time after start time");
	
	
	
	jQuery.validator.addMethod("checkEndDate", function(value, element) {
		
		if ($("#duration").val() == 2)
		{
			var fromDateChunks = $("#from_date").val().split('-');
			
			var startDate = new Date(fromDateChunks[2], fromDateChunks[1]-1, fromDateChunks[0]);
			
			var toDateChunks = $("#to_date").val().split('-');
			
			var endDate = new Date(toDateChunks[2], toDateChunks[1]-1, toDateChunks[0]);
	
			return (startDate < endDate);
		}
		
		return true;
	    
	}, "Please enter an end date after start date"); 
	
	
	jQuery.validator.addMethod("dateDMY", function(value, element) {
		
		var date = value;
		
		if (date != '')
		{
			var chunks = date.split('-');
			
			if (parseInt(chunks[0]) <= 31 && parseInt(chunks[1]) <=12 && parseInt(chunks[2]) >=1900 && parseInt(chunks[2]) < 3000)
			{
				return true;
			}
			
			return false;
		}
		return true;
	}, "Please enter a valid date");
	
	jQuery.validator.addMethod("ukPhoneNo", function(value, element){
		var telNo = value;
		var telNoPattern = /^[0-9 ()-+]*$/;
		
		if (telNo.search(telNoPattern) == 0 && (telNo.length >= 10 && telNo.length <= 20))
		{
			return true;
		}
		
		return false;
	}, "Please enter valid phone number");
	
	$("#add_event_form").validate({
		 errorLabelContainer: "#messageBox",
		   wrapper: "li",
		   rules: {
			   //from_hr: "required",
			   to_min:{ greaterThan : true },
			   to_date: { 
				   			dateDMY: true,
				   			checkEndDate : true
				   		},
			   from_date: { dateDMY: true },
			   ctel: { ukPhoneNo: true }
		   },
		   messages: {
			    title: "Please enter event name ",
			     type: "Please select event type",
			     organsier:"Please enter  event organiser name ",
			     organiser:"Please enter  event organiser name ",
			  venue_name: "Please enter event venue name ",
			  address1: "Please enter address",
			  postcode_1: "Please enter postcode section 1",
			  postcode_2: "Please enter postcode section 2",
			  from_date: {
				  		  required: "Please enter event start date",
				  		  dateDMY: "Please enter a valid start date"
			  			},
			  
			  to_date: {
				  		required: "Please enter event end date",
				  		checkEndDate: "Please enter an end date after start date",
				  		dateDMY : "Please enter a valid end date"
			  			},
			  
			  entry: "Please enter event end date",
			  fileToUploadHidden1: "Please upload event image 1",
			  fileToUploadHidden2: "Please upload event image 2",
			  fileToUploadHidden3: "Please upload event image 3",
			  description: "Please enter event description",
			  fname: "Please enter your first name",
			  lname: "Please enter your last name",
			  company: "Please enter your organisation name",
			  cemail:"Please enter your email address",
			  ctel: {
				  	 required: "Please enter your telephone number",
				  	 ukPhoneNo: "Please enter valid phone number"
				  	}
		   }
		
	});
	
	
	$("#add_event_form_2").validate({
		 errorLabelContainer: "#messageBox",
		   wrapper: "li",
		   rules: {
			   to_min:{ greaterThan : true },
			   to_date: { 
				   			dateDMY: true,
				   			checkEndDate : true
				   		},
			   from_date: { dateDMY: true },
			   ctel: { ukPhoneNo: true }
		   },
		   messages: {
			  title: "Please enter event name ",
			  partner_id: "Please select the Event Organiser",
			  type: "Please select event type",
			  organiser: "Please enter event Event Organiser",
			  venue_name: "Please enter event venue name ",
			  address1: "Please enter address",
			  postcode_1: "Please enter postal code section 1",
			  postcode_2: "Please enter postal code section 2",
			  from_date: {
			  		  required: "Please enter event start date",
			  		  dateDMY: "Please enter a start date in valid format"
		  			},
	  
	  			to_date: {
			  		required: "Please enter event end date",
			  		checkEndDate: "Please enter an end date after start date",
			  		dateDMY : "Please enter end date in invalid format"
		  			},
			  entry: "Please enter event end date",
			  fileToUploadHidden1: "Please upload event image 1",
			  fileToUploadHidden2:"Please upload event image 2",
			  fileToUploadHidden3:"Please upload event image 3",
			  description:"Please enter event description",
			  fname:"Please enter First Name",
			  lname:"Please enter Last Name",
			  company:"Please enter Organisation",
			  cemail:"Please enter Email",
			  ctel: {
				  	 required: "Please enter your telephone number",
				  	 ukPhoneNo: "Please enter a valid phone number"
				  	}
			  
		   }
		
	});
	
	
	$("#partner_profile_form").validate({
		 errorLabelContainer: "#messageBox",
		   wrapper: "li",
		   rules: {
			   tel_personal: { ukPhoneNo: true }
		   },
		   messages: {
			  organisation:"Please Organisation Name",
			  postcode_1:"Please Postcode section 1",
			  postcode_2:"Please Postcode section 2",
			  fname:"Please enter First Name",
			  lname:"Please enter Last Name",
			  position:"Please enter Position",
			  email_personal:"Please enter Email",
			  tel_personal:
			  				{
						  	 required: "Please enter your telephone number",
						  	 ukPhoneNo: "Please enter a valid telephone number"
						  	}
			  
		   }
		
	});

	// Changing jquery validate required
	$(".main_image").change(function(e) {
		var selectedImage = $(this).val();
		$(".uploadRadioHidden").removeClass("required error");
		$("#fileToUploadHidden"+selectedImage).addClass("required");
		
		//alert($(this).val());
	});
	
//	$(".main_image").change(function(e) {
//		var selectedImage = $(this).val();
//		$(".uploadRadioHidden").removeClass("required error");
//		$("#fileToUploadHidden"+selectedImage).addClass("required");
//		
//		//alert($(this).val());
//	});

	
	$("#login_form").validate();
	
});



$(document).ready(function(){
	var selected_main = $("input:radio[name=main_image]:checked").val();
	$(".uploadRadioHidden").removeClass("required error");
	$("#fileToUploadHidden"+selected_main).addClass("required");
  	$('#duration').change(
  		function(){duration_toggle(this.value); }
  		
  	);
  	duration_toggle($('#duration').val());
	$('.slideshow').cycle({
		fx: 'fade'
			
	});
	var event_count = $('.event_count').val();
	
	
	if(event_count == 0){
		
		$('.share_link').hide();
	}
	else{
		$('.share_link').show();
	}


	$("#subscribe_form").validate({
		  rules: {
			  email: "required email",
			  confirm_email: {
		      equalTo: "#email"
		    }
		  },
		  errorLabelContainer: "#messageBox",
		   wrapper: "li",

		  messages: {
			  fname: "Please enter your first name",
			 lname: "Please enter your last name",
			     email: {
			       required: "Please enter your email address",
			       email: "Please enter an email address in the format of name@domain.com"
			     },
			     confirm_email:"Please enter the Confirmation email exactly as your Email"
			   },

		  submitHandler: function() {
			  var fname = $('#fname').val();
			  var lname = $('#lname').val();
			  var org = $('#org').val();
			  var email = $('#email').val();
			  if($("#md").is(':checked')){
				  
				  md = 1;
			  }else{
				  
				  md =0 ;
			  }
			  if($("#wer").is(':checked')){
				  
				  wer=1;
				 
			  }else{
				  
				  wer =0;
				
			  }
			  $.ajax({
				   type: "POST",
				   url: "subscribe_save.php",
				   data: "fname="+fname+"&lname="+lname+"&org="+org+"&email="+email+"&md="+md+"&wer="+wer+"&a=sub",
				   success: function(msg){
				    $('.sub_result').html(msg) ;
				   }
				 });
		  
		  }

		});
	
	
	
	$("#datepicker").datepicker({
        buttonImage: 'media_new/btns/calendar.png',
        buttonImageOnly: true,
        changeMonth: true,
        changeYear: true,
        showOn: "button",
        buttonText : "pick a date"

     });
	
	$("#email_form").validate();
	
	$("#from_min").change(function(){
		if ($("#from_hr").val() == '..')
		{
			$("#from_hr option[value='00']").attr('selected', 'selected');
		}
	});
	
	$("#to_min").change(function(){
		if ($("#to_hr").val() == '..')
		{
			$("#to_hr option[value='00']").attr('selected', 'selected');
		}
	});
	

	
});



function unsubscribe(){
	
	$('#communication_prefs_form').validate({
		 errorLabelContainer: "#messageBox",
		 wrapper: "li",
		 submitHandler: function() {
		  var email = $('#email').val();
		  
		  $.ajax({
			   type: "POST",
			   url: "subscribe_save.php",
			   data: "&email="+email+"&a=unsub",
			   success: function(msg){
				  
			    $('.sub_result').html(msg) ;
			   }
			 });
		 }
	 });

	
}

function change_prefs(){
	
	$('#communication_prefs_form').validate({
		 errorLabelContainer: "#messageBox",
		 wrapper: "li",
		 submitHandler: function() {
		  var email = $('#email').val();
		  
		  if($("#md").is(':checked')){
			  
			  md = 1;
		  }else{
			  
			  md =0 ;
		  }
		  if($("#wer").is(':checked')){
			  
			  wer=1;
			 
		  }else{
			  
			  wer =0;
			
		  }
		 
		  $.ajax({
			   type: "POST",
			   url: "subscribe_save.php",
			   data: "&email="+email+"&md="+md+"&wer="+wer+"&a=change_prefs",
			   success: function(msg){
				  
			    $('.sub_result').html(msg) ;
			   }
			 });
		 }
	 });

	
}

function search_past_events(page){
	
	var search = $('.search').val();
	
	$.ajax({
		   type: "POST",
		   url: "search_result.php",
		   data: "&search="+search+"&page="+page+"&s=past",
		   success: function(msg){
			  
		    $('.search_result').html(msg) ;
			$('.past').html('<a href="javascript:void(0);" class="txt1" onclick="search_present_events(1);" title="Exclude past events">Exclude past events</a><input type="hidden" name ="event_type" class ="event_type" value="past" />');

		   }
		 });
	
}
function search_present_events(page){
	
	var search = $('.search').val();
	
	$.ajax({
		   type: "POST",
		   url: "search_result.php",
		   data: "&search="+search+"&page="+page+"&s=present",
		   success: function(msg){
			 $('.search_result').html(msg) ;
			 $('.past').html('<a href="javascript:void(0);" class="txt1" onclick="search_past_events(1);" title="Include past events">Include past events</a><input type="hidden" name ="event_type" class ="event_type" value="present" />');

		   }
		 });
	
}
function search_pager(page){
	
	var event_type = $('.event_type').val() ;
	
	if(event_type == 'past'){
		
		search_past_events(page)
	}else{
		
		search_present_events(page) ;
	}
		
}


function showDate()
{
	  var xdate = $("#datepicker").val();

	  var ajax_load = "Loading..";

	  var loadUrl = "day.php?date="+xdate;
	  window.location=loadUrl;

  

}
function export_confirm(url){
	$('blockquote').hide() ;

	window.location = url;
				

	
}

function get_orgs(type){
	
	$.ajax({
		   type: "POST",
		   url: "orgs.php",
		   data: "&type="+type,
		   success: function(msg){
			   if(type =='gen'){
					 
					 $('.gen').attr('src', 'media_new/btns/general_on.png');
					 $('.galleries').attr('src', 'media_new/btns/galleries.png');
					 $('.school').attr('src', 'media_new/btns/schools.png');
				 }
				 else if(type =='gallery'){
					
					 $('.gen').attr('src', 'media_new/btns/general.png');
					 $('.galleries').attr('src', 'media_new/btns/galleries_on.png');
					 $('.school').attr('src', 'media_new/btns/schools.png');
					 
				 }
				 else if(type=='school'){
					 
					 $('.gen').attr('src', 'media_new/btns/general.png');
					 $('.galleries').attr('src', 'media_new/btns/galleries.png');
					 $('.school').attr('src', 'media_new/btns/schools_on.png');
				 }
			 $('.orgs_results').html(msg) ;
			 

		   }
		 });
}

function share(){
	
	var s = $('blockquote').css('display') ;
	
	if(s=='none'){
	
	$('blockquote').show() ;
	}
	else if(s=='block'){
		$('blockquote').hide() ;
	}
}
function past_editors(){
	
	var s = $('#past_editors').css('display') ;
	
	if(s=='none'){
	
	$('#past_editors').show() ;
	}
	else if(s=='block'){
		$('#past_editors').hide() ;
	}
}

function duration_toggle(dur) {
	if(dur == 1) {
		$('.tr_end_date').hide();
		$('#to_date').val('');						//reset value on edit
		$('#to_date').removeClass('required');		// remove required class
		$('.tr_start_time').show();
		$('.tr_end_time').show();
		//$('#to_hr').val($('options:first', $('#to_hr')).val());			//reset select boxes
		//$('#to_min').val($('options:first', $('#to_min')).val());
		//$('#from_hr').val($('options:first', $('#from_hr')).val());
		//$('#from_min').val($('options:first', $('#from_min')).val());
	}
	else if(dur == 2) {
		$('.tr_end_date').show();
		$('#to_date').addClass('required');			// add required class
		$('.tr_start_time').hide();
		$('.tr_end_time').hide();
	}
}


function disable_hours_less_than(hour, selector, disabledClass)
{
	for (i=hour-1; i<=24; i++)
	{
		if (i < 10 && i != hour)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").removeAttr('disabled');
		$(selector+" option[value='"+i+"']").removeClass(disabledClass);
	}
	
	for (i=hour-1; i>=0; i--)
	{
		if (i < 10 && i != hour)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").attr('disabled', 'disabled');
		$(selector+" option[value='"+i+"']").addClass(disabledClass);
	}
}

function disable_hours_greater_than(hour, selector, disabledClass)
{
	hour = hour+1;
	for (i=hour; i>=0; i--)
	{
		if (i < 10 && i != hour)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").removeAttr('disabled');
		$(selector+" option[value='"+i+"']").removeClass(disabledClass);
	}
	
	for (i=hour; i<=24; i++)
	{
		if (i < 10 && i != hour)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").attr('disabled', 'disabled');
		$(selector+" option[value='"+i+"']").addClass(disabledClass);
	}
}


function disable_mins_less_than(min, selector, disabledClass)
{
	for (i=min; i<=45; i+=15)
	{
		if (i < 10 && i != min)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").removeAttr('disabled');
		$(selector+" option[value='"+i+"']").removeClass(disabledClass);
	}
	
	for (i=min; i>=0; i-=15)
	{
		if (i < 10 && i != min)
		{
			i = '0'+i;
		}

		$(selector+" option[value='"+i+"']").attr('disabled', 'disabled');
		$(selector+" option[value='"+i+"']").addClass(disabledClass);
	}
}
function toggle_welcome() {
	$('.welcome_message').hide('slide', { direction: 'up' }, 500);
	$.cookies.set("welcome_flag","1");
	//$('#welcome_message').fadeOut(1000);
	//$('#content_table').show('slide', { direction: 'down' }, 800);
	//$('#welcome_message').slideUp('slow');
	//$('#content_table').slideUp('slow');
	//$('#welcome_message').animate({
	//	opacity:0
	//});
	
}
function test_cookie() {
	if(!$.cookies.test()){
		$('body').append("<div style=' margin:auto; position: absolute;top:0;left:0; right:0; width:40%; height:50px; background:#ebeaea; border:#939393 2px solid; text-align:center; padding-top:10px;'> <p style='font:bold 12px Verdana, Arial; text-align:center; color:#7e7e7e;'>Cookies are disabled in your browser. <br /> Please enable cookies.</p></div>");
	}
}
