var shoppingBag,alerted
if (!shoppingBag && !alerted) {
 try {
  shoppingBag = new XMLHttpRequest();
 } catch (e) {
  alert("Je hebt een browser nodig die het XMLHttpRequest object ondersteunt.")
 }
}
shoppingBagSnip = new XMLHttpRequest();

var newCus = 0;
var exAdres = 0;

function toggleInfo(ie){
	var pref;
	if(ie == 1){
		
		if(document.getElementById('datasheetie').className == "verborgen"){
			document.getElementById('moreinfoie').className = "verborgen";
			document.getElementById('datasheetie').className = "iemoreinfo";
		} else {
			document.getElementById('moreinfoie').className = "iemoreinfo";
			document.getElementById('datasheetie').className = "verborgen";
		}
	} else {
		if(document.getElementById('datasheetie').className == "verborgen"){
			document.getElementById('moreinfoie').className = "verborgen";
			document.getElementById('datasheetie').className = "moreinfo";
		} else {
			document.getElementById('moreinfoie').className = "moreinfo";
			document.getElementById('datasheetie').className = "verborgen";
		}
	}
	location.href='#moreinfo';
	
}

function moreInfo(){
	document.getElementById('moreinfoie').className = "moreinfo";
	document.getElementById('datasheetie').className = "verborgen";
	location.href='#moreinfo';
}

function loadImage(imagename, artid, titel){
	objImg = new Image(); 
	objImg.src = "http://www.gotglamour.nl/artikelen/"+artid+"/327/"+imagename;
	
	if (!objImg.complete) {
		document.getElementById('grote_foto').className = "verborgen";
		document.getElementById('loader').className = "loader";
	}  
 		
	var interval = setInterval(function(){
		if (objImg.complete) {
			showImage(imagename, artid, titel, objImg.height, objImg.width);
			clearInterval(interval);
		} 
	}, 50);
    
	
}

function showImage(imagename, artid, titel, hoogte, breedte){
	var x = ((327 - breedte) / 2) + 12;
	document.getElementById('grote_foto').innerHTML = "<img id='groot' src='/artikelen/"+artid+"/327/"+imagename+"' /><a href='/artikelen/"+artid+"/"+imagename+"' rel='lightbox' title='"+titel+"'><div class='zoomin' id='zoomin'></div></a>";
	document.getElementById('loader').className = "verborgen";
	document.getElementById('grote_foto').className = "groot";
	document.getElementById('zoomin').style.height = hoogte + "px";
	document.getElementById('zoomin').style.width = breedte + "px";
	document.getElementById('zoomin').style.left = x + "px";
	document.getElementById('zoomin').style.top = "48px";
	document.getElementById('zoomin').style.position = "absolute";
	
	
}

function Controle(formulier,type){
	
	if (type == 1) {
		myvar=/^[a-z0-9._-]{1,20}@[a-z0-9._-]{1,20}\.[a-z]{2,6}$/i
				
		if(myvar.test(formulier.email.value)){
			
			if(formulier.wachtwoord.value == ""){
				alert("Please fill in a password");	
			}
			else if(formulier.wachtwoord.value != formulier.wwachtwoord.value){
				alert("The passwords don't match.");	
			}	
			else if(formulier.letters.value == ""){
				alert("Please fill in your initials.");	
			}
			else if(formulier.achternaam.value == ""){
				alert("Please fill in your surname.");	
			}
			else if(formulier.straat.value == ""){
				alert("Please fill in your address");	
			}
			else if(formulier.postcode.value == ""){
				alert("Please fill in your postal code");	
			}
			else if(formulier.woonplaats.value == ""){
				alert("Please fill in your city");	
			}
			else if(formulier.telnr.value == ""){
				alert("Please fill in your telephone number");	
			}
			else {
				formulier.submit();	
			}
			
		} else {
		alert("Je hebt geen e-mailadres ingevuld.")
		}
	}
	else {
		myvar=/^[a-z0-9._-]{1,20}@[a-z0-9._-]{1,20}\.[a-z]{2,6}$/i
				
		if(myvar.test(formulier.email.value)){
			
			if(formulier.wachtwoord.value == ""){
				alert("Vul een wachtwoord in a.u.b.");	
			}
			else if(formulier.wachtwoord.value != formulier.wwachtwoord.value){
				alert("De wachtwoorden zijn niet identiek.");	
			}	
			else if(formulier.letters.value == ""){
				alert("Je hebt geen voorletters ingevuld.");	
			}
			else if(formulier.achternaam.value == ""){
				alert("Je hebt geen achternaam ingevuld.");	
			}
			else if(formulier.straat.value == ""){
				alert("Je hebt geen straat ingevuld.");	
			}
			else if(formulier.huisnr.value == ""){
				alert("Je hebt geen huisnummer ingevuld.");	
			}
			else if(formulier.postcode.value == ""){
				alert("Je hebt geen postcode ingevuld.");	
			}
			else if(formulier.woonplaats.value == ""){
				alert("Je hebt geen woonplaats ingevuld.");	
			}
			else if(formulier.telnr.value == ""){
				alert("Je hebt geen telefoonummer ingevuld.");	
			}
			else {
				formulier.submit();	
			}
			
		} else {
		alert("Je hebt geen e-mailadres ingevuld.")
		}
	}
		
				
			
}

