function changeClass(huidige,classe,newclass){
	$('.'+classe+' li').each(function(index) {				
		 $(this).attr("class",newclass);
		 $('#'+huidige).attr("class","active");
	  });	
}

function actionFadeDivs(show,hide){
	$('.'+hide).each(function(index) {			
		$(this).css("display","none");
	});
	$("#"+show).css("display","block");
}

function confirmSubmit($message)
{
	var agree=confirm($message);
	if (agree)
		return true ;
	else
		return false ;
}

function emptyInput(element,text){
	var elem = document.getElementById(element);	
	if(elem.value == text){
		elem.value = '';
	}
}

function fillInput(element,text){
	var elem = document.getElementById(element);		
	elem.value = text;
}

function hideDiv(id){
	var elem = document.getElementById(id);	
	if(elem){
		elem.style.display = 'none';
	}
}

function hideDivFade(id){
	var elem = document.getElementById(id);
	if(elem.style.display != 'none'){
		$('#'+id).fadeOut('slow', function() {
	    	// Animation complete.
			elem.style.display = 'none';
		});
	}
}

function showDivFade(id){
	var elem = document.getElementById(id);
	$('#'+id).fadeIn('slow', function() {
	    // Animation complete.
		elem.style.display = 'block';
	});
}

function slideEffect(element){
	if ($("#"+element).is(":hidden")) {
		$("#"+element).slideDown("slow");
	} else {
		$("#"+element).slideUp("slow");
	}
}

function slideEffectFast(element){
	if ($("#"+element).is(":hidden")) {
		$("#"+element).slideDown("fast");
	} else {
		$("#"+element).slideUp("fast");
	}
}

function showDiv(element){
	var elem = document.getElementById(element);
	if(elem.style.display == 'none'){
		elem.style.display = 'block';	
	} else {
		elem.style.display = 'none';	
	}
}

function fillField(value,id){
	var elem = document.getElementById(id);
	elem.value = value;		
}

function maxLength(length,id,value){	
	setTimeout ( '', 2000 );	
	var elem = document.getElementById(id);
	if(value.length > length){
		alert('U mag maximaal '+length+' karakters invoeren.');		
		myStr = value.slice(0,length);
		elem.value = myStr;
	}	
}

function changeBackground(id){
	var elem = document.getElementById(id);	
	if(elem.style.backgroundColor == "rgb(250, 250, 250)" || elem.style.backgroundColor == "#fafafa"){
		elem.style.backgroundColor = "#ffffff";
	} else {
		elem.style.backgroundColor = "#fafafa";
	}
}

function createEditor(name,werkbalk,breedte,hoogte){
	CKEDITOR.replace( name,{
		skin : 'kama',
		toolbar : werkbalk,
		width : breedte,
		height: hoogte
	} );			
}

function saveThumb(klasse,functie,element,parameters,teller)
{
	var elem = document.getElementById(element);
	var url = 'index.php';
	var x1 = document.getElementById(teller+'_x1');
	var y1 =document.getElementById(teller+'_y1');
	var x2 = document.getElementById(teller+'_x2');
	var y2 = document.getElementById(teller+'_y2');
	var w = document.getElementById(teller+'_w');
	var h = document.getElementById(teller+'_h');
	var params = '?call='+klasse+'/'+functie+'&'+parameters+'&x1='+x1.value+'&y1='+y1.value+'&x2='+x2.value+'&y2='+y2.value+'&w='+w.value+'&h='+h.value;
	if(x1.value == ""){
		alert("Selecteer een gebied om uit te knippen.");
	} else{
		new Ajax.Request
		(
		url,
		{
		  method: 'get',
		  parameters: params,
		  onComplete: function (mijn_functie) {		  
			  elem.innerHTML = mijn_functie.responseText;		  
		  }
		}
		);
		hideDiv('selectArea'+teller);
		hideDiv('saveDiv'+teller);		
	}
}

function addSubproduct(klasse,functie,element,parameters,extend)
{
	var sub_title = document.getElementById('sub_title');
	var id = document.getElementById('subproduct_id');
	var sub_price = document.getElementById('sub_price');
	var product_id = document.getElementById('product_id');
	parameters = parameters+'sub_title='+sub_title.value+'&sub_price='+sub_price.value+'&product_id='+product_id.value+'&id='+id.value;
	var elem = document.getElementById(element);
	var url = 'index.php';
	var params = '?call='+klasse+'/'+functie+'&'+parameters;
	//Maak de invoervelden leeg
	id.value = '';
	sub_title.value = '';
	sub_price.value = '';
	new Ajax.Request
	(
	url,
	{
	  method: 'get',
	  parameters: params,
	  onComplete: function (mijn_functie) {
		  if(extend == 1){
			 elem.innerHTML = elem.innerHTML+mijn_functie.responseText; 
		  } else {
			 elem.innerHTML = mijn_functie.responseText;
		  }
	  }
	}
	);	
}

