//match custom functions loaded in footer

String.prototype.startsWith = function(str){
	return(this.substring(0,str.length)==str);
}

String.prototype.endsWith = function(str){
	if (this.length < str.length) return false;
	return(this.substring(this.length-str.length)==str);
}

Array.prototype.contains = function (e) {
	for (var i = 0; i < this.length; i++) if (this[i] == e) return true;
	return false;
}

Array.prototype.indexOf = function(v,n){
  n = (n==null)?0:n; var m = this.length;
  for(var i = n; i < m; i++)
    if(this[i] == v)
       return i;
  return -1;
};

function toggleDisplay(s){
	if (s == null) return false;
	if ((typeof s).toLowerCase() == "string") s = document.getElementById(s);
	s.style.display=(s.style.display==''?'none':'');
	return true;
}

function toggleRows(t,start,stop){
	if ((typeof t).toLowerCase()=="string") t=document.getElementById(t);
	var n=t.getElementsByTagName("tr");
	if (stop<=0) stop+=n.length;
	for (var c=start;c<stop;c++) n[c].style.display=(n[c].style.display==''?'none':'');
}	

function filterNodesByClass(nodes,name){
	r = new Array();
	for (var i=1; i < nodes.length; i = i+1){
		var n = nodes[i];
		var nclass = n.className;
		if (nclass==null) nclass = n.getAttribute('class');
		if (nclass==(name)){
			r.push(n);
		}
	}
	return r;
}

function byclass(name,tag){
	if (!tag) tag = '*';
	var divs = document.getElementsByTagName(tag);
	return filterNodesByClass(divs,name);
}



function TopPos(obj){
	var oPos = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			oPos += obj.offsetTop
			obj = obj.offsetParent;
		}
	}else if (obj.y) oPos += obj.y;
	return oPos;
} 

function uncheckall(n){
	var spans = document.getElementById('filter'.concat(n)).getElementsByTagName("span");
	for (var i=1;i<spans.length;i++) spans[i].previousSibling.checked = false;
}
				
function filtervariants2(col){
	
	//show the containing divs (hidden on load)
	document.getElementById('variantsdiv').style.display = '';
	document.getElementById('variantsbaskettop').style.display = '';

	togglevariantrows(getfilter(0),getfilter(1),col);
	
}

function getfilter(n){
	
	var allname='filter'.concat(n).concat('_ALL').concat(n);
	
	//check all-box, if nothing is checked. Unceck all-box, if anything else is checked.
	var filterchecked = false;
	var spans = document.getElementById('filter'.concat(n)).getElementsByTagName("span");
	for (var i=1; i < spans.length; i = i+1) if (spans[i].previousSibling.checked) filterchecked = true;
	document.getElementById(allname).checked=!filterchecked;
	
	var strs = "";
	if (document.getElementById(allname).checked){
		//all0 is checked. set filter to "ALL0". uncheck anything else.
		strs = "ALL".concat(n).split(" ");
		var spans = document.getElementById('filter'.concat(n)).getElementsByTagName("span");
		for (var i=1; i < spans.length; i = i+1) spans[i].previousSibling.checked = false;
	}else{
		//collect strings from checked filters
		var spans = document.getElementById('filter'.concat(n)).getElementsByTagName("span");
		for (var i=1; i < spans.length; i = i+1){
			if (spans[i].previousSibling.checked){
				if (strs != "") strs = strs.concat("//");
				strs = strs.concat(spans[i].childNodes[0].data);
			}
		}	
		strs = strs.split("//");
	}
					
	//make everything checked bold
	var spans = document.getElementById('filter'.concat(n)).getElementsByTagName("span");
	for (var i=0; i < spans.length; i = i+1)
		if (spans[i].previousSibling.checked) spans[i].style.fontWeight='bold';
		else spans[i].style.fontWeight='';
	
	return strs;
}

function togglevariantrows(strs0,strs1,col){
	var rows = document.getElementById('variantslist').rows;
	for (var i=1; i < rows.length; i = i+1){
		var vs0 = rows[i].cells[col], vs1 = rows[i].cells[col+1];
		while (vs0.firstChild) vs0 = vs0.firstChild; vs0 = vs0.data;
		while (vs1.firstChild) vs1 = vs1.firstChild; vs1 = vs1.data;
		if ((strs0.contains(vs0) || strs0.contains("ALL0")) &&
			(strs1.contains(vs1) || strs1.contains("ALL1")) ){
			rows[i].style.display='';
		}else{
			rows[i].style.display='none';
		}
	}
}

	/**function filterLinkTexts(node,regexp){
		var links = node.getElementsByTagName('a');
		for (var i=0;i<links.length;i=i+1){
			var a = links[i];
			a.innerHTML = a.innerHTML.replace(regexp,'');
		}
	}**/
	
function toggleFilter(f){
	var fh = document.getElementById(f+'filterhead');
	fh.className=("not "+fh.className).replace("not not ","");
	return toggleDisplay(f+'filterlist');
}

function nextPicClick(curRowId){
	nextid = zoompicclicks[zoompicclicks.indexOf(curRowId)+1];
	document.getElementById(nextid).childNodes[0].childNodes[0].onclick();
}

function prevPicClick(curRowId){
	previd = zoompicclicks[zoompicclicks.indexOf(curRowId)-1];
	document.getElementById(previd).childNodes[0].childNodes[0].onclick();
}

function zoomClick(zoompic,zoomcap,artnum){
	oxid.popup.zoom();
	oxid.image('zoom_img',zoompic);
	var rowid = 'variantrow_' + artnum;
	var thispic = zoompicclicks.indexOf(rowid) + 1;
	document.getElementById('zoom_img_thispic').innerHTML=(thispic < 10?'&nbsp;':'') + thispic;
	document.getElementById('zoom_img_piccount').innerHTML=zoompicclicks.length;
	document.getElementById('zoom_img_picturexofy').style.display='inline';
	document.getElementById('zoom_img_prev').onclick= function(){ prevPicClick(rowid); };
	document.getElementById('zoom_img_prev').style.display=(thispic>1?'':'none');
	document.getElementById('zoom_img_next').onclick= function(){ nextPicClick(rowid); };
	document.getElementById('zoom_img_next').style.display=(thispic<zoompicclicks.length?'':'none');
	document.getElementById('zoom_img_caption').innerHTML=zoomcap;
	document.getElementById('zoom_img_caption').style.display='';
	return false;
}

function swapImg(img1,img2){ 
	img2src=img2.src;
	img2.src=img1.src;
	img1.src=img2src;
}

//jquery-funktionen von biero
/*
$(document).ready(function(){

	$('#arteNav > li, #arteNavEng > li, #topNavigation > li, #arteContent .list .products .row .item').hover(
		function() {
			$(this).addClass('hover');
		},
		function() {
			$(this).removeClass('hover');
		}
	);
	
});
*/

function setOption(target, value) {	
	document.select_dcl.elements[target].value = value;
	document.select_dcl.submit();
}