function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			doSearch(field);
			return false;			
		} 
		else
		return true;
	}   

function setCountry(val){
	if(val == 1){
		document.getElementById('binnenland1').className = '';
		document.getElementById('buitenland1').className = 'verborgen';
		document.getElementById('binnenland2').className = '';
		document.getElementById('buitenland2').className = 'verborgen';
	} else {
		document.getElementById('binnenland1').className = 'verborgen';
		document.getElementById('buitenland1').className = '';
		document.getElementById('binnenland2').className = 'verborgen';
		document.getElementById('buitenland2').className = '';
	}
}

function doSearch(form){
	if(form.value){
		location.href = '/search/'+form.value;
	} else {
		location.href = '/search/'+form.search.value;	
	}
	
}

function ControleAdres(type){		
if(type == 1){
	if(document.getElementById('nwVoorletters').value == ""){
		alert("Please fill in your initials");	
	}
	else if(document.getElementById('nwAchternaam').value == ""){
		alert("Please fill in your surname");	
	}
	else if(document.getElementById('nwStraat').value == ""){
		alert("Please fill in your address");	
	}
	else if(document.getElementById('nwPostcode').value == ""){
		alert("Please fill in your postal code");	
	}
	else if(document.getElementById('nwWoonplaats').value == ""){
		alert("Please fill in your city");
	} else {
		NieuwAdres();	
	}
} else {
	if(document.getElementById('nwVoorletters').value == ""){
		alert("Je hebt geen voorletters ingevuld.");	
	}
	else if(document.getElementById('nwAchternaam').value == ""){
		alert("Je hebt geen achternaam ingevuld.");	
	}
	else if(document.getElementById('nwStraat').value == ""){
		alert("Je hebt geen straat ingevuld.");	
	}
	else if(document.getElementById('nwHuisnr').value == ""){
		alert("Je hebt geen huisnummer ingevuld.");	
	}
	else if(document.getElementById('nwPostcode').value == ""){
		alert("Je hebt geen postcode ingevuld.");	
	}
	else if(document.getElementById('nwWoonplaats').value == ""){
		alert("Je hebt geen woonplaats ingevuld.");	
	} else {
		NieuwAdres();	
	}
}
		
}


function NieuwAdres(){

	adresXML = new XMLHttpRequest;
	 
	 if(document.getElementById('geslacht1').checked == true){
		 geslachts = "M";
	 } else {
		geslachts = "V";	 
	 }
	
  adresXML.open("GET", "/includes/nieuwadres.php?letters="+document.getElementById('nwVoorletters').value+"&geslacht="+geslachts+"&tussenvoegsel="+document.getElementById('nwTussenvoegsel').value+"&achternaam="+document.getElementById('nwAchternaam').value+"&straat="+document.getElementById('nwStraat').value+"&huisnr="+document.getElementById('nwHuisnr').value+"&postcode="+document.getElementById('nwPostcode').value+"&woonplaats="+document.getElementById('nwWoonplaats').value+"&land="+document.getElementById('nwLand').value, true);
  adresXML.onreadystatechange=function(){
  	if(adresXML.readyState == 4){
		document.getElementById("output").innerHTML = adresXML.responseText;
		closeAdres();
	}
  }
  adresXML.send(null)

}



