// JavaScript Document

function Loading(id){
	top.document.getElementById(id).innerHTML = '<div class="loading"><img src="'+_PROJECT_URL+'img/icon_spinner.gif" alt="" /></div>'
}
function LoadingMenu(id){
	top.document.getElementById(id).innerHTML = '<div class="loading"><img src="'+_PROJECT_URL+'img/icon_spinner_menu.gif" alt="" /></div>'
}
function showMessage(){
	var l
	var t, scrollTop
	l = (960-250) / 2;
	scrollTop = (document.all ? document.body.scrollTop : window.pageYOffset);
	if (document.all) {
		//document.getElementById('container_addshop').style.top = ((screen.availHeight/2) - 100) + document.body.scrollTop;
		document.getElementById('container_addshop').style.top = ((((document.body.clientHeight-100) / 2) - 20) + scrollTop) + 'px';
	}	else {
		document.getElementById('container_addshop').style.top = ((((document.body.clientHeight-100) / 2) - 20) + scrollTop) + 'px';
	}
//	t = (((document.body.clientHeight-100) / 2) - 50)+scrollTop;
	document.getElementById('container_addshop').style.display = 'block'
//	document.getElementById('container_addshop').style.top = t + 'px'
	document.getElementById('container_addshop').style.left = l + 'px'
	setTimeout("document.getElementById('container_addshop').style.display = 'none'",2000)
}

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 addArticle(articleId,qty){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	//specificaties
	var specs = ''
	var tmpid = ''
	if(document.getElementById('cont_specs')) {
		var inputSpecs = document.getElementById('cont_specs').getElementsByTagName('INPUT')
		for(var i=0;i<inputSpecs.length;i++){
			if(specs!='') specs = specs + ','
			specs = specs + inputSpecs[i].value + '='
			tmpid = inputSpecs[i].id.replace('specName','specsItemId')
			specs = specs + document.getElementById(tmpid).options[document.getElementById(tmpid).selectedIndex].value
		}
	}
	var extraArticles = ''
	if(document.getElementById('cont_extraArticles')) extraArticles = document.getElementById('cont_extraArticles').value
	
	showMessage();
	
	var url = ""
	url = _PROJECT_URL + "xml/Shoppingcart.xml.asp?type=add&id=" + articleId + "&aantal=" + qty + "&specs=" + specs + '&extraArticles=' + extraArticles
//	window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request, 'container_shoppingcart'); };
	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 url = ""
	url = _PROJECT_URL + "xml/Shoppingcart.xml.asp?type=edit&lineno=" + line + "&qty=" + qty
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request, 'container_shoppingcart'); };
	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 = _PROJECT_URL + "xml/Shoppingcart.xml.asp?type=del&lineno=" + line
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request, 'container_shoppingcart'); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function initShoppingCart(container,debug){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.    
	var url = ""
	url = _PROJECT_URL + 'xml/shoppingcart.xml.asp?container='+ container
	
	if (debug) { window.open(url) }
	http_request.onreadystatechange = function() { GetShoppingcartResult(http_request, container); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetShoppingcartResult(http_request, container) {
	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(container)){
				if(!IE){
					document.getElementById(container).innerHTML = xmldoc.getElementsByTagName("content")[0].textContent
				}else{
					document.getElementById(container).innerHTML = content_node.firstChild.data
				}
			}

		}
	}
}


function addArticleCheckout(articleId){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = _PROJECT_URL + "xml/updateShoppingcartcheckout.xml.asp?container=container_checkout&type=add&id=" + articleId
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResultCheckout(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function editArticleCheckout(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
	
	//specificaties
	var specs = ''
	var tmpid = ''
	if(document.getElementById('cont_specs_'+line)) {
		var inputSpecs = document.getElementById('cont_specs_'+line).getElementsByTagName('INPUT')
		for(var i=0;i<inputSpecs.length;i++){
			if(specs!='') specs = specs + ','
			specs = specs + inputSpecs[i].value + '='
			tmpid = inputSpecs[i].id.replace('specName_'+line,'specsItemId_'+line)
			specs = specs + document.getElementById(tmpid).options[document.getElementById(tmpid).selectedIndex].value
		}
	}
	
	var url = ""
	url = _PROJECT_URL + "xml/updateShoppingcartcheckout.xml.asp?container=container_checkout&type=edit&lineno=" + line + "&qty=" + qty + "&specs=" + specs
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResultCheckout(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function delArticleCheckout(line) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.
	var url = ""
	url = _PROJECT_URL + "xml/updateShoppingcartcheckout.xml.asp?container=container_checkout&type=del&lineno=" + line
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResultCheckout(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function initShoppingCartCheckout(container,extra){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.
	if(!extra) extra = ''

	var couponcode = ''
	if(document.getElementById('couponcode')) couponcode = document.getElementById('couponcode').value

	var url = ""
	url = _PROJECT_URL + "xml/updateShoppingcartcheckout.xml.asp?container=" + container + "&couponcode=" + couponcode + "&extra=" + extra
	//window.open(url)
	http_request.onreadystatechange = function() { GetShoppingcartResultCheckout(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetShoppingcartResultCheckout(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 content_node = xmldoc.getElementsByTagName('content').item(0);
			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
				}
			}

		}
	}
}


// JavaScript Document
var xmlDoc
function checkUsername(obj,edit){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = _PROJECT_URL + "xml/validateUser.xml.asp?str="+obj.value+"&edit="+edit
	document.getElementById('validateUserError').innerHTML =''
	if(obj.value.length != 0){
		//window.open(url)
		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 GetAJAX(url, container, gets, values, debug) {
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

//	if(container=='container_menu'){
//		LoadingMenu(container)
//	}else{
//		Loading(container)
//	}
	
	url = _PROJECT_URL + 'xml/' + url + '?container='+ container + '&'	
	for (i = 0; i < gets.length; i++) {
		if(i>0) url += '&';
		url += gets[i] +'='+ values[i];
	}
	if(debug) window.open(url)
	if(container=='container_accessoires'){
		http_request.onreadystatechange = function() { GetAJAXResult(http_request,container); };
	}else{
		http_request.onreadystatechange = function() { GetXMLResult(http_request);};
	}
	http_request.open('GET', url, true);
	http_request.send(null);
}

function GetAJAXResult(http_request, container){
	if (http_request.readyState == 4)	{
		if (http_request.status == 200) {

			var content = http_request.responseText;
			if(container!='') {
				if(document.getElementById(container)) document.getElementById(container).innerHTML = content;
			}

		}	
	}
}

function GetXMLResult(http_request){
	if (http_request.readyState == 4)	{
		if (http_request.status == 200) {
			if(!IE) http_request.responseXML.normalize() 

			var xmldoc = http_request.responseXML;
			var container_node = xmldoc.getElementsByTagName('container').item(0);
			var content_node = xmldoc.getElementsByTagName('content').item(0);

			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
				}
			}
		}	
	}
}
