var ie=document.all && !window.opera;

function _(_id){
	if(document.getElementById && document.getElementById(_id)) return document.getElementById(_id);
	else return null;
}

function addEvent(parent, ev, func){
	if (parent.attachEvent) parent.attachEvent('on'+ev, func);
	else parent.addEventListener(ev, func, true);
}

var email_pattern=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;

var loading;
addEvent(window, "load", function(){
	loading=document.createElement("div");
	loading.id="loading";
	document.body.appendChild(loading);
	var inn=document.createElement("div");
	loading.appendChild(inn);
	var inn=document.createElement("span");
	loading.appendChild(inn);
	
	if(document.all && !window.opera && navigator.appVersion.indexOf("MSIE 7")==-1)
	window.onscroll=function (){
		status=document.documentElement.scrollTop;
		loading.style.top=document.documentElement.scrollTop+"px";
	}
});

function check_form(form){
	req=form.getElementsByTagName("span");
	for(i=0;i<req.length;i++){
		if(!((n=req[i].lang) && (obj=form.elements[n]))) continue;
		if(obj[0]) continue;
		if(obj.value==""){
			alert("Bitte überprüfen Sie Ihre Eingaben.");
			obj.focus();
			return false;
		}
		if(obj.name=="email" && !email_pattern.test(obj.value)){
			alert("Die eingegebene E-Mail Adresse ist ungültig.");
			obj.focus();
			return false;
		}
	}
	if(form.elements["message"].value=="") {
		alert("Bitte überprüfen Sie Ihre Eingabe.");
		form.elements["message"].focus();
		return false;
	}
/*
	if(_("files_path").getElementsByTagName("input").length<=1) {
		alert("Sie haben keine Dateien ausgewählt.");
		_("files_path").getElementsByTagName("input")[0].focus();
		return false;
	}
*/
	if(_("bruttobetrag").value=="0") {
		alert("Sie haben keine Bannas ausgewählt.");
		return false;
	}
	if(!form.elements["agb"].checked) {
		alert("Sie müssen die AGB akzeptieren um fortzufahren.");
		return false;
	}
	_("loading").style["height"]="100%";
	return true;
}


function addEvent(parent, ev, func){
	if (parent.attachEvent) parent.attachEvent('on'+ev, func);
	else parent.addEventListener(ev, func, true);
}

/* calculate */
function init_calc(){
	var _calc=_("calc");
	var _input=_calc.getElementsByTagName("input");
	var _label=_calc.getElementsByTagName("label");
	for(i=0;i<_input.length;i++){
		_input[i].id=_label[i].htmlFor="calc_el_"+i;
		_input[i].value=_input[i].parentNode.parentNode.getElementsByTagName("img")[0].alt;
		_label[i].root_id=_label[i].parentNode.parentNode.getElementsByTagName("img")[0].name;
		//addEvent(_input[i], "change", function(){calculate()})
		//addEvent(_input[i], "click", function(){calculate()})
	}
	calculate();
}

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	s = s.replace(/\./, ',');
	return s;
}
// end of function CurrencyFormatted()

function calculate(){
	var sum=0;
	var _input=_("calc").getElementsByTagName("input");
	var _label=_("calc").getElementsByTagName("label");
	var _blockquote=_("calc").getElementsByTagName("blockquote");
	for(i=0;i<_blockquote.length;i++){
		_("t_"+(i+1)).value=_blockquote[i].getElementsByTagName("h4")[0].innerHTML+":\r\n";
	}
	for(i=0;i<_input.length;i++){
		if(_input[i].checked){
			sum+=Number(_input[i].value);
			_(_label[i].root_id).value+="  + "+_label[i].innerHTML+"\r\n";
		}
	}

	_("netto").getElementsByTagName("b")[0].innerHTML=_("netto").getElementsByTagName("input")[0].value=CurrencyFormatted(sum);
	_("ust").getElementsByTagName("b")[0].innerHTML=_("ust").getElementsByTagName("input")[0].value=CurrencyFormatted(sum*0.19);	
	_("brutto").getElementsByTagName("b")[0].innerHTML=_("brutto").getElementsByTagName("input")[0].value=CurrencyFormatted(sum*1.19);	
}

/*------------*/



/* multiBrowse */
function multiBrowse(id){
var filetypes={"JPG":1,"jpg":1,"JPEG":1,"jpeg":1,"JPE":1,"jpe":1,"PNG":1,"png":1,"GIF":1,"gif":1,"ZIP":1,"zip":1,"RAR":1,"rar":1,"TIF":1,"tif":1,"PDF":1,"pdf":1};
this.parent=_(id);
this.count=0;
this.pole=_("files_pole");
this.path=_("files_path");
this.block=_("files_block");
this.but_add=_("but_add");
this.but_add.obj=this;
this.but_add.onclick=function(){this.obj.add()}

this.cur_file=document.createElement("input");
this.cur_file.type="file";
this.path.appendChild(this.cur_file);
this.cur_file.obj=this;
this.cur_file.onmouseover=function(){this.obj.parent.getElementsByTagName("button")[0].style.background='url(/imgs/but_browse_on.gif)';}
this.cur_file.onmouseout=function(){this.obj.parent.getElementsByTagName("button")[0].style.background='url(/imgs/but_browse.gif)'}
this.cur_file.onchange=function(){this.obj.load()}
this.cur_file.name="file_"+this.count;

this.load=function(){
	this.pole.innerHTML=this.cur_file.value.replace(/([^\\]*\\)+([^\\]*\.[A-Za-z]+)/, "$2");
}
this.add=function(){
	if(this.block.getElementsByTagName("span").length==10){ alert("Es können maximal 10 Dateien bereitgestellt werden."); return;}
	if(this.pole.innerHTML=="") return;
	var ext=this.pole.innerHTML.replace(/[^.]+\.([A-Za-z]+)/, "$1");
	if(!filetypes[ext]){ alert("Dieser Dateityp ist leider nicht zulässig."); return}
	var _span=document.createElement("span");
	this.block.appendChild(_span);
	_span.innerHTML=this.pole.innerHTML;
	this.pole.innerHTML="";
	var _img=document.createElement("img");
	_span.appendChild(_img);
	_img.src="imgs/ico_delete.gif";
	_img.obj=this;
	_img.input_file=this.cur_file;
	_img.onclick=function(){this.obj.del(this)}
	this.count++;
	var _input=document.createElement("input");
	_input.type="file";
	if(ie)this.path.appendChild(_input);
	else this.path.insertBefore(_input,this.path.firstChild);
	_input.obj=this;
	_input.onmouseover=function(){this.obj.parent.getElementsByTagName("button")[0].style.background='url(/imgs/but_browse_on.gif)';}
	_input.onmouseout=function(){this.obj.parent.getElementsByTagName("button")[0].style.background='url(/imgs/but_browse.gif)'}
	_input.onchange=function(){this.obj.load()}
	_input.name="file_"+this.count;
	this.cur_file=_input;
}

this.del=function(obj){
	this.path.removeChild(obj.input_file);
	this.block.removeChild(obj.parentNode);
}

return this;
}