function verwerk() {
	
 if (shoppingBag.readyState==4){
	if (shoppingBag.responseText != "gelukt") {
		document.getElementById("error_handling").className = "error_handling";
		document.getElementById("error_msg").innerHTML = shoppingBag.responseText;
		var tw = new Tween(document.getElementById('error_handling').style,'height',Tween.regularEaseOut,0,257,0.5,'px');
		tw.start();
		tw.onMotionFinished = function(){
			delete tw;
		}
	} else {
		updateShoppingBag();
	}
	
 }
}

function helpDialog(dialogName,obj){
	if (obj) {
		document.getElementById("error_handling").style.top = obj.offsetTop - 37 + "px";
	}
	var helpReq = new XMLHttpRequest;
	helpReq.open("GET", "/includes/gethelp.php?dialogName="+dialogName, true);
	helpReq.onreadystatechange= function(){
		if (helpReq.readyState == 4) {
			document.getElementById("error_cart").className = "advice";
			document.getElementById("error_handling").className = "error_handling";
			document.getElementById("error_msg").innerHTML = helpReq.responseText;
			var tw = new Tween(document.getElementById('error_handling').style,'height',Tween.regularEaseOut,0,257,0.5,'px');
			tw.start();
			tw.onMotionFinished = function(){
				delete tw;
			}
		}
	}
	helpReq.send(null)		
}
function helpDialogL(dialogName,artnr,state){
	
	var helpReq = new XMLHttpRequest;
	helpReq.open("GET", "/includes/gethelp.php?dialogName="+dialogName+"&artnr="+artnr+"&state="+state, true);
	helpReq.onreadystatechange= function(){
		if (helpReq.readyState == 4) {
			document.getElementById("error_cart").className = "advice";
			document.getElementById("error_handling").className = "error_handling";
			document.getElementById("error_msg").innerHTML = helpReq.responseText;
			var tw = new Tween(document.getElementById('error_handling').style,'height',Tween.regularEaseOut,0,257,0.5,'px');
			tw.start();
			tw.onMotionFinished = function(){
				delete tw;
			}
		}
	}
	helpReq.send(null)		
}

function newCustomer(){
	if (newCus == 0) {
		var targetH = 363;
		document.getElementById('newcustomer').style.height = "0px";
		document.getElementById('newcustomer').className = "margin20";
		var tw = new Tween(document.getElementById('newcustomer').style, 'height', Tween.regularEaseOut, 0, targetH, 1, 'px');
		tw.start();
		newCus = 1;
	}
}

function closeAdres(){
	var targetH = document.getElementById('xadres').offsetHeight;
	var tw = new Tween(document.getElementById('xadres').style, 'height', Tween.regularEaseOut, targetH, 0, 1, 'px');
	tw.start();
	tw.onMotionFinished = function(){
		document.getElementById('xadres').className = "verborgen";
		document.getElementById('nwVoorletters').value = "";
		document.getElementById('nwAchternaam').value = "";
		document.getElementById('nwTussenvoegsel').value = "";
		document.getElementById('nwStraat').value = "";
		document.getElementById('nwHuisnr').value = "";
		document.getElementById('nwPostcode').value = "";
		document.getElementById('nwWoonplaats').value = "";
		exAdres = 0;
	}
}

function extraAdres(){
	if (exAdres == 0) {
		var targetH = 230;
		document.getElementById("xadres").style.height = "0px";
		document.getElementById('xadres').className = "margin20";
		var tw = new Tween(document.getElementById('xadres').style, 'height', Tween.regularEaseOut, 0, targetH, 1, 'px');
		tw.start();
		exAdres = 1;
	} else {
		closeAdres();
	}
}

function closePopup(){
	var tw = new Tween(document.getElementById('error_handling').style,'height',Tween.regularEaseOut,257,0,0.5,'px');
	tw.start();
	tw.onMotionFinished = function(){
		document.getElementById("error_handling").className = "verborgen";
		document.getElementById("error_handling").style.top = "50px";
		document.getElementById("error_cart").className = "error_cart";
		delete tw;
	}
	
}

