	function createHTTPHandler(){
    httphandler = false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
    try {
      httphandler = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
       httphandler = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
          httphandler = false;
      }
    }
    @end @*/
    if (!httphandler && typeof XMLHttpRequest!='undefined') {
        httphandler = new XMLHttpRequest();
    }
    return httphandler;
	}
	
	// init object
 
	function js_in_array(the_needle, the_haystack){
		var the_hay = the_haystack.toString();
		if(the_hay == ''){
		    return false;
		}
		var the_pattern = new RegExp(the_needle, 'g');
		var matched = the_pattern.test(the_haystack);
		return matched;
  }
  
  	function getNodeValue(obj,tag)
  	{
  		return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
	}
	
	
	function getSizes(format_id,product_id, lang_id) {
		XMLHTTPObject = createHTTPHandler(); 
		XMLHTTPObject.open('GET', 'getProductdetails.php?taalCode=' + currentLanguage + '&action=getsizes&product_id=' + product_id + '&format_id='+format_id, true);
		XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_projecta");
	  XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  	XMLHTTPObject.setRequestHeader('Connection', 'close');
		XMLHTTPObject.send(null);
		XMLHTTPObject.onreadystatechange=function() {
			if (XMLHTTPObject.readyState==4) {
					productdetails_arr = XMLHTTPObject.responseText.split("||");
					document.forms['formproductdetails'].productdetail_id.options.length = 0; // remove all items
					for(var i=0;i<=(productdetails_arr.length-2);i++){ // -2 want er wordt afgesloten met || dus eindigt het altijd met een lege
						prod_dtl_arr = productdetails_arr[i].split("|"); 
						document.forms['formproductdetails'].productdetail_id.options[i] = new Option(prod_dtl_arr[1].replace("x 0", "cm"), prod_dtl_arr[0]);
						if (i==0) {
							// auto select first option
							getProductdetails(prod_dtl_arr[0], lang_id);
						}
					}
					
					// fix for internet explorer height bug
					height1 = document.getElementById('product_files').offsetHeight;
					height2 = document.getElementById('product_detail').offsetHeight;
					if (height1 > height2) {
						document.getElementById('product_detail').style.height = height1;
					}
					// end fix
			}
		}
	}
	
	function getProductdetails(productdetail_id, lang_id) {
		XMLHTTPObject = createHTTPHandler(); 
		XMLHTTPObject.open('GET', 'getProductdetails.php?taalCode=' + currentLanguage + '&action=getdetails&productdetail_id=' + productdetail_id + '&lang_id='+lang_id, true);
		XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_projecta");
	  XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  	XMLHTTPObject.setRequestHeader('Connection', 'close');
		XMLHTTPObject.send(null);
		XMLHTTPObject.onreadystatechange=function() {
			if (XMLHTTPObject.readyState==4) {
					var response = XMLHTTPObject.responseXML;
					var productdetail = response.getElementsByTagName('productdetail')[0];		
					if (productdetail) {
						// put product detail information in table column detail values
						var HTML_values = "";
						HTML_values = HTML_values + getNodeValue(productdetail, 'format') + '<br>';
						//HTML_values = HTML_values + getNodeValue(productdetail, 'screensize').replace("0 x", "X x") + '<br>';
						HTML_values = HTML_values + getNodeValue(productdetail, 'screensize') + '<br>';
						if (getNodeValue(productdetail, 'viewsize') == "0 x 0")
							HTML_values = HTML_values + '-<br>';
						else
							HTML_values = HTML_values + getNodeValue(productdetail, 'viewsize') + '<br>';
						if (getNodeValue(productdetail, 'diagonal_cm') == 0)
							HTML_values = HTML_values + '-<br>';
						else
							HTML_values = HTML_values + getNodeValue(productdetail, 'diagonal_cm') + '<br>';
						if (getNodeValue(productdetail, 'diagonal_inch') == 0.0)
							HTML_values = HTML_values + '-<br>';
						else
							HTML_values = HTML_values + getNodeValue(productdetail, 'diagonal_inch') + '<br>';
						HTML_values = HTML_values + getNodeValue(productdetail, 'case_size') + '<br>';
						HTML_values = HTML_values + getNodeValue(productdetail, 'weight') + '<br>';
						//HTML_values = HTML_values + getNodeValue(productdetail, 'updowntime') + '<br>';
						document.getElementById('detailvalues').innerHTML = HTML_values;
										
						// create article values
						var HTML_articles = '';
						var all_articles = productdetail.getElementsByTagName('articles')[0];
						var articles = all_articles.getElementsByTagName('article');
						var tbody = document.getElementById('articles').getElementsByTagName("TBODY")[0];
						var tbl = document.getElementById('articles');
						var lastRow = tbl.rows.length;
						// remove rows of current selected item
						for(i=1;i< lastRow;i++) {
							tbl.deleteRow(1);
						}
						// add to table
						for(i = 0; i < articles.length; i++)
						{	
							if(getNodeValue(articles[i], 'articlecode') != '-'){
								var row = document.createElement("TR");
								var td1 = document.createElement("TD");
								td1.appendChild(document.createTextNode(getNodeValue(articles[i], 'articlecode')));
								var td2 = document.createElement("TD");
								// var textValue = "<a href=\"doeksoorten.php?rID=" + currentID + "&amp;product_id=" + currentProductID + "&amp;groupID=" + currentGroupID + "&amp;taalCode=" + currentLanguage+ "&amp;fabrictype_id=" + getNodeValue(articles[i], 'fabrictype_id')+ "\">" + getNodeValue(articles[i], 'fabrictype_name') + "</a>";
								var textValue = getNodeValue(articles[i], 'fabrictype_name');
									td2.innerHTML = textValue;
									var td3 = document.createElement("TD");
								td3.appendChild (document.createTextNode(getNodeValue(articles[i], 'casecolor_name')));
								row.appendChild(td1);
								row.appendChild(td2);
									row.appendChild(td3);
								tbody.appendChild(row);
							}
						}
						var row = document.createElement("TR");
						var td1 = document.createElement("TD");
						td1.appendChild(document.createTextNode(''));
						var td2 = document.createElement("TD");
						var textValue = "";
							td2.innerHTML = textValue;
							var td3 = document.createElement("TD");
						td3.appendChild(document.createTextNode(''));
						row.appendChild(td1);
						row.appendChild(td2);
							row.appendChild(td3);
						tbody.appendChild(row);
						
						document.getElementById('productdetails_container').style.display = "inline";
						// fix for internet explorer height bug
						//height1 = document.getElementById('product_files').offsetHeight;
						//height2 = document.getElementById('product_detail').offsetHeight;
						//document.getElementById('product_detail').style.height = height1 + document.getElementById('productdetails_container').offsetHeight + 130;
						//document.getElementById('product_detail').style.display = 'none';
						//document.getElementById('product_detail').style.display = 'block';
					// end fix
				}
			}
		}
	}

	