$(document).ready(function() {
	
	// Mailing List virtual labels
	$('.inside-label').focus(function(){
		
		if ($(this).val() == $(this).attr('rel'))
		{
			$(this).val('');
			$(this).css('color', '#4a4a4a');
		}
		
	});
	
	$('.inside-label').blur(function(){
		
		if ($(this).val() == '')
		{
			$(this).val($(this).attr('rel'));
			$(this).css('color', '#bcbcbc');
		}
		
	});
	
	function clearLabels()
	{
		$('.inside-label').each(function(){
			if ($(this).val() == $(this).attr('rel'))
			{
				$(this).val('');
				$(this).css('color', '#4a4a4a');
			}
		});
	}
	// Mailing List virtual labels
	
	
	// Mail List validation and submission
	$('#frm-mailing-list').bind('submit', function() {
		// Validation options
		var options = {
			target:     	'#frm-mailing-list',
			beforeSubmit:	function() {
				clearLabels();
				
				var validation_options = {
					rules: {
						txt_mail_name: 		{ required:true },
						txt_mail_email: 	{ required:true, email:true }
					},
					
					messages: {
						txt_mail_name: 		{ required:"Please enter your name"},
						txt_mail_email: 	{ required:"Please enter your email address", email:"Please enter a valid email address" }
					}
				};
				
				$("#frm-mailing-list").validate(validation_options);
				
				return $("#frm-mailing-list").valid();
			},
			dataType:		'json',
			success:    	function(data) {
				if (data.status == 1)
				{
					$('#frm-mailing-list').html("<p class='notification'>" + data.message + "</p>");
					$('#frm-mailing-list').hide().fadeIn(1500);
				}
				else
				{
					$('#frm-mailing-list').html("<p class='notification'>" + data.message + "</p>");
					$('#frm-mailing-list').hide().fadeIn(1500);
				}
			},
			error: 			function(data) {
				$('#frm-mailing-list').html("<p class='notification'>" + data.message + "</p>");
				$('#frm-mailing-list').hide().fadeIn(1500);
			}
		};
		
		// Submit the form
		$(this).ajaxSubmit(options);
		
		// Return false to prevent normal browser submit and page navigation
		return false;
	});
	// Mail List validation and submission
	
	
	// NivoSlider
	$('#slider').nivoSlider({
		pauseOnHover: 		false,
		controlNav: 		true,
		directionNav: 		false,
		pauseTime:			5000,
		keyboardNav:		false,
		effect:				"sliceDown"
	});
	// NivoSlider
	
	
	// FancyBox
	$("a.fancyboxed").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true
	});
	// FancyBox
	
	
	// Weather
	function Hash()
	{
		this.length = 0;
		this.items = new Array();
		for (var i = 0; i < arguments.length; i += 2) {
			if (typeof(arguments[i + 1]) != 'undefined') {
				this.items[arguments[i]] = arguments[i + 1];
				this.length++;
			}
		}
	   
		this.removeItem = function(in_key)
		{
			var tmp_previous;
			if (typeof(this.items[in_key]) != 'undefined') {
				this.length--;
				var tmp_previous = this.items[in_key];
				delete this.items[in_key];
			}
		   
			return tmp_previous;
		}
	
		this.getItem = function(in_key) {
			return this.items[in_key];
		}
	
		this.setItem = function(in_key, in_value)
		{
			var tmp_previous;
			if (typeof(in_value) != 'undefined') {
				if (typeof(this.items[in_key]) == 'undefined') {
					this.length++;
				}
				else {
					tmp_previous = this.items[in_key];
				}
	
				this.items[in_key] = in_value;
			}
		   
			return tmp_previous;
		}
	
		this.hasItem = function(in_key)
		{
			return typeof(this.items[in_key]) != 'undefined';
		}
	
		this.clear = function()
		{
			for (var i in this.items) {
				delete this.items[i];
			}
	
			this.length = 0;
		}
	}
	
	$.ajax({
		type:"GET",
		url:"http://free.worldweatheronline.com/feed/weather.ashx?lat=-15.95&lon=-5.69&format=json&num_of_days=5&key=c55b42ce49090311102906&callback=?",
		processData:true,
		cache:true,
		data:{},
		dataType:"json",
		success:function(d){
			var data = d.data;
			
			$('.main-temp').text(data.current_condition[0].temp_C + "°C");
			$('.temp-range').text("High " + data.weather[0].tempMaxC + "°C Low " + data.weather[0].tempMinC + "°C");
			$('#weather-today img').attr('src', '/sthelena/wp-content/themes/sthelena/assets/images/weather_icons/large/' + iconLookup(data.current_condition[0].weatherCode) + '.png');
			$('#weather-today img').attr('alt', data.current_condition[0].weatherDesc[0].value);
			
			$('#weather-forecast tr').each(function(index){
				
				var dateStr = data.weather[index].date;
				var day = new Date(dateStr.replace(/-/gi,"/"));
				
				var dayName = dayLookup(day.getDay());
				
				var maxTemp = data.weather[index].tempMaxC + "°C";
				var minTemp = data.weather[index].tempMinC + "°C";
				
				var weatherImg = "<img src='/sthelena/wp-content/themes/sthelena/assets/images/weather_icons/small/" + iconLookup(data.weather[index].weatherCode) + ".gif' alt='" + data.weather[index].weatherDesc[0].value + "' width='25' height='25' />";
				
				var forecast = new Array(dayName, maxTemp, minTemp, weatherImg);
				
				$(this).find('td').each(function(index){
					$(this).html(forecast[index]);
				});
			});
		},
		error:function(x,y,z){
			alert("failed");
		}
	});
	
	var days = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
	
	function dayLookup(dayID)
	{	
		return days[dayID];
	}
	
	
	var icons = new Hash();
	
	icons.setItem('113', 'sunshine');
	
	icons.setItem('116', 'sun_cloud');
	
	icons.setItem('260', 'cloud');
	icons.setItem('248', 'cloud');
	icons.setItem('143', 'cloud');
	icons.setItem('122', 'cloud');
	icons.setItem('119', 'cloud');
	
	icons.setItem('377', 'rain');
	icons.setItem('374', 'rain');
	icons.setItem('359', 'rain');
	icons.setItem('356', 'rain');
	icons.setItem('314', 'rain');
	icons.setItem('311', 'rain');
	icons.setItem('308', 'rain');
	icons.setItem('305', 'rain');
	icons.setItem('302', 'rain');
	icons.setItem('299', 'rain');
	icons.setItem('284', 'rain');
	icons.setItem('281', 'rain');
	icons.setItem('266', 'rain');
	icons.setItem('176', 'rain');
	
	icons.setItem('353', 'sun_showers');
	icons.setItem('296', 'sun_showers');
	icons.setItem('293', 'sun_showers');
	icons.setItem('263', 'sun_showers');
	
	icons.setItem('389', 'thunder');
	icons.setItem('386', 'thunder');
	icons.setItem('200', 'thunder');
	
	icons.setItem('395', 'snow');
	icons.setItem('392', 'snow');
	icons.setItem('371', 'snow');
	icons.setItem('368', 'snow');
	icons.setItem('365', 'snow');
	icons.setItem('362', 'snow');
	icons.setItem('350', 'snow');
	icons.setItem('338', 'snow');
	icons.setItem('335', 'snow');
	icons.setItem('332', 'snow');
	icons.setItem('329', 'snow');
	icons.setItem('326', 'snow');
	icons.setItem('323', 'snow');
	icons.setItem('320', 'snow');
	icons.setItem('317', 'snow');
	icons.setItem('230', 'snow');
	icons.setItem('227', 'snow');
	icons.setItem('185', 'snow');
	icons.setItem('182', 'snow');
	icons.setItem('179', 'snow');
	
	function iconLookup(weatherID)
	{
		return icons.getItem(weatherID);
	}
	// Weather
	
});
