var options,a;
$(document).ready(function() {
	options = { 
	  	serviceUrl: '/getpages?is_ajax=1',
	  	onSelect: function(value, data) { 
			if (data.id != false) {
				$('#search-field').val(data.selected_name);
				location.href = data.url;
				return false;
				$('#search-form').submit();
				return false;
			}
	  	},
	  	minChars: 3,
	  	deferRequestBy: 500,
	  	width: 250
	  };
	  a = $('#search-field').autocomplete(options);
	  
		  
	var this_date = new Date();
	$('#header_container, #body_container, #editor, #logos').find('a.window_link').click(function() {
	  	window.open(this.href);
	  	return false;
	  });

	if (window.location.pathname != '/' && window.location.pathname != '' && window.location.pathname != '/home' && window.location.pathname != '/pet-protectors') {
  	$('#pricings_area').append('<div id="print"><a href="#print">Print this page</a></div>');
		$('#pricings_area div#print a').click(function() {
			window.print();
			return false;
		});
	}
  
  $('#header_container, #body_container, #editor').find('a.confirm_link').click(function() {
  	return confirm('Are you sure you wish to proceed?');
  });
  
  /*$('div#banners a').bind('click', function(e) {
	  var bannerid = $(this).parents('.banner_content_pane').attr('id');
	  var banner_id = bannerid.substr(6);
	  var path = this.href;
		jQuery.ajax({
		  type: "GET",
		  url: window.location.pathname + '?is_ajax=1&banner='+banner_id,
		  dataType: 'html',
		  async: false
		});
  });*/
  
  $('#first-feature').bind('click', function(e) {
	 e.preventDefault();
	 $('#home_menu ul').hide();
	 $('#home_menu ul > li:first').appendTo('#home_menu ul');
	 $('#home_menu ul').fadeIn();
  });
  $('#last-feature').bind('click', function(e) {
	 e.preventDefault();
	 $('#home_menu ul').hide();
	 $('#home_menu ul > li:last').prependTo('#home_menu ul');
	 $('#home_menu ul').fadeIn();
  });
  
  $("#vote_box_other").attr('disabled', true);
  $("#vote_box_other").hide();
	
$('input.vote').bind('click', function(e) {
	$("#vote_box_other").attr('disabled', true);
	$("#vote_box_other").hide();
});
$('input#vote_other').bind('click', function(e) {
	$("#vote_box_other").attr('disabled', false);
	$("#vote_box_other").show();
});
  
  $('a.lightbox').lightBox();
  
  $(".help_div").hide();
  
  $("input.remove_default").bind('click', function(e) {
  	$(this).val('');
  });
  
  $('a.tab_link').each(function() { 
     this.href = this.title;
  });
  
  var tabcount = $('#banner_tabs_ul > li');
  var tabrun = 0;
  $("#banner_home_text").tabs({
	  ajaxOptions: { cache: false },
	  	cache: false,
	  	event: 'click',
	  	selected: '1',
	  	fx: {
	  		opacity: 'toggle',
	  		duration: 'slow'
	  	}
	  }).tabs('rotate', 10000, true);
  
  function nextTab() {
	  var $tabs = $('#banner_home_text').tabs();
	  var selected = $tabs.tabs('option', 'selected'); 
	  selected++;
	  
	  if (selected == 5) selected = 0;
	  $("#banner_home_text").tabs( "option", "selected", selected );
  }
  function prevTab() {
	  var $tabs = $('#banner_home_text').tabs();
	  var selected = $tabs.tabs('option', 'selected'); 
	  --selected;
	  if (selected < 0) selected = 2;
	  $("#banner_home_text").tabs( "option", "selected", selected );
  }
  
  $('#first-feature').bind('click', function(e) {
	 e.preventDefault();
	 prevTab(); 
  });
  $('#last-feature').bind('click', function(e) {
	 e.preventDefault();
	 nextTab(); 
  });
  
  $("div.banner_content_pane").mouseover(function(){
    $("#banner_home_text").tabs('rotate', null);
  }).mouseout(function(){
    $("#banner_home_text").tabs('rotate', 5000, true);
  });
  
  $("ul#banner_tabs_ul").mouseover(function(){
    $("#banner_home_text").tabs('rotate', null);
  }).mouseout(function(){
    $("#banner_home_text").tabs('rotate', 5000, true);
  });

  
  if ($(':input:first').attr('id') == 'search-field') {
  	$(".pdsa_site_form :input:first").focus();
  } else {
  	$(':input:first').focus();
  }
  
  /*$('form').submit(function(e) {
	// This has been disabled until an anternative can be found - MC
	  if ($('form.pdsa_site_form button.disable_on_submit').length > 0) {
		  $.uiLock('');
		  $('button.disable_on_submit', this).addClass('submitBtn_blue_disabled');
	  }
	// The following works in IE but not firefox
	//$('button[type=submit]', this).attr('disabled','true');
  });*/
  if ($('form.pdsa_site_form button.disable_on_submit').length > 0) {
	  $("button.disable_on_submit").bind('click', function(e) {
      show_overlay();
		  $('button.disable_on_submit').addClass('submitBtn_blue_disabled');
	  }); 
  }
  
  $(".date_picker").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		dateFormat: 'dd/mm/yy',
		defaultDate: +0
	});
	
	$(".dob_picker").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		changeYear: true,
		changeMonth: true,
		yearRange: '-100:' + this_date.getFullYear(),
		dateFormat: 'dd/mm/yy',
		defaultDate: '-3y',
		minDate: '-100y',
		maxDate: '-2y'
	});

	$(".date_picker_future").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		changeYear: true,
		changeMonth: true,
		yearRange: '-100:' + this_date.getFullYear(),
		dateFormat: 'dd/mm/yy',
		defaultDate: '0',
		minDate: '0',
		maxDate: '+2y'
	});
	
	$(".dob_picker_volunteer").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		changeYear: true,
		changeMonth: true,
		yearRange: '-100:' + this_date.getFullYear(),
		dateFormat: 'dd/mm/yy',
		defaultDate: '-18y',
		minDate: '-100y',
		maxDate: '-14y'
	});
	
	$(".event_picker").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		dateFormat: 'dd/mm/yy',
		minDate: '+1d',
		maxDate: '+5y'
	});
	
	$(".dob_picker_past").datepicker({
		buttonImage: '/admcpnl/images/icons/calendar_2.png',
		buttonImageOnly: true,
		changeYear: true,
		changeMonth: true,
		yearRange: '-100:' + this_date.getFullYear(),
		dateFormat: 'dd/mm/yy',
		defaultDate: '-0y',
		minDate: '-100y',
		maxDate: '+0y'
	});
	
	
	if ($('#memory_relationship').val() != 'Other (please specify below)') {
		$('#memory_relationship_other').attr('disabled', 'disabled');
	}
	$('#memory_relationship').bind('change', function(e) {
		if (this.value == 'Other (please specify below)') {
			$('#memory_relationship_other').attr('disabled', false);
		} else {
			$('#memory_relationship_other').attr('disabled', 'disabled');
		}
	});
	
	
	$(".popup").bind('click', function(e) {
  	if ($.browser.msie) {//hacked together for IE browsers
			centeredY = (window.screenTop - 120) + ((((document.documentElement.clientHeight + 120)/2) - (500/2)));
			centeredX = window.screenLeft + ((((document.body.offsetWidth + 20)/2) - (500/2)));
		} else{
			centeredY = window.screenY + (((window.outerHeight/2) - (500/2)));
			centeredX = window.screenX + (((window.outerWidth/2) - (500/2)));
		}
		window.open(this.href, 'Popup', 'scrollbars=yes,width=800,resizable=yes,left=' + centeredX +',top=' + centeredY).focus();
		return false;
  });
	
	function setScheduledDays(date) {
	for (i = 0; i < eventDays.length; i++) {
		if (date.getMonth() == eventDays[i][0] - 1 && date.getDate() == eventDays[i][1] && date.getFullYear() == eventDays[i][2]) {
			return [true, eventDays[i][3] + '_day', eventDays[i][3] + ' event'];
		}
	}
  return [true, ''];
} 

	function displayItems(year, month, inst) {
		if (month == 'undefined') {
			this_date = new Date();
			month = this_date.getMonth();
		}
		var qs = window.location.search.substring(1);
		var page = 1;
		var type = 'General';
		if (qs != '') {
			var variables = qs.split('&');
			for (i=0;i<variables.length;i++) {
				val = variables[i].split("=");
				if (val[0] == 'page') page = val[1];
				if (val[0] == 'type') type = val[1];
				if (val[0] == 'month') {
					if ((val[1]) != month) {
						page = 1;
					}
				}
			}
		}
		
		var cur_href = location.href;
		var date_list = cur_href.split('/');

		if (date_list[6] != undefined) {
			type = date_list[6];
		}
		
		$("#multiple_results").hide();
		$("#calendar_results").show();
		$("#calendar_results").empty().html('<div class="loading"><img src="/images/ajax-loader.gif" /></div>');
		$('#calendar_results').load(current_url + calendar_months[month] + '/' + year + '?is_ajax=1&page=' + page + '&type=' + type);
	}
	
	function displayItem(date, inst) {
		$("#multiple_results").get(0).innerHTML = '';
		var split_date = date.split('/');
		var day_chosen = split_date[0];
		
		var month_names=new Array(12);
		month_names[0]="January";
		month_names[1]="February";
		month_names[2]="March";
		month_names[3]="April";
		month_names[4]="May";
		month_names[5]="June";
		month_names[6]="July";
		month_names[7]="August";
		month_names[8]="September";
		month_names[9]="October";
		month_names[10]="November";
		month_names[11]="December";

		var date_append_t = 'th';
		if (day_chosen == '03' || day_chosen == '23') {
			date_append_t = 'rd';
		} else if (day_chosen == '02' || day_chosen == '22') {
			date_append_t = 'nd';
		} else if (day_chosen == '01' || day_chosen == '21' || day_chosen == '31') {
			date_append_t = 'st';
		}
		
		var class_ref = day_chosen + '-' + split_date[1];
		var matches = $('#calendar_results').find('a.' + class_ref);
		var items = matches.length;
		var chosenDate = new Date(split_date[2], (split_date[1]-1), split_date[0]);
		var date_str = chosenDate.getDate() + date_append_t + ' ' + month_names[chosenDate.getMonth()] + ' ' + chosenDate.getFullYear();
		
		if (items == 1) {
			var link_to = matches[0].href;
			window.location = link_to;
		} else if (items > 1) {
			$("#calendar_results").hide();
			$("#multiple_results").show();
			
			var hed = $('<h2>Events for '+date_str+'</h2><div class="clear_both"></div><div class="col_wrapper">');
			$('#multiple_results').append(hed);
			for (e=0; e<items; e++) {
				var l = $('<div class="col_wrapper"><div class="atv_event_listing"><p class="larger"><a class="event_item" href="'+ matches[e].href +'">'+ matches[e].innerHTML +'</a></p></div></div>');
				$('#multiple_results').append(l);
			}
			var ed = $('</div>');
			$('#multiple_results').append(ed);
		} else {
			displayItems(chosenDate.getFullYear(), (chosenDate.getMonth()+1), inst);
		}
	}
	
	$("#events-calendar").find('*').remove();

	var defDate = new Date();
	
	var qs = window.location.search.substring(1);
	var cur_href = location.href;
	var date_list = cur_href.split('/');
	var page = 1;
	var month = defDate.getMonth();
	var year = defDate.getFullYear();
	
	if (date_list[4] != undefined) {
		var month_names=new Array(24);
		month_names["january"] = '1';
		month_names["february"] = '2';
		month_names["march"] = '3';
		month_names["april"] = '4';
		month_names["may"] = '5';
		month_names["june"] = '6';
		month_names["july"] = '7';
		month_names["august"] = '8';
		month_names["september"] = '9';
		month_names["october"] = '10';
		month_names["november"] = '11';
		month_names["december"] = '12';
		month_names["jan"] = '1';
		month_names["feb"] = '2';
		month_names["mar"] = '3';
		month_names["apr"] = '4';
		month_names["may"] = '5';
		month_names["jun"] = '6';
		month_names["jul"] = '7';
		month_names["aug"] = '8';
		month_names["sep"] = '9';
		month_names["oct"] = '10';
		month_names["nov"] = '11';
		month_names["dec"] = '12';
	
		if (/^jan|january|feb|february|mar|march|apr|april|may|jun|june|jul|july|aug|august|sep|september|oct|october|nov|november|dec|december$/.test(date_list[4])) {
			month = month_names[date_list[4]];
		} else {
			if (/^1|2|3|4|5|67|7|8|9|10|11|12$/.test(date_list[4])) {
				month = date_list[4];
			}
		}

		if (date_list[5] != undefined) {
			year = date_list[5];
		}

		defDate = new Date(year, (month-1), defDate.getDate());
	}

	if (qs != '') {
		var variables = qs.split('&');
		for (i=0;i<variables.length;i++) {
			val = variables[i].split("=");
			if (val[0] == 'month') month = val[1]; 
			if (val[0] == 'year') year = val[1]; 
			if (val[0] == 'page') page = val[1];
		}
		var defDate = new Date();
		defDate = new Date(year, (month-1), defDate.getDate());
	}
	
	$('.inline_calendar').datepicker({
		dateFormat: 'dd/mm/yy',
		minDate: '+0d',
		maxDate: '+5y',
		defaultDate: defDate,
		beforeShowDay: setScheduledDays,
		onChangeMonthYear: displayItems,
		onSelect: displayItem
	});
	
	$('#event_chooser').dialog({
		autoOpen: false,
		title: 'Select Event',
		modal: true,
		buttons: {
			"close": function() { 
				$(this).dialog("close"); 
			}
		}
	});
});

