function switchToAdvancedFCK(link, editor){
	var oEditor = FCKeditorAPI.GetInstance(editor);
	
	if (oEditor.EditorWindow.parent.FCK.ToolbarSet.Name!='Advanced'){
		oEditor.EditorWindow.parent.FCK.ToolbarSet.Load('Advanced');
		link.update('Minder opties');
	}
	else{
		oEditor.EditorWindow.parent.FCK.ToolbarSet.Load('Simple');
		link.update('Meer opties');
	}
}

function switchToAdvancedCK(link, editor){
	//destroy old
	var oEditor = CKEDITOR.instances[editor];
	var config = oEditor.config;
	oEditor.destroy();
	
	var toolbar;
	//choose toolbar
	switch(oEditor.config.toolbar){
		case 'Basic': 		
			toolbar = 'Advanced';
			$(link.update('Pro opties'));
			break;
		case 'Advanced' : 	
			toolbar = 'Pro';
			$(link.update('Basis'))
			break;
		case 'Pro' : 		
			toolbar = 'Basic';
			$(link.update('Meer opties'))
		 	break;
		default: 			
			toolbar = 'Basic';
	}
	
	config.toolbar = toolbar;
	
	//create new
	var editor = CKEDITOR.replace(editor,config);
}

/**
 * checkAll().  Check/uncheck all checkboxes
 * @param: the checkall button itself
 * @param: the name of the array that must be checked
 * @param: the name of the form
 */
function checkAll(me,name,form, type, inverse, start, stop, jump) {
	var val = me.checked;
	var thisform = eval('document.'+form);

	//check if there is a ? in $name
	if (name.indexOf('?') != -1){// this is one
		var t = /\]\[/g;
		var tosplit = name.replace(t, ' ');
		tosplit = tosplit.replace('[', ' ');
		tosplit = tosplit.replace(']', '');
		var splitted = tosplit.split(' ');

		if (!start) start=0;
		if (!stop) stop=thisform.elements.length;
		else stop=start+stop;
		if (!jump) jump=1;

		for (var i=start;i < stop;i+=jump) {
			var e = thisform.elements[i];

			var tosplit2 = e.name.replace(t, ' ');
			tosplit2 = tosplit2.replace('[', ' ');
			tosplit2 = tosplit2.replace(']', '');
			var splitted2 = tosplit2.split(' ');

			var thename = splitted[0];
			for (p=1; p<splitted.length; p++){
				if (splitted[p] != '?')
					thename +='['+splitted[p]+']';
				else thename += '['+splitted2[p]+']';
			}

			if (e.name == thename){
				if (type=='checked'){
					if (inverse){
						e.checked = !val;
					}
					else e.checked = val;
				}
				else if (type == 'display'){
					if (e.type=='text')
					 	e.type = 'hidden';
					else e.type = 'text';
				}
				else{
					if (inverse)
						e.checked = !val;
					else e.checked = val;
				}
			}
		}
	}
	else{//there is none
		for (var i=0;i < thisform.elements.length;i++) {
			var e = thisform.elements[i];
			if (e.name == name){
				if (inverse){
					if (val){
						e.checked = !val;
					}
				}
				else e.checked = val;
			}
		}
	}
	//alert(loopcount);
}
/**
 * showHide().  Show and hide a given DOM object
 * @param: The id from the object to show/hide
 */
function showHide(id, starthide){

	var elem = new getObj(id);
	which = elem.style.display;

	if (which == "block") {
		elem.style.display = "none";
	}
	else if(which == "" && starthide==1){
		elem.style.display = "none";
	}
	else {
		elem.style.display = "block";
	}
}

/**
 * show()
 */
function showIt(id, t){
	 var t = (t == null) ? "block" : t;
	var elem = new getObj(id);
	elem.style.display = t;
}
/**
 * hide()
 */
function hideIt(id){
	var elem = new getObj(id);
	elem.style.display = "none";
}

