// JavaScript Document
var http = getHTTPObject(); // We create the HTTP Object
var isWorking = false;
var functionName = "";
var result = "";
var insertTo;
var URL;
var TmpFrm;

function validMail(email){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return(filter.test(email));
}

	function sendAJAX(to,frm){
		setInsertTo(to);
		toTmpForm(frm);
		loading();
		startPOST(TmpFrm);
	}

	function toTmpForm(f){
		if (typeof XMLHttpRequest == 'undefined') {
			TmpFrm = top.document.getElementById("FrmTmp");
			TmpFrm.innerHTML = f.innerHTML;
		}else{
			TmpFrm = f
		}
	}
	
	function getHTTPObject() {
		var xmlhttp;
		/*@cc_on
		@if (@_jscript_version >= 5)
		try {
		  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		  try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		  } catch (E) {
			xmlhttp = false;
		  }
		}
		@else
		xmlhttp = false;
		@end @*/
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
		  xmlhttp = new XMLHttpRequest();
		} catch (e) {
		  xmlhttp = false;
		}
		}
		return xmlhttp;
		}

function loading(){
	try {
		insertTo.innerHTML = "<div class=\"titelLoading\"><img src=\"img/loading.gif\"/> Bezig met laden!</div>";
	}
	catch (e){
	}
}
function loadingBig(){
	try {
		insertTo.innerHTML = "<div class=\"titelLoading\"><img src=\"img/loadingBig.gif\"/> Bezig met laden!</div>";
	}
	catch (e){
	}
}
function loadingCenter(){
	try {
		insertTo.innerHTML = "<div class=\"titelLoading\" style=\"text-align:center;\"><img src=\"img/loading.gif\"/> Bezig met laden!</div>";
	}
	catch (e){
	}
}

function loadingSmall(){
	try {
		insertTo.innerHTML = "<img src=\"img/loading.gif\"/>";
	}
	catch (e){
	}
}

function loadingSmallCenter(){
	try {
		insertTo.innerHTML = "<div style=\"text-align:center;\"><img src=\"img/loading.gif\"/></div>";
	}
	catch (e){
	}
}




	function loadContent(wat,waar){
		ElWaar = top.document.getElementById(waar);
		new Effect.Fade(ElWaar,{duration:0.8}); 
		ElWaar.style.display = 'block';
		effect = new Effect.BlindDown(ElWaar, {queue: 'end'});
	}

	function updateSubItems(ik){
		var url = "/admin/adcl.php?request=subcat&item=";
		if (!isWorking) {
			var d;
			d = document.getElementById("setup_insertAfter");
			d.options.length = 0;
			d.options[0] = new Option('One moment please...','');
			var Item = escape((ik.options[ik.selectedIndex].value));	
			http.open("GET", url + Item, true);
			insertTo = d;
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);
		}
	}
function chgVersion(place,id){
	var rdom = (Math.random()*5*100);
	var url = "inc/prodInfo.php?ID="+id+"&rdm="+rdom;
	if (!isWorking) {
		insertTo = document.getElementById(place);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}	
}

function addShop(returnID,typ,aantal,ID,maat,txt){
	var url = "inc/shopAction.php?action=add&typ="+typ+"&aantal="+aantal+"&ID="+ID+"&maat="+maat+"&txt="+txt;
	if (!isWorking) {
		insertTo = document.getElementById(returnID);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}
}

function loadProdInfo(returnID,id){
	var url = "inc/getProdInfo.php?t="+id;
	if (!isWorking) {
		insertTo = document.getElementById(returnID);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}
}


function hideTextBallon(){
	var url = "inc/tekstballon.php?action=hide";
	if (!isWorking) {
		http.open("GET", url, true);
		http.onreadystatechange = doNix;
		isWorking = true;
		http.send(null);		
	}
}


function doNix(){
	return "";	
}

function addShopNoReturn(typ,aantal,ID,maat,txt){
	var url = "inc/shopAction.php?action=add&typ="+typ+"&aantal="+aantal+"&ID="+ID+"&maat="+maat+"&txt="+txt;
	if (!isWorking) {
		http.open("GET", url, true);
		http.onreadystatechange = doNix;
		isWorking = true;
		http.send(null);		
	}
}


function delItemMain(returnID,ID){
	delItem(returnID,ID,'main');
}
function delItem(returnID,ID,where){
	var url = "inc/shopAction.php?action=del&ID="+ID+"&where="+where;
	if (!isWorking) {
		insertTo = document.getElementById(returnID);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}
}

function setGeneral(naar,url){
	URL = url;
	insertTo = naar;
}

function setInsertTo(div){
	insertTo = top.document.getElementById(div);
}

function startPOST(f){
	var URL = "/adcl.php";	
	var str = getFormValues(f,"validate");
	xmlReq = getXML(URL,str);

}
function validate(val){
	return true;
}