function editSubproduct(subproductid,title,price)
{
	var subproduct_id = document.getElementById('subproduct_id');
	subproduct_id.value = subproductid;
	var sub_title = document.getElementById('sub_title');
	sub_title.value = title;
	var sub_price = document.getElementById('sub_price');
	sub_price.value = price;
	var edit = document.getElementById('edit');
	edit.value = 1;	
}

function editSubscriberField(fieldname,fieldnameEN,fieldid,fieldtype,values,valuesEN,fielddatabasevalues){
	var field_id = document.getElementById('field_id');
	field_id.value = fieldid;	
	var field_name = document.getElementById('field_name');
	field_name.value = fieldname;
	var field_nameEN = document.getElementById('field_nameEN');
	field_nameEN.value = fieldnameEN;
	var field_type = document.getElementById('field_type');
	if(field_type.value == 'textfield') $selected_index = 1;
	if(field_type.value == 'dropdown') $selected_index = 2;
	if(field_type.value == 'radio') $selected_index = 3;
	field_type.options[$selected_index].selected=true;
	field_type.value = fieldtype;
	var field_values = document.getElementById('field_values');
	field_values.value = values;
	var field_valuesEN = document.getElementById('field_valuesEN');
	field_valuesEN.value = valuesEN;
	var field_database_values = document.getElementById('field_database_values');
	field_database_values.value = fielddatabasevalues;
}

function doStart(form)    
{    
	var uploadobj = document.getElementById('myuploader');    
	if (uploadobj.getqueuecount() > 0)    
	{    
		uploadobj.startupload();    
	} else {
		document.saveProduct.submit();
	}
} 

function slideDiv(divID){	
	setTimeout("",3000);
    $("#divID").slideDown('5000');    
}

function uncheckRadio(id){
	var elem = document.getElementById(id);
	elem.checked = true;
}

function fillPersField(value,id){
	var elem = document.getElementById(id);
	elem.value = elem.value+'{'+value+'}';
}

function searchSubscriber(klasse,functie,element,parameters,extend)
{
	var elem = document.getElementById(element);
	var url = 'index.php';
	var parameter_string = '';
	var a = parameters.split(',');
	for (var i = 0; i < a.length; i++) {
		var temp = document.getElementById(a[i]);
		if(temp != null){			
			parameter_string = parameter_string+'&'+a[i]+'='+temp.value;
			temp.value='';
		}
	}
	var archive = document.getElementById('archive');
	var params = '?call='+klasse+'/'+functie+parameter_string+'&archive='+archive.checked;
	new Ajax.Request
	(
	url,
	{
	  method: 'get',
	  parameters: params,
	  onComplete: function (mijn_functie) {		 
			elem.innerHTML = mijn_functie.responseText;		  
	  }
	}
	);		
}

function changeThumb(folder,file){
	var elem = document.getElementById('image_sample');
	elem.innerHTML = "<img src='images/fotoalbums/"+folder+"/thumbs/thumb_"+file+"'>";
}

function doGroupDivMagic(stringIDs,show){
	var element = document.getElementById(stringIDs);
	var temp = element.value;
	var mySplitResult=temp.split(","); 	
	for(i = 0; i < mySplitResult.length; i++){
		if(mySplitResult[i] != "#"){
			var elem = document.getElementById("linkmanager"+mySplitResult[i]);		
			if(mySplitResult[0] != "#"){
				if(i == 0) elem.style.display = 'block';	
				else elem.style.display = 'none';
			} else {
				elem.style.display = 'block';
			}
		}		
	}
	if(mySplitResult[0] != "#"){
		var elem = document.getElementById("linkmanager"+mySplitResult[0]);		
		elem.style.display = 'block';
	}
}

function isArray(obj) {
	if(obj){
		return (obj.constructor.toString().indexOf("Array") != -1);
	} else {
		return false;	
	}
}

/***************** INTRANET FUNCTIES *****************/
function showBlock(element,imgelement){
	var elem = document.getElementById(element);
	var img = document.getElementById(imgelement);
	if($('#'+element).css('display') == 'block'){
		img.src = "golivecms/img/arrow_hide.png";		
	} else {
		img.src = "golivecms/img/arrow_show.png";
	}
	slideEffectFast(element);
}