$.fn.idle = function(time) {
	var o = $(this);
  o.queue(function() {
  	setTimeout(function() {
  		o.dequeue();
   	},
   	time);
  });
  return this; 
}



function getPath(slug) {
	var path = slug;
	jQuery.ajax({
	  type: "GET",
	  url: window.location.pathname + '?is_ajax=1&getpath='+slug,
	  timeout: 45000,
	  dataType: 'json',
	  async: false,
	  error: function() {
	    alert("Could not retrieve path");
	  },
	  success: function(r) {
	  	if (r.processed == true) {	  		
	  		path = r.path;
	  	} else {
	  		alert(r.error);
	  	}
	  }
	});
	return path;
}

/**
Choose the Right Pet
------------------------------------
**/
var photoFrameSuitable = false;
function photoFrame(type,id){
	var x = document.getElementById("pf"+id);
	if(type == "over"){
		if(x.src.indexOf("_suitable") > -1){
			photoFrameSuitable = true;
			x.src = x.src.replace("_suitable","");
		}
		x.src = x.src.replace(".png","_over.png");
	} else {
		x.src = x.src.replace("_over.png",".png");
		if(photoFrameSuitable === true){
			photoFrameSuitable = false;
			x.src = x.src.replace("_","_suitable_");
		}		
	}
}