function getXML(file,str){
   var doc = null
   //alert(str);
   if (typeof window.ActiveXObject != 'undefined' ){
   http.onreadystatechange = handleHttpResponse;
   }else{
   http.onload = handleHttpResponse;
   }
   http.open( "POST", file, true );
   http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   http.send(str);
   return doc;
}

	function getFormValues(fobj,valFunc){
		var str = "";
		var valueArr = null;
		var val = "";
		var cmd = "";
		for(var i = 0;i < fobj.elements.length;i++){
		   //alert(fobj.elements[i].type);
           switch(fobj.elements[i].type){
				case "hidden":
				case "text":
                    if(valFunc){
                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
                        val = eval(cmd)
                    }
                    str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
                     break;
			   case "checkbox":
					str += fobj.elements[i].name + "=" + escape(fobj.elements[i].checked) + "&";
					//alert(str);
					break;
               case "select-one":
                    str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                    break;
           }
       }
       str = str.substr(0,(str.length - 1));
       return str;
    }

function setValueADCL(sessionvar,veldnaam, waarde){
	
		//d = top.document.getElementById("AdclContent");
		var URL = "/adcl.php";
		var field;
		if (sessionvar == "admResAdd"){
			insertTo = top.document.getElementById("overzichtRes");
		}else if (sessionvar == "loginInput"){
				insertTo = top.document.getElementById("loginkader");
		}else if (sessionvar != "best"){
			if (top.document.getElementById(sessionvar) != null){
				insertTo = top.document.getElementById(sessionvar);
			}
		}else{
			setInsertTo("AdclContent");
		}


		if (!isWorking) {
		if (sessionvar == "best" || sessionvar == "loginInput"){ loading(); } 
			var url1 = URL + "?sessionvar=" + sessionvar + "&" + veldnaam + "=" + waarde;
			//alert(url1);
			http.open("GET", url1, true);
			if (sessionvar == "loginInput"){
				http.onreadystatechange = handleHttpResponseLogin;
			}else{
				http.onreadystatechange = handleHttpResponse;
			}
			isWorking = true;
			http.send(null);
		}
}

	function handleHttpResponseLogin(){
		var i;
		  if (http.readyState == 4) {
			if (http.responseText.indexOf('invalid') == -1) {
				results = http.responseText;
				//alert(results);
				if(results == 1){
					document.location = "/members";
				}else{
					//foutief!
					//alert("restult: "+ results);
					//alert(insertTo);
					insertTo.innerHTML = results;
				}
				isWorking = false;
			} 
		  }
	}
	
	function handleHttpResponse() {
		var i;
		if (http.readyState == 4) {
			if (http.responseText.indexOf('invalid') == -1) {
					  try {
					  	if (insertTo.type.indexOf("select") != -1){
							results = http.responseText.split("|");
							insertTo.options.length = 0;
							i++;
							if (results.length == 1){
									data = results[0].split(":");
									insertTo.options[0] = new Option(data[1],data[0]);
							}else{
								for (x=0;x<results.length;x++){
									//alert(results.length + " > " + results[x]);
									data = results[x].split(":");
									insertTo.options[x] = new Option(data[1],data[0]);
								} //end for
							} //end if
						 } //end if
					   } //end try
						catch (e){
							if (e.message == "insertTo.type has no properties"){
								results = http.responseText;
								insertTo.innerHTML = results;
							}
						}
				results = http.responseText;
				insertTo.innerHTML = results;
				isWorking = false;
			} 
		  }
	}

function handleHttpResponseIMG() {
		var i;
		if (http.readyState == 4) {
			if (http.responseText.indexOf('invalid') == -1) {
					  try {
					  	if (insertTo.type.indexOf("select") != -1){
							results = http.responseText.split("|");
							insertTo.options.length = 0;
							i++;
							if (results.length == 1){
									data = results[0].split(":");
									insertTo.options[0] = new Option(data[1],data[0]);
							}else{
								for (x=0;x<results.length;x++){
									//alert(results.length + " > " + results[x]);
									data = results[x].split(":");
									insertTo.options[x] = new Option(data[1],data[0]);
								} //end for
							} //end if
						 } //end if
					   } //end try
						catch (e){
							if (e.message == "insertTo.type has no properties"){
								results = http.responseText;
								insertTo.innerHTML = results;
							}
						}
				results = http.responseText;
				//alert(results);
				insertTo.innerHTML = results;
				
				pic = document.getElementById('imgLoader');
				isWorking = false;
				if(pic.complete) donePic()
				else pic.onload= donePic;
					

			} 
		  }
	}
					function donePic(){
						//alert("nice");
						document.getElementById('afbeeldingLoaderIMG').innerHTML = '';
						z = document.getElementById('afbeeldingLoader');
						z.innerHTML = document.getElementById('subImgLoader2').innerHTML;
						if (z.className.indexOf('semiTransp') == -1){ 
						}else{
							z.className = '';
						}
						/*
						var d = new Date();
						url1 = "/js/zoom.js?t=" + d.getTime();
						if (!isWorking){
						http.open("GET", url1, true);                      			        
						http.onreadystatechange = function(){ 
								//alert(url1)
								if (http.readyState == 4) { results = http.responseText;eval(results);
								 isWorking = false;
								}
										};
						isWorking = true;
						http.send(null);
						}*/
						MagicMagnify_stopMagnifiers();MagicMagnify_findMagnifiers();

				//document.getElementById('afbeeldingLoaderImg').style.zIndex=1;
					}

	function updateitem(itemnr){
		var naam = (top.document.getElementById('naam'+itemnr).value);
		var video = (top.document.getElementById('video'+itemnr).checked);
		var veld = itemnr + '&naam='+naam+'&video='+video;
		var veldTo = 'loading'+itemnr;
		setValueADCL('admResUpd','item',veld,veldTo);
	}


	function toonverberg(target){
		var d;
		d = top.document.getElementById("teken_"+target);
		//alert(d);
		with (document.getElementById(target).style) {
			if (display == "none"){
				display = ""
				d.src ="images/tekens/min.png";
			}else{
				display = "none";
				d.src ="images/tekens/plus.png";
			}
		}
		//alert(d.src);
		//d.innerHTML=(d.innerHTML=='<img src="images/tekens/plus.png" width="16" height="16">') ? '<img src="images/tekens/min.png" width="16" height="16">' : '<img src="images/tekens/plus.png" width="16" height="16">';
		
	}
	
	