var ids;
function showFileInfo(id, extra){
	if (!ids){
		var idkes = new getObj('ids');
		tmp = idkes.obj.value;
		ids = tmp.split(',');
	}


	//first unselect all
	for (var i=0; i<ids.length; i++){
		if (ids[i] != id){
			var tmpx = new getObj('doc_'+ids[i]);
			tmpx.style.backgroundColor='transparent';
			//tmpx.style.border='1px solid grey';
		}
	}


	//then select/unselect the one
	var elem = new getObj('doc_'+id);
	style = elem.style;
	var info = new getObj('file_actions');

	var selfile = new getObj('sel_file');
	selfile.obj.innerHTML='';


	if (style.backgroundColor=='#eef7ff'){
		style.backgroundColor='transparent';
		//style.border='1px solid grey';
		info.style.display='none';
		selfile.obj.innerHTML='';
	}
	else{
		style.backgroundColor='#eef7ff';
		//style.border='1px solid #b7c6da';
		info.style.display='block';
		selfile.obj.innerHTML=elem.obj.innerHTML;
	}

	//edit link id's
	var download = new getObj('download');
	download.obj.href='/getfile.php?id='+id+'/';
	var view = new getObj('view');
	view.obj.href='/viewfile.php?id='+id+'/';
	var deletefile = new getObj('delete_id');
	deletefile.obj.value=id;
	var blockfile = new getObj('block_id');
	blockfile.obj.value=id;

	var edit = new getObj('edit');
	edit.obj.href='edit-'+id+'.htm';

	var renamefile_name = new getObj('rename_name');
	var renamefile_id = new getObj('rename_id');

	renamefile_name.obj.value=extra;
	renamefile_id.obj.value=id;


	showHideActions('');
}

function reloadImage(id){
	var img = new getObj(id);

	img.obj.src = '/captcha.php?'+Math.random();
}

function showHideActions(id){
	var upload = new getObj('upload');
	var createdir = new getObj('createdir');
	var deletefile = new getObj('deletefile');
	var rename = new getObj('rename');
	var block = new getObj('block');

	upload.style.display='none';
	createdir.style.display='none';
	deletefile.style.display='none';
	rename.style.display='none';
	block.style.display='none';

	if (id!=''){
		var theone = new getObj(id);
		theone.style.display='block';
	}
}

function checkVip(form){
	if (form.elements['contacts[]'].length<10){
		var answer = confirm("Je kan enkel VIP worden als je meer dan 10 vrienden uitnodigd!\nDruk op [OK] om toch door te gaan of op [CANCEL] om meer vrienden uit te nodigen.");
	}
	return answer;
}

function confirmIt(){
	return confirm('Zeker?');
}

/**
 *
 */
function toggleAnswers(question_id,answer_id, variables){

	var v1 = new getObj('answer_'+question_id+'_'+answer_id);

	if (v1.obj.disabled || v1.style.background =='#cccccc' || v1.style.background =='#ccc'){
		v1.style.background="";
		v1.style.border="1px solid #CCC";
		v1.obj.disabled=false;
		addRow(question_id,answer_id, variables);
	}
	else{
		v1.style.background="#CCC";
		v1.style.border="1px solid #CCC";
		v1.obj.value = '';
		//v1.obj.disabled=true;
	}


	for (var i=0; i<variables.length;i++){
		var v = new getObj('answer_'+question_id+'_'+answer_id+'_'+variables[i]);

		if (v.obj.disabled){
			v.style.background="";
			v.style.border="1px solid #CCC";
			v.obj.disabled=false;
		}
		else{
			v.obj.disabled=true;
			v.style.background="#CCC";
			v.style.border="1px solid #CCC";
		}
	}
}

