/***********************************************
***  BUTTON ROLLOVER & PRELOAD  ****************
************************************************/

$(function(){
	// button rollover
	if ($('.imgBtn') != null) {
		$('.imgBtn').hover(function(){
				if(!$(this).is('.disabled'))
					$(this).attr("src", $(this).attr("src").replace(/^(.*?)(?:-hover)?(\..*?)$/i,'$1-hover$2'));
			},
			function(){
					if(!$(this).is('.disabled'))
						$(this).attr("src", $(this).attr("src").replace(/^(.*)-hover(\..*?)$/i, '$1$2'));
				});
	}
	// preload image rollovers
	if ($("img.imgBtn, img[src^='images/buttons/btn'], input[src^='images/buttons/btn']") != null) {
	    $("img.imgBtn, img[src^='images/buttons/btn'], input[src^='images/buttons/btn']").each(function(){
			    $("<img>").attr("src", $(this).attr("src").replace(/(btn-.*)(\..*?)/i, '$1-hover$2'));
		    });
	}
});

/***********************************************
***  EXTERNAL LINKS  ***************************
************************************************/




/***********************************************
***  BASE TABS FOR HOMEPAGE  *******************
************************************************/

$(function () {
		var tabContainers = $('div.tab-content > div');
		tabContainers.hide().filter(':first').show();
		
		$('div.tab-content ul.tab-navigation a').click(function () {
				tabContainers.hide();
				tabContainers.filter(this.hash).show();
				$('div.tab-content ul.tab-navigation a').removeClass('selected');
				$(this).addClass('selected');
				return false;
		}).filter(':first').click();
});


/***********************************************
***  MEDIA RELEASE TABS  ***********************
************************************************/

$(function () {
		var tabContainers = $('div#tab-3 > ul, #media-releases > ul');
		tabContainers.hide().filter(':first').show();
		
		$('div#tab-3 div.min-tabs a, #media-releases div.min-tabs a').click(function () {
				tabContainers.hide();
				tabContainers.filter(this.hash).show();
				$('div#tab-3 div.min-tabs a, #media-releases div.min-tabs a').removeClass('active');
				$(this).addClass('active');
				return false;
		}).filter(':first').click();
});


/***********************************************
***  GENERIC DOC READY  ************************
************************************************/

$(document).ready(function() {

	//	Open external links in new windows using jquery
	$('a[href^="http://"]').filter(function() {
        return this.hostname && this.hostname !== location.hostname;
    }).attr('target', '_blank');
	
	
	// Intialise pretty photo
	$("a[rel^='prettyPhoto']").prettyPhoto();
	
	$('#feature-thumb li span').hover(function(){
		$(this).parent().toggleClass('active-hover');
		//$(this).parent().css({backgroundPosition:"center 0px"});
	}, function(){
		$(this).parent().removeClass('active-hover');
		//$(this).parent().css({backgroundPosition:"center 20px"});
	});
	
	
	//Submenu Ie 6 + 7 fix
	$('#nav ul li').hover(function(){
		if ($.browser.msie && $.browser.version <= 7 ) 
		$(this).addClass('over');
	}, function(){
		if ($.browser.msie && $.browser.version <= 7 ) 
		$(this).removeClass('over');
	});

	
	// Increase Font Size
	$('#bc-interface #bc-plus a').click(function(){
	
		var currentFontSize = $('#content-area p').css('font-size');
		var currentFontSizeNum = parseFloat(currentFontSize, 10);
		var newFontSize = currentFontSizeNum+1;
		$('#content-area p, #content-area li').css('font-size', newFontSize);

		return false;
	});
	
	
	// Decrease Font Size
	$("#bc-interface #bc-minus a").click(function(){
	
		var currentFontSize = $('#content-area p').css('font-size');
		var currentFontSizeNum = parseFloat(currentFontSize, 10);
		var newFontSize = currentFontSizeNum-1;
		$('#content-area p, #content-area li').css('font-size', newFontSize);

		return false;
	});
	
	
	//Show Sidebar Event Details
	$('#sidebar .event p').hide();
	$('#sidebar .event a.action').click(function(){
		$(this).parent().find('p').slideToggle();
		$(this).toggleClass('active');
		if ($(this).text()==='Close') 
			$(this).text('More');
		else
			$(this).text('Close');
			
		return false;
	});
	
	
	//Remove titles from blogroll
	$('.blogroll li a').removeAttr("title");
	
	
	//when key is pressed in the textbox
	$("#input-postcode").keypress(function (e) {
		//if the letter is not digit then display error and don't type anything
		if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
		{
			//display error message
			$("p.inline-error").html("Numbers only please").show().delay(2000).slideUp("slow");
			return false;
		}
	});
});


