$(document).ready(function() {
	
	debug('ready');
	
	common();
	
	forms({
		'checkbox':false,
		'selectbox':true,
		'filestyle':false
	});
	
	cycle();
	
	pngfix();
	
	if ($("#facts LI").length > 1) {
	    setInterval( "slideSwitch()", 5000 );
	}
	
});

/*** BOVENSTE STUK KAN WEG ***/


var slideSwitch = function() {
    var $active = $('#facts LI.active');

    if ( $active.length == 0 ) $active = $('#facts LI:last');

    var $next =  $active.next().length ? $active.next()
        : $('#facts LI:first');

    $active.addClass('last-active');

    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}


// ZET HIER JE COMMON FUNCTIES IN
var common	=	function(){
	
	
	$.gaTracker($('meta[name=analytics]').attr('content'));
	
	
//	Zoeken : Marco: 3-8


	$("#search-form").submit(function() {
		if ($("#search-input").val() > '') {
			location = $(this).attr('action')+base64_encode( $("#search-input").val() );
		}
		return false;
	});
	
	
	
	$('#screen-bg, #screen .close').css('opacity',0.8).click(function(){
		$('#screen, #screen-bg').css('display','none');
	});
	
	$('.documenten','#top').click(function(){
		if( $('#ingelogd').length == 0 ){
			var action = $(this).attr('href');
			$('#screen, #screen-bg').css('display','block');
			$('#form-1').attr('action', action);
			return false;
		}
	});
	/*
	$('#submenu ul li a').click(function(){
										 
		if( $(this).attr('href').indexOf('#') >= 0 ){
			$('#submenu ul li').removeClass('active');
			$(this).parent().addClass('active');
			
			$('.results').css('display','none');
			$( $(this).attr('href') ).css('display','block');
			
			return false;	
		}
	});
	*/
	
	$('ul.faq li a.q').click(function(){
		$('ul.faq li.active').removeClass('active');
		$(this).parent().addClass('active');
									
		return false;
	});

	// externe links
	$('a[rel="extern"]').attr('target', '_blank');
}

var cycle	=	function(){
	$('#banner').cycle({
		fx:    'fade',
		delay: -4000,
		timeout:2000,
		speed:2000,
		continuous:1
	});	
	
	$('#header .cycle').cycle({
		fx:    'fade',
		delay: -2000,
		timeout:5000,
		speed:1000,
		continuous:0,
		before:function(currSlideElement, nextSlideElement, options, forwardFlag){
			var i = $( nextSlideElement ).attr('class').replace('item-','');
			$('#header ul li').removeClass('active');
			$('#header ul li').eq(parseInt(i)).addClass('active');
		}
	});	
}

// FUNCTIES VOOR TRANSPARANTE PNG ONDERSTEUNING IN IE6
var pngfix	=	function(){
	
	if($.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent)){

//		$('.pdf, .download').pngfix();
				
		$('.pdf, .download, ul.faq li a span, ul.related li a span, #header ul').each(function(){
			$(this).css('background-image', $(this).css('background-image').replace('.png','.gif') );
		});

		$('#header ul li a').hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		});

			
	}
}

// CONFIGUREER DE DATEPICKER
var calendar	=	function(){
	
	$('.calendar').datepicker({
		onSelect:function(date, elm){ 
			
			debug('Geselecteerde datum: '+date);
			
		},
		onChangeMonthYear:function(date, elm){
			
			debug('Geselecteerde maand / jaar: '+date);
			
		},
		weekHeader: 'wk', 
		showWeeks: true,
		firstDay: 1, 
		changeFirstDay: false,
		changeMonth: false,
		changeYear: false,
		prevText: '', 
		nextText: '' 
	});
	
}

// VERVANG TEKST DOOR EEN AFBEELDING MET EEN MOOIE FONT TEKST
var qtekst	=	function(){

	$('#diensten #content h1').qtekst({
		techniek: 'Park',
		fontSize: 11, 
		color: '#ffffff', 
		backgroundColor: '#7D7268', 
		fontFile: 'VAGRouBTReg.ttf', 
		spacing: 2, 
		lineheight: 0, 
		textShadow: false 
	});
}

