$(document).ready(function(){
	initWeerblok();
});

function changeRegionMenuWeerblok(gebied){
	$("select.leeg").css({display:'none'});
	$("select.Oostenrijk").css({display:'none'});
	$("select.Duitsland").css({display:'none'});
	$("select.Frankrijk").css({display:'none'});
	$("select.Italie").css({display:'none'});	
	$("select.Zwitserland").css({display:'none'});	
	$("select."+gebied).css({display:'inline'});
}

function initWeerblok(){
	oordLand = Get_Cookie("mijn_oord_land");
	if (!oordLand) oordDorp = "rowa";
	oordDorpnaam = Get_Cookie("mijn_oord_dorp_naam");
	if (!oordDorpnaam) oordDorpnaam = "Abtenau";
	oordDorpcode = Get_Cookie("mijn_oord_dorp_code");
	if (!oordDorpcode) oordDorpcode = "1486";
	
	switch(oordLand) {
	case "rowa":
	  oordLand = "Oostenrijk"
	  break;
	case "rowd":
	  oordLand = "Duitsland"
	  break;
	case "rowf":
	  oordLand = "Frankrijk"
	  break;
	case "rowi":
	  oordLand = "Italie"
	  break;
	case "rowch":
	  oordLand = "Zwitserland"
	  break;
	default:
	  oordLand = "Oostenrijk"
	}

	$("#landmenu").val(oordLand);
	changeRegionMenuWeerblok(oordLand);
	$("select."+oordLand).val(oordDorpnaam);
	
	//$("#weerblokDorp").html("Weersverwachting "+oordDorpnaam);
	$("#accordion-weather").accordion({ header: "h3", activate: 0 /*,autoHeight: false*/ });
	$("#accordion-weather").bind('accordionchange', function(event, ui) {
		ui.newHeader.addClass("acc-headeractive"); // jQuery object, activated header
		ui.oldHeader.removeClass("acc-headeractive"); // jQuery object, previous header
		//ui.newContent // jQuery object, activated content
		//ui.oldContent // jQuery object, previous content
	});
	$("#accordion-loader").css({'display' : 'none'});
	$("#accordion-weather").css({'visibility' : 'visible','height' : 'auto'});	
	
	initTooltip();
}

function initTooltip(){
	$('#accordion-weather span.uitleg').cluetip({
		tracking: true,
		splitTitle: '|',
		positionBy: 'mouse',
		topOffset: '0',
		leftOffset: '15',
		width: 150,
		hoverIntent: {    
			  sensitivity:  1,
			  interval:     300,
			  timeout:      0
		}
	});
	tweedagenSlide();
}

function tweedagenSlide(){
	$("#weerBox-2dagen-ul-next").click(function(){
      $("#weerBox-2dagen-ul").animate( { left:"-164"}, 500 );
    });	
	$("#weerBox-2dagen-ul-previous").click(function(){
      $("#weerBox-2dagen-ul").animate( { left:"0"}, 500 );
    });	
}

function changeRegionAjax(land, gebiedcode, gebied){
	Set_Cookie( 'mijn_oord_land', land, 30, '/', '', '' );
	Set_Cookie( 'mijn_oord_dorp_code', gebiedcode, 30, '/', '', '' );
	Set_Cookie( 'mijn_oord_dorp_naam', gebied, 30, '/', '', '' );
	/* change title (h2) to selected village */
	$("#weerblokDorp").html("Weersverwachting "+gebied);
	
	/* replace spaces in gebied for _GET values -> JQuery load method fix; gebied.replace doesnt work! */
	/*var pieces = gebied.split(" ");
	gebied = pieces[0];
	for (var i=1;i<pieces.length;i++)
		gebied += "%20"+pieces[i];*/

	/* re-fill weather box contents (and maintain accordion by replacing individually) */
	$("#weerBox-2dagen").load("/xml/weerblok-content.asp?land="+land+"&dorp="+gebiedcode+" #weerBox-2dagen");
	$("#weerBox-5dagen").load("/xml/weerblok-content.asp?land="+land+"&dorp="+gebiedcode+" #weerBox-5dagen");
	$("#weerBox-hoogtes").load("/xml/weerblok-content.asp?land="+land+"&dorp="+gebiedcode+" #weerBox-hoogtes");
	$("#weerBox-wind").load("/xml/weerblok-content.asp?land="+land+"&dorp="+gebiedcode+" #weerBox-wind");
	$("#weerBox-hoogtes").load("/xml/weerblok-content.asp?land="+land+"&dorp="+gebiedcode+" #weerBox-hoogtes", function(){
		initTooltip();
	});
}


function changeWeerblokDorp(dorp){
	$('#weerblokDorp').html = 'Weersverwachting '+dorp;
}

function Set_Cookie( name, value, expires, path, domain, secure ) 
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct 
expires time, the current script below will set 
it for x number of days, to make it for hours, 
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

// this fixes an issue with the old method, ambiguous values 
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}			

