/* stem sterren rollover*/
function rollover (inNum) {
	for (i=inNum; i>0; i--) {
		document.getElementById('stem'+i).src = "img/sterren/stem1.gif";
	};
}
function rollout (inNum) {
	for (i=inNum; i>0; i--) {
		document.getElementById('stem'+i).src = "img/sterren/stem0.gif";
	};
}

function stemOpDeelnemer(hrefID) {
	var vote = hrefID.substr(0,1);
	var deelnemerID = hrefID.substr(2,36);	
	var stemTD = "stemTD_" + deelnemerID;
	var hrefPrefix = hrefID.substr(39,hrefID.length);	
	var href = hrefPrefix + deelnemerID;
	var hrefTitle = document.getElementById(href).title;	
	var searchString = 'id="stemTD_"' + deelnemerID;
	//uitvoeren event voor stem		
	var link= "?event=ajaxStemOpDeelnemer&cijfer=" + vote + "&deelnemerID=" + deelnemerID;	
	execAjax(link);
	//aanpassen stem funcitonaliteit + plaatsen "Verwerkt" tekst
	addClassToElement(document.getElementById(stemTD),'incidenteeltekstOpvallen');
	document.getElementById(stemTD).innerHTML = "Uw stem is verwerkt";
	
}


/* algemene functies */


function replaceSingleQuote(string){
	var regexp = /'/g;
	return  string.replace(regexp,"`");
}

function closePopup() {
	writeroot = document.getElementById('dynamic_content');
	writeroot.className = 'popup noDisplay';
}

function run(){
	for (i in document.functionArray){
		eval(document.functionArray[i]);
	}
}
// Array om uitgestelde Javascript commando's in op te slaan.
// Deze commando's worden aan het eind van het laden van de pagina
// sequentieel uitgevoerd
if (!document.functionArray) document.functionArray = new Array();

// Functie voor het toevoegen van uitgestelde Javascript commando's.
function addFunction(func)
{
	document.functionArray[document.functionArray.length] = func;
}


// voeg een trim functie toe aan het pre-built String object in javascript 
// dit wordt via prototype gedaan zodat de nieuwe functie voor alle String instanties beschikbaar is
String.prototype.trim = function() {
 // skip leading and trailing whitespace, and return everything in between
  var x = this;
  x = x.replace(/^\s*(.*)/, "$1");
  x = x.replace(/(.*?)\s*$/, "$1");
  return x;
}


function checkVerwijder(tekst,url){
	if (confirm('Weet u zeker dat u ' + tekst + ' wil verwijderen?')) 
	{
		if(url) location.href = url;
		return true
	}	
	else return false;	
}

function checkActiveer(tekst){
	if (confirm('Weet u zeker dat u ' + tekst + ' weer wilt activeren?')) 
	{
		return true
	}	
	else return false;	
}

/* applicatie-specifieke functies */

function orderBy(key,form) {
	if(document.getElementById('orderBy').value == key) {
		key = key + ' desc';
	}
	document.getElementById('orderBy').value = key;
	if(form) {oForm = document.getElementById(form);}
	else     {oForm = document.getElementById('searchForm');}
	oForm.submit();
}	

function form_div(divje,img,action)	
{	
	if(divje){ //alleen als divje bestaat
		if (img == undefined) img=0;
		if (action != undefined){	
			if(action==1){				
				document.getElementById(divje).style.display='block';
				if (img != 0)document.images[img].src = "/img/boom_minteken.png";			
			}
			else {
				document.getElementById(divje).style.display='none';
				if (img != 0)document.images[img].src = "/img/boom_plusteken.png";
			}
		}		
		else {
			if (document.getElementById(divje).style.display=='block' || document.getElementById(divje).style.display==''){
				document.getElementById(divje).style.display='none';
				if (img != 0)document.images[img].src = "/img/boom_plusteken.png";
			}
			else {
			 	document.getElementById(divje).style.display='block';
				if (img != 0)document.images[img].src = "/img/boom_minteken.png";
			}			
		}		
	}	
}

function formulierReset(formName){
	var oParentNode			= document.getElementById(formName); //parent defineeren
	var aChildNodesInput	= oParentNode.getElementsByTagName("input"); //tagname input
	var aChildNodesSelect	= oParentNode.getElementsByTagName("select"); //tagname select
	for (x=0; x<aChildNodesInput.length; x++ ) {
			// instantieer input-object
			oChildNode = aChildNodesInput.item(x);			
			if(oChildNode.type == 'checkbox'){
				oChildNode.checked = false; //bij checkbox de checked op false
			} else oChildNode.value = "";  // bij text > value = leeg
	}
	for (x=0; x<aChildNodesSelect.length; x++ ) {
			// instantieer input-object
			oChildNode = aChildNodesSelect.item(x);
			oChildNode.options[0].selected = true; //bij een select de eerste optie selecteren
	}		
}


