$(document).ready(function() {
	$('.at_text li').each(spanize);
	$('.at_text a, .atlist a').each(spanize);

	$('.p-inline p:last-child').css({'margin-bottom':0,'display':'inline'});
	init_calender();
	$('a.langswitch').click(function() {
		xajax.call('custom_xajax#switchlang', [ this.href.substr(this.href.length-3,2), dbres ], 1);
		return false;
	});
	// zet footer overal zelfde hoogte
	var m=0;
	$('.footer .margin').each(function() { m = Math.max(m,$(this).height()); });
	$('.footer .margin').height(m);
});
function spanize() {
	var $a=$(this);
	$a.html('<span>'+$a.html()+'</span>');
}
function calender_setMonth(m,name,tmplname,htmlid,roottopics) {
	var q='<xjxquery><q>month='+m+'&name='+name+'&tmplname='+tmplname+'&htmlid='+htmlid+'&roottopics='+roottopics+'<'+'/q><'+'/xjxquery>';
	xajax.call('calender#setMonth', [ q ], 1);
}
var ie=(navigator.appName.indexOf('Explorer')>-1);

function calender_setWeek(w,name,tmplname,htmlid,roottopics) {
	var q='<xjxquery><q>week='+w+'&name='+name+'&tmplname='+tmplname+'&htmlid='+htmlid+'&roottopics='+roottopics+'<'+'/q><'+'/xjxquery>';
	xajax.call('calender#setWeek', [ q ], 1);
}
function calender_setDay(d,name,tmplname,htmlid,roottopics) {
	var q='<xjxquery><q>day='+d+'&name='+name+'&tmplname='+tmplname+'&htmlid='+htmlid+'&roottopics='+roottopics+'<'+'/q><'+'/xjxquery>';
	xajax.call('calender#setDay', [ q ], 1);
}

function calender_showPopup(ref) {
	var html = '<div class="calender_popup"><div class="dragbar"><div onclick="$(this).parent().parent().fadeOut();"></div></div>';
	for (var i=1; i<arguments.length; i++) {
		html += '<a href="'+arguments[i++]+'">'+arguments[i]+'</a>';
	}
	$('body').append(html+'</div>');
	var jobj = $(ref);
	var pos = jobj.position();
	var posp = $('#blocks').position();
	var pospp = $('#site_content').position();
	pos.left += posp.left + pospp.left - 10;
	pos.top += posp.top + pospp.top + 15;
	$('.calender_popup:last').fadeIn().css('left',pos.left+'px').css('top',pos.top+'px');
	jobj.parent().find('th').attr('onclick')();
	return false;
}

function showMultiMedia(url,type,title,width,height,color) {
	var html;
	switch (type) {
		case 'video':
			html='<object name="video" id="globe" width="'+width+'" height="'+height+'" ';
			if (ie) {
				html += "classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='9,0,0,0'";
			} else {
				html += 'data="/_rxlib/flash/rexplayer/rexplayer.swf" type="application/x-shockwave-flash"';
			}
			//<param name="wmode" value="transparent">
			html += '>\
				<param name="flashvars" value="\
					&skin=/flash/skin-kc-'+color+'.swf&file='+url+'&\
					&elements=play,back,bar,time,volume,mute&controller_fade_delay=3&startbutton=true&autostart=true&repeat=false&preload=true&\
					&margin=0&margin_controller=0&margin_subtitles=0&position_controller=-3&callback=" />\
				<param name="movie" value="/_rxlib/flash/rexplayer/rexplayer.swf" />\
				<param name="allowfullscreen" value="true" />\
				<param name="wmode" value="opaque" />\
				<param name="loop" value="false" />\
				<param name="menu" value="false" />\
				<param name="scale" value="noscale" />\
				<param name="salign" value="lt" />\
				<param name="quality" value="high" />\
				<param name="bgcolor" value="#ffffff" />\
			</object>';
			break;
		case 'image':
			html = '<img src="'+url+'" alt="'+title+'" width="'+width+'" />';
			break;
	}
	$.facebox(html);
	$('#facebox').addClass(color);
	$('#facebox .header .title').html(title ? title : '');
}

// xAjax Stuff
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;
}
function init_calender() {	
	$('.calender').each(function() {
		$ag = $(this);
		$ag.find('.calender_nav img, .calender_nav span').click(function() {
			var $b = $(this);
			var par = $b.hasClass('month_prev') ? -1 : ($b.hasClass('month_next') ? 1 : 0 );
			var $calender = $ag.find('.calender_grph');
			$.ajax({
				type: 'POST',
				url: '/jqajax',
				dataType: "json",
				data: {
					jqajax: "calender#setMonth",
					xajaxargs : {
						dmonth : par,
						name: $calender.attr('name'),
						roottopics: $calender.attr('roottopics'),
						tmplname: $ag.attr('template')
					}
				},
				success: function (data) {
					if (data.status) {
						$ag.html( $(data.html).filter('.calender').html() );
						init_calender();
					}
				}
			});
		});
		$ag.find('tr.week th, td.event').each(function() {
			var $b = $(this);
			if ( !$b.hasClass('event') && !$b.parent().find('td.event').length ) return;
			$b.css('cursor','pointer').click(function() {
				var firstday,lastday;
				if ($b.hasClass('event')) {
					firstday = $b.text();
					lastday = $b.text();
					$('.calender tr.week th.selected').removeClass('selected');
					$('.calender td.event.selected').removeClass('selected');
					$b.addClass('selected');
				} else {
					$tr = $b.parent();
					firstday = $tr.find('td:not(.blank):first').text();
					lastday = $tr.find('td:not(.blank):last').text();
					$('.calender tr.week th.selected').removeClass('selected');
					$('.calender td.event.selected').removeClass('selected');
					$tr.find('th').addClass('selected');
				}
				var $calender = $b.parents('.calender').find('.calender_grph');
				$.ajax({
					type: 'POST',
					url: '/jqajax',
					dataType: "json",
					data: {
						jqajax: 'calender#getList',
						xajaxargs : {
							firstday : firstday,
							lastday: lastday,
							roottopics: $calender.attr('roottopics'),
							name: $calender.attr('name'),
							tmplname: $ag.attr('template')
						}
					},
					success: function (data) {
						if (data.status) {
							$ag.find('.calender_list').html( $(data.html).filter('.calender').find('.calender_list').html() );
						}
					}
				});
			});
		});
	});
}

