var clicktimer;
function singleDoubleClick(functionSingle, functionDouble){	
	e= window.event || e;
	if(clicktimer){
		clearTimeout(clicktimer);
		clicktimer= null;
		eval(functionDouble);
	}
	else clicktimer= setTimeout(function(e){
		clicktimer= null;
		eval(functionSingle);
	},500);
}


function prependChild(parent,child){
	parent.insertBefore(child,parent.childNodes[0]);
}

// not tested yet TODO
function getChildrenByTagName(parent, tagName){
	var arr_elements = [];
	for (var i=0; parent.childNodes.length>i; i++){
		if(parent.childNodes[i].tagName == tagName){
			arr_elements.push(parent.childNodes[i]);
		}
	}
	return arr_elements;
}

function isDisabled(element){
	return hasClass(element, "disabled");
}

function redirect($url){
	window.location = $url;
}
function gElement(id){
	return document.getElementById(id);
}
function cElement(type){
	return document.createElement(type);
}

function rElement(element){
	element.parentNode.removeChild(element);
}

function cTextNode(value){
	return document.createTextNode(value);
}

function cClearFloat(){
	var element = cElement("div");
	element.className = "clearFloat";
	return element;
}

function ucfirst(value){
	return value.substr(0, 1).toUpperCase() + value.substr(1);
}
					
function removeArrayElement(array, value){
	for(var i=0; i<array.length; i++){
		if(array[i] == value){
			array.splice(i,1);
			break;
		}
	}
}

function getElement(elementId){
	return document.getElementById(elementId);
}

function getUrlParameter( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function setFocusOnFirstField( aForm ){
	if( aForm.elements[0]!=null) {
		var i;
		var max = aForm.length;
		for( i = 0; i < max; i++ ) {
			if( aForm.elements[ i ].type != "hidden" &&
				!aForm.elements[ i ].disabled &&
				!aForm.elements[ i ].readOnly ) {
				aForm.elements[ i ].focus();
				break;
			}
		}
	}
}

function clearContent(element){
	while(element.firstChild){
		element.removeChild(element.firstChild);
	}
}

function executeAfter(exeFunction, timeInMs){
	setTimeout(function(){exeFunction},timeInMs);
}

function trim(string)
{
    return string.replace(/^\s+|\s+$/g, '')
}

function createDIV(){
	return document.createElement('div');
}

function addText(element, text){
	return element.appendChild(document.createTextNode(text));
}

function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
 
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
 
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
    	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function getElementsByClass( searchClass, domNode, tagName) { 
	if (domNode == null) domNode = document;
	if (tagName == null) tagName = '*';
	var el = new Array();
	var tags = domNode.getElementsByTagName(tagName);
	var tcl = " "+searchClass+" ";
	for(i=0,j=0; i<tags.length; i++) { 
		var test = " " + tags[i].className + " ";
		if (test.indexOf(tcl) != -1) 
			el[j++] = tags[i];
	} 
	return el;
} 

// Get the HTTP Object
function getHTTPObject(){
	if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
} 

function validateState(httpObject){
	if(httpObject.readyState == 4){
		if(httpObject.responseText.substring(0,4) == 'FOUT'){
			addFeedback(trim(httpObject.responseText) , "negative", "Mocht dit probleem zich vaker voorkomen dan wordt u verzocht om contact op te nemen.");
			return false;
		}
		else if(trim(httpObject.responseText).length){
			addFeedback(trim(httpObject.responseText) , "positive", "");
		}
	}
	return true;
}

function createForm(submitTo, urlParameters){
	var form = document.createElement('form');
	form.method = "post";
	form.id = "hiddenForm";
	form.name = "hiddenForm";
	form.action = submitTo;
	
	if(urlParameters){
		arrParameters = urlParameters.split(",");
		for ( var i in arrParameters )
		{
			arrParameter = arrParameters[i].split("=");
			var input = document.createElement('input');
			
			input.type = "hidden";
			input.name = arrParameter[0];
			
			input.value = arrParameter[1];
			
			form.appendChild(input);
		}
	}
	
	document.body.appendChild(form);

	document.getElementById('hiddenForm').submit();
}