/***********************************************

***  COMPACT FORM (LABEL OVER INPUT)  **********

************************************************/

//Show/hide labels on forms
	$(function(){
		$('form.search input').focus(function(){
			$('label[for=' + $(this).attr('id') + ']').hide();
		});
		$('form.search input').each(function(ele){
			if($(this).val().length > 0)
				$('label[for=' + $(this).attr('id') + ']').css({ display: "none" });
		});
		$('form.search input').blur(function(){
			if($(this).val().length == 0)
				$('label[for=' + $(this).attr('id') + ']').show();
		});
	});
	
	$(function(){
		$('form.contact input, form.contact textarea, #subscribe-form input').focus(function(){
			$('label[for=' + $(this).attr('id') + ']').hide();
		});
		$('form.contact input, form.contact textarea, #subscribe-form input').each(function(ele){
			if($(this).val().length > 0)
				$('label[for=' + $(this).attr('id') + ']').css({ display: "none" });
		});
		$('form.contact input, form.contact textarea, #subscribe-form input').blur(function(){
			if($(this).val().length == 0)
				$('label[for=' + $(this).attr('id') + ']').show();
		});
	});


/***********************************************

***  VALIDATE FORMS  ***************************

************************************************/

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);
	}
	
//CONTACT
$(function() {

	$("#input-submit").click(function() {
	
		var name = $("#input-name").val();
		var email = $("#input-email").val();
		var address = $("#input-address").val();
		var postcode = $("#input-postcode").val();
		var phone = $("#input-phone").val();
		var subject = $("#input-subject").val();
		var comment = $("#input-comment").val();
		var recaptcha = Recaptcha.get_response();

		var dataString = 'name='+ name + '&email=' + email + '&address=' + address + '&postcode=' + postcode + '&phone=' + phone + '&subject=' + subject + '&comment=' + comment + '&recaptcha_challenge_field=' + Recaptcha.get_challenge() + '&recaptcha_response_field=' + Recaptcha.get_response();
		if(name=='' || email=='' || postcode=='' || subject=='' || comment=='' || !isValidEmailAddress(email) || recaptcha=='') {
			$('p.error1').fadeIn();
			if (name=='') {  
				$("#input-name").parent().addClass('error'); 
			} else {
				$("#input-name").parent().removeClass('error'); 
			}
			if (email=='') {  
				$("#input-email").parent().addClass('error'); 
			} else {
				$("#input-email").parent().removeClass('error'); 
			}
			if (postcode=='') {  
				$("#input-postcode").parent().addClass('error'); 
			} else {
				$("#input-postcode").parent().removeClass('error'); 
			}
			if (subject=='') {  
				$("#input-subject").parent().addClass('error'); 
			} else {
				$("#input-subject").parent().removeClass('error'); 
			}
			if (comment=='') {  
				$("#input-comment").parent().addClass('error'); 
			} else {
				$("#input-comment").parent().removeClass('error'); 
			}
			if(!isValidEmailAddress(email)) {
				$('p.error2').fadeIn();
				$("#input-email").parent().addClass('error'); 
			}
			if (recaptcha=='') {  
				$("#recaptcha_response_field").parent().addClass('error'); 
			} else {
				$("#recaptcha_response_field").parent().removeClass('error'); 
			}
		} else {
			$('#input-submit').hide();
			$('p.form-response').addClass('sending');
			$('p.form-response').html('Sending...');
			$('p.form-response').fadeIn();
			$.ajax({
				type: "POST",
				url: "/wp/wp-content/themes/timholding/send-message.ajax.php",
				data: dataString,
				cache: false,
				success: function(html){
					$('p.error1').fadeOut();
					$('p.error2').fadeOut();
					$('p.error3').fadeOut();
					$('li').removeClass('error');
					$('p.form-response').removeClass('sending');
					if($.trim(html) === 'captcha failed'){
						Recaptcha.reload();
						$('#input-submit').show();
						$('p.error3').fadeIn();
						$('p.form-response').hide();
					}
					else{
						$('input').val('');
						$('textarea').val('');
						$('p.form-response').addClass('success');
						$('p.form-response').html('Your message was sent! Thank you.');
						$('#submit-form').attr('disabled', true);
					}
				},
				error: function(xhr, objAJAXRequest, ajaxOptions, errorThrown){
					$('p.form-response').removeClass('sending');
					$('p.form-response').html('Sending Failed. Please refresh and try again.');
				}
			});
		}
		return false;
	}); 
});