function addRow(question_id, answer_id, variables){
    var tbody = document.getElementById('table_'+question_id).getElementsByTagName("TBODY")[0];

    var trs = tbody.getElementsByTagName("TR");
    var tmp = trs[trs.length-1].id.split('_')[2].charCodeAt(0)+1;
    var answer_id = String.fromCharCode(tmp);

    if (tmp>122) return 0;


    var row = document.createElement("TR");
    row.id='r_'+question_id+'_'+answer_id;
    var td1 = document.createElement("TD");
    var check1 = document.createElement('input');
    check1.setAttribute('type', 'checkbox');
    //check1.setAttribute('onchange', "javascript:toggleAnswers('" + question_id + "','" + answer_id + "', Array(" + variables.join(',') + "));");
    check1.onclick = function(){
    	toggleAnswers(question_id, answer_id, variables);
    }
    td1.appendChild(check1);

    var td2 = document.createElement("TD");
    var input1 = document.createElement('input');
    input1.setAttribute('type', 'text');
    input1.setAttribute('name', "question["+question_id+"][answers]["+answer_id+"][answer]");
    input1.setAttribute('size', '30');
	input1.setAttribute('disabled', true);
	input1.setAttribute('id', "answer_"+question_id+"_"+answer_id)
	input1.style.background="#CCC";
	input1.style.border="1px solid #CCC";
    td2.appendChild (input1);

    row.appendChild(td1);
    row.appendChild(td2);

    for (var i=0; i<variables.length; i++){
	    var td3 = document.createElement("TD");
	    var input2 = document.createElement('input');
	    input2.setAttribute('type', 'text');
	    input2.setAttribute('name', "question["+question_id+"][answers]["+answer_id+"][scores]["+variables[i]+"]");
	    input2.setAttribute('size', '4');
	    input2.setAttribute('value', '0');
		input2.setAttribute('disabled', true);
		input2.setAttribute('id', "answer_"+question_id+"_"+answer_id+"_"+variables[i]);
	    td3.appendChild (input2);
	    input2.style.background="#CCC";
		input2.style.border="1px solid #CCC";
       	row.appendChild(td3);
    }
    tbody.appendChild(row);



   /* <td><input type="checkbox" {checked} onchange="javascript:toggleAnswers('{question_id}','{answer_id}', Array({variables}));" /></td>

	<td><input type="text" name="question[{question_id}][answers][{answer_id}][answer]" value="{answer}" size="30" {disabled} id="answer_{question_id}_{answer_id}" /></td>

	<!-- START BLOCK : variable_body -->
	<td><input type="text" name="question[{question_id}][answers][{answer_id}][scores][{var_id}]" value="{score}" size="4" {disabled} id="answer_{question_id}_{answer_id}_{var_id}" /></td>
	<!-- END BLOCK : variable_body -->*/
}
/**
 * checkDate();
 * check if the entered date is correct
 */
function checkDate(name){
	var day = new getObj(name+'_d');
	var month = new getObj(name+'_m');
	var year = new getObj(name+'_y');

	selday = day.obj.value;
	selmonth = month.obj.value;
	selyear = year.obj.value;


	if (selmonth == 1 ||selmonth == 3 ||selmonth == 5 ||selmonth == 7 ||selmonth == 8 ||selmonth == 10 ||selmonth == 12){
		if (day.obj.options[29]==null) day.obj.options[29]=new Option(29,29);
		if (day.obj.options[30]==null) day.obj.options[30]=new Option(30,30);
		if (day.obj.options[31]==null) day.obj.options[31]=new Option(31,31);
	}
	else if(selmonth == 2){
		day.obj.options[30]=null;
		day.obj.options[30]=null;

		if (selyear != ''){
			if (selyear%4!=0){
				day.obj.options[29]=null;
			}
			else{
				if (day.obj.options[29]==null) day.obj.options[29]=new Option(29,29);
			}

			if (selyear%100==0){
				if (selyear%400!=0){
					day.obj.options[29]=null;
				}
				else{
					if (day.obj.options[29]==null) day.obj.options[29]=new Option(29,29);
				}
			}
		}
		if (selday<=28) day.obj.options[selday].selected=true;
		else day.obj.options[day.obj.options.length-1].selected=true;
	}
	else{
		if (day.obj.options[29]==null) day.obj.options[29]=new Option(29,29);
		if (day.obj.options[30]==null) day.obj.options[30]=new Option(30,30);
		if (selmonth!='') {
			day.obj.options[31]=null;
			if (selday==31)day.obj.options[day.obj.options.length-1].selected=true;
		}
	}


}

