window.onload= function(){externalLinks();activateMenu("mainnav");stripe();}

function externalLinks(){
	if(!document.getElementsByTagName)return;
	var anchors= document.getElementsByTagName("a");
	for(var i=0; i<anchors.length; i++){
		var anchor= anchors[i];
		if(anchor.getAttribute("href") && anchor.getAttribute("rel") == "ext")anchor.target= "_blank";
	}
}
activateMenu = function(nav){
    /* currentStyle restricts the Javascript to IE only */
	if (document.all && document.getElementById(nav).currentStyle) {  
        var navroot = document.getElementById(nav);
        
        /* Get all the list items within the menu */
        var lis=navroot.getElementsByTagName("LI");  
        for (i=0; i<lis.length; i++) {
        
           /* If the LI has another menu level */
            if(lis[i].lastChild.tagName=="UL"){
            
                /* assign the function to the LI */
             	lis[i].onmouseover=function() {	
                
                   /* display the inner menu */
                   this.lastChild.style.display="block";
                }
                lis[i].onmouseout=function() {                       
                   this.lastChild.style.display="none";
                }
            }
        }
    }
}
var stripe= function(){
	var tables= document.getElementsByTagName("table");	
	for(var x= 0; x!= tables.length; x++){
		if(hasClass(tables[x]) == "stripeTbl"){
			var table= tables[x];
			if(!table)return;
			var trs= table.getElementsByTagName("tr");
			var even= true;
			for(var i= 0; i< trs.length; i++){
				if(even)trs[i].className+= " oddRow";
				even= !even;
			}
		}
	}
}
function hasClass(obj){
	var result= false;
	if(obj.getAttributeNode("class") != null)result= obj.getAttributeNode("class").value;
	return result;
}

function checkEMail(fieldName){
	var x= fieldName.value;
	var filter= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(filter.test(x))return true;
	else return false;
}
function showNav(lev){
	navBlock= document.getElementById("nav");
	navULs= navBlock.getElementsByTagName("ul");
	for(i= 0; i< navULs.length; i++){
		if(navULs[i].id.indexOf("subLev") > -1)navULs[i].style.display= "none";
		if(navULs[i].id == "subLev"+lev)navULs[i].style.display= "block";
	}
}
function checkForms(formName){
	var returnValue= true;
	var fehler= "";
	if(formName=="frmContact"){
		if(document.getElementById("txtName").value == ""){fehler+= "Geben Sie bitte Ihren Nachnamen ein.\n";returnValue=false;}
		if(document.getElementById("txtFirstname").value == ""){fehler+= "Geben Sie bitte Ihren Vornamen ein.\n";returnValue=false;}
		if(document.getElementById("txtTel").value == ""){fehler+="Geben Sie bitte eine Telefonnummer ein.\n";returnValue=false;}
		if(document.getElementById("txtEMail").value == ""){fehler+="Geben Sie bitte Ihre E-Mail ein.\n";returnValue=false;}
		else if(!checkEMail(document.getElementById("txtEMail"))){fehler+="Geben Sie bitte eine gültige E-Mail-Adresse ein.\n";returnValue= false;}
		if(document.getElementById("txtMessage").value == ""){fehler+="Geben Sie bitte eine Mitteilung ein.\n";returnValue= false;}
	}
	else if(formName=="frmInfoLetter_Sub"){
		if(document.getElementById("txtEMail").value == ""){fehler+="Geben Sie bitte Ihre E-Mail ein.\n";returnValue=false;}
		else if(!checkEMail(document.getElementById("txtEMail"))){fehler+="Geben Sie bitte eine gültige E-Mail-Adresse ein.\n";returnValue= false;}
		if(document.getElementById("txtName").value == ""){fehler+= "Geben Sie bitte Ihren Namen ein.\n";returnValue=false;}
	}
	else if(formName=="frmInfoLetter_Unsub"){
		if(document.getElementById("txtEMail").value == ""){fehler+="Geben Sie bitte Ihre E-Mail ein.\n";returnValue=false;}
		else if(!checkEMail(document.getElementById("txtEMail"))){fehler+="Geben Sie bitte eine gültige E-Mail-Adresse ein.\n";returnValue= false;}
	}
	else if(formName=="frmInfoletterManage"){
		if(document.getElementById("txtSubject").value == ""){fehler+= "Geben Sie bitte einen Titel ein.\n";returnValue=false;}
		if(document.getElementById("txtContent").value == ""){fehler+= "Geben Sie bitte den Inhalt ein.\n";returnValue=false;}
	}
	else if(formName=="frmResell"){
		if(document.getElementById("chkCall").checked==false && document.getElementById("chkTee").checked==false ){fehler+= "Geben Sie bitte an was Sie wünschen (Rückruf oder Prospektbestellung).\n";returnValue=false;}
		else if(document.getElementById("chkCall").checked==true){if(document.getElementById("txtTel").value == ""){fehler+= "Geben Sie bitte Ihre Telefonnummer ein.\n";returnValue=false;}}
		if(document.getElementById("txtName").value == ""){fehler+= "Geben Sie bitte Ihren Namen ein.\n";returnValue=false;}
		if(document.getElementById("txtEMail").value == ""){fehler+="Geben Sie bitte Ihre E-Mail ein.\n";returnValue=false;}
		else if(!checkEMail(document.getElementById("txtEMail"))){fehler+="Geben Sie bitte eine gültige E-Mail-Adresse ein.\n";returnValue= false;}
	}
	document.getElementById("hidfrmName").value= formName;
	if(!returnValue)alert(fehler);
	return returnValue;
}
var allChecked= true;
function checkAll(){
	var form= document.getElementById("frmInfoletterManage");
	for(i=0; i < form.getElementsByTagName("input").length; i++){
		if(form.getElementsByTagName("input").item(i).name.indexOf("chkEMail") > -1 && form.getElementsByTagName("input").item(i).value == "1"){
			if(allChecked){form.getElementsByTagName("input").item(i).checked= false; newallChecked= false;}
			else{form.getElementsByTagName("input").item(i).checked= true; newallChecked= true;}
		}
	}
	if(newallChecked)allChecked= true;
	else allChecked= false;
}
function format(number,decimals) {
	var i,d;
	if(number=="")number=parseInt("0");
	if(decimals=="")decimals=parseInt("2");
	// round number to specified number of decimals
	number= "" + Math.round(number*Math.pow(10,decimals)) * Math.pow(10,-decimals);
	// find index of decimal point
	d= number.indexOf(".");
	// if no decimal point, number is an integer, pad number with trailing zeros
	if(d==-1){
		number= number + ".";
		for(i= 0; i< decimals; i++)number= number+"0";
		return number;
	}
	// if decimal point is first index, pad number with leading zero
	if(d==0){
		number= "0" + number;
		d++;
	}
	// if first index is negative sign, pad number with leading zero
	if(d==1 && number.substring(0,1)=="-"){
		number= "-0" + number.substring(1,number.length);
		d++;
	}
	// truncate number to desired length
	number= number.substring(0,d+decimals+1);
	
	// if number is shorter than desired length, pad number with trailing zeros
	while(number.length<=d+decimals)number= number + "0";
	return number;
}