/* selecteren van alle items in een multiple selectbox*/
function SelectAllOptions(obj)
{	
	var objType = new String(obj.type);
	objType = objType.toLowerCase();
	if(objType == 'select-multiple'){
		for(var i=0;i<obj.options.length;i++) {				
				obj.options[i].selected = true;
		}
		return true;
	}
	else {
		alert('Het opgegeven object: ' + obj.name + ' is geen multiple selectbox');
		return false
	}		
}

//Functie om het nieuwe password te setten en dit in de hidden variabele password te zetten.
function setPassword()
{
	//Allebei de passwoorden ophalen uit het formulier
	var pass1 = document.getElementById('password1').value;
	var pass2 =	document.getElementById('password2').value;
	
	//Zijn de passworden gelijk aan mekaar, maar niet leeg?
	if(pass1 == pass2 && pass1 !=  "" && pass2 != "")
	{		
		//Zet dan de hidden value met een gehashed password.
		document.getElementById('password').value = calcSHA1(pass1);		
	}	
}

/* Bij het bewerken van een user de password velden enablen */
function editPassword(obj) {
	if(obj.checked) {
		document.getElementById('password1').disabled = false;
		document.getElementById('password2').disabled = false;
	}
	else {
		document.getElementById('password1').disabled = true;
		document.getElementById('password2').disabled = true;
	}
}




function setTextInMessage(string){
	if(document.getElementById('message')){	
		
		document.getElementById('message').value = string;
		//ook voor de div voor afgeronde So's moeten we de innerHTML setten ipv de value.
		document.getElementById('message').innerHTML = string;
		addClassToElement(document.getElementById('message'),'inputErrorValidatie');
		document.getElementById('message').focus();		
	}
}

function selecteerAlleCheckboxen(oForm){
	//alle checkboxen selecteren.
		for (counter = 0; counter < oForm.elements.length; counter++){	
			if(oForm.elements[counter].type == 'checkbox'){	
				oForm.elements[counter].checked = true;			
			}
		}	
}

function deSelecteerAlleCheckboxen(oForm){
	//alle checkboxen selecteren.
		for (counter = 0; counter < oForm.elements.length; counter++){	
			if(oForm.elements[counter].type == 'checkbox'){	
				oForm.elements[counter].checked = false;			
			}
		}	
}

