//if not IE4+ nor NS6+
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
	document.cookie = "jstestcookie"
	cookieEnabled = (document.cookie.indexOf("jstestcookie")!=-1)? true : false;
}	

addOnload = function (func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}




function call_zvVideo(format, masterStyleID, type, wert) {
	var width = 375;
	var height = 525;
	if(format == 2) {
		width = 659;
		height = 430;
	}
	zvVideo(masterStyleID, width, height, type, wert);
}

function html_entities_to_Character(text){
	return text.replace("&nbsp;"," ").replace("&euro;",unescape("%u20AC")).replace("&pound;", unescape("%u00A3")) ;
}

function setHeadPath(s) {
    headPath = s;
}

function setHeadPathMenu(s) {
    headPathMenu = s;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function findElement(n,ly) {
	if (browserVers < 4)		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImagesMenu() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImagesMenu.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImagesMenu.arguments[i],0);
			}
			else {
				img = document.images[changeImagesMenu.arguments[i]];
			}
			if (img) {
				img.src = headPathMenu+changeImagesMenu.arguments[i+1];
			}
		}
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = headPath+changeImages.arguments[i+1];
			}
		}
	}
}


function newWin(name, url, width, height, args) {
   var newWin = new Object();
   newWin.args = args;
   newWin.url = url;
   newWin.name = name;
   newWin.width = width;
   newWin.height = height;
   if (document.layers) {// browser is NN
       newWin.left = window.screenX + ((window.outerWidth - newWin.width) / 2);
       newWin.top = window.screenY + ((window.outerHeight - newWin.height) / 2);
       var attr = 'screenX=' + newWin.left + ',screenY=' + newWin.top + ',scrollbars=yes,resizable=yes,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args;
      } else {// browser is MSIE
       newWin.left = (screen.width - newWin.width) / 2;
       newWin.top = (screen.height - newWin.height) / 2;
       var attr = 'left=' + newWin.left + ',top=' + newWin.top + ',scrollbars=yes,resizable=yes,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args;
      }
   newWin.win=window.open(newWin.url, newWin.name, attr);
   newWin.win.opener=self;
   newWin.win.focus();
}

function windowHeight() {
	    var windowHeightY;
      var test1 = document.body.scrollHeight;
      var test2 = document.body.offsetHeight
      if (test1 > test2) // all but Explorer Mac
      {
        windowHeightY = document.body.scrollHeight;
      }
      else // Explorer Mac;
           //would also work in Explorer 6 Strict, Mozilla and Safari
      {
        windowHeightY = document.body.offsetHeight;
      } 
      document.getElementById("bodyblock").style.height = windowHeightY + "px";    
}
function zeigeFooterLandmarkLink(url, url_target)  {
   var extension = ""
   if (arguments.length > 1) {
	  	extension = "#" + arguments[1]
	}
	location.href=url + "&pRedirectUrl=" + BP_Server+url_target+"%3FpAnzWkorb%3D"+WkorbAnzahl+"%26id%3D"+wk+"%26myShopName%3D"+myShopName+extension;  
}
function zeigeFooter(url)  {
      var extension = ""
	  if (arguments.length > 1) {
	  	extension = "#" + arguments[1]
	  }
	  
	  location.href=BP_Server+url+"?pAnzWkorb="+WkorbAnzahl+"&id="+wk+"&myShopName="+myShopName+extension;  
     }
function openDatenschutzFenster()  {
      window.open(BP_Server+"datenschutz.html?pAnzWkorb="+WkorbAnzahl+"&id="+wk+"&myShopName="+myShopName);  
}

function openDeliveryInfoWindow(url)  {
	window.open(url,'DeliveryInfoWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=400,height=510');
}

function openPaketShopWindow(url)  {
	window.open(url,'PaketShopWindow','menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600');
}

function zeigeLMFooter (url)  {
      url = url.replace(/XXX/, WkorbAnzahl);
      location.href=url;  
     }   

function suchetext() {
    var f = document.freitextsuche;
    if (f.qu.value == SUCH_VORGABE || f.qu.value == "") { 
        alert(BITTE_BEGRIFF_EINGEBEN); 
    } else {
        f.submit();
    }
}

function sucheBestellnummer() {
    var f = document.suchebestellnummer;
	if(isNaN(f.qu.value) == true || f.qu.value.lenght < 7){
        alert(BITTE_ARTIKELNR_EINGEBEN); 
    } else {
        f.submit();
    }
}

