// JavaScript Document

function Loading(id,str){
	document.getElementById(id).innerHTML = '<div class="loading"><img src="' + SITE_PATH + 'img/icon_spinner.gif" alt="" /></div>'
}
function showbusy(id,str){
	document.getElementById(id).style.display='block'
	document.getElementById(id).style.left = parseInt((screen.availWidth/2) - 250)
	if (window.ActiveXObject) {
		document.getElementById(id).style.top = parseInt(((screen.availHeight/2) - 80) + document.body.scrollTop);
	}	else{// if (window.ActiveXObject) {
		document.getElementById(id).style.top = parseInt(((screen.availHeight/2) - 80) + document.body.scrollTop);
	}
	document.getElementById(id).innerHTML = '<div class="loading"><table><tr valign="top"><td><img src="' + SITE_PATH + 'img/icon_spinner.gif" alt="" /></td><td>' + str + '</td></tr></table></div>'
	setTimeout("document.getElementById('"+id+"').style.display='none'",3000);
}
function LoadingMenu(id){
	document.getElementById(id).innerHTML = '<div class="loading"><img src="' + SITE_PATH + 'img/icon_spinner_menu.gif" alt="" /></div>'
}

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.
	showbusy('contBusy','Een ogenblik geduld het artikel wordt in je winkelwagen geplaatst.')
	//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','specValue')
			specs = specs + document.getElementById(tmpid).options[document.getElementById(tmpid).selectedIndex].value
		}
	}
	
	var url = ""
	url = SITE_PATH + "xml/updateShoppingcart.xml.asp?container=container_shoppingcart&type=add&id=" + articleId + "&aantal=" + qty + "&specs=" + specs
	//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 url = ""
	url = SITE_PATH + "xml/updateShoppingcart.xml.asp?container=container_shoppingcart&type=edit&lineno=" + line + "&aantal=" + qty
	//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 = SITE_PATH + "xml/updateShoppingcart.xml.asp?container=container_shoppingcart&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 initShoppingCart(container){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = SITE_PATH + "xml/updateShoppingcart.xml.asp?container=" + container
	//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 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
				}
			}

		}
	}
}


function addArticleCheckout(articleId){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = SITE_PATH + "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
	var url = ""
	url = SITE_PATH + "xml/updateShoppingcartcheckout.xml.asp?container=container_checkout&type=edit&lineno=" + line + "&aantal=" + qty
	//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 = SITE_PATH + "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){
	var http_request = GetHttpRequest();
	if(!http_request) return false; // Kan geen ajax component aanmaken.

	var url = ""
	url = SITE_PATH + "xml/updateShoppingcartcheckout.xml.asp?container=" + container
	//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 = SITE_PATH + "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 = SITE_PATH + '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)
	http_request.onreadystatechange = function() { GetAJAXResult(http_request,container); };
	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;
			}

		}	
	}
}
