// Easing equation, borrowed from jQuery easing plugin
// http://gsgd.co.uk/sandbox/jquery/easing/

jQuery.easing.easeOutQuart = function (x, t, b, c, d) {
	return -c * ((t=t/d-1)*t*t*t - 1) + b;
};

function insertDefaultNumbers() {
	if ( !$('span.calltracks_canada-us:first').html() )
	{
		$('span.calltracks_canada-us').html(numberUS);
	}
	if ( !$('span.adinsightNumber6849:first').html() )
	{
		$('span.adinsightNumber6849').html(numberGB);
	}
	if ( !$('span.calltracks_aus:first').html() )
	{
		$('span.calltracks_aus').html(numberAU);
	}
}

jQuery(function($){
		
	// Log all jQuery AJAX requests to Google Analytics
	/*$(document).ajaxSend(function(event, xhr, settings)
	{ 
		if (_gaq) _gaq.push(['_trackPageview', settings.url.replace(/\&\_\=\d+/i,"")]);
	});*/
	
	window.setTimeout(function() {
		insertDefaultNumbers();
	}, 5000);
	
	$.extend({
	  getUrlVars: function(){
		 var vars = [], hash;
		 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		 for(var i = 0; i < hashes.length; i++)
		 {
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
		 }
		 return vars;
	  },
	  getUrlVar: function(name){
		 return $.getUrlVars()[name];
	  }
	});
	
	// Agent slideshow	in sidebar
	$("#sidebar .agentquote .agentimg").cycle({
		fx:			'fade',
		timeout:		6000,
		delay:		-0,
		speed:		2000
	});

	/* <?php echo date("F j, Y, g:i a"); ?> */
	var layout_open = ' ';
	if (togo > 0)
	{
		var layout_open_header = '<strong>We are open!</strong> Please call us in the next {hn} {hl} {mn} {ml}&nbsp;&nbsp;|&nbsp;&nbsp;';
		var layout_open = 'Please call us in the next {hn} {hl} {mn} {ml}';
	}
	$('.topnav .opencall').countdown({
		until: togo, 
		onExpiry: hideopentimes,
		format: 'hm', // Format for display - upper case for always, lower case only if non-zero,
		// 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
		labels: ['yrs', 'mths', 'wks', 'days', 'hrs', 'mins', 'sec'],
		labels1: ['yr', 'mth', 'wk', 'day', 'hr', 'min', 'sec'],
		layout: layout_open_header,
		expiryText: '&nbsp;'
	 });
	 $('#officehours .opencall').countdown({
		until: togo, 
		onExpiry: hideopentimes,
		format: 'hm', // Format for display - upper case for always, lower case only if non-zero,
		// 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
		labels: ['yrs', 'mths', 'wks', 'days', 'hrs', 'mins', 'sec'],
		labels1: ['yr', 'mth', 'wk', 'day', 'hr', 'min', 'sec'],
		layout: layout_open,
		expiryText: '&nbsp;'
	 });
	 
	var layout_close = ' ';
	if (reopen > 0)
	{
		var layout_close_header = 'We will reopen in {hn} {hl} {mn} {ml}&nbsp;&nbsp;|&nbsp;&nbsp;';
		var layout_close = 'We will reopen in {hn} {hl} {mn} {ml}';
	}
	 $('.reopen').countdown({
		until: reopen, 
		onExpiry: hideopentimes,
		format: 'hm', // Format for display - upper case for always, lower case only if non-zero,
		// 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
		labels: ['yrs', 'mths', 'wks', 'days', 'hrs', 'mins', 'sec'],
		labels1: ['yr', 'mth', 'wk', 'day', 'hr', 'min', 'sec'],
		layout: layout_close,
		expiryText: '&nbsp;'
	 });
	 
	 function hideopentimes()
	 {
	 	$("div.open").hide();
		$("div.open1").remove();
	 }
	
	$("a[title=fancybox], a[rel=fancybox], a#btnfeedback").fancybox({
		autoDimensions: true,
		overlayColor: "#000000",
		overlayOpacity: .5,
		overlayShow: true,
		hideOnOverlayClick:	true,
		showCloseButton: true,
		showNavArrows: false,
		enableEscapeButton: true,
		hideOnContentClick: false,
		centerOnScroll: true,
		cyclic: false,
		titleShow: false,
		onComplete: $.fancybox.resize()
	});
	$("a.close").click(function(){
		$.fancybox.close();
		return false;
	});

	$("#frmTripFinder select").find("option:first").attr("selected", "selected");
	
	//Top navigation dropdowns
	$("#menu td").hoverIntent(function() {
		$(".dropnav", this).fadeIn("slow");
		$(this).find("a.nav").css({"background-color":"<?php echo $nav_bgcolor_selected; ?>"});
	}, function() {
		$(".dropnav", this).fadeOut("fast");
		$(this).find("a.nav").css({"background-color":"<?php echo $nav_bgcolor; ?>"});
	});
	
	$("a.nav").click(function(){
		if ( $(this).siblings(".dropnav").length !== 0 )
		{
			return false;
		}
	});
	
	function isValidEmail(email) {
		if ( email == "Email" )
		{
			return false;
		}
		else
		{
			var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			//alert ("email='"+email+"'\nfilter="+filter.test(email));
			var valid = filter.test(email);
			return valid;
		}
	}
	function isValidString(string) {
		if ( (string == "First Name") || (string == "Last Name") )
		{
			return false;
		}
		else
		{
			var filter = /^([a-zA-Z0-9\.\-\s])+$/;
			//alert ("string='"+string+"'\nfilter="+filter.test(string));
			var valid = filter.test(string);
			return valid;
		}
	}

	
	function validate(what, how) {
		var mystring = what.val();
		if ( how == "email" )
		{
			var status = isValidEmail(mystring);
		}
		else
		{
			var status = isValidString(mystring);
		}
		if ( (status == "false") || (status == false))
		{
			$(what).css({
				"border-color" : "#ff0000",
				"color" : "#ff0000"
			});
			$(what).siblings("label").css("color","#ff0000");
			var result = false;
		}
		else
		{
			$(what).css({
				"border-color" : "#999999",
				"color" : "#000000"
			});
			$(what).siblings("label").css("color","#000000");
			var result = true;
		}
		return result;
	}

	
	$("#frmEmailSubmit").submit(function(){	
		$(this).find(".msg").hide();
		var isvalidfirstname = validate( $(this).find("#firstname"), "string" );
		var isvalidlastname = validate( $(this).find("#lastname"), "string" );
		var isvalidemail = validate( $(this).find("#email"), "email" );
		
		if ( ( isvalidfirstname == true) && ( isvalidlastname == true ) && ( isvalidemail == true ) )
		{
			$("#newsletter .msg").fadeOut();
			$.fancybox.resize();
			$.fancybox.showActivity();
			
			$("#frmEmailSubmit #firstname1").val( $("#frmEmailSubmit #firstname").val() );
			$("#frmEmailSubmit #lastname1").val( $("#frmEmailSubmit #lastname").val() );
			$("#frmEmailSubmit #email1").val( $("#frmEmailSubmit #email").val() );
			
			$.ajax({
				type		: "POST",
				cache		: false,
				url			: "https://freshtracks.infusionsoft.com/AddForms/processFormSecure.jsp",
				data		: $(this).serializeArray(),
				success: function(data) {
					$.fancybox.hideActivity();
					$("#newsletter .msg").removeClass("error").addClass("success").html("Success!").fadeIn();
					$("#newsletter .before").hide();
					$("#newsletter .after").fadeIn().append(data);
					$.fancybox.resize();
				},
				error		: function(thrownError) {
					$.fancybox.hideActivity();
					$("#newsletter .msg").removeClass("success").addClass("error").html(thrownError).fadeIn();
					$.fancybox.resize();
				}
			});
			return false;
		}
		else
		{
			//alert("here");
			$("#newsletter .msg").addClass("error").html("Please correct your input below and hit Send again.").fadeIn();
			$.fancybox.resize();
			return false;
		}
	});
	
	$("#feedbackform").submit(function(){
		$(this).find(".msg").hide();
		var isvalidname = validate( $(this).find("#name"), "string" );
		var isvalidemail = validate( $(this).find("#emailfbk"), "email" );
		var isvalidcomments = validate( $(this).find("#comments"), "string" );
		
		if ( ( isvalidname == true) && ( isvalidemail == true ) && ( isvalidcomments == true ) )
		{
			$("#feedback .msg").fadeOut();
			$.fancybox.resize();
			$.fancybox.showActivity();

			$.ajax({
				type		: "POST",
				cache		: false,
				url			: "/functions/send.php",
				data		: $(this).serializeArray(),
				success: function(data) {
					$.fancybox.hideActivity();
					$("#feedback .msg").removeClass("error").addClass("success").html("Success!").fadeIn();
					$("#feedback .before").hide();
					$("#feedback .after").fadeIn().append(data);
					$.fancybox.resize();
				},
				error		: function(thrownError) {
					$.fancybox.hideActivity();
					$("#feedback .msg").removeClass("success").addClass("error").html(thrownError).fadeIn();
					$.fancybox.resize();
				}
			});
			return false;
		}
		else
		{
			//alert("here");
			$("#feedback .msg").addClass("error").html("Please correct your input below and hit Send again.").fadeIn();
			$.fancybox.resize();
			return false;
		}
	});
	
	
	$("#frmTripFinder .button").click(function(){
		var choice = new Array();
		var title = new Array();
		var title_all = "";
		choice[0] = $("#frmTripFinder select#region").find("option:selected").attr("value");
		choice[1] = $("#frmTripFinder select#interest").find("option:selected").attr("value");
		choice[2] = $("#frmTripFinder select#numdays").find("option:selected").attr("value");
		title[0] = escape($("#frmTripFinder select#region").find("option:selected").attr("name"));
		title[1] = escape($(".#frmTripFinder select#interest").find("option:selected").attr("name"));
		title[2] = escape($("#frmTripFinder select#numdays").find("option:selected").attr("name"));
		
		if ( title[0] != "undefined" )
		{
			title_all += title[0];
		}
		if ( title_all != "" && title[1] != "undefined" )
		{
			title_all += escape(" &rsaquo; ");
		}
		if ( title[1] != "undefined" )
		{
			title_all += title[1];
		}
		if ( title_all != "" && title[2] != "undefined" )
		{
			title_all += escape(" &rsaquo; ");
		}
		if ( title[2] != "undefined" )
		{
			title_all += title[2];
		}
				
		$("#frmTripFinder #title").val(title_all);
		$("#frmTripFinder").submit();

	});
	
	$('[placeholder]').focus(function() {
	  var input = $(this);
	  if (input.val() == input.attr('placeholder')) {
		 input.val('');
		 input.removeClass('placeholder');
	  }
	}).blur(function() {
	  var input = $(this);
	  if (input.val() == '' || input.val() == input.attr('placeholder')) {
		 input.addClass('placeholder');
		 input.val(input.attr('placeholder'));
	  }
	}).blur().parents('form').submit(function() {
	  $(this).find('[placeholder]').each(function() {
		 var input = $(this);
		 if (input.val() == input.attr('placeholder')) {
			input.val('');
		 }
	  })
	});
	
	$(".contact_module form").submit(function() {
		$('<div id="loading_image"><img src="/images/loading-finder.gif" alt="loading" width="24" height="24"></div>').insertAfter('#submit').show();
		$('#submit', this).attr('disabled','disabled').addClass('disabled');
		return true;
	});
	
	

});