function winOpenXXL(url) {
	var fensterbreite;
	var fensterhoehe;
	fensterbreite = screen.width;
	fensterhoehe = screen.height;
	var xxl = "http://bonprix.zoomo-viewer.com/html/xxl/xxl.php?imgurl="+url+"&width="+fensterbreite+"&height="+fensterhoehe;
	window.open(xxl,"XXL","toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ fensterbreite +",height="+ fensterhoehe +",left = 0,top = 0");
}
function winOpenXXL2(url,wlm, hb, nb1, nb2, nb3, nb4, nb5, nb6,nb7) {
	var fensterbreite;
	var fensterhoehe;
	fensterbreite = screen.width;
	fensterhoehe = screen.height;
	//var xxl = "http://bonprix.zoomo-viewer.com/html/xxl/xxlsitepic.php?imgurl="+hb+"&width="+fensterbreite+"&height="+fensterhoehe+"&nb1="+nb1+"&nb2="+nb2+"&nb3="+nb3+"&nb4="+nb4+"&nb5="+nb5;
    var xxl = url+"imgurl="+hb+"&width="+fensterbreite+"&height="+fensterhoehe+"&nb1="+nb1+"&nb2="+nb2+"&nb3="+nb3+"&nb4="+nb4+"&nb5="+nb5+"&nb6="+nb6+"&nb7="+nb7+"&pk="+pk;
    if ( wlm=="true" )
    	 xxl = url+"imgurl="+hb+"%26width="+fensterbreite+"%26height="+fensterhoehe+"%26nb1="+nb1+"%26nb2="+nb2+"%26nb3="+nb3+"%26nb4="+nb4+"%26nb5="+nb5+"%26nb6="+nb6+"%26nb7="+nb7+"%26pk="+pk;
      
	window.open(xxl,"XXL","toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ fensterbreite +",height="+ fensterhoehe +",left = 0,top = 0");
}

function winOpenXXLIntelligent(url,nb) {
   	    var fensterbreite;
		var fensterhoehe;
		fensterbreite = screen.width;
		fensterhoehe = screen.height;
		var strnb = "";
		for (var i = 0; i < nb.length; i++) {
			strnb += "&nb" + (i + 1) + "=" + nb[i];
		}
		if (cleverImage != null && cleverImage.getSelectedImage() != null){
			url = cleverImage.getSelectedImage();
		}
   	    var xxl = "http://bonprix.zoomo-viewer.com/html/xxl/xxl_fallback.php?imgurl="+url+"&width="+fensterbreite+"&height="+fensterhoehe+"&lang="+pk + strnb;
        window.open(xxl,"XXL","toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ fensterbreite +",height="+ fensterhoehe +",left = 0,top = 0");
   }
/*------ */

/*----------------------------------------------------------*/
function winOpenXXLFallback(url,nb1,nb2,nb3,nb4,nb5,nb6,nb7) {
   	    var fensterbreite;
		var fensterhoehe;
		fensterbreite = screen.width;
		fensterhoehe = screen.height;
   	    var xxl = "http://bonprix.zoomo-viewer.com/html/xxl/xxl_fallback.php?imgurl="+url+"&width="+fensterbreite+"&height="+fensterhoehe+"&nb1="+nb1+"&nb2="+nb2+"&nb3="+nb3+"&nb4="+nb4+"&nb5="+nb5+"&nb6="+nb6+"&nb7="+nb7+"&lang="+pk;
        window.open(xxl,"XXL","toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ fensterbreite +",height="+ fensterhoehe +",left = 0,top = 0");
   }
/*----------------------------------------------------------*/

 
function change(el,klasse) {
el.className = klasse;
}


userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function findElement(n,ly) {
	if (browserVers < 4)		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImages2() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	//nodes = $$('.preloadMe');
	/*for(i = 0; i<nodes.length;i++){ 
		if(nodes[i].getStyle("backgroundImage") != "none"){
			url = nodes[i].getStyle("backgroundImage").match(/(url\()(.*)(\))/)[2]
			ext = url.match(/\.[a-zA-z]{3}$/)
			url = url.replace(/\.[a-zA-z]{3}$/, "_o" + ext)
			var tmp = document.createElement("div");
			//tmp.setAttribute("style", "background: transparent url("+url+") no-repeat;width:0px;height:0px;")
			$$("body")[0].appendChild(tmp);
		}
	}
*/
//	preloadFlag = true;
}

function checkTagText(tagText) {
	if(tagText.match(/[\s<>#%&?,;:\'\"\.\+\(\)\[\]\/]+/) || tagText.match(/^\d.*/)) {
		alert("Ein Tag-Name darf nicht mit einer Ziffer beginnen und darf keine Sonder- oder Leerzeichen beinhalten. ");
		return false;
	}
    return true;
}

function pageOffset(win)
{
	if(!win) win = window;
	var pos = {left:0,top:0};
	if(typeof win.pageXOffset != 'undefined')
	{
		// Mozilla/Netscape
		pos.left = win.pageXOffset;
		pos.top = win.pageYOffset;
	}
	else
	{
		var obj = getBody(win);
		pos.left = obj.scrollLeft;
		pos.top = obj.scrollTop;
	}
	return pos;
}
function getBody(w)
{
	return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
}

function showLayer (id) {
	
	$(id).style.display="block";
}

function showQlButton(element){
	element.removeAttribute("_extended");
	$(element).up(0).down('.quickviewIcon').style.display="block";
}

function hideQlButton(element){
	element.removeAttribute("_extended");
	$(element).up(0).down('.quickviewIcon').style.display="none";
}

function hideLayer (id) {
	Element.hide(id);
	elem=document.getElementById(id);
	elem.style.display="none";
}

function toggleLayer(id){
	if($(id).style.display=="block") $(id).style.display="none";
	else $(id).style.display="block";
}

function showLayerSearch (id) {
	elem=document.getElementById(id);
	elem_text=document.getElementById(id+"_text");
	elem.style.display="block";
	elem_text.style.visibility="hidden";
}

function hideLayerSearch (id) {
	elem=document.getElementById(id);
	elem_text=document.getElementById(id+"_text");
	elem.style.display="none";
	elem_text.style.visibility="visible";
}

function switchBox (id,val) {
	elem=document.getElementById(id);
	elem.value=val;
	document.shopsuche.submit();
}
function chReit(a,id)  {
    switch (a) {
      case '0':
       	modCSS('swap',id+"_l",'eckeLinksObenGrau','eckeLinksOben')
       	modCSS('swap',id,'reiternameGrau','reitername')
       	modCSS('swap',id+"_r",'eckeRechtsObenGrau','eckeRechtsOben')
    	break;
      case '1':
       	modCSS('swap',id+"_l",'eckeLinksOben','eckeLinksObenGrau')
       	modCSS('swap',id,'reitername','reiternameGrau')
       	modCSS('swap',id+"_r",'eckeRechtsOben','eckeRechtsObenGrau')
    	break;
	}	
}
function chReitQV(a,id)  {
    switch (a) {
      case '0':
       	modCSS('swap',id+"_l",'eckeLinksObenGrau','eckeLinksObenQV')
       	modCSS('swap',id,'reiternameGrau','reitername')
       	modCSS('swap',id+"_r",'eckeRechtsObenGrau','eckeRechtsOben')
    	break;
      case '1':
       	modCSS('swap',id+"_l",'eckeLinksObenQV','eckeLinksObenGrau')
       	modCSS('swap',id,'reitername','reiternameGrau')
       	modCSS('swap',id+"_r",'eckeRechtsOben','eckeRechtsObenGrau')
    	break;
	}	
}

function modCSS(a,id,c1,c2)
{
  o=document.getElementById(id);
  switch (a){
    case 'swap':
      o.className=!modCSS('check',id,c1)?o.className.replace(c2,c1): 
      o.className.replace(c1,c2);
    break;
    case 'add':
      if(!modCSS('check',id,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
}

function changeReiter(from, to){
	if($(from).visible()){
		$(from).hide();
		$(to).show();
		$$("#"+from+"Reiter"+" .eckeLinksOben")[0].className = "eckeLinksObenGrau";
		$$("#"+from+"Reiter"+" .reitername")[0].className ="reiternameGrau";
		$$("#"+from+"Reiter"+" .eckeRechtsOben")[0].className ="eckeRechtsObenGrau";
	
		$$("#"+to+"Reiter"+" .eckeLinksObenGrau")[0].className ="eckeLinksOben";
		$$("#"+to+"Reiter"+" .reiternameGrau")[0].className ="reitername";
		$$("#"+to+"Reiter"+" .eckeRechtsObenGrau")[0].className ="eckeRechtsOben";
	}
	if($(to).visible) {
		$(to).hide();
		$(from).show();
		$$("#"+from+"Reiter"+" .eckeLinksObenGrau")[0].className = "eckeLinksOben";
		$$("#"+from+"Reiter"+" .reiternameGrau")[0].className ="reitername";
		$$("#"+from+"Reiter"+" .eckeRechtsObenGrau")[0].className ="eckeRechtsOben";
	
		$$("#"+to+"Reiter"+" .eckeLinksOben")[0].className ="eckeLinksObenGrau";
		$$("#"+to+"Reiter"+" .reitername")[0].className ="reiternameGrau";
		$$("#"+to+"Reiter"+" .eckeRechtsOben")[0].className ="eckeRechtsObenGrau";
	}
}

function checkFormular(){
/**?berpr?ft das Eingabefeld im Footer auf eine g?ltige Emailadresse und sendet es dann an http://www.bonprixservice.de/ **/
	 if ( window.document.formular.em.value == ""  ){ alert(txtmail); return false;	}	
	 if ( window.document.formular.em.value ){ 
	
		// Test country oder TLD.
		//  1 f?r testen, 0 nicht testen
		// var emailStr = formular.em.value;
		var emailStr = document.getElementsByName("em")[0].value;
		
		var checkTLD=0;
		
		// TLDs Liste
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		
		// user@domain format
		var emailPat=/^(.+)@(.+)$/;
		
		// Liste zeichen ( ) < > @ , ; : \ " . [ ]
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		
		// in Anf?hrungszeichen? (dann sind special charakters erlaubt)
		var quotedUser="(\"[^\"]*\")";
		
		// domains mit IP addressen
		
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
	
		if (matchArray==null) {
		
		// test Anzahl der @
		
		alert(txtmail);
		return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
	
	// test g?ltige ASCII characters (0-127).
	
		for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
		alert(txtmail);
		return false;
		   }
		}
		for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
		alert(txtmail);
		return false;
		   }
		}
	
	
		if (user.match(userPat)==null) {
		
		// user nicht OK
		
		alert(txtmail);
		return false;
		}
		
		// IP addresse OK ?
	
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
		
		// es handelt sich um eine IP-Adresse
		
		for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
		alert(txtmail);
		return false;
		   }
		}
		return true;
		}
	
	// Domain ist ein "symbolic name",  g?ltig ?
	
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
		alert(txtmail);
		return false;
		   }
		}
	
	/*
	domain name valid, testen bekannte top-level domain
	hostname vorangestellt ?
	*/
	
		if (checkTLD && domArr[domArr.length-1].length!=2 &&
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert(txtmail);
		return false;
		}
	
	// hostname vorangestellt ?
	
		if (len<2) {
		alert(txtmail);
		return false;
		}
	}
	// hier angekommen ist alles OK
	document.formular.submit();
	return true;
	
}

function hasKey(key) {
  return groessen && groessen[key] && groessen[key][0]
    && groessen[key][0].val;
}

function simplePopup(url, w, h) {
	if (screen.height >= 768) {
		h = 700;
	}
	fenster = window.open(url,"","scrollbars=1,toolbar=0,location=0,directories=0,status=0,resizable=1,width=" + w + ",height=" + h);
	if (fenster.focus) fenster.focus();
}

function popup(url, w, h) {
	fenster = window.open(url,"","scrollbars=1,toolbar=0,location=0,directories=0,status=0,resizable=1,width=" + w + ",height=" + h);
	if (fenster.focus) fenster.focus();
}

function popupLandmark(url, url_target, w, h) {
	urlPopup = url + "&pRedirectUrl=" + url_target;  
	fenster = window.open(urlPopup,"","scrollbars=1,toolbar=0,location=0,directories=0,status=0,resizable=1,width=" + w + ",height=" + h);
	if (fenster.focus) fenster.focus();
}

function popupExtended(url, w, h, scrollbar, isResizable, topMargin, leftMargin) {
	fenster = window.open(url,"","scrollbars=" + scrollbar + ",toolbar=0,directories=0,status=0,resizable="+ isResizable+ ",width=" + w + ",height=" + h +",top=" + topMargin + ",left=" + leftMargin);
	if (fenster.focus) fenster.focus();
}

function mustBeNumeric(field,message){
	var zahl = /^[0-9]+$/;
	if(!zahl.test(field.value) && field.value != null && field.value != ""){
		alert(message);
		field.value="";
	}
}

function checkForm(aform) {
  if (document.freitextsuche.qu.value == SUCH_VORGABE || document.freitextsuche.qu.value == "") { 
        alert(BITTE_BEGRIFF_EINGEBEN);
        return false;
  } else {
	  var value = document.freitextsuche.qu.disabled;
	  setTimeout("document.freitextsuche.qu.disabled=true;", 1);
	  setTimeout("document.freitextsuche.qu.disabled=false;", 2000);
	  return !value;
  }
}

var tabBox = new Object();
tabBox.showTab = function(tab){
	$(tab).up("dt").siblings().each(function(e,i){e.removeClassName("active");})
	$(tab).up("dt").addClassName("active");
	$(tab).up("dt").next("dd").addClassName("active");
}


 function addEvent()
  {
  	var numi = document.getElementById('theValue');
	var bonnr = (1 * numi.value) + 1;
	numi.value = bonnr;
	var divIdName = "gnr"+bonnr;
	if (numi.value < 10) {
		var newdiv = document.createElement('div');
		newdiv.setAttribute("id",divIdName);
		newdiv.innerHTML = "<input style=\"margin-top: 5px;\" id=\"bonusnr"+bonnr+"\" name=\"bonusnr"+bonnr+"\"  type=\"text\" size=\"26\" maxlength=\"19\" value=\"\" /> <a style=\"text-decoration: underline\" href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\">L&ouml;schen<\/a>";
		document.getElementById('gnr1').appendChild(newdiv);
		}
	else{
		numi.value = 9;
	}	
  }
  
function removeEvent(divNum)
  {
  	var d = document.getElementById('gnr1');
	var olddiv = document.getElementById(divNum);
	var numi = document.getElementById('theValue');
	numi.value = numi.value - 1;
	d.removeChild(olddiv);
  }
  
var cleverImage = new Object();

	cleverImage.options = { fadeDuration: 0.15 }
	
	cleverImage.showAsMainImage = function(image) {
		if($("mainImage")){
			var src = $(image).src;
			var url = "";
			if(src.match(/\/klein\//)){
				url = src.replace(/\/klein\//,"/gross/");
			} 
			else if(src.match(/\/45x63\//)){
				url = src.replace(/\/45x63\//,"/235x328/");
			}
			else if(src.match(/\/variante_mittel\//)){
				url = src.replace(/\/variante_mittel\//,"/7er/gross/");
			}
			
			else {
				return false;
			}
		
			this.switchImage("mainImage", url);
		
			var erg1 = /(\/var)([0-9]{1})/.exec(url);
			varPathNumber = erg1[2];
		
			var erg2 = /([0-9]{2}\/[0-9]{1}\/[0-9]{4,})(\.jpg)/.exec(url);
			orderItemImageName = erg2? erg2[1]:"";
		}
	}
	
	cleverImage.showAsZoomImage = function(image){
		var src = $(image).src;
		var url = "";
		if(src.match(/\/variante_gross\//)){
			url = src.replace(/\/variante_gross\//,"/artikel_gross/");
		}
		else if(src.match(/\/klein\//)){
			url = src.replace(/\/klein\//,"/429x600/");
		}
		else {
			return false;
		}
		
		// build member selectedSrc to get it in open zoom view for example
		var splitResult = src.split('\/');
		this.selectedSrc = splitResult[splitResult.length-1];
		this.switchImage("zoomMain", url);
	}
	
	cleverImage.getSelectedImage = function(){
		return this.selectedSrc;
	}
	
	cleverImage.switchImage = function(id, url){
		var tmp = new Image();
		tmp.src = url;
		// Achtung: Img benoetigt im IE wahrscheinlich einen Container 
		new Effect.Opacity(id,
		    { duration: this.options.fadeDuration, from: 1.0, to: 0.0, afterFinish: callback });

		new Effect.Opacity(id,
		    { duration: this.options.fadeDuration, from: 0.0, to: 1.0, queue: 'end' });
		
		function callback(){
			$(id).src = url;
		};
	}
	
	cleverImage.selectColor = function(image) {
		var artnr = image.id.match(/[0-9]+[A-Z]*/);
		if($("sbox")) {	
			for(var a = 0; a < $("sbox").options.length; a++){
				if($("sbox").options[a].value.match(/[0-9]+[A-Z]*/)[0] == artnr){
					$("sbox").options[a].selected=true;
				}
			}
		} else {
			cleverImage.markImage(artnr);
		}
		detailAnsicht.pruefeGroessenBox();
	};

	cleverImage.markImage = function(artnr){
		$$("#colorsBox img").each(cleverImage.unmark);
		if($("orderItem_"+artnr)) {
			$("orderItem_"+artnr).className = "highLight";
			if(detailAnsicht.initial==false)
				cleverImage.showAsMainImage($("orderItem_"+artnr));
		detailAnsicht.initial=false;	
		}		
	}

	cleverImage.unmark = function(node, index){
		node.className = "";
	}

	/*
	 * cleverImage f. neue Artikelansicht erweitert/angepasst.
	 * Uebernommen und weiterverwendet: cleverImage.showAsMainImage(), .selectColor 
	 */

	cleverImage.selectImage = function (evt, image) {
		Event.stop(evt); 
		this.showAsMainImage(image); 
		this.markSelectedThumb(image)
	}

	cleverImage.markSelectedThumb = function(image) {

		$$('#legerliste a').invoke('removeClassName', "selected");
		image.up('a').toggleClassName('selected');
		if (image.classNames().include('orderItem') ) {
			this.selectColor(image);
		} 
	} 

  cleverImage.Stepper = function(){
		legerbilder = $$('#legerliste img');
		return {
			step : function(dir) {
				stepImage = dir == 'fwd' ? this.nextImg() : this.previousImg() 
				cleverImage.showAsMainImage(stepImage);
				cleverImage.markSelectedThumb(stepImage);
			},
  		forward : function(e){
				this.step('fwd');
				Event.stop(e)
  		},
  		back : function(e){
				this.step('back');
				Event.stop(e)
  		},
			previousImg : function(){
				previousLiNode = this.currentImg().up('li').previous('li')
				return previousLiNode ? previousLiNode.down('img') : $$('#legerliste img').last()
			},
			currentImg : function(){
				return ($$('#legerliste a.selected img').first() || $$('#legerliste a img').first())
			},
			nextImg : function(){
				nextLiNode = this.currentImg().up('li').next('li')
				return nextLiNode ? nextLiNode.down('img') : $$('#legerliste img').first()
			}
  	}	
	}()

var bundleOneSizeDialogObject = new Object();
	
bundleOneSizeDialogObject.doDetailCheck=function(size, typ) {
	if(sizeSelection) {
		var url = 'checkSizeForOrder.htm?size=' + size + '&id=' + wk;
		if(typ == 'aendern') {
			url = url + '&cart=' + document.fartikel.cart.value;
		}

		new Ajax.Request(url, {
		    method: 'get',
		    onSuccess: function(transport) {
				if(transport.responseText.indexOf("bonprix_ok") == -1) {
					if(!bundleOneSizeDialogObject.layer) {
						bundleOneSizeDialogObject.layer = bonprix.nextWorkingLayer();
						bundleOneSizeDialogObject.layer.addClassName('bundleOneSizeDialog');
					}
					bundleOneSizeDialogObject.layer.innerHTML = transport.responseText;
					var l = new lightbox(bundleOneSizeDialogObject.layer.id);
					l.activate();
					bonprix.centerInWindowVertical(bundleOneSizeDialogObject.layer.id);
					bonprix.centerInWindowHorizontal(bundleOneSizeDialogObject.layer.id);
				}
				else {
					document.fartikel.submit();
				}
		    },
			onFailure: function(transport) {
		    	document.fartikel.submit();
			}
		});
	}
	else {
		document.fartikel.submit();
	}
}

var detailAnsicht = new Object();
	detailAnsicht.boxWidthColor = 175;
	detailAnsicht.boxWidthSize = 175;
	detailAnsicht.boxWidthSpecialSize = 175;
	detailAnsicht.boxWidthDefault = 175;
	detailAnsicht.boxToBigColor = false;
	detailAnsicht.boxToBigSize = false;
	detailAnsicht.boxToBigSpecialSize = false;
	detailAnsicht.initial = false;
	
	detailAnsicht.pruefeGroessenBoxInitial=function(initial) {			
		detailAnsicht.initial=true;	
		detailAnsicht.pruefeGroessenBox();
	}
	
	detailAnsicht.selectedGroessenBox=function() {
		var pGr = eval("document.fartikel.pGr");
		if (pGr.selectedIndex != null){
			if(pGr.selectedIndex == -1 
					|| !detailAnsicht.checkGroessenAvailability(pGr.options[pGr.selectedIndex].text)) {
				for(var i = 0; i < pGr.options.length; i++) {
					if(detailAnsicht.checkGroessenAvailability(pGr.options[i].text)) {
						pGr.options[i].selected = true;
						break;
					}
				}
			}
		}
	}
	
	detailAnsicht.checkGroessenAvailability=function(text) {
		if(text.indexOf(AUSVERKAUFT) == -1 
	        	&& (TEMP_AUSVERKAUFT.length == 0 || text.indexOf(TEMP_AUSVERKAUFT) == -1)) {
	        return true;
	    }
	    else {
	    	return false;
	   	}
	}
	
	detailAnsicht.pruefeGroessenBox=function() {
	  if (groessen) {
		var f = eval( "document.fartikel");
		// alert (f.pGr.value);
		detailAnsicht.aendereGroessenBox(f.pAusw.selectedIndex);
		var artnr = f.pAusw.options[f.pAusw.selectedIndex].value.match(/[0-9]+[A-Z]*/);
		cleverImage.markImage(artnr);
	  }
	}

	detailAnsicht.boxBreiter=function(id, width, tooBig ) {
		if (tooBig){	 
			 $(id).style.width = width;
			 $(id).setStyle({zIndex: '10'});
		}
		if ($(id).offsetWidth == width && $(id).options.selectedIndex == -1)	 
		     $(id).options.selectedIndex = 0;
	}

	detailAnsicht.boxSchmaler = function(id) {
	   if($(id)) {
    		$(id).style.width = '' + detailAnsicht.boxWidthDefault + 'px';
    		$(id).setStyle({zIndex: '0'});
	   }
	}

	detailAnsicht.aendereGroessenBox=function(farbIdx) {
	  var f = document.fartikel;
	  var val = "";
	  if (f.pAusw[farbIdx]) {
	    val = f.pAusw[farbIdx].value;
	  } else {
	    if (f.pAusw.value) {
	      val = f.pAusw.value;
	    }
	  }
	  var anfang = val.indexOf( "{[B]" ) + 4;
	  var ende = val.indexOf( "}", anfang );
	  var artnr = val.substring( anfang, ende );
	  var selgesetzt = 0;
	  if (f.pGr.options) {
	  	if(groessen[artnr].length > f.pGr.length) {
	  		for(var i = 0; i <= groessen[artnr].length - f.pGr.length; i++) {
	  			neu = new Option('', '', false, false);
	  			f.pGr.options[f.pGr.length] = neu;
	  		}
	  	}
	  	else if (groessen[artnr].length < f.pGr.length) {
	  		for(var i = 0; i <= f.pGr.length - groessen[artnr].length; i++) { 
	  			f.pGr.options[f.pGr.length - 1] = null;
	  		}
	  	}
	    for (var i = 0; i < groessen[artnr].length; i++) {
         if (f.pGr.options[i] != null){
		      f.pGr.options[i].innerHTML = groessen[artnr][i].bez;    
		      f.pGr.options[i].value = groessen[artnr][i].val;
      	 }
	      if(selgesetzt == 0) {
	        if(groessen[artnr][i].bez.indexOf(AUSVERKAUFT) == -1 
	        	&& (TEMP_AUSVERKAUFT.length == 0 || groessen[artnr][i].bez.indexOf(TEMP_AUSVERKAUFT) == -1)) {
	             // cut string after currency
	             posCurrency   = f.pGr.options[f.pGr.selectedIndex].text.indexOf(WAEHRUNGS_EINHEIT) + WAEHRUNGS_EINHEIT.length;
	             selectBoxText = f.pGr.options[f.pGr.selectedIndex].text.substring(0,posCurrency);
	             posCurrency   = oldSize.indexOf(WAEHRUNGS_EINHEIT) + WAEHRUNGS_EINHEIT.length;
	             oldSizeText   = oldSize.substring(0,posCurrency);
	             //++++++++++++++++++++++++++
	             if (selectBoxText == oldSizeText){ 
	               f.pGr.options[f.pGr.selectedIndex].selected=true;
	             } else {
	               f.pGr.options[i].selected=true;
	             }
	          selgesetzt = 1;
	        }      
	      }     
	    }
	  } else if (isSpringtime && f.pGr.value && hasKey(artnr)) {
	    f.pGr.value = groessen[artnr][0].val;
	  }
	}

	detailAnsicht.pruefeGr = function(){
		 if (document.fartikel.pGr.selectedIndex!=-1)
			oldSize= document.fartikel.pGr.options[document.fartikel.pGr.selectedIndex].text;
	}


	detailAnsicht.jRefillSizeSel = function()
	  {
	    if ( groessen ) {
		  var f = eval( "document.fartikel");
	      detailAnsicht.detailAnsicht.fillSizeSel( f.pAusw.selectedIndex );
		  }
	  }

	detailAnsicht.fillSizeSel = function( farbIdx ) {
	  var f = document.fartikel;
	  var val = "";
	if ( f.pAusw[ farbIdx ] )  {
	    val = f.pAusw[ farbIdx ].value;}
	  else
	    if ( f.pAusw.value )
	      val = f.pAusw.value;
	    var anfang = val.indexOf( "{[B]" ) + 4;
	    var ende = val.indexOf( "}", anfang );
	    var artnr = val.substring( anfang, ende );
	    for ( var i = 0; i < groessen[artnr].length; i++ ) {
	      f.pGr.options[i].text = groessen[artnr][i];
	    }
	}

	detailAnsicht.bestellen=function(typ) {

	  var f = document.fartikel;
	  var anzahl = parseInt(f.pAnz.value);

	  var groesse = '';
	  if($('size')) {
		groesse = f.pGr.options[f.pGr.selectedIndex].value;
	  }
	  else {
		groesse = f.pGr.value;
	  }
	  
	  if (isNaN(anzahl) || (anzahl == 0)) {
	    f.pAnz.value = 1;
	  }

	  if (f.pGr && f.pGr.options) { // Array mit ausverkauften Groessen existiert
  
	    var s = f.pGr.options[f.pGr.selectedIndex].text;
	    if (s.indexOf(AUSVERKAUFT) >= 0
	    		|| (TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1)) {
	      alert(LEIDER_AUSVERKAUFT);
	      return;
	    }
	  }
	  else {
	    if (f.pAusw && f.pAusw.options) { // Array mit ausverkauften Farben existiert
	      var s = f.pAusw.options[f.pAusw.selectedIndex].text;
	      if (s.indexOf(AUSVERKAUFT) >= 0
	      		|| (TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1)) {
	        alert(LEIDER_AUSVERKAUFT);
	        return;
	      }
	    }
	     // nur ein Element einzel-einzel, groesse-einzel (nur 1 Gr??e)
	     if (f.pGr.parentNode)
	     {
	       if (f.pGr.parentNode.innerHTML)
	       {
	         var s = f.pGr.parentNode.innerHTML;
	         if (s.indexOf(AUSVERKAUFT) >= 0
	         	|| (TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1)) {
	          alert(LEIDER_AUSVERKAUFT);
	          return;
	         }
	       }
	     }
	  }
	  if (clickAllowed) {
	    clickAllowed = false;
	    if (typ=='bestellen') {
	      if (isSpringtime)
		    newWin('bestellen','orderPopup.htm?id='+f.id.value,'425','225','scrollbars=no');
		  else
		    newWin('bestellen',pk+'.bs_popup?pwkorbid='+wk,'425','225','scrollbars=no');
		}
	    bundleOneSizeDialogObject.doDetailCheck(groesse, typ);
	    setTimeout("clickAllowed=true;",5000);
	  }
	  detailAnsicht.boxSchmaler("sbox");
	}	

	detailAnsicht.showStockInfo=function(stockInfo) {
		if(!detailAnsicht.stockInfoLayer) {
			detailAnsicht.stockInfoLayer = bonprix.nextWorkingLayer();
			detailAnsicht.stockInfoLayer.innerHTML = $('stockInfoLayer').innerHTML;
		}
		if(detailAnsicht.stockInfoLayer) {
			detailAnsicht.stockInfoLayer.setStyle({width: '297px', height: '171px', position: 'absolute', zIndex: '10001'});
			bonprix.centerInWindow(detailAnsicht.stockInfoLayer);
			$('stockInfoLayerMessage').innerHTML = stockInfo;
			detailAnsicht.stockInfoLayer.show();
			window.setTimeout("Element.hide(detailAnsicht.stockInfoLayer)", 5000);
		}
		else {
			alert(stockInfo);
		}
	}

	detailAnsicht.bestellenSt=function(typ) {

	    var f = document.fartikel;
	    var anzahl = parseInt(f.pAnz.value);
	    
	    var groesse = '';
	    if($('size')) {
	    	groesse = f.pGr.options[f.pGr.selectedIndex].value;
		}
	    else {
	    	groesse = f.pGr.value;
	    }
	    	
	    if (isNaN(anzahl) || (anzahl == 0)) {
	        f.pAnz.value = 1;
	    }
    
	    if (f.pGr && f.pGr.options) { // Array mit ausverkauften Groessen existiert
	        var s = f.pGr.options[f.pGr.selectedIndex].text;
	        if(TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1) {
	        	detailAnsicht.showStockInfo(LEIDER_TEMP_AUSVERKAUFT);
	        	return;
	        }
	        else if (AUSVERKAUFT.length > 0 && s.indexOf(AUSVERKAUFT) >= 0) {
	            detailAnsicht.showStockInfo(LEIDER_AUSVERKAUFT);
	            return;
	        }
	    }
	    else {
	        if (f.pAusw && f.pAusw.options) { // Array mit ausverkauften Farben existiert
	            var s = f.pAusw.options[f.pAusw.selectedIndex].text;
	            if(TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1) {
		        	detailAnsicht.showStockInfo(LEIDER_TEMP_AUSVERKAUFT);
		        	return;
		        }
	            else if (AUSVERKAUFT.length > 0 && s.indexOf(AUSVERKAUFT) >= 0) {
		            detailAnsicht.showStockInfo(LEIDER_AUSVERKAUFT);
		            return;
		        }
	        }
	        // nur ein Element einzel-einzel, groesse-einzel (nur 1 Gr??e)
	        if (f.pGr.parentNode) {
	            if (f.pGr.parentNode.innerHTML) {
	                var s = f.pGr.parentNode.innerHTML;
	                if(TEMP_AUSVERKAUFT.length > 0 && s.indexOf(TEMP_AUSVERKAUFT) > -1) {
			        	detailAnsicht.showStockInfo(LEIDER_TEMP_AUSVERKAUFT);
			        	return;
			        }
	                else if (AUSVERKAUFT.length > 0 && s.indexOf(AUSVERKAUFT) >= 0) {
			            detailAnsicht.showStockInfo(LEIDER_AUSVERKAUFT);
			            return;
			        }
	            }
	        }
	    }
	    if (clickAllowed) {
	        clickAllowed = false;
	        if (typ=='bestellen') {
	        	bundleOneSizeDialogObject.doDetailCheck(groesse, typ);
	        }
	        setTimeout("clickAllowed=true;",5000);
	    }
	}
	
	nothingWasClicked = true
	function onlyFirstClick() {
	   if (nothingWasClicked) {
	       nothingWasClicked = false;
	       window.setTimeout("nothingWasClicked=true", 5000);
	       return true;
	     }
       return false;
    }


/**
 * carouselListId : html-id der karussell-liste, bsp: 'carousel-list'
 * carouselClipRegionId : html-id der karussell-clip-region, bsp: 'carousel-clip-region'
 * controller: fuer den ajax-request, bsp: 'wishlistLineItemCarousel.htm'
 * width : breite der enthaltenen eintraege
 * totalItems : gesamt-anzahl der elemente
 * itemPrfx : prefix fuer neu angelegte elemente, bsp: 'carousel-item'
 * paramStr : der parameter der vom controller erwartet wird, bsp 'wldid='
*/    
function carousel(carouselListId, carouselClipRegionId, controller, width, totalItems, itemPrfx, paramStr, anzFirstView){
  var wait		= false;
  var itemId 		= totalItems;
	var pos			= 0;
	var leftInserted= 0;
	this.setWaitFalse = function(){
		wait = false;
	}
   
	this.insertLeft = function(item) {
		var content = '&nbsp;'
		if(item.innerHTML && item.innerHTML.length > 1){
			content = item.innerHTML
		}
		var toInsert = '<li style="width: '+width+'px" name="'+item.readAttribute('name')+'"  id="'+itemPrfx+'-'+leftInserted+'">'+content+'</li>';
		$(carouselClipRegionId).style.left = ($(carouselClipRegionId).offsetLeft - (width)) +"px";
		new Insertion.Top(carouselListId, toInsert);
	}
	
	this.insertRight = function(item) {
		var toInsert = '<li style="width: '+width+'px" name="'+item.readAttribute('name')+'"  id="'+itemPrfx+itemId+'">'+item.innerHTML+'</li>';
    	new Insertion.Bottom(carouselListId, toInsert);
		itemId++;
	}

	this.updateItem = function(item) {
		var pars = paramStr + item.readAttribute('name') + "&id=" + wk;
    	var myAjax = new Ajax.Updater(item.readAttribute('id'), controller, 
										{parameters: pars, evalScripts: true});
    	itemId++;
	}
	
	this.copyItemContent = function(srcItem, dstItem) {
		new Insertion.Top(dstItem.id, srcItem.innerHTML);
	}
	
	
	this.pushBack = function(e)  {
		if(e){
			Event.stop(e)
		}
		if(!wait) {
    		wait = true;
			
			var nextItemPos = pos - 1;
			if (nextItemPos < 0) {

				var copyPos = totalItems - 1;
				var item = $(carouselListId).immediateDescendants()[copyPos];
				this.insertLeft(item)

				if (item.immediateDescendants().size() == 0){
					var newItem = $(carouselListId).immediateDescendants()[0];
					this.updateItem(newItem);
				}
				pos = 0;
			}else{
				pos--;
			}
			new Effect.MoveBy(carouselClipRegionId, 0, 1 * width, {afterFinish: this.setWaitFalse});
    	}
    }
    
	this.pushForward = function(e)   {
		if(e){
			Event.stop(e)
		}
		if(!wait) {
    		wait = true;
			var nextItemPos = pos + anzFirstView;
			var item = $(carouselListId).immediateDescendants()[nextItemPos];
			var copyItem = $(carouselListId).immediateDescendants()[leftInserted + (nextItemPos % totalItems)];
			if (typeof(item) == "undefined"){
				this.insertRight(copyItem);
			}else if (item.immediateDescendants().size() == 0){
				if (copyItem.immediateDescendants().size() != 0){
					this.copyItemContent(copyItem, item);
				} else {
					this.updateItem(item);
				}
			} 
        	new Effect.MoveBy(carouselClipRegionId, 0, -1 * width, {afterFinish: this.setWaitFalse});
			pos++;
    	}
    }
	
    this.initPageButtons = function() {
		if ($(carouselListId).up('table').down('.carouselPageButton.left')){ // Check f. Drecksintenetexplorer
			$(carouselListId).up('table').down('.carouselPageButton.left').observe('click', this.pushBack.bind(this))	
		}
		if ($(carouselListId).up('table').down('.carouselPageButton.right')){ // Check f. Drecksintenetexplorer
			$(carouselListId).up('table').down('.carouselPageButton.right').observe('click', this.pushForward.bind(this))	
		}
	}
}

function trim(s) {
    if ( s.length > 0 )
    {
      var leerindex = s.indexOf(" ");
      while (leerindex >= 0)
      {
        s = s.substring(0,leerindex) + s.substring(leerindex+1,s.length);
        leerindex = s.indexOf(" ");
       }
    }
    return s;
}

function TrendTeaser(container){
	this.heads = $$("#"+$('trendteaser').id+" tbody th a");
	this.bodies = $$("#"+$('trendteaser').id+" tbody td").pluck('innerHTML');
	
	this.switchTo = function(row){
		row=row-1;
		switchContent($(container).down("tbody",0).down("td",0),this.bodies[row]);
		Element.extend(this.heads).invoke('removeClassName','hpe_highlight');
		this.heads[row].addClassName('hpe_highlight');
	}
	
	function switchContent(from, to){
		new Effect.Opacity(from,
		    { duration: 0.3, from: 1.0, to: 0.0,afterFinish: callback });
		new Effect.Opacity(from,
		    { duration: 0.3, from: 0.0, to: 1.0, queue: 'end' });

		function callback(){
			$(from).innerHTML= to;
		};
	}
}

function FormValidator(name){
	var me = this;
	this.formName = name;
	var myForm = document.forms[me.formName]
	this.errorPostfix = "Error";
	this.requiredFields = new Array();
	this.specialFormatFields = new Array();
	this.repeatingFields = new Array();
	this.customFields = new Array();
	valueOf = function(field){
		return myForm.elements[field].value
	}
	
	this.setErrorPostfix = function(errorPostfix){
		me.errorPostfix = errorPostfix;
	}
	
	this.setRequiredFields = function(){
		l = me.requiredFields.length
		for( i = l; i < arguments.length; i++){
			me.requiredFields[i] = new Array(2)
			me.requiredFields[i][0] = arguments[i];
		}
	}
	
	this.validatePresenceOf = function(name,errorMsg){
		l = me.requiredFields.length
		me.requiredFields[l] = new Array(2);
		me.requiredFields[l][0] = name;
		me.requiredFields[l][1] = errorMsg;
	}
	
	this.validateEquality = function(id, idWdh, errorMsg){
		l = me.repeatingFields.length
		me.repeatingFields[l] = new Array(3);
		me.repeatingFields[l][0] = id;
		me.repeatingFields[l][1] = idWdh;
		me.repeatingFields[l][2] = errorMsg;
	}
	
	this.validateWithFunction = function(name, funct, errorMsg){
		l = me.customFields.length
		me.customFields[l] = new Array(3);
		me.customFields[l][0] = name;
		me.customFields[l][1] = funct;
		me.customFields[l][2] = errorMsg;
	}
	
	this.validateNumerical = function(name, errorMsg){
		me.validateFormatOf(name, /^[0-9]+$/, errorMsg)
	}
	
	this.validateLengthOf = function(id, min, max, errorMsg){
		if(max){
			regexstring = "^.{" + min + ","+ max + "}$";
		}
		else{
			regexstring = ".{" + min + ",}";
		}
		var regex = new RegExp(regexstring)
		me.validateFormatOf(id, regex, errorMsg)
	}
	
	this.validateFormatOf = function(id, regex, errorMsg){
		l = me.specialFormatFields.length;
		me.specialFormatFields[l] = new Array(3);
		me.specialFormatFields[l][0] = id;
		me.specialFormatFields[l][1] = regex;
		me.specialFormatFields[l][2] = errorMsg;
	}
	
	this.showErrorFor = function(id){
		myForm[id[0]].focus();
		alert(id[id.length-1]);
//		var errorId = id + me.errorPostfix;
//		if( $(errorId) != null ) $(errorId).style.display="block";
	}
	
	this.checkRequiredFields = function(){
		for(i = 0; i < me.requiredFields.length; i++){
			if(valueOf(me.requiredFields[i][0]).length == 0){
				me.showErrorFor(me.requiredFields[i])
				return false;
			}
		}
		return true;
	}
	
	this.checkFieldFormats = function(){

		for(i = 0; i < me.specialFormatFields.length;i++){
			if(!trim(valueOf(me.specialFormatFields[i][0])).match(trim(me.specialFormatFields[i][1]))){
				me.showErrorFor(me.specialFormatFields[i])
				return false;
			}
		}
		return true;
	}
	
	this.checkRepeatingFields = function(){
		for(i = 0; i < me.repeatingFields.length;i++){
			if(valueOf(me.repeatingFields[i][0]) != valueOf(me.repeatingFields[i][1])) {
				me.showErrorFor( me.repeatingFields[i] )
				return false;
			}
		}
		return true;
	}
	
	this.checkCustomFields = function(){
		for(i = 0; i < me.customFields.length;i++){
			funct = me.customFields[i][1];
			if(! funct(valueOf(me.customFields[i][0]))){
				me.showErrorFor(me.customFields[i]);
				return false;
			}
		}
		return true
	}
	
	this.checkAndSubmit = function(){
		//$$(".loginerror").invoke("hide");
		if(me.checkWithoutSubmit()){
			myForm.submit();
			return true;
		} else {
			return false;
		}
	}
	
	this.checkWithoutSubmit = function(){
		if(me.checkRequiredFields() && me.checkFieldFormats() && me.checkRepeatingFields() && me.checkCustomFields()){
			return true;
		} else {
			return false;
		}
	}
}    

  function jistemailadr(eingabe) {
    var vergleichstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_-.%";
    var ok = true;
    var j = 0;
    var wert = eingabe.toUpperCase();
    for ( var i = 0; i < wert.length; i++)
    {
      if ( ok == true )
      {
        ok = false;
        for ( j=0; j < vergleichstr.length;j++)
        {
          if (wert.substring(i,i+1) == vergleichstr.substring(j,j+1))
          {
            ok = true;
          }
        } // for
      } // if
    } // for
    if (ok)
    {
      if ( wert.indexOf("@") <= 0 ) {ok = false;}
    }
    if (ok)
    {
      var laenge = wert.length-2;
      if ( (wert.lastIndexOf(".") < wert.indexOf("@"))
         || (wert.lastIndexOf(".") >= laenge) ) {ok = false;}
    }
    if (ok)
    {
      if ( wert.length < 4 ) { ok = false; }
    }
    return ok;
  }

function setCookie(name, wert, domain, expires, path, secure){
   var cook = name+"="+unescape(wert);
   cook += (domain) ? "; domain="+ domain : ""
   cook += (expires) ? "; expires="+expires : ""
   cook += (path) ? "; path="+path : ""
   cook += (secure) ? "; secure="+secure : ""
   document.cookie = cook;   
}

function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"="
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length)
         ende = (ende>-1) ? ende : document.cookie.length
         var cook = document.cookie.substring(i+suche.length, ende)
         return unescape(cook)
      }
      i++
   }
   return null
}

FilterNavi = function(listenfilter){
	$$("#"+listenfilter+" > ul > li").each(function(el){
		el.observe("mouseover",function(e){
			$$("#"+listenfilter+" > ul > li > div").invoke("hide")
			if(window.filterNaviTimer) window.clearTimeout(window.filterNaviTimer)
			 el.down("div").show()
		})
		el.observe("mouseout",function(e){
			div = el.down("div")
			window.filterNaviTimer = Element.hide.delay(0.2,div);
		})
	})
}	

ShopFilterSort = new Object();
ShopFilterSort.resetFilterFormForSize = function(field){
					if (field == "ssz") {
						$('sco').value = ""
						$('spr').value = "150"
					}
}

SimpleSort = function(){
	return {
		initialize:function(){
		},
		switchBox: function(field, theValue, theTrack){
//					ShopFilterSort.resetFilterFormForSize(field)
        	$(field).value=theValue;
        	if(theValue == '') {
        		var pos = $("directLandmarkP").value.indexOf("," + theTrack);
        		var length = theTrack.length + 1;
        		if(pos == -1) {
        			pos = $("directLandmarkP").value.indexOf(theTrack + ",");
            		length = theTrack.length + 1;
        		}
        		if(pos > -1) {
        			$("directLandmarkP").value = $("directLandmarkP").value.substring(0, pos)
        				+ $("directLandmarkP").value.substring(pos + length, $("directLandmarkP").value.length);
        		}
        		else if($("directLandmarkP").value == "wert=" + theTrack) {
        			$("directLandmarkP").value = "wert=";
        		}
        		
        	}
        	else {
	        	if($("directLandmarkP").value != "wert=")
	        		$("directLandmarkP").value = $("directLandmarkP").value + ",";
	        	$("directLandmarkP").value = $("directLandmarkP").value + theTrack;
        	}
        	if($("srz").value != "" || $("spr").value != "" || $("ssz").value != "" || $("sco").value != "" || $("sss").value != "" || $("sma").value != "" || $("label_id").value != "") {
        		$("fb").value="0";
        	}
        	$("shopfilter").submit();
        }
	}
}
    