function openDir( form ) { 
	var newIndex = form.taalwisselmenu.selectedIndex; 
	if ( newIndex == 0 ) { 
		alert( "Please select a language" ); 
	} else { 
		cururl = form.taalwisselmenu.options[ newIndex ].value; 
		window.location.assign( cururl ); 
	} 
} 

	

//===============================================
// frame breakout functions
//===============================================
var skipBreakout = true;
var siteOnline = (document.location.hostname.indexOf(".") != -1);
var webRoot = "/";
if (typeof(skipBreakout) == "undefined") skipBreakout = false;

if (!siteOnline) {
	var loc = document.location.pathname;
	loc = loc.substr(1, loc.length);
	loc = loc.substr(0, loc.indexOf("/"));
	webRoot += loc + "/";
	loc = null;
}

if ((!skipBreakout) && (parent.location.href == self.location.href)) {
	var parentFrame = webRoot + 'index.asp?page_url=';
	var current = escape(window.self.location.href);
	window.location.replace(parentFrame + current); 
}

//===============================================
// general functions
//===============================================
function LTrim(str) {
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(0)) != -1) {
		var j=0, i = s.length;
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1) {
	  	j++;
		}

		s = s.substring(j, i);
  }
	return s;
 }

function RTrim(str) {
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
		var i = s.length - 1;
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
    	i--;
		}

		s = s.substring(0, i+1);
	}
	return s;
}

function Trim(str) {
	return LTrim(RTrim(str));
}

