var runLite = 'set';
var taal = 'nl';

function goTo(url, newWindow) {
	if (newWindow) {
		window.open(url);
	} else {
		doc.location.href = url;
	}
}

/* Knop met hovereffect
-----------------------------------------------------------------------------------------*/
function initKnopHover( EleStr ) {
	EleStr = ( typeof EleStr != 'string' ? '' : EleStr+' ' );
	$(EleStr+'input.knop,'+EleStr+'img.knop').unbind('hover').hover(
		function() { knopHover( this, true ); },
		function() { knopHover( this, false ); }
	);
}

function knopHover( Ele, Hover ) {
	var imgSrc = ( Ele.src ? Ele.src : Ele.style.backgroundImage );
	var imgExt = imgSrc.match( RegExp('\\.([a-z]{3})(\\)|)$') );
	if ( !imgExt ) {
		return false;
	}
	imgSrc = imgSrc.replace( '-hover.'+imgExt[1], '.'+imgExt[1] );
	( Hover ? imgSrc = imgSrc.replace( '.'+imgExt[1], '-hover.'+imgExt[1] ) : false );
	( Ele.src ? Ele.src = imgSrc : Ele.style.backgroundImage = imgSrc );
}

var klkExp = new RegExp('\\[([a-z-0-9]+)\\]');
function initTrackKlik() {
	$('a,img').filter(
		function() { return ( $(this).attr('class') && $(this).attr('class').match( klkExp ) ); }
	).click(
		function() { return trackKlik( this ); }
	);
}

function trackKlik( Ele ) {
	if ( !Ele || ( Ele.nodeName != 'A' && Ele.nodeName != 'IMG' ) ) {
		return true;
	}
	
	var expMatch = Ele.className.match( klkExp );
	$.ajax( { data: { trck: 'klk', id: expMatch[1] } } );
	
	if ( Ele.nodeName == 'A' && Ele.onclick ) {
		if ( Ele.onclick != 'undefined' && Ele.onclick.toString().indexOf( 'return ' ) > 0 ) {
			return false;
		}
	}

	if ( Ele.nodeName == 'IMG' || ( Ele.nodeName == 'A' && Ele.target == '_blank' ) ) {
		return true;
	}
	
	setTimeout( function() { document.location.href = Ele.href; }, 200 );
	return false;
}

function imgShrink( Ele, MaxBreedte, MaxHoogte, ControleerResolutie ) {
	if ( MaxBreedte == 0 ) {
		MaxBreedte = 80;
	}
	if ( MaxHoogte == 0 ) {
		MaxHoogte = 80;
	}
	
	if ( Ele.width > MaxBreedte ) {
		Ele.height = ( ( MaxBreedte / Ele.width ) * Ele.height );
		Ele.width = MaxBreedte;
	}
	
	if ( Ele.height > MaxHoogte ) {
		Ele.width = ( ( MaxHoogte / Ele.height ) * Ele.width );
		Ele.height = MaxHoogte;
	}
	
	if ( ControleerResolutie ) {
		var checkImg = new Image();
		checkImg.src = Ele.src;
			
		if ( checkImg.width < Ele.width ) {
			Ele.width = checkImg.width;
		}
		if ( checkImg.height < Ele.height ) {
			Ele.height = checkImg.height;
		}
	}
}

var menuLiTimeout = false;
var menuActief = false;
function initMenu() {
	var menuMeerTimeout = false;
	var menuOffset = false;
	var menulLiActief = false;
	
	if ( !runLite ) {
		$('#menu li a').each( function() {
			$(this).css( 'padding', '0px').html( '<span class="l"><span class="r">'+$(this).html()+'</span></span>');
		} );
	}
	
	$('#subtab-meer, #subtab-meer-ul').mouseover( function() {
		$('#subtab-meer-ul').slideDown( 'normal', function() {
			clearTimeout( menuMeerTimeout );
			menuMeerTimeout = setTimeout( function() {
				clearTimeout( menuMeerTimeout );
				$('#subtab-meer-ul').slideUp();
				menuIcoonSlide( menulLiActief, false );
				
			}, 1500 );
		} );
	} );
	
	$(window).resize( function() { menuOffset = $('#menu').offset(); } ).trigger('resize');
	
	menulLiActief = $('#menu li.actief').css( 'background-image', 'none' );
	menulLiActief = ( menulLiActief.length ? ( menulLiActief.offset().left - menuOffset.left + ( menulLiActief.outerWidth() / 2 ) - 4 ) : false );
	
	$('#menu').append( '<img src="/images/bg/menu-actief.gif" alt="" id="icoon"'+( menulLiActief ? ' style="left: '+menulLiActief+'px;"' : '' )+' />' );
	menuIcoonSlide( menulLiActief, true );
	$('#menu li a').hover(
		function() {
			menuActief = true;
			menuIcoonSlide( $(this).offset().left - menuOffset.left + ( $(this).outerWidth() / 2 ) - 4, true );
		},
		function() { menuActief = false; $('#menu ul').trigger('mouseout'); }
	);
	$('#menu ul').mouseout( function() {
		menuLiTimeout = setTimeout( function() {
			menuIcoonSlide( menulLiActief, false );
		}, 1500 );
	} );
}

