// JavaScript Document

//leeg textfield
function ClearTxt(theText){
	if(theText.value == theText.defaultValue){
		theText.value = "";	
	}
}

//Open print pop-up
function printPopup(url){
	var scr = window.open(url, "printWindow", "scrollbars=false, toolbar=false ,width=900");
	//scr.print();
	//scr.close();
	
}

//Open/Close
function divSwitch(div){
	layer = document.getElementById(div);
	
	if(layer.className == "fields_on"){
		layer.className = "fields_off";
	}else{
		layer.className = "fields_on";
	}
	
}
function headerSwitch(div){
	layer = div;
	
	if(layer.className == "on"){
		layer.className = "off";
	}else{
		layer.className = "on";
	}
	
}

function deletePopup(){
		if(height > 25){
			height	-= 	30;
			opacity	-=	20;
			top		+=	15;
			
			//popup.style.height	= height + 'px';
			//popup.style.top 		= top + 'px';
			popup.style.filter		= 'alpha(opacity=' + opacity + ')';
			filterDiv.style.filter	= 'alpha(opacity=' + opacity + ')';
			popup.style.opacity		= '.'+ opacity;
			filterDiv.style.opacity	= '.'+ opacity;
			
			if(opacity < 61) toggleAllSelectBoxes(1);
			
			t = setTimeout("deletePopup()",10);
		}else{
			var parent_node = popup.parentNode;
				opacity		= 100;
				top			= 120;
			
			parent_node.removeChild(popup);
			hideFilter();
			
			clearTimeout(t);	
		}
}

function showDiv(divId){
	var theDiv = document.getElementById(divId);
	
	theDiv.style.display	= "block";
	theDiv.style.filter		= 'alpha(opacity=99)';
	theDiv.style.opacity	= '.99';
	opacity = 100;
	height	= theDiv.offsetHeight;
}

function hideDiv(divId){
		if(opacity == 100){
		 	popup = document.getElementById(divId);
		}
		
		if(height > 25){
			height	-= 	10;
			opacity	-=	20;
			top		+=	5;
			
			popup.style.filter		= 'alpha(opacity=' + opacity + ')';
			filterDiv.style.filter	= 'alpha(opacity=' + opacity + ')';
			popup.style.opacity		= '.'+ opacity;
			filterDiv.style.opacity	= '.'+ opacity;
			
			//no selectboxes are behind hidden divs. So it's just annoying to hide them
			//if(opacity < 61) toggleAllSelectBoxes(1);

			t = setTimeout("hideDiv()",10);
		}else{
			opacity		= 100;
			top			= 120;
			
			popup.style.display = 'none';
			hideFilter();
			
			clearTimeout(t);	
		}
}


//Show filter screen
var opacity2 = 0;

function showFilter(){
	
	if(opacity2 == 0){
		window.scrollTo(0,0)
		toggleAllSelectBoxes(1);
		filterDiv.style.opacity = '.0';
		filterDiv.style.filter	= 'alpha(opacity=0)';
		filterDiv.style.visibility = 'visible';
	}
	
	if(opacity2 <= 60){
			opacity2	+=	15;
			
			filterDiv.style.filter	= 'alpha(opacity=' + opacity2 + ')';
			filterDiv.style.opacity	= '.'+ opacity2;
			
			t = setTimeout("showFilter()",10);
	}else{
		opacity2 = 0;
		filterDiv.style.opacity = '.75';
		filterDiv.style.filter	= 'alpha(opacity=75)';
		clearTimeout(t);	
	}
		
}
function hideFilter(){
	window.scrollTo(0,0)
	var div = document.getElementById('Filter')
	
	toggleAllSelectBoxes(0);
	div.style.visibility = 'hidden'

}

//Loading
function showLoading(){
	if(document.getElementById('Loading')){
		var div = document.getElementById('Loading');
	
		window.scrollTo(0,0)
		toggleAllSelectBoxes(1);
		div.style.visibility = 'visible';
	}	
}

