/**
 * Globale JavaScript functies
 */

function fixHeight(){
	var _window = $(window).height();
	var _document = $(document).height();
	var _wrapper = $('#wrapper').height();
	var _diff = $(document).height() - $(window).height();
	if(_document > _window && location.pathname != '/'){
		$('#wrapper').css('height',_document);
	}
}

function slideSwitch() {
	
	var active = $('.slideshow div.active');
	if ( active.length == 0 ) active = $('.slideshow div:last');

    // use this to pull the images in the order they appear in the markup
    var next =  active.next().length ? active.next() : $('.slideshow div:first');
    
    var sibs  = active.siblings();
    var rndNum = Math.floor(Math.random() * sibs.length );
    var next  = $( sibs[ rndNum ] );

    active.addClass('last-active');

    next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            active.removeClass('active last-active');
    });
}


function initSplashPage()
{
	/* css properties van het body elem aanpassen (heeft MSIE nodig) */
	$('html')
		.css({'width':'100%', 'height':'100%', 'background':'white', 'overflow':'hidden'})
		.next('body')
		.css({'width':'100%', 'height':'100%', 'background':'white', 'overflow':'hidden'});
	var div = $(document.createElement('div')).attr('class','overlay').html('').appendTo('body');
	var del = $(div).click(function(event){removeSplashPage();});
	setTimeout('removeSplashPage()',5000);
}

function removeSplashPage()
{
	$('.overlay')
		.fadeOut('slow',function(){$('.overlay').remove();});
	$('html')
		.removeAttr('style')
		.next('body')
		.removeAttr('style');
	return false;
}

jQuery.fn.fadingLinks = function(settings) {  
	settings = jQuery.extend({  
		color: '#ff8c00',  
		duration: 500
	}, settings);  
	return this.each(function() {
		var original = $(this).css('color');
		$(this).mouseover(function() { $(this).animate({ color: settings.color },settings.duration); });
		$(this).mouseout(function() { $(this).animate({ color: original },settings.duration); });			
	});
};

function isValidEmail(str){ // boye@e-sites.nl
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str)) {
		return true;
	} else {
		return false;
	}
}

function chkFrm(frmID, requireFieldsID) {
	
	error = false;
	$("p.err").empty();
	
	//naw gegegevens afhandelen
	var errors = new Array();
	errors = $('#'+requireFieldsID).val().split(",");	
	for (a in errors) {
		if (!$("#"+ errors[a]).val()) {
			error = true;
			$("p.err").append('- You did not fill out the ' + $('#' + errors[a]).attr('title') + ' field.<br>').fadeIn("slow");
			$("#"+ errors[a]).addClass("error").prev("#"+ errors[a]+'Lbl').addClass("errorMsg");
		} else {
			$("p.err").fadeOut("slow").empty();
			$("#"+ errors[a]).removeClass("error");
			$("#"+ errors[a]+'Lbl').removeClass();
		}
	}
	
	//extra email check
	if(frmID == 'contactFrm' && !isValidEmail($("#email").val())) {
		error = true;			
		$("p.err").append("- The e-mailaddress is not correct.").fadeIn("slow");
		$('#email').addClass("error");
		$('#emailLbl').addClass("errorMsg");
	}
	
	fixHeight();
	
	if (!error) {
		return true;
	} else {
		return false;	
	}
}

function showLogin(event)
{
	$('#loginBox').modal({
		close:true, // geen close button
		onOpen:login.onOpen,
		onShow:login.onShow,
		onClose:login.onClose,
		position:['5%',] // alleen top
	});
	event.preventDefault();
	return false;
}

var login = {
	message: null,
	onOpen: function (dialog)
	{
		dialog.overlay.fadeIn(200, function ()
		{
			dialog.container.fadeIn(200, function ()
			{
				dialog.data.fadeIn(400, function ()
				{
					$('#loginBox form').fadeIn(200, function ()
					{
						$('#loginBox #username').focus();
					});
				});
			});
		});
	},
	onClose: function (dialog)
	{
		dialog.data.fadeOut(200, function ()
		{
			dialog.container.fadeOut(200, function ()
			{
				dialog.overlay.fadeOut(200, function ()
				{
					$.modal.close();
				});
			});
		});
	}
};

/* quasar image gallery */
jQuery.fn.initGallery = function(settings) {  
	settings = jQuery.extend({  
		placeholder: '',  
		thumb: '',
		duration: 800,
		lightbox: '',
		fadeIn: true,
		shutdown: false,
		clone: false
	}, settings);	

	//$('div.mainImg a').css('display','none'); /* wordt met css afgehandeld */

	/* shutdown */
	if(settings.shutdown){return false;}
	
	/* gallery */
	var _gallery = this;
	var _img = _gallery.find('img').css({'display':'none'});
	
	/* thumbs inladen (evt met fade) */
	if (settings.fadeIn) { _img.fadeIn(800);
	} else { _img.css('display','block'); }
	
	var _imgCurr = $(this).children('.active').find('img').attr('src'); /* src van de active image achterhalen + opacity op 1 zetten */
	
	if(_imgCurr){
		var _imgOri = _imgCurr.replace('/thumb/','/').replace('_auto_auto_c100_c100_','/'); /* rewrite strippen om zo het fysieke pad te achterhalen */
	}

	/* placeholder standaard vullen	*/
	if(settings.clone){
		$(settings.placeholder).attr('href',_imgOri).find('img').attr('src',_imgOri);
	}
	$(settings.placeholder).fadeIn(1200).addClass('active');	
	
	/* standaard hover effect */
	$(_img).hover(function(){
		$(this).fadeTo(settings.duration, 1);
		$(this).parents('li').find('span.info').css('opacity', '1');
	},function(){
		$(this).fadeTo(settings.duration, .7);
		$(this).parents('li').find('span.info').css('opacity', '1');
	});

	/* placeholder vullen op basis van mouseover event */
	$(settings.thumb).hover(function(){
		var pattr = new RegExp("noImg.jpg");
		if(!$(this).parents('li').hasClass("active") && pattr.test($(this).children('img').attr('src')) == false){
			var imgID = $(this).parents('li').attr('id').match(/\d+/g);  //numerieke id vd thumb
			$(_gallery).find('.active').removeClass("active").removeAttr('style'); //active status van de vorige thumb weghalen
			$(this).parents('li').addClass("active").fadeTo(settings.duration, 1);
			if(settings.clone){
				var imgHref = $(this).find('img').attr('src').replace('/thumb/','/').replace('_auto_auto_c100_c100_','/');
				$('.mainImg a.active').fadeOut(800).removeClass('active').removeAttr('style');
				setTimeout(
				   	function(){
							$(settings.placeholder).attr('href',imgHref).find('img').attr('src',imgHref);
					}, 800
				);
				$(settings.placeholder).fadeIn(800).addClass('active');
			} else {
				$('.mainImg a.active').fadeOut(800).removeClass('active').removeAttr('style');
				$('a#img_' + imgID).fadeIn(800).addClass('active');			
			}
		}
	});
	
	/* niet doorklikken naar de daadwerkelijke image */
	if($(this).attr('class') == 'relatedFiles vertical' || $(this).attr('class') == 'relatedFiles'){
		$(settings.thumb).click(function(){
			return false;
		});
	}
	
};