//SUBSCRIBE
$(function() {

	$("#input-button").click(function() {
	
		var name = $("#news-name").val();
		var email = $("#news-email").val();

		var dataString = 'name='+ name + '&email=' + email + '&recaptcha_challenge_field=' + Recaptcha.get_challenge() + '&recaptcha_response_field=' + Recaptcha.get_response();
		if(name=='' || email=='' || !isValidEmailAddress(email)) {
			$('p.error1').fadeIn();
			if (name=='') {  
				$("#news-name").parent().addClass('error'); 
			} else {
				$("#news-name").parent().removeClass('error'); 
			}
			if (email=='') {  
				$("#news-email").parent().addClass('error'); 
			} else {
				$("#news-email").parent().removeClass('error'); 
			}
			if(!isValidEmailAddress(email)) {
				$('p.error2').fadeIn();
				$("#input-email").parent().addClass('error'); 
			}
		} else {
			$('#input-button').hide();
			$('p.form-response').addClass('sending');
			$('p.form-response').html('Sending...');
			$('p.form-response').fadeIn();
			$.ajax({
				type: "POST",
				url: "/wp/wp-content/themes/timholding/send-subscription.ajax.php",
				data: dataString,
				cache: false,
				success: function(html){
					$('p.error1').fadeOut();
					$('p.error2').fadeOut();
					$('p.error3').fadeOut();
					$('li').removeClass('error');
					$('p.form-response').removeClass('sending');
					if($.trim(html) === 'captcha failed'){
						Recaptcha.reload();
						$('#input-button').show();
						$('p.error3').fadeIn();
						$('p.form-response').hide();
					}
					else{
						$('input').val('');
						$('textarea').val('');
						$('p.form-response').addClass('success');
						$('p.form-response').html('Your Subscription was successful. Thank you.');
						$('#submit-form').attr('disabled', true);
					}
				},
				error: function(xhr, objAJAXRequest, ajaxOptions, errorThrown){
					$('p.form-response').removeClass('sending');
					$('p.form-response').html('Sending Failed. Please refresh and try again.');
				}
			});
		}
		return false;
	}); 
});


/***********************************************

***  LOAD MEDIA RELEASES  **********************

************************************************/

$(function(){
	var page = 1;
	$('.load-button a').click(function(){
		var target = $(this).closest('ul');
		loadMore(target);
		
		return false;
	});
	
	function loadMore(target) {
		page = page + 1;
		var dataString = 'page=' + page;		
		$('.load-button a', target).replaceWith('<span>Loading</span>');
		
		$.ajax({
				type: "POST",
				url: "/wp/wp-content/themes/timholding/load-media-releases.ajax.php",
				data: dataString,
				success: function(html){
					$('.load-button', target).remove();
					target.append(html);
					
					$('.load-button a', target).click(function(){
						var target = $(this).closest('ul');
						
						loadMore(target);
						
						return false;
					});
				},
				error: function(xhr, objAJAXRequest, ajaxOptions, errorThrown){
					//error
					$('.load-button span', target).replaceWith('<em>An error has occured. Please refresh and try again.</em>');
				}
		});
	
	}

});


/***********************************************

***  LOAD WATER LEVELS  ************************

************************************************/

$(function(){

	if($('.water-storage li.loading').length > 0)
		loadWaterLevel(0);

	function loadWaterLevel(n){
		$.ajax({
				type: "POST",
				url: "/wp/wp-content/themes/timholding/load-water-levels.ajax.php",
				data: {
						'n': n
					},
				success: function(html){
					if(html){
						$('.water-storage li.loading').remove();
						$('.water-storage ul').append(html);
						if($('.water-storage li.current').length === 0)
							$('.water-storage li:first').addClass('current');
						if($('.water-storage ul li.last').length === 0)
							loadWaterLevel(n +1);
					}
				},
				error: function(xhr, objAJAXRequest, ajaxOptions, errorThrown){
					//error
				}
			});
	}

	var wlInt = setInterval(function(){
			var a = $('.water-storage ul li.current');
			if(a.length == 0 || !a.next().is('li')){
				a.removeClass('current');
				$('.water-storage ul li:first').addClass('current');
			}
			else
				$('.water-storage ul li.current').removeClass('current').first().next().addClass('current');
		}, 2500);
});

