var showHider = false;

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

try {
	if (CmsEditorActive!==true) {}
}
catch (err) {
	var CmsEditorActive=false
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

function toggleDiv(divname, visibility) {
	MM_changeProp(divname,'','style.visibility',visibility,'DIV');
}

function toggleDiv2(divname, visibility) {
	MM_changeProp(divname,'','style.display',visibility,'DIV');
}


var loading = new Image;
loading.src = "/images/loading.gif"

function showImg(i) {
	if (document.getElementById("img_plaatje_groot").src!=pic[i]) {
		document.getElementById("img_plaatje_groot").src=loading.src;
	}
	document.getElementById("img_plaatje_groot").src=pic[i];
	toggleDiv("plaatje_groot", "visible");
}

var pic = new Array()

function showImgAlt(i) {
	if (document.getElementById("img_plaatje_groot").src!=pic[i]) {
		document.getElementById("img_plaatje_groot").src=loading.src;
	}
	document.getElementById("img_plaatje_groot").src=pic[i];
	document.getElementById("img_plaatje_groot").alt=alt[i];
	document.getElementById("fototoel").innerHTML=alt[i];
	toggleDiv("plaatje_groot_500", "visible");
}

var alt = new Array()

function openWindow(url){
	window.open(url,"WPopup",'location=yes,scrollbars=yes,resizable=yes,status=yes,menubar=yes,toolbar=yes');
}


function imagePreload () {
    img1 = new Image();
    img1.src = "/sites/12/images/button-t2.png";
    img2 = new Image();
    img2.src = "/sites/12/images/button-b2.png";
    img3 = new Image();
    img3.src = "/sites/12/images/button-submenu.png";
    img4 = new Image();
    img4.src = "/sites/12/images/blank.gif";
}

/* menu */
function mouseovermenu (divname, nr){
	divname.style.backgroundImage='url(/sites/12/images/button-'+nr+'.png)';
	divname.getElementsByTagName("a")[0].style.color='#feffde';
}

function mouseoutmenu (divname){
	divname.style.backgroundImage='none';
	divname.getElementsByTagName("a")[0].style.color='#326432';
}

/* submenu */
function mouseoversubmenu (divname){
	document.getElementById(divname).style.background='url(/sites/12/images/button-submenu.png)';
	document.getElementById(divname+'-a').style.color='#ffffff';
}

function mouseoutsubmenu (divname){
	document.getElementById(divname).style.background='url(/sites/12/images/blank.gif)';
	document.getElementById(divname+'-a').style.color='#000000';
}

/* submenufr */
function mouseoversubmenuDIVfr (divname){
	toggleDiv("submenu2-fr", "visible");
}

function mouseoutsubmenuDIVfr (divname){
	toggleDiv("submenu2-fr", "hidden");
}
function mouseoversubmenufr (divname){
	divname.style.backgroundImage='url(/sites/12/images/button-submenu.png)';
	divname.getElementsByTagName("a")[0].style.color='#ffffff';
}
function mouseoutsubmenufr (divname){
	divname.style.backgroundImage='url(/sites/12/images/blank.gif)';
	divname.getElementsByTagName("a")[0].style.color='#000000';
}

function scrollBar(){
if (CmsEditorActive!==true) {
	var hoogtescherm = document.body.offsetHeight;
	var hoogtecontent = document.getElementById('content').clientHeight;
	var hoofdmenu = document.getElementById('menu').clientHeight;
	var url = window.location.href.split(".");
	url = url[url.length-2];

	if (document.all){
		//document.body.overflow = "hidden";
		document.getElementById('content').style.height = hoogtescherm-hoofdmenu - 17 + "px";
		if(url=='sc'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 100 + "px";
		}
		else if(url=='sr'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 110 + "px";
		}
		else if(url=='search'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 140 + "px";
		}
		else{
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 30 + "px";
		}

	}
	else{
		document.getElementById('content').style.height = hoogtescherm-hoofdmenu - 17 + "px";
		if(url=='sc'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 100 + "px";
		}
		else if(url=='sr'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 113 + "px";
		}
		else if(url=='search'){
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 140 + "px";
		}
		else{
			document.getElementById('scrollvak').style.height = hoogtescherm-hoofdmenu - 30 + "px";
		}
	}
	if(BrowserDetect.browser=="Firefox" && BrowserDetect.version=="2"){
		document.getElementById('submenu').nextSibling.style.display='block';
	}
}
}

function menu(){
	showHider = true;
	var div = document.getElementById('menu');

	for(i=0; i<div.getElementsByTagName('a').length; i++){
		var hoogte = div.getElementsByTagName('a')[i].offsetHeight;
		div.getElementsByTagName('a')[i].style.marginTop=(36-hoogte)/2 + "px";
	}
}

function submenuie6(deze, actie){
	var bName = navigator.appName;
	var version=0

	if (bName == "Microsoft Internet Explorer" ){
		var temp=navigator.appVersion.split("MSIE")
		version=parseFloat(temp[1])
		if (version==6){
			if(deze.getElementsByTagName("ul")[0]){
				deze.getElementsByTagName("ul")[0].style.display = actie;
			}
		}
	}
}

function wijnnummer(){
	var tabel = document.getElementById('besteltabel');
	var tr = tabel.getElementsByTagName('tr');

	for(var h=1; h<tr.length; h++){
		if(h<2){
		}
		else if(h>1 && h<tr.length){
			tr[h].getElementsByTagName('td')[0].innerHTML = h-1 + ".";
		}
	}
}

var timer;

function pakketwijnmouseout(){
	timer = setTimeout("pakketwijnpopup('leeg')",1000);
}

function pakketcleartime(){
	clearTimeout(timer);
}

function getElementsByClassName(element, classnaam){
	var el = document.getElementsByTagName(element);

	for(var x=0; x<el.length; x++){
		if(el[x].className==classnaam){
			return el[x];
		}
	}
}

function pakketwijnpopup(deze){
	if (CmsEditorActive!==true) {
		var div = document.getElementById('wijninfopopup');
		if(deze!=='leeg'){
			var no1 = Right(Left(deze.id,7),1);
			var no2 = Right(deze.id,1);
			var tds = document.getElementById('pakket'+no1+'foto'+no2).parentNode.parentNode.childNodes;
		}
		else{
			var no1 = "leeg";
		}

		if (no1!="leeg"){ // muis staat op een van de wijnsoorten
			// hier worden alle elementen ingevuld en de div op display block gezet
			clearTimeout(timer);
			div.style.display = "block";

			if(document.getElementById('pakket'+no1+'head'+no2).innerHTML!=""){
				div.getElementsByTagName('h4')[0].innerHTML = document.getElementById('pakket'+no1+'head'+no2).innerHTML;
			}
			if(document.getElementById('pakket'+no1+'plaats'+no2).innerHTML!=""){
				div.getElementsByTagName('p')[0].innerHTML = document.getElementById('pakket'+no1+'plaats'+no2).innerHTML;
			}
			if(document.getElementById('pakket'+no1+'tekst'+no2).innerHTML!=""){
				div.getElementsByTagName('p')[4].innerHTML = document.getElementById('pakket'+no1+'tekst'+no2).innerHTML;
			}
			if(document.getElementById('pakket'+no1+'artikel'+no2+'nummer').innerHTML!=""){
				div.getElementsByTagName('p')[1].innerHTML = document.getElementById('pakket'+no1+'artikel'+no2+'nummer').innerHTML;
			}
			if(document.getElementById('paket'+no1+'oudeprijs'+no2).innerHTML!=""){
				div.getElementsByTagName('p')[2].innerHTML = document.getElementById('paket'+no1+'oudeprijs'+no2).innerHTML;
			}
			if(document.getElementById('pakket'+no1+'nieuwprijs'+no2).innerHTML!=""){
				div.getElementsByTagName('p')[3].innerHTML = document.getElementById('pakket'+no1+'nieuwprijs'+no2).innerHTML;
			}
			if(document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML!=""){
				div.getElementsByTagName('img')[0].src = "/sites/12/images/" + document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML + ".gif"
			}

			if(document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML=="R"){
				div.getElementsByTagName('img')[0].alt="Rood";
			}
			else if(document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML=="O"){
				div.getElementsByTagName('img')[0].alt="Rose";
			}
			else if(document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML=="W"){
				div.getElementsByTagName('img')[0].alt="Wit";
			}
			else if(document.getElementById('pakket'+no1+'artikel'+no2+'soort').innerHTML=="M"){
				div.getElementsByTagName('img')[0].alt="Mousserend";
			}
			else{
				div.getElementsByTagName('img')[0].alt="Gedistilleerd";
			}

			for(var p=0; p<tds.length; p++){
				if(navigator.appName=='Netscape'){
					if(p%2!=0){ // p%2 checkt of het een even of oneven nummer is. FF verzint childNodes, enkel de oneven childNodes bestaan echt
						tds[p].style.border = 0 + "px";
						tds[p].style.borderTop = "1px #feffde solid"; //linkse foto's blijven nu verticaal staan

						// buiten current td worden alle td's voorzien van een border-bottom
						if (tds[p].firstChild.id!='pakket'+no1+'foto'+no2){
							tds[p].style.borderBottom = "1px #326432 solid";
						}
					}
				}
				else{
					tds[p].style.border = 0 + "px";
					tds[p].style.borderTop = "1px #feffde solid"; // linkse foto's blijven nu verticaal staan

					// buiten current td worden alle td's voorzien van een border-bottom
					if (tds[p].firstChild.id!='pakket'+no1+'foto'+no2){
						tds[p].style.borderBottom = "1px #326432 solid";
					}
				}
			}

			// hier wordt de huidige foto omlijnt
			document.getElementById('pakket'+no1+'foto'+no2).parentNode.style.borderTop = "1px #326432 solid";
			document.getElementById('pakket'+no1+'foto'+no2).parentNode.style.borderLeft = "1px #326432 solid";
			document.getElementById('pakket'+no1+'foto'+no2).parentNode.style.paddingLeft = "1px";
			document.getElementById('pakket'+no1+'foto'+no2).parentNode.style.borderBottom = "0px #feffde solid";
			document.getElementById('pakket'+no1+'foto'+no2).parentNode.style.borderRight = "1px #326432 solid";

			// deze zorgt ervoor dat de border's bij een van de twee verdwijnt en verschuift de absolute div
			if(no1==1 || no1==3){
				div.style.marginLeft = 0 + "px";

				for(var x=1; x<5; x++){
					if (document.getElementById('pakket'+x+'foto1')) {
						if(x==no1){
							continue;
						}
						for(var y=0; y<document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes.length; y++){
							if(navigator.appName=='Netscape'){
								if(y%2!=0){
									document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.border = 0+"px";
									document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.borderTop = "1px #feffde solid";
								}
							}
							else{
								document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.border = 0+"px";
								document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.borderTop = "1px #feffde solid";
							}
						}
					}
				}
			}
			else if(no1==2 || no1==4){ // rechtse kolom
				for(var x=1; x<5; x++){
					if (document.getElementById('pakket'+x+'foto1')) {
						if(x==no1){
							continue;
						}
						for(var y=0; y<document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes.length; y++){
							if(navigator.appName=='Netscape'){
								if(y%2!=0){
									document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.border = 0+"px";
									document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.borderTop = "1px #feffde solid";
								}
							}
							else{
								document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.border = 0+"px";
								document.getElementById('pakket'+x+'foto1').parentNode.parentNode.childNodes[y].style.borderTop = "1px #feffde solid";
							}
						}
					}
				}
				if(no1==4){
					div.style.marginLeft = 299 + "px";
				}
				else{
					div.style.marginLeft = 301 + "px";
				}

			}
			if(no1==3 || no1==4){
				document.getElementById('scrollvak').scrollTop=document.getElementById('scrollvak').scrollHeight;
				var pakketframe = getElementsByClassName('table','proefpakketframe2');
				var pakketframe2 = getElementsByClassName('table','proefpakketframe');
				div.style.marginTop = pakketframe.clientHeight+173 + "px";
			}
			else{
				document.getElementById('scrollvak').scrollTop='0';
				div.style.marginTop = 0 + "px";
			}
			if(no1==1){
				div.style.width = 289+"px";
			}
			else{
				div.style.width = 287 + "px";
			}
		}
		else{ // muis staat niet op een van de wijnsoorten en alles wordt gereset
			div.style.display = "none";

			for(var nrs=1; nrs<5; nrs++){
				if (document.getElementById('pakket'+nrs+'foto1')) {
					for(var x=0; x<document.getElementById('pakket'+nrs+'foto1').parentNode.parentNode.childNodes.length; x++){
						if(navigator.appName=='Netscape'){
							if(x%2!=0){
								document.getElementById('pakket'+nrs+'foto1').parentNode.parentNode.childNodes[x].style.border = 0+"px";
								document.getElementById('pakket'+nrs+'foto1').parentNode.parentNode.childNodes[x].style.borderTop = "1px #feffde solid";
							}
						}
						else{
							document.getElementById('pakket'+nrs+'foto1').parentNode.parentNode.childNodes[x].style.border = 0+"px";
							document.getElementById('pakket'+nrs+'foto1').parentNode.parentNode.childNodes[x].style.borderTop = "1px #feffde solid";
						}
					}
				}
			}
		}
	}
}

function cmsMenu(){
	if (CmsEditorActive==true){
		var hoofdmenudiv = document.getElementById('menu');
		var submenudiv = document.getElementById('storms_shop_menu');
		var img = document.createElement('img');
		var img2 = document.createElement('img');

		hoofdmenudiv.getElementsByTagName('ul')[0].style.display='none';
		img.src='/sites/12/images/cmsmenu.jpg';
		hoofdmenudiv.appendChild(img);
		submenudiv.getElementsByTagName('ul')[0].style.display='none';
		img2.src='/sites/12/images/cmsmenu2.jpg';
		submenudiv.appendChild(img2);
	}
}

function checkProd(url){
	var aantal = document.getElementById('aantalart').innerHTML;
	if(aantal=="0"){
		alert('Uw winkelwagen is nog leeg');
		return;
	}
	else{
		window.location = url;
	}
}

function checkProd2(deze){
	var aantal = document.getElementById('aantalart').innerHTML;
	if(aantal=="0"){
		alert('Uw winkelwagen is nog leeg');
		return;
	}
	else{
		openBestellijst ();
	}
}

var opendiv=null;
var t=null;
var mouse_el=null;

function whichelement(elem) {
	if(document.all){
		var x = event.clientX;
		var y = event.clientY;
		mouse_el = window.event.srcElement;
	}

	/*var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;*/

}

function mopen(nr){
	//if(opendiv){
	//	if(opendiv.id!=document.getElementById('menusub_'+nr).parentNode.parentNode.parentNode.id && opendiv.id!="storms_shop_menu"){
	//		opendiv.style.display="none";
	//	}
	//}

	var menusub = document.getElementById('menusub_'+nr);

	var menuContainer = menusub.previousSibling.parentNode.parentNode;

	for (var i = 0; i < menuContainer.getElementsByTagName ("li").length; i ++) {
		if (menuContainer.getElementsByTagName ("li")[i].getElementsByTagName('div').length > 0) {
			menuContainer.getElementsByTagName ("li")[i].getElementsByTagName('div')[0].style.display = "none";
		}
	}
	menusub.setAttribute("tabindex","0"); // voor firefox, anders werkt de onblur/onfocus niet
	menusub.style.display="block";
	menusub.focus ();
	opendiv=menusub;
	document.onclick = function () {mclosetime(nr);}; // werkt als een soort onblur
}

function mclosetime(nr){
	t = setTimeout("verdwijn("+nr+")", 1);
}


function mcancelclosetime(){
	clearTimeout (t);
}

function mcloseallsubs(deze){
	var li = deze.parentNode.parentNode.getElementsByTagName('li');
	for(var i=0; i<li.length; i++){
		if(li[i].getElementsByTagName('div').length!=0){
			li[i].getElementsByTagName('div')[0].style.display="none";
		}
	}
}

function verdwijn(nr){
	try{
		if(mouse_el.parentNode.parentNode.parentNode.id=="menusub_"+nr){
			// do nothing
		}
		else{
			var menusub = document.getElementById('menusub_'+nr);
			menusub.style.display="none";
			opendiv = menusub.parentNode.parentNode.parentNode;
			if(opendiv.id!="storms_shop_menu"){
				opendiv.style.display="none";
			}
		}
	}
	catch(err){
		var menusub = document.getElementById('menusub_'+nr);
		menusub.style.display="none";
		opendiv = menusub.parentNode.parentNode.parentNode;
		if(opendiv.id!="storms_shop_menu"){
			opendiv.style.display="none";
		}
	}
}

function RegisterEvent(obj, evt, fnc) {
    if (obj.addEventListener) {
        obj.addEventListener(evt, fnc, false);
    } else {
        obj.attachEvent("on" + evt, fnc);
    }
}


var div = null;
function defineClicks(){
	var host = "http://"+window.location.host;
	div = document.createElement('div');
	div.className = "waitpopup";
	div.innerHTML = "<object type=\"application/x-shockwave-flash\" data=\"/sites/12/images/waiting.swf\" width=\"220px\" height=\"19px\"><param name=\"movie\" value=\"/sites/12/images/waiting.swf\" /></object><p class=\"waitp\">De pagina wordt geladen...</p>";
	
	var a = document.getElementsByTagName('a');
	for (var i = 0; i < a.length; i ++) {
		if (a[i].href.toLowerCase ().indexOf ("wijninfo") != -1 || a[i].href.toLowerCase ().indexOf ("actie_selectie") != -1 || a[i].href.toLowerCase ().indexOf ("johanninger") != -1) {
			a[i].onclick = function() {return popUpAndWait ();};
		}
	}
	
	
}


function popUpAndWait(){
	if (showHider) {
		document.getElementById('verberger').style.display="block";
		document.body.appendChild(div);
		div.style.top = (document.body.offsetHeight-div.clientHeight)/2+"px";
		div.style.left = (document.body.offsetWidth-div.clientWidth)/2+"px";
	}
	
	return true;
}