/***************** AJAX FUNCTIES *****************/
function doAjaxNew(klasse,functie,element,parameters,extend,callback){	
	var params = '?call='+klasse+'/'+functie+'&ajax=1&'+parameters;
	var loadUrl = "ajax.php"+params;
	
	$.get(
		loadUrl,
		{},
		function(responseText){			
			$("#"+element).html(responseText);
			//$("#"+element).animate({ opacity: 1},500);
			typeof callback == 'function' && callback(responseText);
		},
		"html"
	);	
}

function doAjaxSimple(klasse,functie,element,parameters,extend){	
	var params = '?call='+klasse+'/'+functie+'&'+parameters;
	var loadUrl = "index.php"+params;
	
	$.get(
		loadUrl,
		{},
		function(responseText){			
			$("#"+element).html(responseText);
			//$("#"+element).animate({ opacity: 1},500);
		},
		"html"
	);	
}

function addFieldNew(klasse,functie,element,parameters,extend){	
	var parameter_string = '';			
	var a = parameters.split(','), params = {call: klasse+'/'+functie};	
	for (var i = 0; i < a.length; i++) {
		var temp = document.getElementById(a[i]);
		if(temp != null){			
			params[a[i]] = temp.value;
		}
	}
	
	$.get(
		"ajax.php",
		params,
		function(responseText){			
			$("#"+element).html(responseText);
			//$("#"+element).animate({ opacity: 1},500);
		},
		"html"
	);	
}

function addFieldSimple(klasse,functie,element,parameters,extend){	
	var parameter_string = '';			
	var a = parameters.split(',');	
	for (var i = 0; i < a.length; i++) {
		var temp = document.getElementById(a[i]);
		if(temp != null){			
			parameter_string = parameter_string+'&'+a[i]+'='+temp.value;
			if(extend == 0) {
				//temp.value='';
			}
		}
	}
	
	var params = '?call='+klasse+'/'+functie+parameter_string;
	var loadUrl = "index.php"+params;
	$.get(
		loadUrl,
		{},
		function(responseText){			
			$("#"+element).html(responseText);
			//$("#"+element).animate({ opacity: 1},500);
		},
		"html"
	);	
}

function doAjax(klasse,functie,element,parameters,extend,Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId)
{
	if(listId){
		var listId = listId;
	} else {
		var listId = 'page-item1';	
	}
	var elem = document.getElementById(element);
	var url = 'index.php';
	var params = '?call='+klasse+'/'+functie+'&'+parameters;
	
	
	$.ajax({
	  url: "index.php"+params,
	  async: false,
	  success: function(data) {
    	if(elem) {
			if(extend == 1){
				elem.innerHTML = elem.innerHTML+data; 			
		  	} else {
				elem.innerHTML = data;
		  	}
		}
		
		if(isArray(NesID)) {
			for ( var i=NesID.length-1; i>=0; --i ){
				NestedCode(Nestklasse,Nestmethod,NestDiv,Nestparams+'&group_id='+NesID[i],'left-to-right'+NesID[i],listId);
			}			
		} else {
			NestedCode(Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId);
		}	
 
	  }
	 });	 	
}

function addField(klasse,functie,element,parameters,extend,Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId)
{		
	if(listId){
		var listId = listId;
	} else {
		var listId = 'page-item1';	
	}
	var elem = document.getElementById(element);
	var url = 'index.php';
	var parameter_string = '';
	var parameter2_string = '';
	var a = parameters.split(',');	
	for (var i = 0; i < a.length; i++) {
		var temp = document.getElementById(a[i]);
		if(temp != null){			
			parameter_string = parameter_string+'&'+a[i]+'='+temp.value;
			if(extend == 0) {
				//temp.value='';
			}
		}
	}	
	if(Nestparams) {
		var b = Nestparams.split(',');
		for (var i = 0; i < b.length; i++) {
			var temp2 = document.getElementById(b[i]);
			if(temp2 != null){			
				parameter2_string = parameter2_string+'&'+b[i]+'='+temp2.value;			
			}
		}	
	}
	var params = '?call='+klasse+'/'+functie+parameter_string;
	
	$.ajax({
	  url: "index.php"+params,
	  async: false,
	  success: function(data) {
    	if(elem) {
			if(extend == 1){
				elem.innerHTML = elem.innerHTML+data; 			
		  	} else {
				elem.innerHTML = data;
				//$("#charges-gsm-faq").hide().html(html).fadeIn();
		  	}
		}
		
		if(isArray(NesID)) {
			for ( var i=NesID.length-1; i>=0; --i ){
				NestedCode(Nestklasse,Nestmethod,NestDiv,Nestparams+'&group_id='+NesID[i],'left-to-right'+NesID[i],listId);
			}			
		} else {
			NestedCode(Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId);
		}	
  	}
	 });	 		
}

