// Print functie
function printPage(col1,col2, type) {
	//niet printen in admindeel
	if (/\/admin\//.test(document.location)) {
		alert('Printen is niet mogelijk binnen de PageProcessor admin omgeving');
		return false;
	}

	if (document.getElementById(col1))
	  var print1 = document.getElementById(col1).innerHTML;
	if (document.getElementById(col2))
	  var print2 = document.getElementById(col2).innerHTML;
	
	if (print1 && print2) {
		if (type == 'intranet')
			window.printgedeelte = '<table><tr><td valign=top class="intranetVPlinks">'+print1+'</td><td valign=top class="intranetVPrechts">'+print2+'</td></tr></table>';
		else
			window.printgedeelte = '<table><tr><td valign=top class="internetVVlinks">'+print1+'</td><td valign=top class="internetVVrechts">'+print2+'</td></tr></table>';
	}
	
	//disable de links om bladeren via printversie te voorkomen
	window.printgedeelte = window.printgedeelte.replace(/href/gi,"hrefdisabled");
	window.printgedeelte = window.printgedeelte.replace(/onclick/gi,"onclickdisabled");
	 
	//open popup en vul deze 
	if (type == 'intranet')
		var w =  window.open('/print_intranet.html');
	else
		var w =  window.open('/print_internet.html');
}


//	display some other 'not available' image
function toon_afbeelding_wide(el,width) {
	if (el.src)
		el.src = '/images/not_available_'+width+'.gif';
}
function toon_afbeelding_other(el, file) {
	if (el.src)
		el.src = '/images/intranet/'+file+'.gif';
}

//	link the correct classes by mouseover dropdown menu
function sfHover() {
	if (document.getElementById("nav")) {
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}

function submitFormsonEnter(e,form) {
	var evt = (e)?e:(window.event)?window.event:null;
	if (evt) {
		var key = (evt.charCode)?evt.charCode:((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
		if (key == 13) //enter toets
			form.submit();
		else
			return true;
	} else
		return true;
}

function initFormInputFields() {
	var searchselectbox = document.getElementById('searchselectbox');
	if (searchselectbox)
		selectReplacement(searchselectbox);

	var mainsite = document.getElementById('mainsite');
	if (mainsite) {
		var allInputs = mainsite.getElementsByTagName("INPUT");
		for (var i = 0; i < allInputs.length; i++) {
			if (allInputs[i].type == 'text' || allInputs[i].type == 'password') {
				allInputs[i].onkeypress = function() { return submitFormsonEnter(arguments[0],this.form); };
			}
		}
		var allInputs = mainsite.getElementsByTagName("SELECT");
		for (var i = 0; i < allInputs.length; i++) {
			allInputs[i].onkeypress = function() { return submitFormsonEnter(arguments[0],this.form); };
		}
	}
}

//	give back the computed style
function getStyle(obj,Attribute) {
	if (obj) {
		if (obj.currentStyle)
			var value = eval('obj.currentStyle.'+Attribute)
		else
			var value = eval('document.defaultView.getComputedStyle(obj, null).'+Attribute)
		return parseInt(value);
	}
}

//	initialise all needed scripts on bodyonload based on the given templateID
function initAll(tid) {
	initFormInputFields();
	if (tid == 1 || tid == 3) { //internet vp en vv
		//Classes addon for dropdown menu
		if (window.attachEvent)
			sfHover();
		
		//Nifty corners
		Nifty('div.afb','normal');
		Nifty('#footer','normal transparent bottom');
		
	} else if (tid == 6 || tid == 7 || tid == 8) { //intranet vp, vv en searchresults
		//Nifty corners
		Nifty('#footer','big transparent bottom');
		
		//Height of the maintable
		var maintable 	= document.getElementById('maintable');
		var nav		 	= document.getElementById('navigation');
		if (maintable && nav) {
			var maintableheight	= getStyle(maintable,'height');
			var navheight		= getStyle(nav,'top') + nav.offsetHeight;
			
			if (maintableheight < navheight)
				maintable.style.height = navheight - 20;
		}
		
	}
}


/** Needed functions for styling/replacing the search selectbox */

	function selectReplacement(obj) {
		// append a class to the select
		obj.className += ' replaced';
		// create list for styling
		var ul = document.createElement('ul');
		ul.className = 'selectReplacement';
		var opts = obj.options;
		for (var i=0; i<opts.length; i++) {
			var selectedOpt;
			if (opts[i].selected) {
				selectedOpt = i;
				break;
			} else {
				selectedOpt = 0;
			}
		}
    
		for (var i=0; i<opts.length; i++) {
			var li = document.createElement('li');
			var txt = document.createTextNode(opts[i].text);
			li.appendChild(txt);
			li.selIndex = opts[i].index;
			li.selectID = obj.id;
			li.onclick = function() {
				selectMe(this);
			}
			if (i == selectedOpt) {
				li.className = 'selected';
				li.onclick = function() {
					this.parentNode.className += ' selectOpen';
					this.onclick = function() {
						selectMe(this);
					}
				}
			}
			
			if (window.attachEvent) {
				li.onmouseover = function() {
					this.className += ' hover';
				}
				li.onmouseout = function() {
					this.className = 
					this.className.replace(new RegExp(" hover\\b"), '');
				}
			}
			ul.appendChild(li);
		}
		// add the input and the ul
		obj.parentNode.appendChild(ul);
	}
	
	function selectMe(obj) {
		var lis = obj.parentNode.getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			if (lis[i] != obj) { // not the selected list item
				lis[i].className='';
				lis[i].onclick = function() {
					selectMe(this);
				}
			} else {
				setVal(obj.selectID, obj.selIndex);
				obj.className='selected';
				obj.parentNode.className = obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
				obj.onclick = function() {
					obj.parentNode.className += ' selectOpen';
					this.onclick = function() {
						selectMe(this);
					}
				}
			}
		}
    }
	
	function setVal(objID, selIndex) {
		var obj = document.getElementById(objID);
		obj.selectedIndex = selIndex;
    }
	
    function closeSel(obj) {
		//close the ul
    }

/* Needed functions for the Reference Manager searchresults */

function verifyChecked(frm,name,message){
	var i;
	var success = false;
	for (i=0; i <frm.elements.length; i++) {
		if(frm.elements[i].name == name) {
			if(frm.elements[i].checked) {
				success = true;
			}
		}
	}
	if (success == false) {
		alert("Please select 1 or more references, then click " + message + ".");
	}
	return success;
}

function checkFunc(myForm) {
	if (!myForm.func.value)	{
		if ( (myForm.doAdvSearchSW) && (myForm.doAdvSearchSW.value) && (myForm.doAdvSearchSW.value == "true") )	{
			myForm.func.value = "doAdvSearch";
		} else {
			myForm.func.value = "doQuickSearch";
		}
	}
	return (true);
}

function doSort(myForm) {
	myForm.func.value = 'sortResults';
	myForm.method = "post";
	myForm.submit();
}

function verifyTerms(frm,name){
	var i;
	var success = false;
	var text;
	for (i=0; i <frm.elements.length; i++) {
		if(frm.elements[i].name == name) {
			text = frm.elements[i].value;
			if(text.length> 0) {
				success = true;
			}
		}
	}
	return success;
}