function addToColumn(title, id, pos, twice){
	var elem = new getObj(pos);
	var opt = new Option(title, id);
	var length = elem.obj.options.length;

	if (twice==false){
		var elemL = new getObj('leftcolumn');
		var elemR = new getObj('rightcolumn');
		var lengthL = elemL.obj.options.length;
		var lengthR = elemR.obj.options.length;

		var exists = false;
		for (var i=0; i<lengthL;i++){
			if (elemL.obj.options[i].value == id){
				exists = true;
				break;
			}
		}
		for (var i=0; i<lengthR;i++){
			if (elemR.obj.options[i].value == id){
				exists = true;
				break;
			}
		}
		if (exists != true){
			elem.obj.options[length] = opt;
		}
		else {
			alert('bestaat al');
		}
	}
	else{
		elem.obj.options[length] = opt;
	}
}
function removeFromColumn(pos){
	var elem = new getObj(pos);

	var selected = elem.obj.selectedIndex;

	elem.obj.options[selected] = null;
}

function validateBoxes(){
	selectAllOptions('leftcolumn');
	//selectAllOptions('rightcolumn');
}

function swapOptions(side,pos){

	var elem = new getObj(pos);
	var i = elem.obj.selectedIndex;
	var j = eval(i+parseInt(side));

	var o = elem.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 selectAllOptions(pos){
	var elem = new getObj(pos);
	var obj = elem.obj;

	for(var i=0;i<obj.options.length;i++){
		obj.options[i].selected = true;
	}
}

function moveToNext(pos, remove){
	if (pos =='leftcolumn'){
		var from = pos;
		var to = 'rightcolumn';
	}
	else{
		var from = pos;
		var to = 'leftcolumn';
	}

	var elemFrom = new getObj(from);
	var elemTo = new getObj(to);

	for(i=0; i<elemFrom.obj.options.length; i++){
		if (elemFrom.obj.options[i].selected){
			var temptext = elemFrom.obj.options[i].text;
			var tempid	= elemFrom.obj.options[i].value;
			if (remove == true)
				removeFromColumn(from);
			addToColumn(temptext, tempid, to);
		}
	}

}

/**
 * getObj().  Get the DOM object with given id
 * @param: The id from the DOM object
 */
function popUp(URL) {
	bla = window.open(URL,"View_file","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=350, height=400");
}

function popUpIt(url, title, width, height){
	bla = window.open(url,title,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width="+width+", height="+height);
}

/**
 * showCode().  Show the whole code, without vertical scrollbar
 */
function showCode(id){
	var code = new getObj(id);

	code.style.maxHeight="none";
}

/**
 * prevent submitting form on enter
 */
function disableEnterKey(e)
{
     var key;
     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox
     if(key == 13)
          return false;
     else
          return true;
}

/**
 * Check if there are checkboxes selected in the section
 */
function checkItems(start, to, rangediv){
	var checked = false;

	for(var i=start; i<to; i++){
		var tmp = document.frm_member_search.elements[i];
		var disa = tmp.name.split('][');

		if (tmp.checked && disa[1] !='disable]'){
			checked = true;
		}
	}
	var div = new getObj(rangediv);
	if (!checked){
		div.style.color="#CCCCCC";
	}
	else{
		div.style.color="orange";
	}
}

var CHECKBOX_COUNT=1;
function addCheckListItem(container_id, initial_count, type){
	var container = new getObj(container_id);

	var count = parseInt(CHECKBOX_COUNT)+parseInt(initial_count);

	var div = document.createElement('div');
	div.id=container_id+'_'+count;
	container.obj.appendChild(div);

	var input = document.createElement('input');
	input.type='text';
	input.name='checklist['+count+']';
	div.appendChild(input);

	/*var checkbox = document.createElement('input');
	checkbox.type=type;
	if (type == 'checkbox'){
		checkbox.name='checked['+count+']';
		checkbox.value='1';
	}
	else{
		checkbox.name='selected';
		checkbox.value=count;
	}*/


	if (type=='checkbox'){
		try{
			checkbox = document.createElement('<input type="checkbox" name="checklist['+count+']" value="1" />');
		}catch(err){
			checkbox = document.createElement('input');
			checkbox.type=type;
			checkbox.name='checked['+count+']';
			checkbox.value='1';
		}

	}
	else{
		try{
			checkbox = document.createElement('<input type="radio" name="selected" value="'+count+'" />');
		}catch(err){
			checkbox = document.createElement('input');
			checkbox.type=type;
			checkbox.name='selected';
			checkbox.value=count;
		}
	}
	/*try{
		rdo = document.createElement('<input type="radio" name="checklist['+count+']" />');
	}catch(err){
		rdo = document.createElement('input');
		rdo.setAttribute('type','radio');
		rdo.setAttribute('name','fldID');
	}*/


	div.appendChild(checkbox);
	div.appendChild(document.createTextNode(' Standard checked '));

	var removelink = document.createElement('a');
	removelink.href='javascript:delCheckListItem(\''+div.id+'\', \''+container_id+'\');';

	var image = document.createElement('img');
	image.src='/templates/skins/thin_green_line/img/icons/remove.gif';
	image.border=0;
	removelink.appendChild(image);
	//removelink.appendChild(document.createTextNode(' remove'));
	div.appendChild(removelink);

	div.appendChild(document.createElement('br'));

	CHECKBOX_COUNT++;
}

function delCheckListItem(id, container_id){
	var container = new getObj(container_id);
	container.obj.removeChild(document.getElementById(id));
}

function addFork(cat_id, fork){
	var container = new getObj(cat_id);
	var input_fork = new getObj(fork);
	var children = container.obj.childNodes;


	var span = document.createElement('span');
	span.id="span1";


	var start = (400-children[0].offsetWidth)/4;
	if (start>0) start+=1;

	var stop = start+parseInt(input_fork.obj.value);
	if (start>0) stop-=1;

	alert(start+'/'+stop);
	span.appendChild(document.createTextNode(start+'..'+stop));




	var colors = new Array("red", "yellow", "blue", "green");


	var ran_number=Math.floor(Math.random()*4);
	var bgcolor = colors[ran_number];

	var w = (input_fork.obj.value*4)-1;
	span.style="background:#CCC;border-right:1px solid black;height:25px;width:"+w+"px;display:block;float:left;";
	container.obj.appendChild(span);


	/** calculate total width for the rest **/
	var total_width=0;
	var children = container.obj.childNodes;

	for(var i=1; i<children.length;i++){
		total_width += children[i].offsetWidth;
	}

	var the_rest = new getObj('q_cat_1_rest');
	total_width = (400-total_width);
	the_rest.style.width = total_width+'px';

}

/**
 *
 */
function setCategories(count, var_id, start, stop){

	var container = new getObj('onderverdelingen'+var_id);
	container.obj.innerHTML = '';

	var step = Math.ceil((stop-start)/count);

	for (var i=1;i<count;i++){
		var input = document.createElement('input');
		input.size=2;
		input.type='text';
		input.name='forks['+var_id+'][]';
		input.value=start+i*step;

		container.obj.appendChild(document.createTextNode(' - '));
		container.obj.appendChild(input);
	}
}

/**
 *
 */
function enableMoreVars(type){
	var lbl = new getObj('lbl_morevar');
	var slct = new getObj('var_count');

	if (type){
		lbl.style.color="#000";
		slct.obj.disabled=false;
		enableVars(slct.obj.value);
	}
	else{
		lbl.style.color="#999";
		slct.obj.disabled=true;
		disableVars();
	}
}

/**
 *
 */
function enableVars(count){
	disableVars();

	for (var i=1; i<=count; i++){
		var v = new getObj('var_'+i);

		v.style.display='block';
	}
}

function disableVars(){
	for (var i=1; i<=4; i++){
		var v = new getObj('var_'+i);

		v.style.display='none';
	}
}


/**
 *
 */
function addTag(){
	var suggbox = new getObj("tag");
	var tags = new getObj("tags");
	var dummytags = new getObj("dummytags");
	var comma;

	if (suggbox.obj.value!=''){
		if (tags.obj.value != '') comma =", ";
		else comma = '';

		tags.obj.value += comma+suggbox.obj.value;
		dummytags.obj.value += comma+suggbox.obj.value;
	}

	suggbox.obj.value='';

}

function clearTags(){
	var tags = new getObj("tags");
	var dummytags = new getObj("dummytags");
	tags.obj.value='';
	dummytags.obj.value='';
}

function fillDefaultValues(module, form){
		
}

/**
 * add tag when pushing enter
 */
function enterTag(e){

     var key;
     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox
     if(key == 13){
          addTag();
          return false;
     }
     else
          return true;
}


function convertSpecialChars(origin){


	str = origin.toLowerCase();
	str = str.replace(/\xe0/g, 'a');
	str = str.replace(/\xe1/g, 'a');
	str = str.replace(/\xe2/g, 'a');
	str = str.replace(/\xe3/g, 'a');
	str = str.replace(/\xe4/g, 'a');
	str = str.replace(/\xe5/g, 'a');
	str = str.replace(/\xe6/g, 'ae');
	str = str.replace(/\xe7/g, 'c');
	str = str.replace(/\xf1/g, 'n');
	str = str.replace(/\xe8/g, 'e');
	str = str.replace(/\xe9/g, 'e');
	str = str.replace(/\xea/g, 'e');
	str = str.replace(/\xeb/g, 'e');
	str = str.replace(/\xec/g, 'i');
	str = str.replace(/\xed/g, 'i');
	str = str.replace(/\xee/g, 'i');
	str = str.replace(/\xef/g, 'i');
	str = str.replace(/\xf2/g, 'o');
	str = str.replace(/\xf3/g, 'o');
	str = str.replace(/\xf4/g, 'o');
	str = str.replace(/\xf5/g, 'o');
	str = str.replace(/\xf6/g, 'o');
	str = str.replace(/\xf9/g, 'u');
	str = str.replace(/\xfa/g, 'u');
	str = str.replace(/\xfb/g, 'u');
	str = str.replace(/\xfc/g, 'u');
	str = str.replace(/\xfd/g, 'y');
	str = str.replace(/\xff/g, 'y');
	str = str.replace(/ /g, '_');
	str = str.replace(/[^0-9a-z_-]/g, '');


	return str;
}

/**
 * getObj().  Get the DOM object with given id
 * @param: The id from the DOM object
 */
function getObj(name)
{
    if (document.getElementById) {
        this.obj = document.getElementById(name);
        this.style = document.getElementById(name).style;
    }
    else if (document.all) {
        this.obj = document.all[name];
        this.style = document.all[name].style;
    }
    else if (document.layers) {
        this.obj = getObjNN4(document,name);
        this.style = this.obj;
    }
}
/**
 * getObjNN4().  Show and hide a given DOM object for Netscape
 * @param: The id from the object to show/hide
 */
function getObjNN4(obj,name)
{
    var x = obj.layers;
    var foundLayer;
    for (var i=0;i<x.length;i++) {
        if (x[i].id == name)
            foundLayer = x[i];
        else if (x[i].layers.length)
            var tmp = getObjNN4(x[i],name);
        if (tmp) foundLayer = tmp;
    }
    return foundLayer;
}