function agreeDisagree(overType,imgType){
	var x = document.getElementById("paw_"+imgType);
	if(overType == "over"){
		x.src = "/images/your-right-pet/freedoms_"+imgType+"02.jpg";
	} else
	if(overType == "out"){
		x.src = "/images/your-right-pet/freedoms_"+imgType+"01.jpg";
	}
}

var cg_last = 1;
function changeGallery(id,objid){
	var t			= document.getElementById("mgallery_frame");
	var a			= document.getElementById('mg'+id);
	var a2			= document.getElementById('mg'+cg_last);
		s			= t.src.substr(0,(t.src.length-5));
		t.src		= s+id+".jpg";
	a2.className	= "";
	a.className		= "active";
	cg_last			= id;
	return false;
}

var f			= "";
var fi			= "";
var last_fi		= "";
var last_fo		= "";
var freedom_checklist	= new Object();
freedom_checklist["f1"] = true;

function beginList(){
	
	for(var i = 1;i<6;i++){
		
		f 	= document.getElementById('f'+i);
		fi = document.getElementById('f'+i+'i');								
		
		fi.style.display 		= 'none';
		f.style.cursor 			= 'pointer';		
		
		//Attach 'mouseover','mouseout' and 'click' events
		
		if (f.addEventListener) {
			f.addEventListener("click",listExpandContract,false);
			f.addEventListener("mouseover",listHighlight,false);
			f.addEventListener("mouseout",listUnHighlight,false);
		} else if (f.attachEvent) {
			f.attachEvent("onclick",listExpandContract);
			f.attachEvent("onmouseover",listHighlight);
			f.attachEvent("onmouseout",listUnHighlight);
		} else {
			f.onclick 		= listExpandContract;
			f.onmouseover 	= listHighlight;
			f.onmouseout 	= listUnHighlight;
		}
	}

	//Disabled Agree button
	document.getElementById("agree_freedoms").disabled = true;
	document.getElementById("noagree_freedoms").disabled = true;
}

