/**
 * @name NiceJForms
 * @description This a jQuery equivalent for Niceforms ( http://badboy.ro/articles/2007-01-30/niceforms/ ).  All the forms are styled with beautiful images as backgrounds and stuff. Enjoy them!
 * @version 0.1
 */

jQuery.NiceJForms = {
	options : {
		selectRightSideWidth     : 21,
		selectLeftSideWidth      : 80,
		selectAreaHeight 	     : 21,
		selectAreaOptionsOverlap : 2,
		imagesPath               : "img/greentheme/"
		// other options here
	},
	
	selectText     : 'please select',
	preloads       : new Array(),
	inputs         : new Array(),
	labels         : new Array(),
	textareas      : new Array(),
	selects        : new Array(),
	radios         : new Array(),
	checkboxes     : new Array(),
	texts          : new Array(),
	buttons        : new Array(),
	radioLabels    : new Array(),
	checkboxLabels : new Array(),
	hasImages      : true,
	
	keyPressed : function(event)
	{
		var pressedKey = event.charCode || event.keyCode || -1;
		
		switch (pressedKey)
		{
			case 40: //down
			var fieldId = this.parentNode.parentNode.id.replace(/sarea/g, "");
			var linkNo = 0;
			for(var q = 0; q < selects[fieldId].options.length; q++) {if(selects[fieldId].options[q].selected) {linkNo = q;}}
			++linkNo;
			if(linkNo >= selects[fieldId].options.length) {linkNo = 0;}
			selectMe(selects[fieldId].id, linkNo, fieldId);
			break;
		
		case 38: //up
			var fieldId = this.parentNode.parentNode.id.replace(/sarea/g, "");
			var linkNo = 0;
			for(var q = 0; q < selects[fieldId].options.length; q++) {if(selects[fieldId].options[q].selected) {linkNo = q;}}
			--linkNo;
			if(linkNo < 0) {linkNo = selects[fieldId].options.length - 1;}
			selectMe(selects[fieldId].id, linkNo, fieldId);
			break;
		default:
			break;
		}
	},
	
	build : function(options)
	{
		if (options)
			jQuery.extend(jQuery.NiceJForms.options, options);	
			
		if (window.event) {
			jQuery('body',document).bind('keyup', jQuery.NiceJForms.keyPressed);
		} else {
			jQuery(document).bind('keyup', jQuery.NiceJForms.keyPressed);
		}
		
		// test if images are disabled or not
		var testImg = document.createElement('img');
		$(testImg).attr("src", jQuery.NiceJForms.options.imagesPath + "blank.gif").attr("id", "imagineTest");
		jQuery('body').append(testImg);
		
		if(testImg.complete)
		{
			if(testImg.offsetWidth == '1') {jQuery.NiceJForms.hasImages = true;}
			else {jQuery.NiceJForms.hasImages = false;}
		}

		$(testImg).remove();
			
		if(jQuery.NiceJForms.hasImages)
		{
			$('form.niceform').each( function()
				{
					el 				= jQuery(this);
					jQuery.NiceJForms.preloadImages();
					jQuery.NiceJForms.getElements(el);
					jQuery.NiceJForms.replaceRadios();
					jQuery.NiceJForms.replaceCheckboxes();
					jQuery.NiceJForms.replaceSelects();
					
					if (!$.browser.safari) {
						jQuery.NiceJForms.replaceTexts();
						jQuery.NiceJForms.replaceTextareas();
						jQuery.NiceJForms.buttonHovers();
					}
				}
			);
		}	
	},
	
	preloadImages: function()
	{
		jQuery.NiceJForms.preloads = $.preloadImages(jQuery.NiceJForms.options.imagesPath + "button_left_xon.gif", jQuery.NiceJForms.options.imagesPath + "button_right_xon.gif", 
		jQuery.NiceJForms.options.imagesPath + "input_left_xon.gif", jQuery.NiceJForms.options.imagesPath + "input_right_xon.gif",
		jQuery.NiceJForms.options.imagesPath + "txtarea_bl_xon.gif", jQuery.NiceJForms.options.imagesPath + "txtarea_br_xon.gif", 
		jQuery.NiceJForms.options.imagesPath + "txtarea_cntr_xon.gif", jQuery.NiceJForms.options.imagesPath + "txtarea_l_xon.gif", jQuery.NiceJForms.options.imagesPath + "txtarea_tl_xon.gif", jQuery.NiceJForms.options.imagesPath + "txtarea_tr_xon.gif");
	},
	
	getElements: function(elm)
	{
		el = elm ? jQuery(elm) : jQuery(this);
		
		var r = 0; var c = 0; var t = 0; var rl = 0; var cl = 0; var tl = 0; var b = 0;
		
		jQuery.NiceJForms.inputs = $('input', el);
		jQuery.NiceJForms.labels = $('label', el);
		jQuery.NiceJForms.textareas = $('textarea', el);
		jQuery.NiceJForms.selects = $('select', el);
		jQuery.NiceJForms.radios = $('input[@type=radio]', el);
		jQuery.NiceJForms.checkboxes = $('input[@type=checkbox]', el);
		jQuery.NiceJForms.texts = $('input[@type=text]', el).add($('input[@type=password]', el));		
		jQuery.NiceJForms.buttons = $('input[@type=submit]', el).add($('input[@type=button]', el));
		
		jQuery.NiceJForms.labels.each(function(i){
			labelFor = $(jQuery.NiceJForms.labels[i]).attr("for");
			jQuery.NiceJForms.radios.each(function(q){
				if(labelFor == $(jQuery.NiceJForms.radios[q]).attr("id"))
				{
					if(jQuery.NiceJForms.radios[q].checked)
					{
						$(jQuery.NiceJForms.labels[i]).removeClass().addClass("chosen");	
					}
					
					jQuery.NiceJForms.radioLabels[rl] = jQuery.NiceJForms.labels[i];
					++rl;
				}
			})
			
			jQuery.NiceJForms.checkboxes.each(function(x){
				
				if(labelFor == $(this).attr("id"))
				{
					if(this.checked)
					{
						$(jQuery.NiceJForms.labels[i]).removeClass().addClass("chosen");	
					}
					jQuery.NiceJForms.checkboxLabels[cl] = jQuery.NiceJForms.labels[i];
					++cl;
				}
			})
		});
	},
	
	replaceRadios: function()
	{
		var self = this;
		
		jQuery.NiceJForms.radios.each(function(q){
		
			//alert(q);
			$(this).removeClass().addClass('outtaHere'); //.hide(); //.className = "outtaHere";
			
			
			
			var radioArea = document.createElement('div');
			//console.info($(radioArea));
			if(this.checked) {$(radioArea).removeClass().addClass("radioAreaChecked");} else {$(radioArea).removeClass().addClass("radioArea");};
			
			radioPos = jQuery.iUtil.getPosition(this);
			
			jQuery(radioArea)
				.attr({id: 'myRadio'+q})
				.css({left: radioPos.x + 'px', top: radioPos.y + 'px', margin : '1px'})
				.bind('click', {who: q}, function(e){self.rechangeRadios(e)})
				.insertBefore($(this));
			
			$(jQuery.NiceJForms.radioLabels[q]).bind('click', {who: q}, function(e){self.rechangeRadios(e)});
			
			if (!$.browser.msie) {
				$(this).bind('focus', function(){self.focusRadios(q)}).bind('blur', function() {self.blurRadios(q)});
			}
			
			$(this).bind('click', function(e){self.radioEvent(e)});
		});
		
		return true;
	},
	
	changeRadios: function(who) {
		
		var self = this;
		
		if(jQuery.NiceJForms.radios[who].checked) {
		
			jQuery.NiceJForms.radios.each(function(q){
				if($(this).attr("name") == $(jQuery.NiceJForms.radios[who]).attr("name"))
				{
					this.checked = false;
					$(jQuery.NiceJForms.radioLabels[q]).removeClass();	
				}
			});
			jQuery.NiceJForms.radios[who].checked = true;
			$(jQuery.NiceJForms.radioLabels[who]).addClass("chosen");
			
			self.checkRadios(who);
		}
	},
	
	rechangeRadios:function(e) 
	{
		who = e.data.who;
		
		if(!jQuery.NiceJForms.radios[who].checked) {
			for(var q = 0; q < jQuery.NiceJForms.radios.length; q++) 
			{
				if(jQuery.NiceJForms.radios[q].name == jQuery.NiceJForms.radios[who].name) 
				{
					jQuery.NiceJForms.radios[q].checked = false; 
					//console.info(q);
					jQuery.NiceJForms.radioLabels[q].className = "";
				}
			}
			$(jQuery.NiceJForms.radios[who]).attr('checked', true); 
			jQuery.NiceJForms.radioLabels[who].className = "chosen";
			jQuery.NiceJForms.checkRadios(who);
		}
	},
	
	checkRadios: function(who) {
		$('div').each(function(q){
			if($(this).is(".radioAreaChecked") && $(this).next().attr("name") == $(jQuery.NiceJForms.radios[who]).attr("name")) {$(this).removeClass().addClass("radioArea");}
		});
		$('#myRadio' + who).toggleClass("radioAreaChecked");
	},
	
	focusRadios: function(who) {
		$('#myRadio' + who).css({border: '1px dotted #333', margin: '0'}); return false;
	},
	
	blurRadios:function(who) {
		$('#myRadio' + who).css({border: 'none', margin: '1px'}); return false;
	},
	
	radioEvent: function(e) {
		var self = this;
		if (!e) var e = window.event;
		if(e.type == "click") {for (var q = 0; q < jQuery.NiceJForms.radios.length; q++) {if(this == jQuery.NiceJForms.radios[q]) {self.changeRadios(q); break;}}}
	},
	

replaceCheckboxes: function () 
	{
		var self = this;
		
		jQuery.NiceJForms.checkboxes.each(function(q){
			//move the checkboxes out of the way
			$(jQuery.NiceJForms.checkboxes[q]).removeClass().addClass('outtaHere');
			//create div
			var checkboxArea = document.createElement('div');
			
			//console.info($(radioArea));
			if(jQuery.NiceJForms.checkboxes[q].checked) {$(checkboxArea).removeClass().addClass("checkboxAreaChecked");} else {$(checkboxArea).removeClass().addClass("checkboxArea");};
			
			checkboxPos = jQuery.iUtil.getPosition(jQuery.NiceJForms.checkboxes[q]);
			
			jQuery(checkboxArea)
				.attr({id: 'myCheckbox' + q})
				.css({
				left: checkboxPos.x + 'px', 
				top: checkboxPos.y + 'px',
				margin : '1px'
			})
			.bind('click', {who: q}, function(e){self.rechangeCheckboxes(e)})
			.insertBefore($(jQuery.NiceJForms.checkboxes[q]));
			
			if(!$.browser.safari)
			{
				$(jQuery.NiceJForms.checkboxLabels[q]).bind('click', {who:q}, function(e){self.changeCheckboxes(e)});
			}
			else {
				$(jQuery.NiceJForms.checkboxLabels[q]).bind('click', {who:q}, function(e){self.rechangeCheckboxes(e)});
			}
			
			if(!$.browser.msie)
			{
				$(jQuery.NiceJForms.checkboxes[q]).bind('focus', {who:q}, function(e){self.focusCheckboxes(e)});
				$(jQuery.NiceJForms.checkboxes[q]).bind('blur', {who:q}, function(e){self.blurCheckboxes(e)});
			}	
			
			//$(jQuery.NiceJForms.checkboxes[q]).keydown(checkEvent);
		});
		return true;
	},

	rechangeCheckboxes: function(e)
	{
		who = e.data.who;
		var tester = false;
		
		if($(jQuery.NiceJForms.checkboxLabels[who]).is(".chosen")) {
			tester = false;
			$(jQuery.NiceJForms.checkboxLabels[who]).removeClass();
		}
		else if(jQuery.NiceJForms.checkboxLabels[who].className == "") {
			tester = true;
			$(jQuery.NiceJForms.checkboxLabels[who]).addClass("chosen");
		}
		jQuery.NiceJForms.checkboxes[who].checked = tester;
		jQuery.NiceJForms.checkCheckboxes(who, tester);
	},

	checkCheckboxes: function(who, action)
	{
		var what = $('#myCheckbox' + who);
		if(action == true) {$(what).removeClass().addClass("checkboxAreaChecked");}
		if(action == false) {$(what).removeClass().addClass("checkboxArea");}
	},

	focusCheckboxes: function(who) 
	{
		var what = $('#myCheckbox' + who);
		$(what).css(
					{
						border : "1px dotted #333", 
						margin : "0"
					});	
		return false;
	},

	changeCheckboxes: function(e) {
		who = e.data.who;
		//console.log('changeCheckboxes who is ' + who);
		if($(jQuery.NiceJForms.checkboxLabels[who]).is(".chosen")) {
			jQuery.NiceJForms.checkboxes[who].checked = true;
			$(jQuery.NiceJForms.checkboxLabels[who]).removeClass();
			jQuery.NiceJForms.checkCheckboxes(who, false);
		}
		else if(jQuery.NiceJForms.checkboxLabels[who].className == "") {
			jQuery.NiceJForms.checkboxes[who].checked = false;
			$(jQuery.NiceJForms.checkboxLabels[who]).toggleClass("chosen");
			jQuery.NiceJForms.checkCheckboxes(who, true);
		}
	},

	blurCheckboxes: function(who) 
	{
		var what = $('#myCheckbox' + who);
		$(what).css(
					{
						border : 'none', 
						margin : '1px'
					});	
		return false;
	},
	
	replaceSelects: function()
	{
		var self = this;
		
		jQuery.NiceJForms.selects.each(function(q){
			//create and build div structure
			var selectArea = document.createElement('div');
			var left = document.createElement('div');
			var right = document.createElement('div');
			var center = document.createElement('div');
			var button = document.createElement('a');
			var text = document.createTextNode(jQuery.NiceJForms.selectText);
			var selectWidth = parseInt(this.className.replace(/width_/g, ""));
			
			jQuery(center)
				.attr({id:'mySelectText'+q})
				.css({width: selectWidth - 10 + 'px'});
			jQuery(selectArea)
				.attr({id:'sarea'+q})
				.css({
					width: selectWidth + jQuery.NiceJForms.options.selectRightSideWidth + jQuery.NiceJForms.options.selectLeftSideWidth + 'px'
				})
				.addClass("selectArea");
				
			jQuery(button)
				.css({
				width      : selectWidth + jQuery.NiceJForms.options.selectRightSideWidth + jQuery.NiceJForms.options.selectLeftSideWidth + 'px',
				marginLeft : - selectWidth - jQuery.NiceJForms.options.selectLeftSideWidth + 'px',
				cursor: 'pointer'
				})
				.addClass("selectButton")
				.bind('click', {who:q}, function(e){self.showOptions(e)})
				.keydown(jQuery.NiceJForms.keyPressed);
			
			jQuery(left).addClass("left");	
			jQuery(right).addClass("right").append(button);	
			jQuery(center).addClass("center").append(text);	
			
			jQuery(selectArea).append(left).append(right).append(center).insertBefore(this);
			//hide the select field
			$(this).hide();
			//insert select div
			//build & place options div
			var optionsDiv = document.createElement('div');
			selectAreaPos = jQuery.iUtil.getPosition(selectArea);
			
			jQuery(optionsDiv)
				.attr({id:"optionsDiv" + q})
				.css({
					width : selectWidth + 1 + 'px', 
					left  : selectAreaPos.x + 'px', 
					top   : selectAreaPos.y + jQuery.NiceJForms.options.selectAreaHeight - jQuery.NiceJForms.options.selectAreaOptionsOverlap + 'px'
				})
				.addClass("optionsDivInvisible");
			
			//get select's options and add to options div
			$(jQuery.NiceJForms.selects[q]).children().each(function(w){
				var optionHolder = document.createElement('p');
				var optionLink = document.createElement('a');
				var optionTxt = document.createTextNode(jQuery.NiceJForms.selects[q].options[w].text);
				
				jQuery(optionLink)
					.attr({href:'#'})
					.css({cursor:'pointer'})
					.append(optionTxt)
					.bind('click', {who: q, id:jQuery.NiceJForms.selects[q].id, option:w, select:q}, function(e){self.showOptions(e);self.selectMe(jQuery.NiceJForms.selects[q].id, w, q)});
				
				jQuery(optionHolder).append(optionLink);
				jQuery(optionsDiv).append(optionHolder);
				
				//check for pre-selected items
				if(jQuery.NiceJForms.selects[q].options[w].selected) {self.selectMe($(jQuery.NiceJForms.selects[q]).attr("id"), w, q);}
			});
			
			jQuery('body').append(optionsDiv);
		});
	},

	selectMe: function(selectFieldId, linkNo, selectNo) {
		selectField = $('#' + selectFieldId);
		sFoptions = selectField.children();
		
		selectField.children().each(function(k){
			if(k == linkNo) {sFoptions[k].selected="selected";}
			else {sFoptions[k].selected = "";}
		});
		
		textVar = $("#mySelectText" + selectNo);
		var newText = document.createTextNode($(sFoptions[linkNo]).text());
		textVar.empty().append(newText);
	}, 

	showOptions: function(e) {
		var self = this;
		$("#optionsDiv"+e.data.who).toggleClass("optionsDivVisible").toggleClass("optionsDivInvisible").mouseout(function(e){self.hideOptions(e)});
	},
	
	hideOptions: function(e) {
		if (!e) var e = window.event;
		var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
		if(((reltg.nodeName != 'A') && (reltg.nodeName != 'DIV')) || ((reltg.nodeName == 'A') && (reltg.className=="selectButton") && (reltg.nodeName != 'DIV'))) {this.className = "optionsDivInvisible";};
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
	},
	
	replaceTexts: function() {
		jQuery.NiceJForms.texts.each(function(q){
			$(jQuery.NiceJForms.texts[q]).css({width:this.size * 10 + 'px'});
			var txtLeft = new Image();
			jQuery(txtLeft)
				.attr({src:jQuery.NiceJForms.options.imagesPath + "input_left.gif"})
				.addClass("inputCorner");
			
			var txtRight = new Image();
			jQuery(txtRight)
				.attr({src:jQuery.NiceJForms.options.imagesPath + "input_right.gif"})
				.addClass("inputCorner");
			
			$(jQuery.NiceJForms.texts[q]).before(txtLeft).after(txtRight).addClass("textinput");
			
			//create hovers
			$(jQuery.NiceJForms.texts[q]).focus(function(){$(this).addClass("textinputHovered");$(this).prev().attr('src', jQuery.NiceJForms.options.imagesPath + "input_left_xon.gif");$(this).next().attr('src', jQuery.NiceJForms.options.imagesPath + "input_right_xon.gif");});
			
			$(jQuery.NiceJForms.texts[q]).blur(function() {$(this).removeClass().addClass("textinput");$(this).prev().attr('src', jQuery.NiceJForms.options.imagesPath + "input_left.gif");$(this).next().attr('src', jQuery.NiceJForms.options.imagesPath + "input_right.gif");});
		});
	},
	
	replaceTextareas: function() {
		jQuery.NiceJForms.textareas.each(function(q){
			
			var where = $(this).parent();
			var where2 = $(this).prev();
			
			$(this).css({width: $(this).attr("cols") * 10 + 'px', height: $(this).attr("rows") * 10 + 'px'});
			//create divs
			var container = document.createElement('div');
			jQuery(container)
				.css({width: jQuery.NiceJForms.textareas[q].cols * 10 + 20 + 'px', height: jQuery.NiceJForms.textareas[q].rows * 10 + 20 + 'px'})
				.addClass("txtarea");
			
			var topRight = document.createElement('div');
			jQuery(topRight).addClass("tr");
			
			var topLeft = new Image();
			jQuery(topLeft).attr({src: jQuery.NiceJForms.options.imagesPath + 'txtarea_tl.gif'}).addClass("txt_corner");
			
			var centerRight = document.createElement('div');
			jQuery(centerRight).addClass("cntr");
			var centerLeft = document.createElement('div');
			jQuery(centerLeft).addClass("cntr_l");
			
			if(!$.browser.msie) {jQuery(centerLeft).height(jQuery.NiceJForms.textareas[q].rows * 10 + 10 + 'px');}
			else {jQuery(centerLeft).height(jQuery.NiceJForms.textareas[q].rows * 10 + 12 + 'px');};
			
			var bottomRight = document.createElement('div');
			jQuery(bottomRight).addClass("br");
			var bottomLeft = new Image();
			jQuery(bottomLeft).attr({src: jQuery.NiceJForms.options.imagesPath + 'txtarea_bl.gif'}).addClass('txt_corner');
			
			//assemble divs
			jQuery(topRight).append(topLeft);
			jQuery(centerRight).append(centerLeft).append(jQuery.NiceJForms.textareas[q]);
			jQuery(bottomRight).append(bottomLeft);
			jQuery(container).append(topRight).append(centerRight).append(bottomRight);
			
			jQuery(where2).before(container);
			
			//create hovers
			$(jQuery.NiceJForms.textareas[q]).focus(function(){$(this).prev().removeClass().addClass("cntr_l_xon"); $(this).parent().removeClass().addClass("cntr_xon"); $(this).parent().prev().removeClass().addClass("tr_xon"); $(this).parent().prev().children(".txt_corner").attr('src', jQuery.NiceJForms.options.imagesPath + "txtarea_tl_xon.gif"); $(this).parent().next().removeClass().addClass("br_xon"); $(this).parent().next().children(".txt_corner").attr('src', jQuery.NiceJForms.options.imagesPath + "txtarea_bl_xon.gif")});
			$(jQuery.NiceJForms.textareas[q]).blur(function(){$(this).prev().removeClass().addClass("cntr_l"); $(this).parent().removeClass().addClass("cntr"); $(this).parent().prev().removeClass().addClass("tr"); $(this).parent().prev().children(".txt_corner").attr('src', jQuery.NiceJForms.options.imagesPath + "txtarea_tl.gif"); $(this).parent().next().removeClass().addClass("br"); $(this).parent().next().children(".txt_corner").attr('src', jQuery.NiceJForms.options.imagesPath + "txtarea_bl.gif")});
		});
	},
	
	buttonHovers: function() {
		jQuery.NiceJForms.buttons.each(function(i){
			$(this).addClass("buttonSubmit");
			var buttonLeft = document.createElement('img');
			jQuery(buttonLeft).attr({src: jQuery.NiceJForms.options.imagesPath + "button_left.gif"}).addClass("buttonImg");
			
			$(this).before(buttonLeft);
			
			var buttonRight = document.createElement('img');
			jQuery(buttonRight).attr({src: jQuery.NiceJForms.options.imagesPath + "button_right.gif"}).addClass("buttonImg");
			
			if($(this).next()) {$(this).after(buttonRight);}
			else {$(this).parent().append(buttonRight);};
			
			$(this).hover(
				function(){$(this).attr("class", $(this).attr("class") + "Hovered"); $(this).prev().attr("src", jQuery.NiceJForms.options.imagesPath + "button_left_xon.gif"); $(this).next().attr("src", jQuery.NiceJForms.options.imagesPath + "button_right_xon.gif");},
				function(){$(this).attr("class", $(this).attr("class").replace(/Hovered/g, "")); $(this).prev().attr("src", jQuery.NiceJForms.options.imagesPath + "button_left.gif"); $(this).next().attr("src", jQuery.NiceJForms.options.imagesPath + "button_right.gif");}
			);
		});
	}
}