/* SOURCE FILE: selectbox.js */
function selectUnselectMatchingOptions(obj,regex,which,only){if(window.RegExp){if(which == "select"){var selected1=true;var selected2=false;}else if(which == "unselect"){var selected1=false;var selected2=true;}else{return;}var re = new RegExp(regex);for(var i=0;i<obj.options.length;i++){if(re.test(obj.options[i].text)){obj.options[i].selected = selected1;}else{if(only == true){obj.options[i].selected = selected2;}}}}}
function selectMatchingOptions(obj,regex){selectUnselectMatchingOptions(obj,regex,"select",false);}
function selectOnlyMatchingOptions(obj,regex){selectUnselectMatchingOptions(obj,regex,"select",true);}
function unSelectMatchingOptions(obj,regex){selectUnselectMatchingOptions(obj,regex,"unselect",false);}
function sortSelect(obj){var o = new Array();if(obj.options==null){return;}for(var i=0;i<obj.options.length;i++){o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;}if(o.length==0){return;}o = o.sort(
function(a,b){if((a.text+"") <(b.text+"")){return -1;}if((a.text+"") >(b.text+"")){return 1;}return 0;});for(var i=0;i<o.length;i++){obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);}}
function selectAllOptions(obj){for(var i=0;i<obj.options.length;i++){obj.options[i].selected = true;}}
function moveSelectedOptions(from,to){if(arguments.length>3){var regex = arguments[3];if(regex != ""){unSelectMatchingOptions(from,regex);}}for(var i=0;i<from.options.length;i++){var o = from.options[i];if(o.selected){to.options[to.options.length] = new Option( o.text, o.value, false, false);}}for(var i=(from.options.length-1);i>=0;i--){var o = from.options[i];if(o.selected){from.options[i] = null;}}if((arguments.length<3) ||(arguments[2]==true)){/*sortSelect(from);*/sortSelect(to);}from.selectedIndex = -1;to.selectedIndex = -1;}
function copySelectedOptions(from,to){var options = new Object();for(var i=0;i<to.options.length;i++){options[to.options[i].text] = true;}for(var i=0;i<from.options.length;i++){var o = from.options[i];if(o.selected){if(options[o.text] == null || options[o.text] == "undefined"){to.options[to.options.length] = new Option( o.text, o.value, false, false);}}}if((arguments.length<3) ||(arguments[2]==true)){sortSelect(to);}from.selectedIndex = -1;to.selectedIndex = -1;}
function moveAllOptions(from,to){selectAllOptions(from);if(arguments.length==2){moveSelectedOptions(from,to);}else if(arguments.length==3){moveSelectedOptions(from,to,arguments[2]);}else if(arguments.length==4){moveSelectedOptions(from,to,arguments[2],arguments[3]);}}
function copyAllOptions(from,to){selectAllOptions(from);if(arguments.length==2){copySelectedOptions(from,to);}else if(arguments.length==3){copySelectedOptions(from,to,arguments[2]);}}
function swapOptions(obj,i,j){var o = obj.options;var i_selected = o[i].selected;var j_selected = o[j].selected;var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);o[i] = temp2;o[j] = temp;o[i].selected = j_selected;o[j].selected = i_selected;}
function moveOptionUp(obj){var selectedCount=0;for(i=0;i<obj.options.length;i++){if(obj.options[i].selected){selectedCount++;}}if(selectedCount!=1){return;}var i = obj.selectedIndex;if(i == 0){return;}swapOptions(obj,i,i-1);obj.options[i-1].selected = true;}
function moveOptionDown(obj){var selectedCount=0;for(i=0;i<obj.options.length;i++){if(obj.options[i].selected){selectedCount++;}}if(selectedCount != 1){return;}var i = obj.selectedIndex;if(i ==(obj.options.length-1)){return;}swapOptions(obj,i,i+1);obj.options[i+1].selected = true;}
function removeSelectedOptions(from){for(var i=(from.options.length-1);i>=0;i--){var o=from.options[i];if(o.selected){from.options[i] = null;}}from.selectedIndex = -1;}


/* SOURCE FILE: OptionTransfer.js */

function OT_transferLeft(){moveSelectedOptions(this.right,this.left,this.autoSort);this.update();}
function OT_DeletePostcode(){moveSelectedOptions(this.right,this.left,this.autoSort);this.update();}
function OT_transferRight(){moveSelectedOptions(this.left,this.right,this.autoSort);this.update();}
function OT_transferRightPostcodeCheck(){moveSelectedOptions(this.left,this.right,this.autoSort);this.update();postcodeExists(this.right);}

function OT_DeleteAllPostcode() { DeleteAllPostcodeSelect(this.right); }
function OT_DeletePostcode() { DeletePostcodeSelect(this.right); }

function OT_transferAllLeft(){moveAllOptions(this.right,this.left,this.autoSort);this.update();}
function OT_transferAllRight(){moveAllOptions(this.left,this.right,this.autoSort);this.update();}
function OT_transferAllRightPostcodeCheck(){moveAllOptions(this.left,this.right,this.autoSort);this.update();postcodeExists(this.right);}