function NestedCode(Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId){
	if(listId){
		
	} else {
		listId = 'page-item1';	
	}
	$('#'+NesID).NestedSortable(
		{
			accept: listId,
			noNestingClass: "no-nesting",
			opacity: 0.6,
			helperclass: 'helper',
			onChange: function(serialized) {
				doAjax(Nestklasse,Nestmethod,NestDiv,Nestparams+'&'+serialized[0].hash,0);
			},
			autoScroll: true,
			handle: '.sort-handle'
		}
	)	
}

function nested(Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId){
	$('#'+NesID).NestedSortable(
		{
			accept: listId,
			noNestingClass: "no-nesting",
			opacity: 0.6,
			helperclass: 'helper',
			onChange: function(serialized) {							
				doPost(Nestklasse,Nestmethod,NestDiv,serialize(NesID));
			},
			autoScroll: true,
			handle: '.sort-handle'
		}
	)
}

function serialize(NesID){	
	var string = '';
	$('#'+ NesID +' li').each(function(index) {
		parentId = $(this).parent("ul").parent('li').attr("id");
		if(parentId == undefined) parentId = 0;
		order = (($(this).prevAll("li").size()+1));
		depth = ($(this).parents().length-9)/2;
		rank = $(this).attr('value');		
		string += $(this).attr("id")+":"+parentId+":"+order+":"+depth+":"+rank+"|";
	});
	return string;
}

function doPost(klasse,functie,element,value){	
	var params = '?call='+klasse+'/'+functie+'&ajax';
	var loadUrl = "index.php"+params;		
	$.post(
		loadUrl,
		{result:value},
		function(data){			
			$("#"+element).html(data);
			//$("#"+element).animate({ opacity: 1},500);
		},
		"html"
	);	 
}

function changeImage(id,active,inactive){
	if($('#'+id).attr('src') == active){
		$('#'+id).attr('src', inactive);
	} else {
		$('#'+id).attr('src', active);
	}
}

function handleEnter(inField, e,klasse,method,divtarget,vars) {
	var charCode;
	
	if(e && e.which){
		charCode = e.which;
	}else if(window.event){
		e = window.event;
		charCode = e.keyCode;
	}

	if(charCode == 13) {
		addField(klasse,method,divtarget,vars,0);
	}
}

function doAjaxFast(klasse,functie,element,paramArray,singleParams){	
	var params = '';

	for (var i = 0; i < paramArray.length; i++) {
		if(i != 0) params += '&';
		params += paramArray[i]+'='+$('#'+paramArray[i]).val();
	}		
	if(singleParams != undefined) {
		params += (params == '') ? singleParams : '&'+singleParams;
	}
	$.get(
		"golivecms/ajaxNew.php?call="+klasse+"/"+functie,
		params,
		function(data){			
			$("#"+element).html(data);			
		},
		"html"
	);	 	
}

function addFieldFast(klasse,functie,element,paramArray,singleParams,Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId){
	var params = '';
	var paramsNest = '';
	if(singleParams != undefined) listId = 'page-item1';
	for (var i = 0; i < paramArray.length; i++) {
		if(i != 0) params += '&';
		params += paramArray[i]+'='+$('#'+paramArray[i]).val();
	}		
	if(singleParams != undefined) params += (params == '') ? singleParams : '&'+singleParams;
	for (var i = 0; i < Nestparams.length; i++) {
		if(i != 0) paramsNest += '&';
		paramsNest += Nestparams[i]+'='+$('#'+Nestparams[i]).val();
	}		
	$.get(
		"golivecms/ajaxNew.php?call="+klasse+"/"+functie,
		params,
		function(data){		
			$("#"+element).html(data);		
			NestedCodeFast(Nestklasse,Nestmethod,NestDiv,paramsNest,NesID,listId);	
		},
		"html"
	);	 
}

function NestedCodeFast(Nestklasse,Nestmethod,NestDiv,Nestparams,NesID,listId){	
	$('#'+NesID).NestedSortable(
		{
			accept: listId,
			noNestingClass: "no-nesting",
			opacity: 0.6,
			helperclass: 'helper',
			onChange: function(serialized) {
				doAjaxFast(Nestklasse,Nestmethod,NestDiv,[],Nestparams+'&'+serialized[0].hash)
			},
			autoScroll: true,
			handle: '.sort-handle'
		}
	)	
}

function wait(element){
	$('#'+element).html('<img src="golivecms/img/wait.gif" align="middle" /><br><br>');	
}