jQuery.preloadImages = function()
{
	var imgs = new Array();
	for(var i = 0; i<arguments.length; i++)
	{
		imgs[i] = jQuery("<img>").attr("src", arguments[i]);
	}
	
	return imgs;
}

jQuery.iUtil = {
	getPosition : function(e)
	{
		var x = 0;
		var y = 0;
		var restoreStyle = false;
		var es = e.style;
		if (jQuery(e).css('display') == 'none') {
			oldVisibility = es.visibility;
			oldPosition = es.position;
			es.visibility = 'hidden';
			es.display = 'block';
			es.position = 'absolute';
			restoreStyle = true;
		}
		var el = e;
		while (el){
			x += el.offsetLeft + (el.currentStyle && !jQuery.browser.opera ?parseInt(el.currentStyle.borderLeftWidth)||0:0);
			y += el.offsetTop + (el.currentStyle && !jQuery.browser.opera ?parseInt(el.currentStyle.borderTopWidth)||0:0);
			el = el.offsetParent;
		}
		el = e;
		while (el && el.tagName  && el.tagName.toLowerCase() != 'body')
		{
			x -= el.scrollLeft||0;
			y -= el.scrollTop||0;
			el = el.parentNode;
		}
		if (restoreStyle) {
			es.display = 'none';
			es.position = oldPosition;
			es.visibility = oldVisibility;
		}
		return {x:x, y:y};
	},
	getPositionLite : function(el)
	{
		var x = 0, y = 0;
		while(el) {
			x += el.offsetLeft || 0;
			y += el.offsetTop || 0;
			el = el.offsetParent;
		}
		return {x:x, y:y};
	}
};