//Delete Row
//Clear = bijbehorende BR
var rowHeight = -1;
var currentRow, currentClear;
var padding = 6;
var speed = 2;
function deleteRow(div,clear){
	
	if(rowHeight == -1){
		rowHeight = div.offsetHeight - padding;
		currentRow 						= div;
		currentClear 					= clear;
		if(rowHeight < 50)  speed 		= 2;
		if(rowHeight > 50)  speed 		= 4;
		if(rowHeight > 75)  speed 		= 8;
		if(rowHeight > 150) speed 		= 12;
		if(rowHeight > 500){
							rowHeight 	= 500;
							speed		= 24;
		}
	}
	
	if(rowHeight >= speed){
			rowHeight	-=	speed;
			currentRow.style.height	= rowHeight + 'px';
			currentRow.style.overflow = "hidden";
			
			t = setTimeout("deleteRow()",10);
	}else{
		currentRow.parentNode.removeChild(currentRow);
		if(currentClear) currentClear.parentNode.removeChild(currentClear);
		rowHeight = -1;
		clearTimeout(t);	
	}
}

//Form check
function formCheck(form,hideError){
	var error 	= "";
	if($defined($('Error')))	
		var div = $('Error');
		
	//form loop; check velden met de Title attribuut
	for(var i = 0; i < form.elements.length; i++){
		if(form.elements[i].title == "editor"){
			var content = tinyMCE.getContent()
			if(content.length < 10){
				error += "<li> Het textveld <b>" + form.elements[i].name + "</b> is niet ingevuld</li>\n "; 	
			}
		}
		
		else if(form.elements[i].title.toLowerCase() == "wachtwoord2"){
			if(form.elements[i].value != form.elements[i - 1].value){
				error += "<li> De twee <b>Wachtwoorden</b> moeten hetzelfde zijn </li>\n "; 
				form.elements[i].style.borderColor = "#FF0000";
			}
		}
		
		else if(form.elements[i].title){ 
			if(form.elements[i].type == "text" || form.elements[i].type == "password" || form.elements[i].type == "textarea"){
				if(!form.elements[i].value){
					error += "<li> Het veld <b>" + form.elements[i].title + "</b> is niet ingevuld</li>\n ";	
					form.elements[i].style.borderColor = "#FF0000";
				}
				else form.elements[i].style.borderColor = "";	
			}
			if(form.elements[i].type == "select-one"){
				if(!form.elements[i].options[form.elements[i].selectedIndex].value){
					error += "<li> Het veld <b>" + form.elements[i].title + "</b> is niet ingevuld</li>\n ";	
					form.elements[i].style.borderColor = "#FF0000";
				}
				else form.elements[i].style.borderColor = "";
			}
		}
	}
	
	//Error weergave
	if(error != ""){	
		if(!hideError){
			error = "<ul>\n" + error;
			error += "\n </ul>";
			
			div.innerHTML = error;
			div.style.display = "block";
			
		}else{
			//error = "<ul><li>U moet alle verplichte velden invullen.</li></ul>";	
		}	
		
		
	}else{
		//showLoading();		
		return true
	}
	
	return false
}

function resetForm(id){
	var form = document.getElementById(id);
	
	for(var i = 0; i < form.elements.length; i++){
		
		if(form.elements[i].disabled) form.elements[i].disabled = false;
		
		if(form.elements[i].getAttribute('name') == 'newField_id' ||  form.elements[i].getAttribute('name') == 'newCat_id'){
			form.elements[i].value = 0;
		}else if(form.elements[i].getAttribute(str_class) == 'mce_simple'){
			window.setTimeout(function() { tinyMCE.setContent() }, 0);
		}else if(form.elements[i].getAttribute(str_class) != 'submit' && form.elements[i].getAttribute(str_class) != 'cancel'){
			if(form.elements[i].tagName == 'INPUT' && form.elements[i].getAttribute('type') == 'text')		form.elements[i].value = '';
			if(form.elements[i].tagName == 'INPUT' && form.elements[i].getAttribute('type') == 'checkbox')	form.elements[i].checked = false;
			if(form.elements[i].tagName == 'INPUT' && form.elements[i].getAttribute('type') == 'radio')		form.elements[i].checked = false;
			if(form.elements[i].tagName == 'INPUT' && form.elements[i].getAttribute('type') == 'hidden')	form.elements[i].value = '0';
		
			if(form.elements[i].tagName == 'TEXTAREA')	form.elements[i].value = '';
			if(form.elements[i].tagName == 'SELECT'){
					form.elements[i].options.selectedIndex = 0;	
			}
		}
	}
}