// VOEG SCHADUWEN OF RONDINGEN TOE (ALLEEN VOOR MODERNE BROWSERS)
var qshadows	=	function(){
	
	$('#header').qshadow({
		size:3,
		imagePath:'/images/shadows',
		insert: 'append',
		prefix: ''
	});
}

// LAAD EEN GOOGLE MAPS KAART
var gmaps	=	function(){
	
	var content = $('#jmap').html();
	
	$('#jmap').jmap('init', {
		'mapType':'map',
		'mapZoom':12,
		'language': "nl",
		'mapEnableType': false,
		'mapEnableDoubleClickZoom': true,
		'mapEnableScrollZoom': false,
		'mapEnableSmoothZoom': true,
		'mapCenter':[51.74956,4.16897], 
		'mapShowjMapsIcon':false
	}, function (map, element, options){
		$('#jmap').jmap('AddMarker',{
			'pointLatLng':[51.7620063, 4.1911525]
//			'pointHTML':'<strong>Alpharo Consult</strong<br /><br />Vlietstraat 5-7<br />Hardinxveld-Giessendam'
		});
	}).append(content);
}

// GOOGLE ANALYTICS STATISTIEKEN
var gatracker	=	function(){
	
	var GACode = $('meta[name=analytics]').attr('content');
	
	$.gaTracker(GACode, {
		external:	'/external/',
		mailto:		'/mailto/',
		download:	'/downloads/',
		extensions:	[
			'pdf','doc','xls','csv','jpg','gif', 'mp3',
			'swf','txt','ppt','zip','gz','dmg','xml'		
		]
	});
}

// FLASHBESTENDEN LADEN
var flash		=	function(){
	debug('flash code nog niet ingevoegd');	
}

// CUSTOM SCROLLBARS
var scrollpane	= 	function(){
	
	$(".channel-left").jScrollPane({
		scrollbarWidth : 10,
		scrollbarMargin : 0,
		wheelSpeed : 18,
		showArrows : false,
		arrowSize : 31,
		animateTo : false,
		dragMinHeight : 1,
		dragMaxHeight : 99999,
		animateInterval : 100,
		animateStep: 3,
		maintainPosition: true,
		scrollbarOnLeft: false	
	});
}


// FUNCTIES MET BETREKKING TOT FORMULIER, CHECKS, REPLACEMENTS, ETC
var forms	=	function(options){
	
	if(options.checkbox){
		$('input[type=checkbox]').checkbox({
			cls: 'jquery-checkbox',
			empty:'../images/checkbox/empty.png'
		});
	}
	
	if(options.checkbox){
		$('input[type=radio]').checkbox({
			cls: 'jquery-radio',
			empty:'../images/checkbox/empty.png'
		});
	}
	
	if(options.selectbox){
		$('select').selectbox().change(function(){
			location = $(this).val();										
		});
	}
	
	if(options.filestyle){
		$('input[type=file]').filestyle();
	}
	
	$('.input-search').focus(function(){
		if( $(this).val() == 'Zoeken...' ){
			$(this).val('');
		}
	});
	
	$('.input-nieuwsbrief').focus(function(){
		if( $(this).val() == 'Uw e-mailadres' ){
			$(this).val('');
		}
	});

}

// CHECK FOOR VALID EMAIL
var validEmail	=	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					
}

// CHECK FOOR VALID URL
var validUrl	=	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;
    }
}

// CHECK FOOR VALID INT
var validInt	=	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;
}

// CHECK FOOR VALID DATES
var validDate	=	function(date){
	var bool = true;
	var glue = '-';
	var check=new Date();
	
	debug('validDate in ontwikkeling..!');
	
	if(date.length == 10){
		if(date.indexOf(glue) == 2 && date.lastIndexOf(glue) == 5 && validInt(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 check 2');
			bool = false;	
		}
	
	}
	else{
		bool = false;	
	}
	
	return bool;
}

// PRINT DEBUG INFO
var debug = function(text){
	if($.browser.mozilla && typeof(console) != 'undefined'){
		console.info(text);	
	}	
}