function OT_saveRemovedLeftOptions(f){this.removedLeftField = f;}
function OT_saveRemovedRightOptions(f){this.removedRightField = f;}
function OT_saveAddedLeftOptions(f){this.addedLeftField = f;}
function OT_saveAddedRightOptions(f){this.addedRightField = f;}
function OT_saveNewLeftOptions(f){this.newLeftField = f;}
function OT_saveNewRightOptions(f){this.newRightField = f;}
function OT_update(){var removedLeft = new Object();var removedRight = new Object();var addedLeft = new Object();var addedRight = new Object();var newLeft = new Object();var newRight = new Object();for(var i=0;i<this.left.options.length;i++){var o=this.left.options[i];newLeft[o.value]=1;if(typeof(this.originalLeftValues[o.value])=="undefined"){addedLeft[o.value]=1;removedRight[o.value]=1;}}for(var i=0;i<this.right.options.length;i++){var o=this.right.options[i];newRight[o.value]=1;if(typeof(this.originalRightValues[o.value])=="undefined"){addedRight[o.value]=1;removedLeft[o.value]=1;}}if(this.removedLeftField!=null){this.removedLeftField.value = OT_join(removedLeft,this.delimiter);}if(this.removedRightField!=null){this.removedRightField.value = OT_join(removedRight,this.delimiter);}if(this.addedLeftField!=null){this.addedLeftField.value = OT_join(addedLeft,this.delimiter);}if(this.addedRightField!=null){this.addedRightField.value = OT_join(addedRight,this.delimiter);}if(this.newLeftField!=null){this.newLeftField.value = OT_join(newLeft,this.delimiter);}if(this.newRightField!=null){this.newRightField.value = OT_join(newRight,this.delimiter);}}
function OT_join(o,delimiter){var val;var str="";for(val in o){if(str.length>0){str=str+delimiter;}str=str+val;}return str;}
function OT_setDelimiter(val){this.delimiter=val;}
function OT_setAutoSort(val){this.autoSort=val;}
function OT_init(theform){
	this.form = theform;
/*	if(!document.getElementById(this.left))
		{alert("OptionTransfer init(): Left select list does not exist in form!");
		return false;
	}
	if(!document.getElementById(this.right))
		{alert("OptionTransfer init(): Right select list does not exist in form!");
		return false;
	}*/
	this.left=document.getElementById(this.left);
	this.right=document.getElementById(this.right);
	for(var i=0;i<this.left.options.length;i++){
		this.originalLeftValues[this.left.options[i].value]=1;
	}
	for(var i=0;i<this.right.options.length;i++){
		this.originalRightValues[this.right.options[i].value]=1;
	}
	if(this.removedLeftField!=null){
		this.removedLeftField=theform[this.removedLeftField];
	}
	if(this.removedRightField!=null){
		this.removedRightField=theform[this.removedRightField];
	}
	if(this.addedLeftField!=null){
		this.addedLeftField=theform[this.addedLeftField];
	}
	if(this.addedRightField!=null){
		this.addedRightField=theform[this.addedRightField];
	}
	if(this.newLeftField!=null){
		this.newLeftField=theform[this.newLeftField];
	}
	if(this.newRightField!=null){
		this.newRightField=theform[this.newRightField];
	}
	this.update();
}
function OptionTransfer(l,r){
    this.form = null;
    this.left=l;
    this.right=r;
    this.autoSort=false;
    this.delimiter=",";
    this.originalLeftValues = new Object();
    this.originalRightValues = new Object();
    this.removedLeftField = null;
    this.removedRightField = null;
    this.addedLeftField = null;
    this.addedRightField = null;
    this.newLeftField = null;
    this.newRightField = null;
    this.transferLeft=OT_transferLeft;
	
	this.DeletePostcode=OT_DeletePostcode;
	
	
    this.transferRight=OT_transferRight;
	this.transferRightPostcodeCheck=OT_transferRightPostcodeCheck;		
   
   
    this.transferAllLeft=OT_transferAllLeft;
	this.DeleteAllPostcode=OT_DeleteAllPostcode;
	
	
    this.transferAllRight=OT_transferAllRight;	
	this.transferAllRightPostcodeCheck=OT_transferAllRightPostcodeCheck;		
    this.saveRemovedLeftOptions=OT_saveRemovedLeftOptions;
    this.saveRemovedRightOptions=OT_saveRemovedRightOptions;
    this.saveAddedLeftOptions=OT_saveAddedLeftOptions;
    this.saveAddedRightOptions=OT_saveAddedRightOptions;
    this.saveNewLeftOptions=OT_saveNewLeftOptions;
    this.saveNewRightOptions=OT_saveNewRightOptions;
    this.setDelimiter=OT_setDelimiter;
    this.setAutoSort=OT_setAutoSort;
    this.init=OT_init;
    this.update=OT_update;}



function openInNewWindow(bestand){
	var newWindow = window.open(bestand, '_blank');
	newWindow.focus();
	return false;
}

/*	Functie die van input elementen de inhoud naar je clipboard kopieert
	LET OP!! Werkt niet voor textareas! */
function CopyToClipBoard(element) 
{
	textholder = document.getElementById(element);
	Copied = textholder.createTextRange();
	Copied.execCommand("Copy");
	alert('De tekst is gekopieerd naar uw clipboard');
}

function refreshCaptcha()
{	
	//Formulier kan op deze manier niet gepost worden; de captcha is immers leeg
	objcaptcha = document.getElementById('captcha');
	objcaptcha.value = '';
	
	//Haal het formulier op		
	obj = document.getElementById('frmDeelnemer');
	obj.action = 'index.cfm?event=webSetDeelnemer#refresh'	
	//En submit het formulier
	obj.submit();	
}

