
window.addEvent('load', function() {

			
	$('mailformformtype_mail').addEvent('click',function(el)
	{
		el.stop();
		if(checkForm())
		{
			$('mailform').submit();			
		}
	});

	$('mailformFile').addEvent('change',function()
	{	
		var temp = this.id.split("_");
		var count = temp[1];
						
		if($('mailformFile').value == "")
		{
			if($('err_file_1'))
			{
				$('err_file_1').destroy();
			}
			
			$('mailformFile').setStyles({
				'backgroundColor':'#fff',
				'color':'#000'
			});		
						
			return;
		}
		
		
		var str = $('mailformFile').value.split(".");
		
		if(str[str.length-1].toLowerCase().contains("jpg") || str[str.length-1].toLowerCase().contains("JPG") || str[str.length-1].toLowerCase().contains("PNG") || str[str.length-1].toLowerCase().contains("png"))
		{
			$('mailformFile').setStyles({
					'backgroundColor':'#fff',
					'color':'#000'
				});
			
				if($('err_file_1'))
				{
					$('err_file_1').destroy();		
				}	
		}
		else
		{
			if($('err_file_1'))
			{
				$('err_file_1').destroy();
			}	
			
			var lang = checkLang();
			var text = new Array();
			
		
			text[0] = "The chosen file is no *.jpg* or *.png* file.";
			text[1] = "Die ausgew&auml;hlte Datei ist keine *.jpg oder *.png-Datei.";
			text[2] = "Il file scelto non &egrave; un file *.jpg* o *.png*.";
			text[3] = "The chosen file is no *.jpg* or *.png* file.";
			text[4] = "The chosen file is no *.jpg* or *.png* file.";
			
			$('mailformFile').set('tween',{duration: 'long'}).tween('backgroundColor',["#ff0000","#ffcccc"]);
						
			$('mailformFile').setStyle('color','#000');
						
			var err_mes = new Element("p",{id:"err_file_1"}).set('html',text[lang]).setStyle("color","#ff0000").injectAfter($('mailformFile'));
		}
	});

});



var Err = 0;
var Err_files = 0;

checkForm = function()
{
	Err = 0;
	Err_files = 0;

	Err += validateElem($("mailformName"),{lengthmin:1,lengthmax:50});
	Err += validateElem($("mailformVornName"),{lengthmin:1,lengthmax:50});
	Err += validateElem($("mailformPLZ"),{lengthmin:1,lengthmax:5,re:'numonly'});
	Err += validateElem($("mailformOrt"),{lengthmin:1,lengthmax:50});
	Err += validateElem($("mailformEMailAdresse"),{lengthmin:1,lengthmax:50,re:'email'});
	
	var lang = checkLang();
	var text = new Array();
	
	text[0] = "An error has occurred. Please revise your request.";
	text[1] = "Es sind Fehler aufgetreten. Bitte kontrollieren Sie Ihre Eingaben.";
	text[2] = "Errore. Per favore, controlli la sua richiesta.";
	text[3] = "An error has occurred. Please revise your request.";
	text[4] = "An error has occurred. Please revise your request.";
	
	
	if($("mailformFile").value == "")
	{
		$("mailformFile").set('tween',{duration: 'long'}).tween('backgroundColor',["#ff0000","#ffcccc"]);
		Err_files += 1;
			
	}
		
	if(Err > 0 || Err_files > 0 )
	{
		alert(text[lang]);
		
		return false;
	}
	return true; 
}


validateElem = function(elem,vObj)
{
 	var valid = validateInput(elem.value,vObj);
	if(!valid)
	{
		elem.set('tween',{duration: 'long'}).tween('backgroundColor',["#ff0000","#ffcccc"]);
	}
	else
	{
		elem.setStyles({
			'backgroundColor':'#fff',
		});
	}
	
	return valid?0:1;
	//return false;
}

validateInput = function(vStr, vObj)
{
	var re = [], valid = true;
	re['textonly'] = /^[0-9A-Za-z ÄÜÖäöüßéáàèóòÈÉÁÀÒÓîÎùúÚÙûÛôÔâÂêÊ-]*$/;
	re['numonly'] = /^[0-9]*$/;
	re['tel'] = /^[0-9 +-]*$/;
	re['email'] = /^[^@]+@[^@]+.[a-z]{2,}$/i;
 
	if(vObj.re && vStr.search(re[vObj.re]) == -1)valid = false;
	if(vObj.lengthmin && vStr.length < vObj.lengthmin)valid = false;
	if(vObj.lengthmax && vStr.length > vObj.lengthmax)valid = false;
 
	return valid;
}


String.prototype.parseURL = function(query) 
{
        var url=this,
                rx=/^((?:ht|f|nn)tps?)\:\/\/(?:([^\:\@]*)(?:\:([^\@]*))?\@)?([^\/]*)([^\?\#]*)(?:\?([^\#]*))?(?:\#(.*))?$/,
                rg=[null,'scheme','user','pass','host','path','query','fragment'],
                r=url.match(rx),i,q,ret={};
        if (r==null) return ret;
        for (i=1; i<rg.length; i++)
                if (r[i]!=undefined)
                        ret[rg[i]]=r[i];       
        if (ret.path=='') ret.path='/';
        if (query!=undefined && r[6]!=undefined) {
                var q=r[6];
                ret.query={};
                q=q.split('&');
                for (var i=0; i<q.length; i++) {
                        q[i]=q[i].split('=',2);
                        ret.query[unescape(q[i][0])]=unescape(q[i][1]);
                }
        }
        return ret;
}

checkLang = function()
{
	var realUrl = window.location.href;
		 
	var test = realUrl.parseURL();
	
	if(test.query)
	{
		var queries = test.query.split("&");
		
		for(i=0;i < queries.length; i++)
		{
			if(queries[i].search(/L=/) === 0)
			{
				var tmp = queries[i].split("=");
				return tmp[1];
			}		
		}
		
	}
	
	return 0;
}