function Cent(amount) {
	if(amount*1==0) return("");
	amount -= 0;
	return (amount == Math.floor(amount)) ? amount + ',00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

function RoundIt(number,X) {
    X = (!X ? 2 : X);
		var value = Cent(Math.round(number*Math.pow(10,X))/Math.pow(10,X));
    return (value == "") ? "0,00" : value;//Cent(Math.round(number*Math.pow(10,X))/Math.pow(10,X));
}

// variant op roundit -> zet ook punten tussen de duizendtallen
function RoundIt2(number, X){
   X = (X==undefined) ? 2 : X;
	
	var intVal = Math.floor(number);
	var fraction = number - intVal;
	if (fraction > 0){
		fraction = String(fraction);//Math.round(fraction*Math.pow(10, X));
		fraction = fraction.replace("0.", "");

		var fractionRounder = new Number(fraction.substr((X-1), 2))/10;
		fractionRounder = Math.round(fractionRounder, 0);

		fraction = fraction.substr(0, X-1);
		fraction += fractionRounder;
	}
	else{
		fraction = ""
		for (var i=0; i<X; i++){
			fraction += "0";
		}
	}
	
	intVal = String(intVal);
	llength = Math.floor((intVal.length - 1)/3);
	llength2 = intVal.length;
	for (var i=1; i<=llength; i++){
		var subStr1 = intVal.substr(0, llength2 - i*3);
		var subStr2 = intVal.substr(llength2 - i*3, intVal.length);
		intVal = subStr1 + "." + subStr2;
	}
	
	return(intVal+","+fraction);
}

function CheckZero(number) {
	if(number*1==0) {
		return("");
	} else {
		return(number);
	}
}

function Venster(newloc) {
	articlewindow=window.open(newloc,'Selecteren', 'width=300,height=500,status=no,toolbar=no,menubar=no,location=no,scrollbars');
	articlewindow.focus();
}

function IsValid(SString, valid) {
	for(var i=0;i<SString.length;i++) {
		tmp = SString.charAt(i)
		if(valid.indexOf(tmp)==-1) return false;
	}
	return true;
}

function oldIsValidEmail(SString) {
	if(SString.indexOf('.')==-1 || SString.indexOf('@')==-1 || SString.length<6) {
		return false;
	}
	return true;
}

function isValidEmail(emailAddress) {
	var re = new RegExp("^[0-9a-zA-Z]+([-._][0-9a-zA-Z]+)*@[0-9a-zA-Z]+([-._][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,4}$", "g");
	return(emailAddress.match(re));
}

//===============================================
// general functions
//===============================================
var popUpWin = null;

function openCentered(documentSrc, windowWidth, windowHeight,scrBars,res){
	var resizable = (res != null) ? res : 0;

	if(popUpWin){
		if(!popUpWin.closed) popUpWin.close();
	}
	
	windowLeft = (window.screen.width  - windowWidth)  >> 1;
	windowTop  = (window.screen.height - windowHeight) >> 1;

	popUpWin = window.open(documentSrc, '','toolbar=0,channelmode=0,location=0,menubar=0,resizable=' + resizable + ',status=0,scrollbars=' + scrBars + ',width=' + windowWidth + ',height=' + windowHeight + ',left=' + windowLeft + ',top=' + windowTop);
	popUpWin.focus();
}

function openLink(anchorLink, anchorTarget){
	var tmpLink = ((anchorLink.indexOf("http://") == 0) || (anchorLink.indexOf("/") == 0)) ? anchorLink : webRoot + anchorLink;
	if (anchorTarget == "_blank"){
		window.open(tmpLink);
	}
	else{
		document.location.href = tmpLink;
	}
}

function download(downloadLink){
	openCentered(webRoot + "/content/download.asp?downloadlink=" + downloadLink, 500, 300, false, 1);
}

function displayAddress() {
	var ship = document.getElementById('shipAdLayer');
	var cbox = document.getElementById('useShipAddress');
	if (cbox.checked) {
		ship.style.display = 'block';		
	} else {
		ship.style.display = 'none';						
	}
}
//===============================================
// general functions
//===============================================
/**
 * Deze functie is een vervanger voor ExplorerFix() en geldt in ieder geval voor IE & Netscape 6+. Oproepen in: body onload="fixFocus();"
 */
function fixFocus(){var v=Array("button","a", "input");var a,m,i,j,b;for(j=0;j<v.length;j++){a=document.getElementsByTagName(v[j]);
	for(i=0;i<a.length;i++){m=a[i];b=false;if(v[j]=="input"){if(m.type=="button" || m.type=="submit"){b=true;}}else{b=true;}if(b){m.onfocus=m.blur;}}}
}
// koppeling van checkobject en event handler aan input veld
// parameter expression, zodat deze //0 mag niet in dit geval, daarom eerst [1-9], met daarna optionele [0-9]{1,2} = [0-9]{0,2}
function bindInputToCheck(inputElement, expression) {
	if (inputElement != null) {
		inputElement.validator = new RegExp(expression, "");
		inputElement.valid = true;
		inputElement.onkeyup = function(){
			if (this.value.match(this.validator) == null){
				this.valid = false;
				this.className = "shopinputquantityfalse";
			}
			else{
				this.valid = true;
				this.className = "shopinputquantity";
			}
			if (document.addform) {
				document.addform.addbutton.disabled = !this.valid;
			}
		}
	}
}
function reloadBottom() {
	var ref = top.bottomFrame.location.href;
	top.bottomFrame.location.href = ref;
}

function reloadMain() {
	var ref;
	ref = top.mainFrame.location.href;
	if (top.mainFrame2) {
		ref = top.mainFrame2.location.href;
	}
	var step = 0;
	if (ref != null) {
		if (ref.indexOf("shop_order") > -1) {
			step = top.mainFrame.document.orderform.currentStep.value;
			if (ref.indexOf("?") > -1) {
				ref = ref.substring(0, ref.indexOf("?"));
			}
			ref = ref + "?step=" + step;
		}
		if (top.mainFrame2) {
			top.mainFrame2.location.href = ref;
		} else {
			top.mainFrame.location.href = ref;
		}
	}
}

/**
  *
	* Array Class extensions
	*
	* toegevoegde methodes
	*
	*/
Array.prototype.indexOf = function(entryValue) {
	var result = -1;
	for (var i = 0; i < this.length; i++) {
		if (this[i] == entryValue) {
			result = i;
			break;
		}
	}
	return(result);
}

Array.prototype.deleteAt = function(indexValue) {
	return(this.splice(indexValue, 1));
}

/**
  *
  * global page load functionality
  *
  *
	**/
var globalLoadHandlers = [];

window.onload = function() {
	fixFocus();
	globalOnLoad();
}

function registerLoadHandler(eventHandler) {
	if (eventHandler && (typeof(eventHandler) == "function")) {
		var doAdd = true;
		for (var i=0; i<globalLoadHandlers.length; i++) {
			if (globalLoadHandlers[i] == eventHandler) {
				doAdd = false;
				break;
			}
		}
		if (doAdd) globalLoadHandlers.push(eventHandler);
	}
}

function globalOnLoad() {
	for (var i=0; i<globalLoadHandlers.length; i++) {
		globalLoadHandlers[i]();
	}
}