/* 
	GENERAL JAVASCRIPT
	www.bubiblomer.com
	by bubi blomer
	ver 0.3 | 23/10/2009
*/

$(document).ready(function() {
	
	// Internet Explorer 6 Message
	if($.browser.msie && $.browser.version == 6){
		var ie6MsgCookie = $.cookieJar('ie6MsgCookie', {cookie: {path: '/', expires: 31}});
		//ie6MsgCookie.destroy();
		if(ie6MsgCookie.get('show') === "no"){
			//do nothing
		} else {
			$('#ie6Msg').fancybox({
				'frameHeight': 480,
				'overlayShow': true,
				'hideOnContentClick': false
			}).trigger('click');
			ie6MsgCookie.set('show', 'no');
		}
	}

	//message depending on window.location.href
	var location = window.location.href;
	var msgFromPHP = new RegExp("message=");
	var msgErrorFromPHP = new RegExp("error=");
	var msgSucessFromPHP = new RegExp("success=");
	if(msgFromPHP.test(location)){
		flashMessage(unescape(RegExp.rightContext),'message');
	} else if(msgErrorFromPHP.test(location)){
		flashMessage(unescape(RegExp.rightContext),'error');
	} else if(msgSucessFromPHP.test(location)){
		flashMessage(unescape(RegExp.rightContext),'success');
	}

	/* !form validation defaults */
	jQuery.validator.setDefaults({
		errorPlacement: function(error, element){
			element.parent().append(error)
		},
		errorElement: "span",
		errorClass: "ui-state-error",
		rules: {
			sName: 'required',
			sFirstname: 'required',
			sLastname: 'required',
			sEmail: 'required email',
			sUsername: 'required',
			sPassword: 'required',
			sNewPassword: 'required',
			sConfirmNewPassword: {
				equalTo: "#sNewPassword"
			}
		},
		messages: {}
	});
	
	/*
	* Translated default messages for the jQuery validation plugin.
	* By Joost Baaij http://www.spacebabies.nl/ joost@spacebabies.nl
	* Language: NL
	* Skipped date/dateISO/number.
	*/
	
	/* !dutch validation messages translation */
	jQuery.extend(jQuery.validator.messages, {
		required: "Dit veld is verplicht.",
		maxlength: jQuery.format("U kunt niet meer dan {0} karakters invoeren."),
		minlength: jQuery.format("U dient minimaal {0} karakters in te voeren."),
		rangelength: jQuery.format("U dient minimaal {0} en maximaal {1} karakters in te voeren."),
		email: "Een geldig emailadres is verplicht.",
		url: "Een geldig URL is verplicht.",
		date: "Een geldige datum is verplicht.",
		number: "Een geldig getal is verplicht.",
		digits: "Gebruik alleen cijfers.",
		equalTo: "Herhaal de invoer nogmaals.",
		range: jQuery.format("U dient een waarde tussen {0} en {1} in te voeren."),
		max: jQuery.format("U dient een waarde kleiner dan of gelijk aan {0} in te voeren."),
		min: jQuery.format("U dient een waarde groter dan of gelijk aan {0} in te voeren."),
		creditcard: "Een geldig creditcardnummer is verplicht."
	});
	
	// !run validation on each form
	$('form.validate').each(function() {
		var $this = $(this);
		$this.validate();
	});

}); //end jQuery Ready

function doFadeMsg(msg,type) { // type['notice','error','success']
	var $container =  $('#flashMessageContainer');
	var msgContainer = $container.find('span.msg');
	var $containerHeight = $container.outerHeight();
	var $windowHight = $(window).height();
	$container.addClass(type);
	msgContainer.html(msg);
	$container.css({'top':(($windowHight-$containerHeight)/2)});
	$container.fadeIn(1000).animate({opacity: 1.0}, 3000).fadeOut(1000);
}

function flashMessage(msg,type){ // type['notice','error','success']
	if(type === "message") {
		doFadeMsg(msg,type);
	} else if(type === "error") {
		doFadeMsg(msg,type);
	} else if(type === "success") {
		doFadeMsg(msg,type);
	}
}