/* Form Validation: jQuery form validation plug-in v1.1.1  * http://bassistance.de/jquery-plugins/jquery-plugin-validation/  * Copyright (c) 2006 Jörn Zaefferer * $Id: jquery.validate.js 3675 2007-10-18 09:32:44Z joern.zaefferer $ */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8.I(8.2u,{4E:6(c){k b=1t 8.B(c,5[0]);j(b.h.28){5.24("1r.4e:1T").2M(6(){b.1N=x});5.1T(6(a){j(b.h.1H)a.3I();6 1B(){j(b.h.2h){b.h.2h.E(b,b.W);7 Q}7 x}j(b.1N){b.1N=Q;7 1B()}j(b.1d()){7 1B()}1X{b.1a();7 Q}})}7 b},F:6(t){7 5.4b(8.48(5.47(),t))}});8.I(8.45[":"],{42:"!8.1h(a.u)",40:"!!8.1h(a.u)",3Y:"!a.2y"});C.L=6(c,b){j(19.q==1)7 6(){k a=8.2p(19);a.3z(c);7 C.L.3w(5,a)};j(19.q>2&&b.1x!=2v){b=8.2p(19).3n(1)}j(b.1x!=2v){b=[b]}8.1F(b,6(i,n){c=c.27(1t 25("\\\\{"+i+"\\\\}","g"),n)});7 c};8.B=6(b,a){5.h=8.I({},8.B.23,b);5.W=a;5.1p=5.h.1Z;5.31=5.1p.q&&5.1p||8(a);5.1Y=5.h.32.4h(5.h.1Z);5.T={};5.X={};5.13();5.2R()};8.I(8.B,{23:{15:{},K:"1S",1I:"44",1a:x,32:8([]),1Z:8([]),28:x,2L:[],1Q:6(a){j(!5.P(a)&&(a.l N 5.T||!5.p(a))){5.z(a)}},1K:6(a){j(a.l N 5.T||a==5.2E){5.z(a)}},1J:6(a){j(a.l N 5.T)5.z(a)}},3X:6(a){8.I(8.B.23,a)},15:{p:"3W 3T 3S p.",21:"s r a G 21 3K.",2t:"s r a G 3H.",16:"s r a G 16.",2r:"s r a G 16 (3F).",2o:"2n 2l 2i 1R 3u 3s 1R.",1y:"s r a G 1y.",2f:"2n 2l 2i 3q 3o 1R.",1E:"s r 3m 1E",2b:"s r a G 3j 3i.",2a:"s r 2x 3f u 3e.",26:"s r a u 3c a G 3b.",37:C.L("s r a u 35 4y 22 {0} 20."),33:C.L("s r a u 4q 4p 4o {0} 20."),30:C.L("s r a u 2Y {0} 2X {1} 20 4k."),34:C.L("s r a u 2Y {0} 2X {1}."),38:C.L("s r a u 4f 22 2W 2V 2U {0}."),2T:C.L("s r a u 4a 22 2W 2V 2U {0}.")},49:{1d:6(){5.1V();y(k i=0;5.J[i];i++){5.1n(5.J[i])}8.I(5.T,5.S);5.X=8.I({},5.S);5.h.2Q&&5.h.2Q.E(5);5.11();7 5.G()},z:6(a){a=5.1l(a);5.2E=a;5.2P(a);k b=5.1n(a);j(b){46 5.X[a.l]}1X{5.X[a.l]=x}5.11();7 b},11:6(b){j(b){8.I(5.S,b);y(l N b){5.v.F({1j:b[l],z:8("[@l=\'"+l+"\']:43",5.W)[0]})}5.R=8.2J(5.R,6(a){7!(a.l N b)})}5.h.11?5.h.11.E(5,5.S,5.v):5.2I()},1P:6(){j(8.2u.1P)8(5.W).1P();5.1V();5.1O();5.J.1g(5.h.K)},41:6(){k a=0;y(i N 5.X)a++;7 a},1O:6(){5.1M(5.U).1L()},G:6(){7 5.2G()==0},2G:6(){7 5.v.q},1a:6(){j(5.h.1a){2F{8(5.2S()||5.v.q&&5.v[0].z||[]).1m(":3Z").2D()}2C(e){}}},2S:6(){k a=5.2B;7 a&&8.2J(5.v,6(n){7 n.z.l==a.l}).q==1&&a},2R:6(){k a=5;a.1o={};6 2Z(){a.2B=5;j(a.h.3V&&!a.3U){8(5).1g(a.h.K);a.1e(5).1L()}}5.J=8(5.W).24("1r, 1q, 3R").1u(":1T, :13").1u("[@3P]").1u(5.h.2L).1m(6(){!5.l&&a.h.1H&&2w.1b&&1b.1S("%o 3N 35 l 3M",5);j(5.l N a.1o||!a.Z(5).q)7 Q;a.1o[5.l]=a.Z(5);7 x});5.J.2D(2Z);a.h.1Q&&a.J.3L(6(){a.h.1Q.E(a,5)});a.h.1K&&a.J.3J(6(){a.h.1K.E(a,5)});j(a.h.1J){k b=8([]);a.J.1F(6(){j(a.P(5))b.F(a.1v(5))});b.2M(6(){a.h.1J.E(a,5)})}},1l:6(a){7 8(a)[0]},1D:6(){7 8(5.h.1I+"."+5.h.K,5.31)},13:6(a){5.R=[];5.v=[];5.S={};5.V=8([]);5.U=8([])},1V:6(){5.13();5.U=5.1D().F(5.1Y)},2P:6(a){5.13();5.U=5.1e(5.1l(a))},1n:6(c){c=5.1l(c);8(c).1g(5.h.K);k a=5.1o[c.l];y(k i=0;a[i];i++){k b=a[i];2F{k d=8.B.1k[b.14].E(5,8.1h(c.u),c,b.1C);j(d===-1)3G;j(!d){8(c).18(5.h.K);5.2q(b,c);7 Q}}2C(e){5.h.1H&&2w.1b&&1b.1S("3E 3D 3A 3y z "+c.2m+", 1n 2x \'"+b.14+"\' 14");3x e;}}j(a.q&&5.h.Y)5.R.F(c);7 x},2k:6(a,b){k m=5.h.15[a];7 m&&(m.1x==C?m:m[b])},2g:6(a,b){7 5.2k(a.l,b)||a.3v||8.B.15[b]||"<2j>3t: 3B 1j 3C y "+a.l+"</2j>"},2q:6(a,b){k c=5.2g(b,a.14);j(O c=="6")c=c.E(5,a.1C,b);5.v.F({1j:c,z:b});5.S[b.l]=c;5.T[b.l]=c},1M:6(a){j(5.h.1c)a.F(a.3r(5.h.1c));7 a},2I:6(){y(k i=0;5.v[i];i++){k a=5.v[i];5.1w(a.z,a.1j)}j(5.v.q){5.V.F(5.1Y)}y(k i=0;5.R[i];i++){5.1w(5.R[i])}5.U=5.U.1u(5.V);5.1O();5.1M(5.V).2e()},1w:6(a,c){k b=5.1e(a);j(b.q){b.1g().18(5.h.K);j(5.h.3p||b.2d("2s")){b.2c(c)}}1X{b=8("<"+5.h.1I+"/>").2d({"y":5.1G(a),2s:x}).18(5.h.K).2c(c||"");j(5.h.1c){b=b.1L().2e().3l("<"+5.h.1c+">").3O()}j(!5.1p.3k(b).q)5.h.3a?5.h.3a(b,8(a)):b.3Q(a)}j(!c&&5.h.Y){b.2O("");O 5.h.Y=="17"?b.18(5.h.Y):5.h.Y(b)}5.V.F(b)},1e:6(a){7 5.1D().1m("[@y=\'"+5.1G(a)+"\']")},1G:6(a){7 5.P(a)?a.l:a.2m||a.l},Z:6(e){k d=5.1f(e);j(!d)7[];k c=[];j(O d=="17"){k f={};f[d]=x;d=f}8.1F(d,6(b,a){c[c.q]={14:b,1C:a}});7 c},1f:6(a){7 5.h.Z?5.h.Z[a.l]:5.h.29?8(a).1f()[5.h.29]:8(a).1f()},P:6(a){7/3h|3g/i.H(a.2z)},1v:6(a){7 8(a.1d||3d).24(\'[@l="\'+a.l+\'"]\')},12:6(a,b){2A(b.2N.2H()){1i\'1q\':7 8("2K:39",b).q;1i\'1r\':j(5.P(b))7 5.1v(b).1m(\':2y\').q}7 a.q},36:6(b,a){7 5.1U[O b]?5.1U[O b](b,a):x},1U:{"4D":6(b,a){7 b},"17":6(b,a){7!!8(b,a.1d).q},"6":6(b,a){7 b(a)}},p:6(a){7!8.B.1k.p.E(5,8.1h(a.u),a)}},1k:{p:6(b,c,a){j(!5.36(a,c))7-1;2A(c.2N.2H()){1i\'1q\':k d=8("2K:39",c);7 d.q>0&&(c.2z=="1q-4C"||(8.4x.4w&&!(d[0].4v[\'u\'].4u)?d[0].2O:d[0].u).q>0);1i\'1r\':j(5.P(c))7 5.12(b,c)>0;4t:7 b.q>0}},33:6(b,c,a){7 5.p(c)||5.12(b,c)>=a},37:6(b,c,a){7 5.p(c)||5.12(b,c)<=a},30:6(b,d,a){k c=5.12(b,d);7 5.p(d)||(c>=a[0]&&c<=a[1])},2T:6(b,c,a){7 5.p(c)||b>=a},38:6(b,c,a){7 5.p(c)||b<=a},34:6(b,c,a){7 5.p(c)||(b>=a[0]&&b<=a[1])},21:6(a,b){7 5.p(b)||/^[\\w-+\\.]+@([\\w-]+\\.)+[\\w-]{2,}$/i.H(a)},2t:6(a,b){7 5.p(b)||/^(4s?|4r):\\/\\/[A-M-9](\\.?[A-M-1W][A-M-1z\\-1A]*)*(\\/([A-M-1W][A-M-1z\\-\\.1A]*)?)*(\\?([A-M-1W][A-M-1z\\-\\.%\\+=&1A]*)?)?$/i.H(a)},16:6(a,b){7 5.p(b)||!/4n|4m/.H(1t 4l(a))},2r:6(a,b){7 5.p(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.H(a)},2o:6(a,b){7 5.p(b)||/^\\d\\d?\\.\\d\\d?\\.\\d\\d\\d?\\d?$/.H(a)},1y:6(a,b){7 5.p(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.H(a)},2f:6(a,b){7 5.p(b)||/^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)(?:,\\d+)?$/.H(a)},1E:6(a,b){7 5.p(b)||/^\\d+$/.H(a)},2b:6(b,e){j(5.p(e))7 x;k a=0,d=0,1s=Q;b=b.27(/\\D/g,"");y(n=b.q-1;n>=0;n--){k c=b.4j(n);k d=4i(c,10);j(1s){j((d*=2)>9)d-=9}a+=d;1s=!1s}7(a%10)==0},26:6(b,c,a){a=O a=="17"?a:"4g|4z?g|4A";7 5.p(c)||b.4B(1t 25(".("+a+")$"))},2a:6(b,c,a){7 b==8(a).4d()}},4c:6(c,a,b){8.B.1k[c]=a;8.B.15[c]=b}});',62,289,'|||||this|function|return|jQuery|||||||||settings||if|var|name||||required|length|enter|Please||value|errorList||true|for|element||validator|String||call|push|valid|test|extend|elements|errorClass|format|Z0|in|typeof|checkable|false|successList|errorMap|submitted|toHide|toShow|currentForm|invalid|success|rules||showErrors|getLength|reset|method|messages|date|string|addClass|arguments|focusInvalid|console|wrapper|form|errorsFor|data|removeClass|trim|case|message|methods|clean|filter|check|rulesCache|labelContainer|select|input|bEven|new|not|checkableGroup|showLabel|constructor|number|9_|ÄÜÖ|handle|parameters|errors|digits|each|idOrName|debug|errorElement|onclick|onkeyup|hide|addWrapper|cancelSubmit|hideErrors|resetForm|onblur|ein|error|submit|dependTypes|prepareForm|9ÄÜÖ|else|containers|errorLabelContainer|characters|email|than|defaults|find|RegExp|accept|replace|onsubmit|meta|equalTo|creditcard|html|attr|show|numberDE|defaultMessage|submitHandler|Sie|strong|configuredMessage|geben|id|Bitte|dateDE|makeArray|formatAndAdd|dateISO|generated|url|fn|Array|window|the|checked|type|switch|lastActive|catch|focus|lastElement|try|size|toLowerCase|defaultShowErrors|grep|option|ignore|click|nodeName|text|prepareElement|invalidHandler|refresh|findLastActive|minValue|to|equal|or|and|between|focused|rangeLength|errorContext|errorContainer|minLength|rangeValue|no|depend|maxLength|maxValue|selected|errorPlacement|extension|with|document|again|same|checkbox|radio|card|credit|append|wrap|only|slice|Nummer|overrideErrors|eine|parents|Datum|Warning|gültiges|title|apply|throw|checking|unshift|when|No|defined|occured|exception|ISO|break|URL|preventDefault|keyup|address|blur|assigned|has|parent|disabled|insertAfter|textarea|is|field|blockFocusCleanup|focusCleanup|This|setDefaults|unchecked|visible|filled|numberOfInvalids|blank|first|label|expr|delete|get|merge|prototype|greater|setArray|addMethod|val|cancel|less|png|add|parseInt|charAt|long|Date|NaN|Invalid|least|at|of|ftp|https|default|specified|attributes|msie|browser|longer|jpe|gif|match|multiple|boolean|validate'.split('|'),0,{}))

/* jQuery Form Plugin version: 2.01 (10/31/2007) * Examples at: http://malsup.com/jquery/form  */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){$.f.1n=5(7){2(J 7==\'5\')7={L:7};7=$.2r({1j:4.11(\'23\')||1s.2G.3L(),F:4.11(\'2s\')||\'2m\'},7||{});3 T={};$.M.I(\'6.32.2Y\',[4,7,T]);2(T.T)8 4;3 a=4.1Q(7.N);2(7.c){G(3 n 3G 7.c)a.z({o:n,r:7.c[n]})}2(7.2l&&7.2l(a,4,7)===E)8 4;$.M.I(\'6.H.3l\',[a,4,7,T]);2(T.T)8 4;3 q=$.1D(a);2(7.F.3e()==\'2m\'){7.1j+=(7.1j.3d(\'?\')>=0?\'&\':\'?\')+q;7.c=w}l 7.c=q;3 $6=4,P=[];2(7.1y)P.z(5(){$6.1y()});2(7.1x)P.z(5(){$6.1x()});2(!7.18&&7.V){3 1v=7.L||5(){};P.z(5(c){2(4.21)$(7.V).11("20",c).21().D(1v,2A);l $(7.V).2H(c).D(1v,2A)})}l 2(7.L)P.z(7.L);7.L=5(c,1p){G(3 i=0,A=P.B;i<A;i++)P[i](c,1p,$6)};3 1R=$(\'C:3J\',4).15();3 1N=E;G(3 j=0;j<1R.B;j++)2(1R[j])1N=O;2(7.2v||1N){2($.1l.3B&&7.2o)$.3z(7.2o,1J);l 1J()}l $.3u(7);$.M.I(\'6.H.3s\',[4,7]);8 4;5 1J(){3 6=$6[0];3 m=$.2r({},$.3p,7);3 S=\'3k\'+$.f.1n.1a++;3 $h=$(\'<2v S="\'+S+\'" o="\'+S+\'" />\');3 h=$h[0];3 2g=$.1l.2f&&1s.2f.3f()<9;2($.1l.2c||2g)h.3c=\'3b:E;1A.39("");\';$h.38({36:\'34\',28:\'-27\',26:\'-27\'});3 u={X:w,1f:w,1p:0,2Z:\'n/a\',2X:5(){},2V:5(){},2U:5(){}};3 g=m.2S;2(g&&!$.22++)$.M.I("2R");2(g)$.M.I("2Q",[u,m]);3 1Z=0;3 1K=0;1k(5(){$h.2K(\'1O\');h.1X?h.1X(\'1W\',U):h.2F(\'1V\',U,E);3 1U=6.1T?\'1T\':\'2E\';3 t=$6.11(\'V\');$6.11({V:S,2s:\'2D\',23:m.1j});6[1U]=\'2C/6-c\';2(m.1S)1k(5(){1K=O;U()},m.1S);6.H();$6.11(\'V\',t)},10);5 U(){2(1Z++)8;h.2B?h.2B(\'1W\',U):h.3K(\'1V\',U,E);3 1o=O;3I{2(1K)3H\'1S\';3 c,k;k=h.2z?h.2z.1A:h.2y?h.2y:h.1A;u.X=k.1O?k.1O.20:w;u.1f=k.2x?k.2x:k;2(m.18==\'2w\'||m.18==\'3E\'){3 1M=k.1L(\'1E\')[0];c=1M?1M.r:u.X;2(m.18==\'2w\')3D("c = "+c);l $.3C(c)}l 2(m.18==\'2q\'){c=u.1f;2(!c&&u.X!=w)c=2p(u.X)}l{c=u.X}}3A(e){1o=E;$.3x(m,u,\'2n\',e)}2(1o){m.L(c,\'L\');2(g)$.M.I("3w",[u,m])}2(g)$.M.I("3v",[u,m]);2(g&&!--$.22)$.M.I("3t");2(m.2u)m.2u(u,1o?\'L\':\'2n\');1k(5(){$h.3r();u.1f=w},3q)};5 2p(s,k){2(1s.2j){k=2i 2j(\'3o.3n\');k.3m=\'E\';k.3j(s)}l k=(2i 3i()).3h(s,\'1F/2q\');8(k&&k.2h&&k.2h.1i!=\'3g\')?k:w}}};$.f.1n.1a=0;$.f.13=5(7){8 4.2e().H(1q).D(5(){4.1t=$.f.13.1a++;$.f.13.1r[4.1t]=7;$(":H,C:12",4).2d(1C)})};$.f.13.1a=1;$.f.13.1r={};5 1C(e){3 $6=4.6;$6.Q=4;2(4.F==\'12\'){2(e.2b!=R){$6.Z=e.2b;$6.Y=e.3a}l 2(J $.f.16==\'5\'){3 16=$(4).16();$6.Z=e.2a-16.26;$6.Y=e.29-16.28}l{$6.Z=e.2a-4.37;$6.Y=e.29-4.35}}1k(5(){$6.Q=$6.Z=$6.Y=w},10)};5 1q(){3 S=4.1t;3 7=$.f.13.1r[S];$(4).1n(7);8 E};$.f.2e=5(){4.24(\'H\',1q);8 4.D(5(){$(":H,C:12",4).24(\'2d\',1C)})};$.f.1Q=5(N){3 a=[];2(4.B==0)8 a;3 6=4[0];3 1d=N?6.1L(\'*\'):6.33;2(!1d)8 a;G(3 i=0,A=1d.B;i<A;i++){3 d=1d[i];3 n=d.o;2(!n)1z;2(N&&6.Q&&d.F=="12"){2(!d.1e&&6.Q==d)a.z({o:n+\'.x\',r:6.Z},{o:n+\'.y\',r:6.Y});1z}3 v=$.15(d,O);2(v&&v.1c==1g){G(3 j=0,25=v.B;j<25;j++)a.z({o:n,r:v[j]})}l 2(v!==w&&J v!=\'R\')a.z({o:n,r:v})}2(!N&&6.Q){3 1B=6.1L("C");G(3 i=0,A=1B.B;i<A;i++){3 C=1B[i];3 n=C.o;2(n&&!C.1e&&C.F=="12"&&6.Q==C)a.z({o:n+\'.x\',r:6.Z},{o:n+\'.y\',r:6.Y})}}8 a};$.f.31=5(N){8 $.1D(4.1Q(N))};$.f.30=5(K){3 a=[];4.D(5(){3 n=4.o;2(!n)8;3 v=$.15(4,K);2(v&&v.1c==1g){G(3 i=0,A=v.B;i<A;i++)a.z({o:n,r:v[i]})}l 2(v!==w&&J v!=\'R\')a.z({o:4.o,r:v})});8 $.1D(a)};$.f.15=5(K){G(3 1b=[],i=0,A=4.B;i<A;i++){3 d=4[i];3 v=$.15(d,K);2(v===w||J v==\'R\'||(v.1c==1g&&!v.B))1z;v.1c==1g?$.2W(1b,v):1b.z(v)}8 1b};$.15=5(d,K){3 n=d.o,t=d.F,W=d.1i.1G();2(J K==\'R\')K=O;2(K&&(!n||d.1e||t==\'17\'||t==\'2T\'||(t==\'1H\'||t==\'1w\')&&!d.1P||(t==\'H\'||t==\'12\')&&d.6&&d.6.Q!=d||W==\'p\'&&d.1I==-1))8 w;2(W==\'p\'){3 1m=d.1I;2(1m<0)8 w;3 a=[],1u=d.7;3 14=(t==\'p-14\');3 A=(14?1m+1:1u.B);G(3 i=(14?1m:0);i<A;i++){3 19=1u[i];2(19.2k){3 v=$.1l.2c&&!(19.3y[\'r\'].2P)?19.1F:19.r;2(14)8 v;a.z(v)}}8 a}8 d.r};$.f.1x=5(){8 4.D(5(){$(\'C,p,1E\',4).2t()})};$.f.2t=$.f.2O=5(){8 4.D(5(){3 t=4.F,W=4.1i.1G();2(t==\'1F\'||t==\'2N\'||W==\'1E\')4.r=\'\';l 2(t==\'1H\'||t==\'1w\')4.1P=E;l 2(W==\'p\')4.1I=-1})};$.f.1y=5(){8 4.D(5(){2(J 4.17==\'5\'||(J 4.17==\'2M\'&&!4.17.2L))4.17()})};$.f.3F=5(b){2(b==R)b=O;8 4.D(5(){4.1e=!b})};$.f.p=5(p){2(p==R)p=O;8 4.D(5(){3 t=4.F;2(t==\'1H\'||t==\'1w\')4.1P=p;l 2(4.1i.1G()==\'1Y\'){3 $1h=$(4).2J(\'p\');2(p&&$1h[0]&&$1h[0].F==\'p-14\'){$1h.2I(\'1Y\').p(E)}4.2k=p}})}})(3M);',62,235,'||if|var|this|function|form|options|return||||data|el||fn||io|||doc|else|opts||name|select||value|||xhr||null|||push|max|length|input|each|false|type|for|submit|trigger|typeof|successful|success|event|semantic|true|callbacks|clk|undefined|id|veto|cb|target|tag|responseText|clk_y|clk_x||attr|image|ajaxForm|one|fieldValue|offset|reset|dataType|op|counter|val|constructor|els|disabled|responseXML|Array|sel|tagName|url|setTimeout|browser|index|ajaxSubmit|ok|status|submitHandler|optionHash|window|formPluginId|ops|oldSuccess|radio|clearForm|resetForm|continue|document|inputs|clickHandler|param|textarea|text|toLowerCase|checkbox|selectedIndex|fileUpload|timedOut|getElementsByTagName|ta|found|body|checked|formToArray|files|timeout|encoding|encAttr|load|onload|attachEvent|option|cbInvoked|innerHTML|evalScripts|active|action|unbind|jmax|left|1000px|top|pageY|pageX|offsetX|msie|click|ajaxFormUnbind|opera|op8|documentElement|new|ActiveXObject|selected|beforeSubmit|GET|error|closeKeepAlive|toXml|xml|extend|method|clearFields|complete|iframe|json|XMLDocument|contentDocument|contentWindow|arguments|detachEvent|multipart|POST|enctype|addEventListener|location|html|find|parent|appendTo|nodeType|object|password|clearInputs|specified|ajaxSend|ajaxStart|global|button|setRequestHeader|getResponseHeader|merge|getAllResponseHeaders|serialize|statusText|fieldSerialize|formSerialize|pre|elements|absolute|offsetTop|position|offsetLeft|css|write|offsetY|javascript|src|indexOf|toUpperCase|version|parsererror|parseFromString|DOMParser|loadXML|jqFormIO|validate|async|XMLDOM|Microsoft|ajaxSettings|100|remove|notify|ajaxStop|ajax|ajaxComplete|ajaxSuccess|handleError|attributes|get|catch|safari|globalEval|eval|script|enable|in|throw|try|file|removeEventListener|toString|jQuery'.split('|'),0,{}))

/* Email Defuscator - jQuery plugin 1.0-beta2  * Copyright (c) 2007 Joakim Stai  +script page contact */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('J.17.P=c(3){3=J.T({v:4,l:/\\b([A-s-9.R%-]+)\\([^)]+\\)((?:[A-s-9-]+\\.)+[A-Z]{2,6})\\b/1i,7:\'$1@$2\'},3);I 8.16(c(){13($(8).Y(\'a[@g]\')){$(8).q(\'g\',$(8).q(\'g\').7(3.l,3.7));r o=4}$(8).L($(8).L().7(3.l,(3.v&&!o?\'<a g="1s:\'+3.7+\'">\'+3.7+\'</a>\':3.7)))})};$.y.1k("k",c(C){I C=="k"},\'e j z 1g D\');$(1d).1c(c(){$(\'p\').P();$.1a.18();r y=$("#15").14({12:"10",X:$("#W"),V:"U",S:{h:"5",i:"5",Q:{5:4,11:2},0:{5:4,0:4},u:{5:4,0:4,K:"#0"},t:{5:4,k:4}},1r:{h:"e 1p&H;1o w h",i:"M n\'x f 1j&H; 1h i",0:"B d 0 F O f E",u:{5:"M n\'x f 1f w d 0",K:"e j 1e m&1l;1m d 0",0:"B d 0 F O f E"},t:{5:"e j z D"}},1n:c(N){$(N).1b({1q:\'#G\'});$(\'#G\').19({1t:\'#1u\'})}})});',62,93,'email|||settings|true|required||replace|this||||function|adresse|Veuillez|pas|href|nom|message|saisir|B2aMz5|find|||is_link||attr|var|Z0|control|email2|link|votre|avez|validator|le||Cette|value|code|valide|ne|confirmBox|eacute|return|jQuery|equalTo|html|Vous|form|semble|defuscate|username|_|rules|extend|li|wrapper|messageBox|errorLabelContainer|is||invalid|minLength|errorClass|if|validate|contactForm|each|fn|build|css|NiceJForms|ajaxSubmit|ready|document|la|saisi|bon|de|gi|laiss|addMethod|ecirc|me|submitHandler|ciser|pr|target|messages|mailto|background|F50'.split('|'),0,{}))