// JavaScript Document

var debugmode = false;


/* jquery on document ready */
$(function(){
	var height = $('#login').height();
	
	debug('ready');
	_home();
	_vacatures(1,3);
	
	$('img.slogan, div.testimonial img, .ttm-nav a img, .ttm img, img[class^=slp]').pngfix('/style/default/images/common/pixel.gif');
	
	$('.functies a').click(function(){
		$('.functiegroepen').css('display','none');
		$('.functies a').removeClass('active');
		$( $(this).attr('href') ).css('display','block');
		$(this).addClass('active');
		
		return false;
	});
	
	if ($(".photoalbum").length > 0) {
		$(".photoalbum a").overlay({ 
 			target: '#gallery', 
 			expose: '#000000'
		}).gallery({speed: 800});
	}
	
	
	if ($('ul.nieuws').length > 0) {
		$('ul.nieuws').qnavigation({
			visible:12,					   
			text:'Bladeren door het nieuws'
		});
	}
	
	$('ul.testimonials li').hover(function(){
		$(this).addClass('active');
	}, function(){
		$(this).removeClass('active');
	});
		
	$('ul.testimonials a, ul.testimonials li').click(function(){
		if( $(this).is('li') ){
			$this = $(this).find('a');
		}
		else{
			$this = $(this); 
		}
		location = $this.attr('href');
		
		return false;
	});
	
	
	$.gaTracker($('meta[name=analytics]').attr('content'));
	
	$('.testimonial > div').click(function(){
		$('ul.testimonials li#record-'+$(this).attr('id').substr( $(this).attr('id').indexOf('-')+1 )+' a').click();								   
	});
	
	var $kids = $('.functiegroepen:visible').children();
	for(i=0; i<$kids.length; i++){
		if($kids.eq(i).attr('tagName') == 'strong' || $kids.eq(i).attr('tagName') == 'STRONG'){
			i = $kids.length;
		}
		$kids.eq(i).css('padding-left','0px');
	}
	
	
	$('.form .vacatureveld').val( $('#slogan li.active a').html() );
	$('#slogan ul li a, #slogan ul li').click(function(){
		$('.functiegroepen').css('display','none');
		$(this).parents('div').eq(0).find('.active').removeClass('active');
		
		if( $(this).is('li') ){
			$this = $(this).find('a');
		}
		else{
			$this = $(this); 
		}
		
		$kids = $( $this.attr('href') ).children();
	
		for(i=0; i<$kids.length; i++){
			if($kids.eq(i).attr('tagName') == 'strong' || $kids.eq(i).attr('tagName') == 'STRONG'){
				i = $kids.length;
			}
			$kids.eq(i).css('padding-left','0px');
		}

		
		$( $this.attr('href') ).css('display','block');
		$this.parent().addClass('active');
		
//		$('.form .vacatureveld').val( $this.attr('href').substr( $this.attr('href').indexOf('-')+1 ) );

		// VACATURE NAAM VERSTUREN
		$('.form .vacatureveld').val( $('#slogan li.active a').html() );
		fix_height(height);
		return false;
	});
	
	$('#login input').focus(function(){
		if( $(this).val() == 'gebruikersnaam' || $(this).val() == 'wachtwoord' ){
			$(this).val('');	
		}
	});

	$('#zoeken input').focus(function(){
		if( $(this).val() == 'zoeken...'){
			$(this).val('');	
		}
	});
	
	_formulieren();
	fix_height(height);
	
	$(window).resize(function(){
		fix_height(height);
	});
});

var fix_height = function(height){
	
	var offset = $('#login').offset();
	var bottom = $(document).height() - (offset.top + height);
	
	if(bottom > 0){
		$('#login').css({'height':(height + bottom)+'px', 'background':'#ffffff'});
	}
	
}


var debug = function(text){
	if(debugmode == true && $.browser.mozilla){
		if(window.console){
			console.info(text);	
		}
	}	
}