function toggleAllSelectBoxes(display){
	if(document.all){ 
		var display			= display == 1 ? 'hidden' : 'visible';
		var select_boxes	= document.getElementsByTagName('select');
		
		for (var a=0; a<select_boxes.length; a++)
		{
			var select_box = select_boxes[a];
			
			// hide of show
			select_box.style.visibility = display;
		}
	}
}

function showEdit(div,name){
	var parent = div.parentNode;
	var edit = div.previousSibling;
	if(name == null) name = 'edit';
	
	if(edit.tagName == 'DIV'){
		edit.style.display = "block";
		return true;
	}	
	
	if(name == 'edit2' || name == 'edit'){
		while(edit.className != 'edit' && edit.className != 'edit2'){
			if(parent.firstChild == edit) break;
			edit = edit.previousSibling;
		}
	}else{
		while(edit.className != name){
			if(parent.firstChild == edit) break;
			edit = edit.previousSibling;
		}	
	}
	
	if(edit.tagName == 'DIV'){
		edit.style.display = "block";
		return true;
	}
	
}
function hideEdit(div,name){
	var parent = div.parentNode;
	var edit = div.previousSibling;
	
	if(edit.tagName == 'DIV'){
		edit.style.display = "none";
		return true;
	}	
	
	if(name == 'edit2' || name == 'edit'){
		while(edit.className != 'edit' && edit.className != 'edit2'){
			if(parent.firstChild == edit) break;
			edit = edit.previousSibling;
		}
	}else{
		while(edit.className != name){
			if(parent.firstChild == edit) break;
			edit = edit.previousSibling;
		}	
	}
	
	if(edit.tagName == 'DIV'){
		edit.style.display = "none";
		return true;
	}
}
function setEditEvent(){
	divs = document.getElementsByTagName("DIV");
		
		for (i=0; i<divs.length; i++) {				
				if(divs[i].className == 'edit' || divs[i].className == 'edit2'){
					editDiv = divs[i];
					divs[i].onmouseover = function(){		this.style.display = "block"; }
					divs[i].onmouseout = function(){		this.style.display = "none"; }
					
					divs[i + 1].onmouseover = function(i){	showEdit(this,editDiv.className); }
					divs[i + 1].onmouseout = function(i){	hideEdit(this,editDiv.className); }	
				}else if(divs[i].className == 'control'){
					var j = 1;
					if(divs[i + j].className == 'c_edit' || divs[i + j].className == 'c_delete'){
						j = 2;
						if(divs[i + j].className == 'c_edit' || divs[i + j].className == 'c_delete'){
							j = 3;		
						}
					}
					divs[i].onmouseover = function(){		this.style.display = "block"; }
					divs[i].onmouseout = function(){		this.style.display = "none"; }
					
					divs[i + j].onmouseover = function(i){	showEdit(this,'control'); }
					divs[i + j].onmouseout = function(i){	hideEdit(this,'control'); }	
					
				}else if(divs[i].className == 'c_edit' || divs[i].className == 'c_delete'){
					divs[i].onmouseover = function(){		this.parentNode.display	= "block"; }
					divs[i].onmouseout = function(){		this.parentNode.display	= "none"; }
				}
			
		}
}
