/*
Copyright (c) 2004-2008 Ylab, www.ylab.nl
*/

var debugging = true;
var isOpera = (navigator.userAgent.indexOf("Opera") > -1);
var isNav = ((!isOpera) && (navigator.appName == "Netscape"));
var isIE  = ((!isOpera) && (navigator.appName.indexOf("Explorer") > -1 ));
var hasFirebug = (window.console && console.firebug);

//trap error
if(!debugging){
	window.onerror = function(msg, url, line){
		window.status = "Er is een fout opgetreden. Meld dit a.u.b. aan de webmaster. " + line + ":" + msg;
		return true;
	};
}
var loadFunctions = [];
function addLoadFunction(f) {loadFunctions[loadFunctions.length] = new Function(f);}
window.onload   = function(){for (var i=0; i<loadFunctions.length; i++){loadFunctions[i]();}};

//display mailto link
function printMail(username, linktext){
	username = username.toLowerCase() + "@differently.nl";
	if (!linktext){linktext = username;}
	document.write(linktext.link("mailto:" + username));
}

//Convert id into object
function id2object(el){
	if (typeof(el)=="string"){el = document.getElementById(el);}
	return el;
}

Array.prototype.in_array = function(element){
	var i;

	for (i=0; i<this.length; i++){
		if (this[i] == element){
			return true;
		}
	}
	return false;
};

Number.prototype.toTwoDec = function(){
	var n;
	if (isNaN(this)){
		return '-,--';
	}
	number = (Math.round(100 * this));
	if(number < 10){
		number = '0,0' + number;
	}else if(number < 100){
		number = '0,' + number;
	}else{
		number = number.toString()
		n = number.length;
		number = number.slice(0, n-2) + ',' + number.slice(n-2, n);
	}
	return number;
};

Number.prototype.toEuro = function(){
	return '&euro;&nbsp;' + this.toTwoDec();
};

function toTwoDec(number){
	if (isNaN(number)){return "-,--";}
	number = (Math.round(100 * number));
	if (number < 10){number = "0,0" + number;}
	else if (number < 100){number = "0," + number;}
	else {
		number = number.toString()
		var n = number.length;
		number = number.slice(0,n-2) + "," + number.slice(n-2,n);
	}
	return number;
}

function toEuro(number){
	number = toTwoDec(number);
	return "&euro;&nbsp;" + number;
}

//enable or disable elements and their children
function setEnabled(on){
	for (var i=1; i<arguments.length; i++){
		var obj = id2object(arguments[i]);
		if (!obj){continue;}
		obj.disabled = !on;
		if(on){
			removeClass(obj, 'disabled');
		}
		else{
			addClass(obj, 'disabled');
		}
		if (obj.hasChildNodes()){
			for (var j=0; j<obj.childNodes.length; j++){
				if (obj.childNodes[j].nodeType == 1){setEnabled(on, obj.childNodes[j]);}
			}
		}
	}
}

//DEBUGGING
function devAlert(){
	if(!debugging){return;}
	var code = "Deze functie is nog niet geïmplementeerd.\n";
	for(var i=0; i < arguments.length; i++){
		code += arguments[i] + "\n";
	}
	alert(code);
}

function debugAlert(){
	if(!debugging){return;}
	var code = "";
	for(var i=0; i < arguments.length; i++){
		code += arguments[i] + "\n";
	}
	code += '\nKlik op Annuleren om verdere meldingen te onderdrukken.';
	debugging = confirm(code);
}

function debugConfirm(){
	if(!debugging){return;}
	var code = "";
	for(var i=0; i < arguments.length; i++){
		code += arguments[i] + "\n";
	}
	return confirm(code);
}

