/*******************************************************************************

		Copyright 2009, ORGA Toolkit / Toomba
		All rights reserved

		$Id: globalfunctions.js 46 2009-01-16 16:01:45Z jaquet $

*******************************************************************************/

// win variable to hold reference to testClient window
globalWin = null;

// global function to set the style.display property on a list of objects
function setDisplayMode(mode, oIds) {
	var i;
	var tmpArr = oIds.split(",");
	for(i=0; i<tmpArr.length; i++) {
		document.getElementById(tmpArr[i]).style.display = mode;
	}
}

// global function to set the disabled property on a list of objects
function setEnableDisableMode(mode, oIds) {
	var i;
	var tmpArr = oIds.split(",");
	for(i=0; i<tmpArr.length; i++) {
		document.getElementById(tmpArr[i]).disabled= mode;
	}
}

// Remove all options from a select field
function clearSelectfield(selField) {
	if(document.getElementById(selField) && document.getElementById(selField).options) {
		while(document.getElementById(selField).options.length) {
			document.getElementById(selField).removeChild(document.getElementById(selField).options[0]);
		}
	}
}

// Two small functions to replace normal linebreaks (in textareas) with <br> and vice versa
function replaceCRLFwithBR(input) { 
	var tmp = input.split('\r').join("<BR>");
	return input.split('\n').join("<BR>");
}

function replaceBRwithCRLF(input) {
	var tmp = input.split('<BR>').join("\r");
	return tmp.split('<br>').join("\r");
}

function replaceToken(input, r1, r2) { 
	return input.split(r1).join(r2);
}

// Function to fix the "click to activate" in IE problems with flash movies.
function fixObjectTags() {
	objects = document.getElementsByTagName("object");
	for (var i = 0; i < objects.length; i++) {
		objects[i].outerHTML = objects[i].outerHTML;
	}
}

// function to show the test client in a window
function showFlashClient(UrlToOpen) {
	if (globalWin != null) {
		return;
	}
	//globalWin = true; Aanpassing BJ
	var options = 'scrollbars=0,resizable=0,status=0,toolbar=no,menubar=0,location=no';
	options += ',width=' + screen.availWidth + ',height=' + screen.availHeight;
	options += ',screenX=0,screenY=0,top=0,left=0';
	var win = window.open(UrlToOpen, "testClient", options);
	win.focus();
	win.moveTo(0,0);
}

// workaround for "click to activate"
function showFlashMovie() {
	document.getElementById('flashContainer').innerHTML = document.getElementById('flashHTML').value;
}

// function to print the notifyCandidate
function printNotifyCandidate(printFormat) {
	document.getElementById('printFormat').value = printFormat;
	document.getElementById('printMessage').value = document.getElementById('emailMessage').value;
	document.getElementById('printForm').submit();
}

//Check if a report is selected
function checkTestAssignment(){
	objTarget = document.getElementById('testAssignmentID');
	if (objTarget.value == '') {
		alert('Selecteer ten minste 1 rapport. / Please select at least 1 report.');
		return false;
	} else {
		return true;
	}
}

//Add Reports to combined Report
function addTestAssignment(obj) {
	objTarget = document.getElementById('testAssignmentID');
	//add UUID
	if(obj.checked) {
		if(objTarget.value == '') {
			objTarget.value = obj.value;
		}
		else {
			objTarget.value = objTarget.value + ',' + obj.value;
		}
	}
	//delete UUID
	else {
		var arList = objTarget.value.split(",");
		objTarget.value = '';
		var start = true;
		//build again, without deleted UUID
		for(var i=0; i<arList.length; i++) {
			if(arList[i] != obj.value){
				if(!start) {
					objTarget.value = objTarget.value + ',';
				}
				objTarget.value = objTarget.value + arList[i];
				start = false;
			}
			else {
			//clear order field
			document.getElementById('testOrder_'+arList[i]).value = '';	
			}
			
		}
	}
		
	//display Order
	if(objTarget.value != '') {
		var order = 1;
		arList = objTarget.value.split(",");
		for(var i=0; i<arList.length; i++) {
				document.getElementById('testOrder_'+arList[i]).value = order;	
				order++;
		}
	}
}

//ToolTip functions for the overview of tests for a candidate 
function kButOver(elem, showTip, tipElem) {
/* Aanpassing BJ */
/*	elem.style.background = "url(resources/nl/button_groen.gif)";
	  elem.style.backgroundPosition = "center";
	  elem.style.backgroundRepeat = "no-repeat";
*/
/* Einde Aanpassing BJ */
	
	if(showTip) {
		document.getElementById('kTooltip').style.display = "block";
		document.getElementById('kTooltip').innerHTML = document.getElementById(tipElem).innerHTML;
		document.getElementById('kTooltip').style.position = "absolute";
		document.getElementById('kTooltip').style.left = (findPos(elem)[0]-20)+"px";
		document.getElementById('kTooltip').style.top = (findPos(elem)[1]-10-document.getElementById('kTooltip').offsetHeight)+"px";
	} else {
		document.getElementById('kTooltip').style.display = "none";
	}
}
function kButOut(elem) {
/* Aanpassing BJ */
/*	elem.style.background = "url(resources/nl/button_rood.gif)";
		elem.style.backgroundPosition = "center";
		elem.style.backgroundRepeat = "no-repeat";
*/
/* Einde aanpassing BJ */
	document.getElementById('kTooltip').style.display = "none";
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
}
function kButOver2(elem, showTip, tipElem) {

	if(showTip) {
		document.getElementById('kTooltip').style.display = "block";
		document.getElementById('kTooltip').innerHTML = document.getElementById(tipElem).innerHTML;
		document.getElementById('kTooltip').style.position = "absolute";
		document.getElementById('kTooltip').style.left = (findPos(elem)[0]-200)+"px";
		document.getElementById('kTooltip').style.top = (findPos(elem)[1]-20-document.getElementById('kTooltip').offsetHeight)+"px";
	} else {
		document.getElementById('kTooltip').style.display = "none";
	}
}





