var scrollSpeed = 500;
var car_startitems={};
var car_moveSpeed = 250;

jQuery(document).ready(function() {
	var w = 0;
	$('.timeline_item:last').width( $('.timeline_item:last').width()+1);
	$('.timeline_item').each(function(i) {
		var ref=$(this);
		if ( ref.children('.timeline_list').height() > ref.find('.carousel_container').height() )  ref.children('.timeline_vscrollnav').hide();
		w += ref.outerWidth(); 
	});
	$('.timeline_items').width( w );
	var ref = $('.timeline_items');
	if (ref.length) {
		var left = readCookie('timeline_offset');
		if (left) ref.css('left',left+'px');
	}
});
jQuery(window).unload( function () {
	var ref = $('.timeline_items');
	if (ref.length) {
		var left = parseInt(ref.css('left'));
		if (!isNaN(left)) createCookie('timeline_offset',left);
	}
});

function scroll(sel,offset) {
	var ref = $(sel);
	if (!ref.length) return;
	var target = parseInt(ref.css('left'));
	if (isNaN(target)) target = 0;
	target += offset;
	if (offset>0) {
		if (target>0) target=0;
	} else {
		if (target < ref.parent().width()-ref.width()) {
			target = ref.parent().width()-ref.width();
		}
	}
	ref.animate({left: target}, scrollSpeed );
}
function setCarousel( selector, offset ) {
	var car_startitem = car_startitems[selector] ? car_startitems[selector] : 1;
	if (offset) car_startitem += offset;
	if ( car_startitem < 1 ) car_startitem = 1;
	var car_height = $(selector).outerHeight();
	var car_totalitems = $(selector+' .timeline_link').length;
	var top;
	var h=0;
	for ( var i=car_startitem; i<=car_totalitems && h < car_height; i++ ) {
		h += $(selector + ' .carousel_item'+i).outerHeight();
	}
	if ( h < car_height) {
		var h=0;
		for ( var i=car_totalitems; i>0 && h < car_height; i-- ) {
			h += $(selector + ' .carousel_item'+i).height();
		}
		if ( h < car_height) {
			car_startitem = 1;
			top = -$(selector + ' .carousel_item'+car_startitem).position().top;
		} else {
			car_startitem = i + 1;
			top = car_height - $(selector + ' .carousel_container').height();
		}
	} else {
		top = -$(selector + ' .carousel_item'+car_startitem).position().top;
	}
	$(selector + ' .carousel_container').animate({top: top}, car_moveSpeed );
	car_startitems[selector] = car_startitem;
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*3600000));
		var expires = "; expires="+date.toGMTString();
	} else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// xAjax Stuff
function switchlang(lang, page) {
	xajax.call('custom_xajax#switchlang', new Array(lang,page), 1);
}
function switchartgrp(artgrp,template, nr) {
	xajax.call('custom_xajax#switchartgrp', new Array(artgrp,template, nr), 1);
}
function CheckFormNB(f,err) {
	if (f.email.value == "") {
		alert(err);
		f.email.focus();
		return false;
	}
	return true;
}
function submitForm(e, additional_cf) {
	if (e && e.tagName == 'FORM') {
		
		if(!ValidateForm(e)) return false;
		
		var formElements = e.elements;
		var target_cf = formElements['target_cf'] ? formElements['target_cf'].value : additional_cf;
		var wait_button = formElements['wait_button'].value;
		
		if(target_cf) {
			
			var chksum = location.hostname;
			formElements['checksum'].setAttribute("value",chksum);
			
			if (xajax.$(wait_button)) {
				xajax.$(wait_button).disabled=true;
				xajax.$(wait_button).value="Even geduld aub...";
			}
			xajax.call(target_cf, new Array(xajax.getFormValues(e)), 1);
			
		} else {
			alert('submitForm: No valid arguments');
		}
	} else {
		alert('submitForm: No valid FORM object');
	}
	return false;
}


function ValidateForm(e) {
	var msg = '';
	var chk = '';
	var focusfld = '';
	var i,ii,x;
	var rclist = [];
	var val = '';
	for(i=0;i<e.length;i++) {
		if (chk = e[i].getAttribute('inpchk')) {
			e[i].className = e[i].className.replace('mandatory','');
			if ((chk == 'notempty')) {
				if (e[i].type == 'checkbox') {
					val = (e[i].checked) ? '1' : '';
				} else {
					val = e[i].value;
				}
				if (val == '') {
					if (focusfld == '') focusfld = e[i].name;
					msg += e[i].getAttribute('chkmsg')+"\n";
					e[i].className += ' mandatory';
				}
			}
			if ((chk == 'minmaxlen')) {
				var min = e[i].getAttribute('minlen');
				var max = e[i].getAttribute('maxlen');
				if (e[i].value.length < min) {
					msg += e[i].getAttribute('chkmsg')+"\n";
					if (focusfld == '') focusfld = e[i].name;
					e[i].className += ' mandatory';
				}
				if (e[i].value.length > max) {
					msg += e[i].getAttribute('maxmsg')+"\n";
					if (focusfld == '') focusfld = e[i].name;
					e[i].className += ' mandatory';
				}
			}
			if ((chk == 'radiovalue')) {
				if (rclist[e[i].name] == 1) continue;
				rclist[e[i].name] = 1;
				x = e[e[i].name];
				if (!!x[0]) {
					for(ii=0;ii<x.length;ii++) {
						x[ii].className = x[ii].className.replace('mandatory','');
					}
					val = false;
					for(ii=0;ii<x.length;ii++) {
						if (x[ii].checked) val = true;
					}
					if (!val) {
						for(ii=0;ii<x.length;ii++) {
							x[ii].className += ' mandatory';
						}
						if (focusfld == '') focusfld = i;
						msg += e[i].getAttribute('chkmsg')+"\n";
					}
				}
			}
		}
	}
	if (msg) {
		alert(msg);
		e[focusfld].scrollIntoView(false);
		e[focusfld].focus();
		return false;
	}
	return true;
}