function updateShoppingBag(tween){
	if(shoppingBagSnip){
		shoppingBag.open("GET", "/includes/winkelwagen_snip.php?src=js", true);
		shoppingBag.onreadystatechange= function(){
			if (shoppingBag.readyState == 4) {
				if (!tween) {
					var startH = document.getElementById('shoppingcart_inner').offsetHeight;
					var tw = new Tween(document.getElementById('shoppingcart_inner').style, 'height', Tween.regularEaseOut, startH, 0, 0.5, 'px');
					tw.start();
					tw.onMotionFinished = function(){
						document.getElementById('shoppingcart_inner2').innerHTML = shoppingBag.responseText;
						var defH = document.getElementById('shoppingcart_inner2').offsetHeight;
						var tw2 = new Tween(document.getElementById('shoppingcart_inner').style, 'height', Tween.regularEaseOut, 0, defH, 0.5, 'px');
						tw2.start();
						delete tw;
					}
				} else {
					document.getElementById('shoppingcart_inner2').innerHTML = shoppingBag.responseText;
				}
			}
		}
		shoppingBag.send(null)
	}
}

function changeState(item){
	var clName = item.className;
	if (clName.search(/\_s/) > -1) {
		item.className = clName.replace(/\_s/, "");
	}
	else {
		item.className = item.className + "_s";
	}
}

function loginWishlist(formulier){
	document.getElementById('error_msg').innerHTML = "<div class='center'><img src='/images/loader.gif' alt='Loading' /></div>";
	loginXML = new XMLHttpRequest;
	 
  loginXML.open("GET", "/includes/login_ajax.php?username="+formulier.gebruikersnaam.value+"&password="+formulier.wachtwoord.value, true);
  loginXML.onreadystatechange=function(){
  	if (loginXML.readyState == 4) {
		if (loginXML.responseText == "success") {
			updateQtyWL(formulier.artnr.value, "add", 1, formulier.state.value);
		} else {
			alert(loginXML.responseText);
			helpDialogL("wishlistloginfail",formulier.artnr.value,formulier.state.value);
		}
		
	
		
		//alert(loginXML.responseText);
	}
  }
  loginXML.send(null)

}

function updateQtyWL(product,wagentje,action,status){
	window.scrollTo(0,0);
	httpreq = new XMLHttpRequest();
		httpreq.open("GET", "/includes/wishlist.php?artikel="+product+"&wishlist="+wagentje+"&action="+ action+"&status="+ status, true);
		httpreq.onreadystatechange= function(){
			if (httpreq.readyState == 4) {
				if (action == 0) {
					var tw = new Tween(document.getElementById('tr_' + product).style, 'height', Tween.regularEaseOut, 56, 0, 0.5, 'px');
					tw.start();
					tw.onMotionFinished = function(){
						if (httpreq.responseText == "deleted" || httpreq.responseText == "deleted_0") {
							document.getElementById('tr_' + product).className = 'hidden';
							if (httpreq.responseText == "deleted_0") {
								history.go(0);
							}
						}
						else {
							helpDialog("wishlisterror");
						}
					}
				} else {
					if (httpreq.responseText == "gelukt") {
						helpDialog("wishlistsuccess");
					} else if (httpreq.responseText == "al op lijst") {
						helpDialog("wishlistalready");
					} else if (httpreq.responseText == "login") {
						helpDialogL("wishlistlogin",product,status);
					} else {
						helpDialog("wishlisterror");
					}
				}
			}
		}
		httpreq.send(null)
}

function updateQty(product,wagentje,aantal,state){
	httpreq = new XMLHttpRequest();
	httpshw = new XMLHttpRequest();
	if(isNaN(aantal) || aantal == ""){
		return false;
	}
	if (state) {
		httpreq.open("GET", "/includes/updateQty.php?product="+product+"&wagentje="+wagentje+"&aantal="+ aantal + "&state=1", true);
		httpshw.open("GET", "/includes/updateQty.php?action=totals&wagentje=" + wagentje + "&state=1", true);
	} else {
		httpreq.open("GET", "/includes/updateQty.php?product="+product+"&wagentje="+wagentje+"&aantal="+aantal, true);
		httpshw.open("GET", "/includes/updateQty.php?action=totals&wagentje=" + wagentje, true);
	}
		httpreq.onreadystatechange= function(){
			if (httpreq.readyState == 4) {
				
				var tw = new Tween(document.getElementById('tr_'+product).style, 'height', Tween.regularEaseOut, 56, 0, 0.5, 'px');
				tw.start();
				tw.onMotionFinished = function(){
								
					if(httpreq.responseText == "deleted"){
						document.getElementById('tr_'+product).className = 'hidden';
						httpshw.onreadystatechange= function(){
								if(httpshw.readyState == 4){
									document.getElementById('inner_totals').innerHTML = httpshw.responseText;
									updateShoppingBag(true);									
								}
							}
							httpshw.send(null)
					} else {
							document.getElementById('tr_' + product).innerHTML = httpreq.responseText;
							var tw2 = new Tween(document.getElementById('tr_' + product).style, 'height', Tween.regularEaseOut, 0, 56, 0.5, 'px');
							tw2.start();
							tw2.onMotionFinished = function(){
								httpshw.onreadystatechange = function(){
									if (httpshw.readyState == 4) {
										document.getElementById('inner_totals').innerHTML = httpshw.responseText;
										updateShoppingBag(true);
									}
								}
								httpshw.send(null)
								delete tw2;
							}
						
						delete tw;
						
					}
					
				}
			}
		}
		httpreq.send(null)
		
}


