
﻿var FieldsMandatory=new Array();FieldsMandatory["lastname"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Last Name*"};FieldsMandatory["firstname"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"First name*"};FieldsMandatory["email"]={"highlight":"#cc0000","error":"Your e-mail address is not valid. Please check the spelling before sending! ","default":"E-Mail*"};FieldsMandatory["address"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Street and Number*"};FieldsMandatory["postal"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Postal Code*"};FieldsMandatory["city"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"City*"};FieldsMandatory["country"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Country*"};FieldsMandatory["language"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Language *"};FieldsMandatory["report"]={"highlight":"#cc0000","error":"Please fill all required fields.\n","default":"Report *"};FieldsMandatory["nachname"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Nachname*"};FieldsMandatory["vorname"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Vorname*"};FieldsMandatory["mail"]={"highlight":"#cc0000","error":"Ihre e-mail Addresse ist ungültig. Bitte überprüfen Sie Ihre Eingabe vor dem Senden! ","default":"E-Mail*"};FieldsMandatory["addresse"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Straße und Hausnummer*"};FieldsMandatory["postleitzahl"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Postleitzahl*"};FieldsMandatory["ort"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Ort*"};FieldsMandatory["land"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Land*"};FieldsMandatory["sprache"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Sprache *"};FieldsMandatory["publikation"]={"highlight":"#cc0000","error":"Bitte füllen Sie mindestens die Pflichtfelder aus.\n","default":"Publikation *"};function cleanLegend(field,legend)
{if(field.value==legend)
field.value='';else if(field.value=='')
field.value=legend;}
document.observe('dom:loaded',function(){initLayout_handledButtons()});function initLayout_handledButtons(){$$("button.handledGeneric").each(function(elt){if(!elt.form.id){elt.form.id=Helper.getUniqueId();}
var handle="";var reg=/^return/;$A(elt.form.attributes).each(function(item){if(item.nodeName=='onsubmit'){handle="if("+item.nodeValue.replace(reg,"").replace(/;$/,"")+")";}});var caption=$(elt).innerHTML;var jsCode="javascript:"+handle+" submitForm('"+elt.form.id+"');";var cssClassName="generic-button";linkAsButton=Builder.node('a',{className:cssClassName,href:jsCode},[Builder.node('span',[Builder.node('span',[caption])]),]);$(elt).parentNode.replaceChild($(linkAsButton),$(elt));});}
function regexmail(mail)
{var regexist=false;var res=false;if(typeof(RegExp)=='function')
{var testregex=new RegExp('abc');if(testregex.test('abc')==true)
{regexist=true;}}
if(regexist==true)
{reg=new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');res=(reg.test(mail));}
else
{res=(mail.search('@')>=1&&mail.lastIndexOf('.')>mail.search('@')&&mail.lastIndexOf('.')>=mail.length-5)}
return(res);}
function validate(formId,messageDiv)
{
	var message="";
	var status=true;
	var form=document.getElementById(formId);
	for(var field in FieldsMandatory)
	{
		if(form.elements[field]&&field!='all'&&form.elements[field].style)

			if(form.elements[field].id == 'mail' && !regexmail(getElementText(form.elements[field])))
			{
				form.elements[field].style.color=FieldsMandatory[field]['highlight'];
				error=FieldsMandatory[field]['error'];
				if(message.indexOf(error)<0)
					message+=error;status=false;
				
			}			

			else if(getElementText(form.elements[field])==FieldsMandatory[field]['default'] || getElementText(form.elements[field])=='')
			{
				form.elements[field].style.color=FieldsMandatory[field]['highlight'];
				error=FieldsMandatory[field]['error'];
				if(message.indexOf(error)<0)
					message+=error;status=false;				
			}
			
			// gui select fields
			else if(form.elements[field].type == 'hidden')
            {
            	if(form.elements[field].value == '')
            	{
            		$(form.elements[field].name).down('p').down('a').style.color=FieldsMandatory[field]['highlight'];
            		error = FieldsMandatory[field]['error'];
                	if(message.indexOf(error) < 0)
                        message += error;
            		status = false;
            	}
            	else
            	{
    				$(form.elements[field].name).down('p').down('a').style.color='#666666';
            	}
            }
			else
			{
				form.elements[field].style.color='#333333';
			}
	}
	//document.getElementById(messageDiv).innerText=message; // does not work in FF
	document.getElementById(messageDiv).innerHTML=message;
	return status;
}
function getElementText(element)
{if(element.type=='text')
return element.value;if(element.type=='select-one')
return element.options[element.selectedIndex].text;}

/*
script.aculo.us builder.js v1.8.1,
Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
was used only once and is replaced by custom code
*/

var Builder = {
NODEMAP: {
	AREA: 'map',
	CAPTION: 'table',
	COL: 'table',
	COLGROUP: 'table',
	LEGEND: 'fieldset',
	OPTGROUP: 'select',
	OPTION: 'select',
	PARAM: 'object',
	TBODY: 'table',
	TD: 'table',
	TFOOT: 'table',
	TH: 'table',
	THEAD: 'table',
	TR: 'table'
},
// note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
// due to a Firefox bug
node: function(elementName) {
	elementName = elementName.toUpperCase();

	// try innerHTML approach
	var parentTag = this.NODEMAP[elementName] || 'div';
	var parentElement = document.createElement(parentTag);
	try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
		parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
	} catch(e) {}
	var element = parentElement.firstChild || null;

	// see if browser added wrapping tags
	if(element && (element.tagName.toUpperCase() != elementName))
		element = element.getElementsByTagName(elementName)[0];

	// fallback to createElement approach
	if(!element) element = document.createElement(elementName);

	// abort if nothing could be created
	if(!element) return;

	// attributes (or text)
	if(arguments[1])
		if(this._isStringOrNumber(arguments[1]) ||
			(arguments[1] instanceof Array) ||
			arguments[1].tagName) {
				this._children(element, arguments[1]);
			} else {
				var attrs = this._attributes(arguments[1]);
				if(attrs.length) {
					try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
						parentElement.innerHTML = "<" +elementName + " " +
							attrs + "></" + elementName + ">";
					} catch(e) {}
					element = parentElement.firstChild || null;
					// workaround firefox 1.0.X bug
					if(!element) {
						element = document.createElement(elementName);
						for(attr in arguments[1])
							element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
					}
					if(element.tagName.toUpperCase() != elementName)
						element = parentElement.getElementsByTagName(elementName)[0];
				}
			}

	// text, or array of children
	if(arguments[2])
		this._children(element, arguments[2]);

	return element;
},
_text: function(text) {
	return document.createTextNode(text);
},

ATTR_MAP: {
	'className': 'class',
	'htmlFor': 'for'
},

_attributes: function(attributes) {
	var attrs = [];
	for(attribute in attributes)
		attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) +
				'="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;') + '"');
	return attrs.join(" ");
},
_children: function(element, children) {
	if(children.tagName) {
		element.appendChild(children);
		return;
	}
	if(typeof children=='object') { // array can hold nodes and text
		children.flatten().each( function(e) {
			if(typeof e=='object')
				element.appendChild(e)
			else
				if(Builder._isStringOrNumber(e))
					element.appendChild(Builder._text(e));
		});
	} else
		if(Builder._isStringOrNumber(children))
			element.appendChild(Builder._text(children));
},
_isStringOrNumber: function(param) {
	return(typeof param=='string' || typeof param=='number');
},
build: function(html) {
	var element = this.node('div');
	$(element).update(html.strip());
	return element.down();
},
dump: function(scope) {
	if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope

	var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " +
		"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " +
		"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+
		"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+
		"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+
		"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);

	tags.each( function(tag){
		scope[tag] = function() {
			return Builder.node.apply(Builder, [tag].concat($A(arguments)));
		}
	});
}
}