function menuIcoonSlide( Positie, Forceer ) {
	clearTimeout( menuLiTimeout ); menuLiTimeout = false;
	if ( !menuActief || Forceer ) {
		if ( Positie ) {
			$('#menu #icoon').stop().show().animate( { left: Positie+'px' }, "normal", function() { clearTimeout( menuLiTimeout ); menuLiTimeout = false; } );
		} else {
			$('#menu #icoon').hide();
		}
	}
}

var tekstScroller;
function initTekstScroller() {
	tekstScroller = {
		items: new Array(),
		toonItemNr: -1,
		scrollTekst: function() {
			this.toonItemNr++;
			if ( this.toonItemNr >= this.items.length ) {
				this.toonItemNr = 0;
			}
			var tekstItem = this.items[ this.toonItemNr ];
			$('#top-scroller div').html( '<span class="datum">'+tekstItem.datum+'</span><h3><a href="'+tekstItem.url+'">'+tekstItem.titel+'</a></h3><p>'+tekstItem.tekst+' <a href="'+tekstItem.url+'" class="meer-link">Lees meer &raquo;</a></p>' ).show();
			
			setTimeout(
				function() {
					$('#top-scroller div').hide();
					tekstScroller.scrollTekst();
				}, 6000
			);
		}
	};
	
	$.ajax( {
		data: 'scroller=get',
		success: function(data) {
			tekstScroller.items = data;
			tekstScroller.scrollTekst();
		}	
	} );
}

function initHotelBoeken() {
	if ( !$('#adag').length ) {
		return;
	}
	var datepickerArgs = {};
	if ( taal == 'nl' ) {
		datepickerArgs.dateFormat = 'dd-mm-yy';
		datepickerArgs.dayNamesMin = ['Zo', 'Ma', 'Di', 'Mo', 'Do', 'Vr', 'Za'];
		datepickerArgs.monthNames = ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];
	}
	
	var veldPrefix = new Array( 'a', 'v' );
	for ( var veld in veldPrefix ) {
		veld = veldPrefix[ veld ];
		
		var valDag = $('#'+veld+'dag').val(); var valMaand = $('#'+veld+'maand').val(); var valJaar = $('#'+veld+'jaar').val();
		var valDatum = ( taal == 'en' ? valMaand+'/'+valDag+'/'+valJaar : valDag+'-'+valMaand+'-'+valJaar );
		$('#'+veld+'dag').replaceWith('<input type="text" id="'+veld+'datum" name="'+veld+'datum" class="klein" readonly="readonly" value="'+valDatum+'" />');
		$('#'+veld+'maand, #'+veld+'jaar').remove();
		
		$('#'+veld+'datum').datepicker( datepickerArgs );
	}
}

function initKolomRijen() {
	$('.kolomrij .kolomlinks:first').css( 'marginLeft', '0px' );
	$('.kolomrij').each( function() {
		var maxHoogte = 0;
		$('.box', $(this) ).each( function() {
			var hoogte = ( $(this).outerHeight() - 2 );
			if ( hoogte > maxHoogte ) {
				maxHoogte = hoogte;
			}
		} ).height( maxHoogte );
	} );
}

$(document).ready( function() {
	runLite = ( Math.round( jQuery.browser.version ) <= 6 && jQuery.browser.msie );
	
	$.ajaxSetup( {
		url: "/jx.js",
		global: false,
		dataType: 'json',
		type: "GET"
	} );
	
	if ( !runLite ) {
		// Logo
		$('#logo img').attr( 'src', $('#logo img').attr( 'src' ).replace( '.gif', '.png' ) );
	}
	
	// Mededelingen
	if ( $(".mededelingen") ) {
		$(".mededelingen").fadeTo( 0, 0.95 );
		setTimeout( function() { $(".mededelingen").fadeOut("slow"); }, 5000 );
	}
	
	if ( !runLite ) {
		// Hotel boeken
		initHotelBoeken();
		
		// Kolomrijen
		initKolomRijen();
	}
	
	// Tekstscroller
	initTekstScroller();
	
	// Menu
	initMenu();
	
	// Trackklik
	initTrackKlik();
	
	// Hover over knoppen
	initKnopHover();
} );