$(document).ready(function() {
	
	debug('ready');
	
	common();
	
	forms({
		'checkbox':false,
		'selectbox':false,
		'filestyle':false
	});
	
	pngfix();
	
//	qtekst();

//	flash();
	
	carousel();
	
});

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




// ZET HIER JE COMMON FUNCTIES IN
var common	=	function(){

	// externe links
	$('a[rel="extern"]').attr('target', '_blank');
	
	$.gaTracker($('meta[name=analytics]').attr('content'));
	
	$("#search-form").submit(function() {
		if ($("#search-input").val() > '') {
			location = $(this).attr('action')+base64_encode( $("#search-input").val() );
		}
		return false;
	});
}

var carousel	=	function(){
	$('.jcarousel-skin-tango').jcarousel({
		'animation'	:	'slow',
		'wrap'		:	'last',
		'vertical'	:	true,
		'scroll'	:	1,
		'auto'		:	3,
		'buttonNextHTML':null,
		'buttonPrevHTML':null
	});	
}

var cycle	=	function(){
	$('.cycle').cycle({
		'fx'		:	'scrollUp',
		'sync'		: 	true,
		'continuous':	1,
		'delay'		:	-4000
	});	
}

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

		$('#header img, ul.contacten li img').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') );
//		});
	}
}

// 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(){

	$('#breadcrumb h2, #col-home h2:eq(1)').qtekst({
		techniek: 'LIR',
		fontSize: 16, 
		color: '#3083A3', 
		backgroundColor: '#ffffff', 
		fontFile: 'SariMed.ttf', 
		spacing: 1, 
		lineheight: 0, 
		textShadow: false 
	});
	
	$('#col-home h2:first').qtekst({
		techniek: 'LIR',
		fontSize: 16, 
		color: '#3083A3', 
		backgroundColor: '#CDDEE8', 
		fontFile: 'SariMed.ttf', 
		spacing: 1, 
		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('sifr');
	// SIFR
	$('h2').each(function(){
		flashembed(this, "/style/cpi/images/swf/sari-med-3.swf", {
			txt: $(this).html(),
			content: $(this).html(),
			css: '.sIFR-root { color: #666666; } a {color: #007766; text-decoration:underline}'			
		});
	});
}

// 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[type=text], textarea').each(function(i){
		$(this).attr('alt', $(this).val());
	});
	
	$('input[type=text], textarea').focus(function(){
		if( $(this).val() == $(this).attr('alt')){
			$(this).val('');
		}
	});
	
	$('input[type=text], textarea').blur(function(){
		if( $(this).val() == ''){
			$(this).val( $(this).attr('alt') );
		}
	});
	
	
	$('.input-search').focus(function(){
		if( $(this).val() == 'Zoeken...' ){
			$(this).val('');
		}
	});
	
	$('.input-nieuwsbrief').focus(function(){
		if( $(this).val() == 'Uw e-mailadres' ){
			$(this).val('');
		}
	});
	
	$('form').submit(function(){					
		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(!validEmail($(this).val())){
						txt += ' - ' + label + ' is geen geldig emailadres.\n';
					}
				break;
				case 'url':
					if(!validUrl($(this).val())){
						txt += ' - ' + label + ' is geen geldige URL.\n';
					}
				break;
				case 'number':
					if(!validInt($(this).val())){
						txt += ' - ' + label + ' is geen geldig nummer.\n';
					}
				break;
				case 'date':
					if(!validDate($(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;
		}
		
	});
	
	if( $('.submit-button').length > 0 ){
	//	$.get("/web/formsave", function(data){
	//		$('.submit-button').parent().append('<input type="hidden" name="formsave" value="'+data+'"/>');
	//	});
	}
}

// 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);	
	}	
}