function toggleCatagories(id){
	var object = document.getElementById("subcat_" + id).className;
	var objH = document.getElementById("subcat_" + id + "_inner").offsetHeight;
	if (object == "tiny"){
		document.getElementById("subcat_" + id).style.height = "0px";
		document.getElementById("subcat_" + id).className = "tiny_open";
		var tw = new Tween(document.getElementById("subcat_" + id).style, 'height', Tween.regularEaseOut, 0, objH, 1, 'px');
		tw.start();
	} else {
		var tw = new Tween(document.getElementById("subcat_" + id).style, 'height', Tween.regularEaseOut, objH, 0, 1, 'px');
		tw.start();
		tw.onMotionFinished = function(){
			document.getElementById("subcat_" + id).className = "tiny";
		}
	}
	/*if(object == "hidden"){
		document.getElementById("subcat_" + id).className = "";
	} else {
		document.getElementById("subcat_" + id).className = "hidden";
	}*/
}

function getX(obj) {
	var x = obj.offsetLeft
	while (obj = obj.offsetParent) x += obj.offsetLeft
	return x
}

function getY(obj) {
	var y = obj.offsetTop
	while (obj = obj.offsetParent) y += obj.offsetTop
	return y
}

function removeItem(product, wagentje){
	if (shoppingBag) { 
	 shoppingBag.open("GET", "/includes/result.php?product="+product+"&wagentje="+wagentje+"&action=delete", true);
	 shoppingBag.onreadystatechange=verwerk
	 shoppingBag.send(null)
	}
}

function doTween(product, aantal, wagentje){
	
	document.getElementById('tweenborder').className = "";
	var left = getX(document.getElementById('detail_block'));
	var destLeft = getX(document.getElementById('shoppingcart'));
	var top = getY(document.getElementById('detail_block'));
	var destTop = getY(document.getElementById('shoppingcart'));
	var width = document.getElementById('detail_block').offsetWidth;
	var destWidth = document.getElementById('shoppingcart').offsetWidth;
	var height = document.getElementById('detail_block').offsetHeight;
	var destHeight = document.getElementById('shoppingcart').offsetHeight;	
	
	document.getElementById('tweenborder').style.left = left + "px";
	document.getElementById('tweenborder').style.top = top + "px";
	document.getElementById('tweenborder').style.width = width + "px";
	document.getElementById('tweenborder').style.height = height + "px";
	var tw = new Tween(document.getElementById('tweenborder').style,'left',Tween.regularEaseOut,left,destLeft,1,'px');
	var tw2 = new Tween(document.getElementById('tweenborder').style,'top',Tween.regularEaseOut,top,destTop,1,'px');
	var tw3 = new Tween(document.getElementById('tweenborder').style,'width',Tween.regularEaseOut,width,destWidth,1,'px');
	var tw4 = new Tween(document.getElementById('tweenborder').style,'height',Tween.regularEaseOut,height,destHeight,1,'px');
	tw.start();
	tw2.start();
	tw3.start();
	tw4.start();
	tw4.onMotionFinished = function(){
								document.getElementById('tweenborder').className = "verborgen";
								delete tw;
								delete tw2;
								delete tw3;
								delete tw4;
								if (shoppingBag) { 
								 shoppingBag.open("GET", "/includes/result.php?product="+product+"&aantal="+aantal+"&wagentje="+wagentje, true);
								 shoppingBag.onreadystatechange=verwerk
								 shoppingBag.send(null)
								}
							};
}
