// JavaScript Document
var busy = false

function aspHtmlDecode(s) {
	// Functie op een string gecodeerd in asp met server.htmlencode te decoderen.
	// Versie 1.0 (07-03-2007)
	s = s.replace(/&lt;/g,"<");
	s = s.replace(/&gt;/g,">");
	s = s.replace(/&quot;/g,"\"");
	s = s.replace(/&amp;/g,"&");
	return s;
}

function GetHttpRequest() { // Functie die http_request vult met een XmlHttp object, geeft false terug als er een fout optreedt.
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	return http_request
}

function showArticles(type,id) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.
	
	//hide intro en sfeer
	if(document.getElementById('block_intro')) document.getElementById('block_intro').style.display = 'none'

	if(type=='BIG'){
		document.getElementById('block_article').style.display = 'block'
		if(document.getElementById('block_sfeer')) document.getElementById('block_sfeer').style.display = 'none'
	}else{
		document.getElementById('block_articles').style.display = 'block'
	}
	
	var url = ""
	url = "xml/article.xml.asp?type="+ type +"&id=" + id
	//window.open(url)
	http_request.onreadystatechange = function() { GetArticleResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function hideArticle(id) {
	//empty article
	document.getElementById(id).style.display = 'none'
	
	//hide intro en sfeer
	if(document.getElementById('block_intro')) document.getElementById('block_intro').style.display = 'block'
	if(document.getElementById('block_sfeer')) document.getElementById('block_sfeer').style.display = 'block'
}

function GetArticle(type,id,container) {	
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.
	
	var url = ""
	url = "xml/article.xml.asp?type="+ type +"&id=" + id + "&container=" + container
//	window.open(url)
	http_request.onreadystatechange = function() { GetArticleResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetArticleResult(http_request) {
	if (http_request.readyState == 4 && !busy) {
		busy = true
		if (http_request.status == 200) {
			//afvangen te lange nodes
			if(!IE) http_request.responseXML.normalize() 
			var xmldoc = http_request.responseXML;

			var type_node = xmldoc.getElementsByTagName('type').item(0);
			var content_node = xmldoc.getElementsByTagName('content').item(0);
			var container_node = xmldoc.getElementsByTagName('container').item(0);

			var container = ''
			if(container_node.firstChild){ container = container_node.firstChild.data }

			if(content_node.firstChild) {
				if(type_node.firstChild.data!='LIST'){
					if(container!=''){
						document.getElementById(container).innerHTML = content_node.firstChild.data
					}else{
						document.getElementById('block_article').innerHTML = content_node.firstChild.data
					}
				}else{
					document.getElementById('block_articles').innerHTML = content_node.firstChild.data
				}
			}
			
			updateSIFR();

		}
	}
	busy = false
}

function addArticle(articleId){
    if(document.getElementById('specsItemId')) {
		if(document.getElementById('specsItemId').options[document.getElementById('specsItemId').selectedIndex].value != ''){
			showMsgCont('Winkelwagen', "Artikel in de winkelwagen geplaatst");
		}
	}else{
		showMsgCont('Winkelwagen', "Artikel in de winkelwagen geplaatst");
	}
	
	var http_request = GetHttpRequest();
	if (!http_request) return false; // Kan geen ajax component aanmaken.
	
//	var strSpecsLine = ""
//	var strSpecsTitle = ""
//	var arrSpecsItems
//	var arrSpecs
//	alert(document.getElementById('iSpecs'))
//	if (document.getElementById('iSpecs')){
//	    for (var i = 0; 0 < parseInt(document.getElementById('iSpecs').value)-1; i++) {
//	        if (strSpecsLine != '') { strSpecsLine = strSpecsLine + ";" }	        
//	        strSpecsLine = strSpecsLine + document.getElementById('specName_' + i).value

//	        if (document.getElementById('specsItemId_' + i).selectedIndex > -1) {
//	            if (strSpecsTitle != "") { strSpecsTitle = strSpecsTitle & ", " }
//	            strSpecsTitle = strSpecsTitle + strSpecsLine + "=" & document.getElementById('specsItemId_' + i).options[document.getElementById('specsItemId_' + i).selectedIndex].text
//	        } else {
//	            alert('Er dient een ' + document.getElementById('specName_' + i).value + ' ingevuld te worden.')
//	            return false
//	        }
//	    }
//	}
//	alert(strSpecsTitle)
var specsItemId = ''
	if(document.getElementById('specsItemId')) {
		specsItemId = document.getElementById('specsItemId').options[document.getElementById('specsItemId').selectedIndex].value
		if(specsItemId=='') {
			alert('Er dient een '+ document.getElementById('spec_title').value +' ingevuld te worden.')
			return false
		}
	}

	var url = ""
	url = "xml/updateShoppingcart.xml.asp?type=add&id=" + articleId + "&specsItemId=" + specsItemId 
	//+ "&specsItemId_1=" + specsItemId_1
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function editArticle(line) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var qty
	if(document.getElementById('qty'+ line)) qty = document.getElementById('qty'+ line).value
	var specsItemId = ''
	if(document.getElementById('specsItemId')) specsItemId = document.getElementById('specsItemId').options[document.getElementById('specsItemId').selectedIndex].value

	var url = ""
	url = "xml/updateShoppingcart.xml.asp?type=edit&qty="+ qty +"&lineno=" + line + "&specsItemId=" + specsItemId
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function delArticle(line) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = "xml/updateShoppingcart.xml.asp?type=del&lineno=" + line
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function updateExtraCosts(type,id) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = "xml/updateShoppingcart.xml.asp?result=CHECKOUT&type="+ type +"&id=" + id
	
	//kosten staan uit, worden geen kosten berekent voor betaalsystemen
	return false
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

var container
function initShoppingCart(result,extra,strObj){
	if (strObj){container = strObj;}
	
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var couponcode = ''
	if(document.getElementById('couponcode')) couponcode = document.getElementById('couponcode').value
	
	var countryId = ''
	if(extra=='SHIPPINGCOSTS' && document.getElementById('invoiceCountry')){
		countryId = document.getElementById('invoiceCountry').options[document.getElementById('invoiceCountry').selectedIndex].value
		if(getCheckboxValue('deliverNAW')=='1'){
			countryId = document.getElementById('deliveryCountry').options[document.getElementById('deliveryCountry').selectedIndex].value
		}
	}

	var url = ""
	url = "xml/updateShoppingcart.xml.asp?result=" + result + "&extra=" + extra + "&couponcode=" + couponcode + "&countryId=" + countryId
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetShoppingcartResult(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//afvangen te lange nodes
			if(!IE) http_request.responseXML.normalize() 
			var xmldoc = http_request.responseXML;

			var content_node = xmldoc.getElementsByTagName('content').item(0);

			if(content_node.firstChild) {
				if (container){
					document.getElementById(container).innerHTML = content_node.firstChild.data
				}else{				
					document.getElementById('shoppingcartCont').innerHTML = content_node.firstChild.data
				}
			}

			var type_node = xmldoc.getElementsByTagName('type').item(0);
			if(type_node.firstChild) {
				if(type_node.firstChild.data=='add') {
					if(document.getElementById('artDesc')) {
						document.getElementById('artDesc').innerHTML = '<div style="float:left;height:200px"><table cellpadding="0" cellspacing="0" border="0">' +
							'<tr><td><div style="text-align:center;margin-top:50px;"><img src="img/addtoshoppingcart.gif" alt="" /></div></td></tr>' +
							'<tr><td><img src="img/spacer.gif" width="240" height="5"></td></tr>' +
							'<tr><td><div style="text-align:center"><a href="default.asp"><img src="img/btn_continueShopping.gif"></a></div></td></tr>' +
							'</table></div>'
					}else{
						if(document.getElementById('artDetailDesc')) {
							document.getElementById('artDetailDesc').innerHTML = '<div style="float:left;height:200px"><table cellpadding="0" cellspacing="0" border="0">' +
								'<tr><td><div style="text-align:center;margin-top:50px;"><img src="img/addtoshoppingcart.gif" alt="" /></div></td></tr>' +
								'<tr><td><img src="img/spacer.gif" width="240" height="5"></td></tr>' +
								'<tr><td><div style="text-align:center"><a href="default.asp"><img src="img/btn_continueShopping.gif"></a></div></td></tr>' +
								'</table></div>'
						}
					}
				}
			}
			var coupon_node = xmldoc.getElementsByTagName('coupon').item(0);
			if(coupon_node.firstChild) {
				if(coupon_node.firstChild.data=='1') {
					if(document.getElementById('block_coupon')) document.getElementById('block_coupon').innerHTML = '<strong>U heeft een kortingscode ingevuld.</strong>'
				}
			}
		}
	}
}

function saveShoppingcart(result){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = "xml/saveShoppingcart.xml.asp?result=" + result
	//window.open(url)
	http_request.onreadystatechange = function() { GetSaveShoppingcartResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetSaveShoppingcartResult(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//afvangen te lange nodes
			if(!IE) http_request.responseXML.normalize() 
			var xmldoc = http_request.responseXML;

			var result
			var result_node = xmldoc.getElementsByTagName('result').item(0);
			if(result_node.firstChild) result = result_node.firstChild.data

			var content_node = xmldoc.getElementsByTagName('content').item(0);
			if(content_node.firstChild) {
				document.getElementById('shoppingcartCont').innerHTML = content_node.firstChild.data
			}
			
			setTimeout("initShoppingCart('"+result+"')",3000);

		}
	}
}

function GetExperienceItem(page,articleid) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = "xml/experience.xml.asp?page=" + page + "&articleid=" + articleid
	//window.open(url)
	http_request.onreadystatechange = function() { GetExperienceItemResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetExperienceItemResult(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//afvangen te lange nodes
			if(!IE) http_request.responseXML.normalize() 
			var xmldoc = http_request.responseXML;

			var content_node = xmldoc.getElementsByTagName('content').item(0);
			if(content_node.firstChild) {
				document.getElementById('blockUserExper').innerHTML = content_node.firstChild.data
			}

		}
	}
}

// JavaScript Document
var xmlDoc
function checkUsername(obj,edit){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = "xml/validateUser.xml.asp?str=" + obj.value + "&edit=" + edit
	//window.open(url)
	document.getElementById('validateUserError').innerHTML =''
	if(obj.value.length != 0){
		http_request.onreadystatechange = function() { ResultValidationUsername(http_request); };
		http_request.open('GET', url, true);
		http_request.send(null);
	}
}
function ResultValidationUsername(http_request){
	if (http_request.readyState == 4)	{
		if (http_request.status == 200) {
			var xmldoc = http_request.responseXML;
			var action_node = xmldoc.getElementsByTagName('actionResult').item(0);

			if(action_node.firstChild.data != '0'){
				document.getElementById('validateUserError').innerHTML = action_node.firstChild.data
				UserOK = false
			}else{
				document.getElementById('validateUserError').innerHTML = ""
				UserOK = true
			}
		}	
	}else{
		document.getElementById('validateUserError').innerHTML = ""
		UserOK = true
	}
}

function GetSpecImages(container,specid,articleId,req_cmd) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.
	if(!req_cmd) req_cmd = ''

	if(specid=='') {
		document.getElementById(container).style.display = 'none' 
		document.getElementById('main_images').style.display = 'block'
		return false
	}
	var url = ""
	url = "xml/specImages.xml.asp?articleId=" + articleId + "&container="+ container +"&specid=" + specid + '&cmd=' + req_cmd
	//window.open(url)
	http_request.onreadystatechange = function() { GetSpecImagesResult(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetSpecImagesResult(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//afvangen te lange nodes
			if(!IE) http_request.responseXML.normalize() 
			var xmldoc = http_request.responseXML;

			var container_node = xmldoc.getElementsByTagName('container').item(0);
			var qty_node = xmldoc.getElementsByTagName('qty').item(0);
			var content_node = xmldoc.getElementsByTagName('content').item(0);
			var content_node2 = xmldoc.getElementsByTagName('content2').item(0);
			var content_stock = xmldoc.getElementsByTagName('content_stock').item(0);
			
			if(qty_node.firstChild.data!='0') {
				document.getElementById(container_node.firstChild.data).style.display = 'block' 
				document.getElementById('main_images').style.display = 'none'
				if(content_node.firstChild){
					if(!IE){
						document.getElementById(container_node.firstChild.data).innerHTML = xmldoc.getElementsByTagName("content")[0].textContent
					}else{
						document.getElementById(container_node.firstChild.data).innerHTML = content_node.firstChild.data
					}
					if(!IE){
						document.getElementById('container_'+ container_node.firstChild.data).innerHTML = xmldoc.getElementsByTagName("content2")[0].textContent
					}else{
						document.getElementById('container_'+ container_node.firstChild.data).innerHTML = content_node2.firstChild.data
					}
					if(!IE){
						document.getElementById('container_stock').innerHTML = xmldoc.getElementsByTagName("content_stock")[0].textContent
					}else{
						document.getElementById('container_stock').innerHTML = content_stock.firstChild.data
					}
				}
			}else{
				document.getElementById(container_node.firstChild.data).style.display = 'none' 
				document.getElementById('main_images').style.display = 'block'
			}
		}
	}
}

var objStreet = ''
var objCity = ''

//Opvragen van de straat en de woonplaats aan de hand van het huisnummer en postcode
function getStreetCity(housenumber, housenumberAddon, zipcode,strObjStreet,strObjCity) {    
    if (housenumber.length > 0 && zipcode.length > 0) {
        if (zipcode.lenth = 7) {
            zipcode = zipcode.replace(' ', '')            
        }
        var url = 'http://server01/easer/webservice/webservice.asmx/getStreetCity'
        //var url = 'http://localhost:2911/webservice.asmx/getStreetCity'
        var postdata = 'housenumber=' + housenumber + '&zipcode=' + zipcode

        objStreet = document.getElementById(strObjStreet)
        objCity = document.getElementById(strObjCity)

        var http_request = GetHttpRequest();
        if (!http_request) return false; // Kan geen ajax component aanmaken.
        http_request.onreadystatechange = function() { getStreetCityResult(http_request); };
        http_request.open('POST', url, true);
        //http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        http_request.send(postdata)
        //http_request.send(null)
    }
}

function getStreetCityResult(http_request) {    
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if (!IE) http_request.responseXML.normalize()
            
            var xmldoc = http_request.responseXML;
            if (objStreet) {
                objStreet.value = xmldoc.getElementsByTagName('straatnaam').item(0).firstChild.data;                
            }
            if (objCity) {
                objCity.value = xmldoc.getElementsByTagName('plaatsnaam').item(0).firstChild.data;
            }            
        }
    }
}