function NieuwsButtonStyle(wat,stijl){
	document.getElementById("nieuwsId0").className="nonactive-tab";	
	document.getElementById("nieuwsId1").className="nonactive-tab";	
	document.getElementById("nieuwsId2").className="nonactive-tab";	
	document.getElementById("nieuwsId3").className="nonactive-tab";	
	document.getElementById("nieuwsId4").className="nonactive-tab";	
	document.getElementById(wat).className=stijl;
}

function swapimg(id,img){
	document.getElementById(id).src=img;
}
function getDesc(id,cat,partID){
	var rdom = (Math.random()*5*100);
	var url = "inc/prodInfo.php?ID="+partID+"&CAT="+cat;
	if (!isWorking) {
		setInsertTo(id);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}		
}

function getGeometrie(naar,frame,binnenbeen){
	bb = binnenbeen.value;
	var url = "inc/getGeometrie.php?frameID="+frame+"&binnenbeen="+bb;
	if (!isWorking) {
		setInsertTo(naar);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}	
}

function getKlantInfo(naar,mail){
	email= mail.value;
	var url = "inc/getKlantInfo.php?m="+email;
	if (!isWorking) {
		setInsertTo(naar);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}	
}


function getGeometrieDirect(naar,frame,ID){
	bb = ID;
	var url = "inc/getGeometrie.php?frameID="+frame+"&maatID="+ID;
	if (!isWorking) {
		setInsertTo(naar);
		loading();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}	
}

function getDealer(naar,id){
	var url = "inc/getDealer.php?id="+id;
	if (!isWorking) {
		setInsertTo(naar);
		loadingSmallCenter();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}		
}

function getMovie(naar,id){
	var url = "inc/getMovie.php?id="+id;
	if (!isWorking) {
		document.getElementById('afbeelding').height=0;
		setInsertTo(naar);
		loadingSmallCenter();
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
		http.send(null);		
	}		
}


function xstooltip_findPosX(obj) 
{
  var curleft = 0;
  if (obj.offsetParent) 
  {
    while (obj.offsetParent) 
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}


function xstooltip_findPosY(obj) 
{
    var curtop = 0;
    if (obj.offsetParent) 
    {
        while (obj.offsetParent) 
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function xstooltip_show(tooltipId, parentId, posX, posY)
{
    it = document.getElementById(tooltipId);
    
    if ((it.style.top == '' || it.style.top == 0) 
        && (it.style.left == '' || it.style.left == 0))
    {
        // need to fixate default size (MSIE problem)
        it.style.width = it.offsetWidth + 'px';
        it.style.height = it.offsetHeight + 'px';
        
        img = document.getElementById(parentId); 
    
        // if tooltip is too wide, shift left to be within parent 
        if (posX + it.offsetWidth > img.offsetWidth) posX = img.offsetWidth - it.offsetWidth;
        if (posX < 0 ) posX = 0; 
        
        x = xstooltip_findPosX(img) + posX;
        y = xstooltip_findPosY(img) + posY;
        
        it.style.top = y + 'px';
        it.style.left = x + 'px';
    }
    
    it.style.visibility = 'visible'; 
}

function xstooltip_hide(id)
{
    it = document.getElementById(id); 
    it.style.visibility = 'hidden'; 
}

function markBG(id,aantal){
	for (i = 1;i<=aantal;i++){
		x = document.getElementById('packet'+i).style;
		x.background = '#FFF';
	}
	x = document.getElementById('packet'+id).style;
	x.background = '#999';
}


function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} 


function changeAmount(frm,id){
		voorschot = frm.voorschot.value;
		var url = "/inc/setVoorschot.php?id="+id+"&voorschot="+voorschot;
		if (!isWorking) {
			insertTo = document.getElementById('frm_voorschot');
			loading();
			http.open("GET", url, true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);		
		}
	
}