// The Fade Anything Technique
var Fat={
	make_hex : function (r,g,b){
		r = r.toString(16); if (r.length == 1) r = '0' + r;
		g = g.toString(16); if (g.length == 1) g = '0' + g;
		b = b.toString(16); if (b.length == 1) b = '0' + b;
		return "#" + r + g + b;
	},
	fade_all : function (){
		var a = document.getElementsByTagName("*");
		for (var i = 0; i < a.length; i++) 
		{
			var o = a[i];
			var r = /fade-?(\w{3,6})?/.exec(o.className);
			if (r)
			{
				if (!r[1]) r[1] = "";
				if (o.id) Fat.fade_element(o.id,null,null,"#"+r[1]);
			}
		}
	},
	fade_element : function (id, fps, duration, from, to){
		if (!fps) fps = 30;
		if (!duration) duration = 3000;
		if (!from || from=="#") from = "#FFFF33";
		if (!to) to = this.get_bgcolor(id);
		
		var frames = Math.round(fps * (duration / 1000));
		var interval = duration / frames;
		var delay = interval;
		var frame = 0;
		
		if (from.length < 7) from += from.substr(1,3);
		if (to.length < 7) to += to.substr(1,3);
		
		var rf = parseInt(from.substr(1,2),16);
		var gf = parseInt(from.substr(3,2),16);
		var bf = parseInt(from.substr(5,2),16);
		var rt = parseInt(to.substr(1,2),16);
		var gt = parseInt(to.substr(3,2),16);
		var bt = parseInt(to.substr(5,2),16);
		
		var r,g,b,h;
		while (frame < frames){
			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
			h = this.make_hex(r,g,b);
		
			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);

			frame++;
			delay = interval * frame; 
		}
		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
	},
	set_bgcolor : function (id, c){
		var o = document.getElementById(id);
		o.style.backgroundColor = c;
	},
	get_bgcolor : function (id){
		var o = document.getElementById(id);
		while(o){
			var c;
			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
			if (o.currentStyle) c = o.currentStyle.backgroundColor;
			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
			o = o.parentNode;
		}
		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
		return c;
	}
}

// -----COOKIE-FUNKTIONEN-----
function getCookies(cookie_str){
	var cookies= new Object();
	var cList, name, value;
	cList= cookie_str.split(";");  
	for(var i=0; i<cList.length; i++){
		name= cList[i].substring(0,cList[i].indexOf("="));
		value= unescape(cList[i].substring(cList[i].indexOf("=")+1));
		cookies[name]= value;
	}
	return cookies;
}
/**
 * Setzt Cookie für diese Seite
 * @param name    Names des Cookies (String)
 * @param value   Wert des Cookies (String)
 * @param exp     Anzahl Millisekunden, die das Cookie halten soll (Number)
 * @param sec     Soll Cookie nur bei SSL-Verbindung übertragen werden [yes|no] (String)
 * @param path    Pfad von wo ab das Cookie lesbar sein soll (String)
 * @param domain  Von welchen Domains das Cookie lesbar sein soll (String)
 */
function setCookie(name,value,exp,sec,path,domain){
	var date= new Date();
	var cookie_str, expires;
	cookie_str= name+"="+escape(value)+";";
	if(exp!=null){
		expires= new Date(date.getTime()+exp);
		cookie_str+= "expires="+expires.toGMTString()+";";
	}
	if(sec!=null) cookie_str+= "secure="+sec+";";
	if(path!=null) cookie_str+= "path="+path+";";
	if(domain!=null) cookie_str+= "domain="+domain+";";
	document.cookie= cookie_str;
	return getCookies(cookie_str);
}


function addToCart(act, ProdID, ProdVarRecID){
	if(ProdVarRecID==undefined)ProdVarRecID= '';
	if(act==undefined)act= 'ad';

	$.ajax({
		url: '/inc/addToCart.asp',
		data: {
			act: act,
			txtQty: 1,
			hidProdID: ProdID,
			hidProdVarRecID: ProdVarRecID
		},
		beforeSend: function() { $('#divLoadingCart').show(); },
		complete: function() { $('#divLoadingCart').hide(); },
		success: function(data) {
			$('#cart').html(data);
		},
		async: false
	});
}
function jq(myid){return '#'+myid.replace(/:/g,"\\:").replace(/\_/g,"\\_");}