function checkListComplete(){	
	var readall = true;
	for(var i=1;i<6;i++){
		if(!freedom_checklist["f"+i]){
			readall = false;
		}
	}
	if(readall){
		//Disabled Agree button
		document.getElementById("agree_freedoms").disabled = false;
		document.getElementById("noagree_freedoms").disabled = false;
	}
}

function listHighlight(){
	var obj 	= window.event?window.event.srcElement:this;
	fo = document.getElementById(obj.id+"o");
	
	if(fo.className != "expanded"){
		obj.className = "over";
	}
}
function listUnHighlight(){
	var obj 	= window.event?window.event.srcElement:this;
	fo = document.getElementById(obj.id+"o");
	obj.className = "";
}
	

function listExpandContract(){
	var obj 	= window.event?window.event.srcElement:this;
	
	fo = document.getElementById(obj.id+"o");
	fi = document.getElementById(obj.id+"i");
	
	if(last_fi){
		last_fi.style.display = "none";
		last_fo.className = "contracted";			
	}

	if(last_fi.id == fi.id){
		last_fi 	= "";
		last_fo 	= "";
	} else {		
		last_fi 	= fi;
		last_fo 	= fo;
		
		if(fi.style.display == "none"){
			fo.className 		= "expanded";
			fi.style.display 	= "block";
			freedom_checklist[obj.id] = true;
		} else {
			fo.className 		= "contracted";
			fi.style.display 	= "none";
		}
	}

	//Can we enable buttons?
	checkListComplete();
}

// - End - Choose the Right Pet


function openPopupWindow(url) {

    windowName = window.open(url,'','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=350,height=350');

    windowName.focus();

}

function calcTicketCost(obj) {
	var entered = $(obj).val();
	
	if (entered.match(/^[0-9]{1,4}$/)) {
		if (entered > 40) {
			$('#tickets_amount_holder').empty().html('You cannot buy more than 40 tickets (&pound;20.00 worth) in one transaction.');
		} else {
			entered = (0.5*entered).toFixed(2);
			$('#tickets_amount_holder').empty().html('(50p per entry = &pound;'+entered+')');
		}
	} else {
		$('#tickets_amount_holder').empty();
	}
}