var _formulieren = function(){
	
	// Form checker
	$('form').submit(function(){
							  
		/*
		// VACATURE NAAM VERSTUREN 
		if($('#slogan li.active a').attr('href')){
			debug( $('#slogan li.active a').html() );
			$('.form .vacatureveld').val( $('#slogan li.active a').html() );
		}
		*/
	

		var txt = '';

		// standaard form check
		$(this).find('input, textarea').each(function(){
			var label = $(this).parents('dd').prev().text();
			
			switch($(this).attr('alt')){
				case 'required':
					if( $(this).attr('alt') && $(this).val().length == 0 ){
						txt += ' - ' + label + ' is verplicht.\n';
					}
				break;
				case 'email':
					if(!emailValidation($(this).val())){
						txt += ' - ' + label + ' is geen geldig emailadres.\n';
					}
				break;
				case 'url':
					if(!urlValidation($(this).val())){
						txt += ' - ' + label + ' is geen geldige URL.\n';
					}
				break;
				case 'number':
					if(!intValidation($(this).val())){
						txt += ' - ' + label + ' is geen geldig nummer.\n';
					}
				break;
				case 'date':
					if(!dateValidation($(this).val())){
						txt += ' - ' + label + ' is geen geldige datum notatie gebruik (dd-mm-jjjj).\n';
					}
				break;
			}
		});
		
		if(txt && txt.length > 0){
			var header = '___________________________________________________________\n\n \n\n';
			var footer = '___________________________________________________________\n\n ';
			alert(header + txt + footer);
			return false;
		}
	});
	
	
	//SELECTBOX
	$('.input-select').selectbox();
	
	// RADIO, CHECKBOX
	$('.input-radio, .input-checkbox').checkBox();

	// FILE
	$('.input-file').filestyle({ 
		 image: "/style/flexurance/images/buttons/bladeren.png",
		 imageheight : 24,
		 imagewidth : 75,
		 width : $('.input-file').width()-74
	 });

}

var emailValidation = function(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }
	 return true					
}

var urlValidation = function(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
}

var intValidation = function(int){
	var valid = '1234567890';
	var bool = true;
	
	if(int.length > 0){
		for(i=0; i<int.length; i++){
			if( valid.indexOf(int[i]) < 0 ){
				bool = false;
			}
		}
	}
	else{
		bool = false;	
	}
	
	return bool;
}

var dateValidation = function(date){
	var valid = '1234567890';
	var bool = true;
	var glue = '-';
	var check=new Date();
		
	
	if(date.length == 10){
		if(date.indexOf(glue) == 2 && date.lastIndexOf(glue) == 5 && intValidation(date.replace(/-/g,''))){
			dateParts = date.split('-',3);
			
			check.setFullYear(dateParts[2],(dateParts[1]-1),dateParts[0]);
			
			debug(check);
			var day = (check.getDate() < 10 ? '0'+check.getDate() : check.getDate());
			var month = parseInt(check.getMonth()+1) < 10 ? '0'+check.getMonth()+1 : check.getMonth()+1;
			var year = check.getFullYear()
			test = day.toString().replace('00','0')+'-'+month.toString().replace('00','0')+'-'+year;
			
			
			
			debug(month);
			debug(date);
			debug(test);
			
			if(date != test){
				bool = false;
			}
			
		}
		else{
			debug('fout bij cehck 2');
			bool = false;	
		}
	
	}
	else{
		bool = false;	
	}
	
	return bool;
}


var _home = function(){

	$('#home .wb, #home .wm').click(function(){
		location = $(this).find('a').attr('href');
	});

	$('#home .wb, #home .wm').hover(function(){
		$(this).addClass('hover');
		
	}, function(){
		$(this).removeClass('hover');
	});
}


var _vacatures = function(p, visible){
	
	var start = (p * visible) - visible;
	var eind = start + visible;
	var total = $('#slogan .vacatures ul').length;
	
	var pages = Math.ceil(total / visible);
	
	for(i=0; i<total; i++){
		if(i >= start && i < eind){
			$('#slogan .vacatures ul').eq(i).show();
		}
		else{
			$('#slogan .vacatures ul').eq(i).hide();
		}
		
	}
	
	if( $('#slogan .nav a').length == 0 ){
		for(j=1; j<=pages; j++){
			if(p == j){
				$('#slogan .nav').append('<a href="?" class="active2">'+j+'</a>');
			}
			else{
				$('#slogan .nav').append('<a href="?">'+j+'</a>');
			}
		}
		
		$('#slogan .nav a').eq(0).css('border','0px');
		
		$('#slogan .nav a').click(function(){
			$('#slogan .nav a').removeClass('active2');			   
			$(this).addClass('active2');			   
			_vacatures(parseInt( $(this).html() ), visible);
			return false;
		});
	}

}

