// TV_General.js - versie 19012005
// -------------------------------
// -- Algemeen -------------------
// * getObj(name); object bepalen (los van welke browser); return objectpointer
// getParam(name); URL parameters opvragen; return parameterstring
// getDocumentName(); Documentnaam zonder extensie opvragen; return naamstring
// * getCTime(); Geeft tijd in milliseconden
// * findPosX(obj); X positie van object bepalen in pixels; return position 
// findPosY(obj); Y positie van object bepalen in pixels; return position
// pageOffset(offset); pagina scrollen met aantal pixels
// -- Button (image) -------------
// butToggle(imgobj); switchen enabled/disabled
// butOver(imgobj); rolloverplaatje activeren
// butOverOn(imgobj); rolloverplaatje activeren bij enabled button
// butOut(imgobj); rolloverplaatje deactiveren
// butOutOn(imgobj); rolloverplaatje deactiveren bij enabled button
// butOn(imgobj); button enabled activeren
// preloadImg(imgobjs); voorladen niet meteen zichtbare plaatjes
// -- Help-venster ---------------
// * openHelp(pURL);
// * closeHelp();
// -- Navigatie-engine -----------
// callServlet(frame,servlet,param)
// * loadServlet(frame,ID,param); voor laden servlet-pagina in frame
// * loadPage(frame,ID,param); voor laden html-pagina in frame
// * exitTV(); verlaten TestVision
// -------------------------------
// * wordt gebruikt

// -- Constanten --------------
var gExt = '.htm';					// Standaard gebruikte extensie
// ----------------------------

// -- Algemene functies -------
// Cross browser detect object
function getObj(name) {
	if (document.getElementById) return document.getElementById(name);
	else if (document.all) return document.all[name];
	else if (document.layers) return document.layers[name];
}
// Parameters van URL opvragen
function getParam(name) {
	var param = null;
	var tmpStr = new String(location.search);
	tmpStr = tmpStr.substring(1,tmpStr.length);		// ? weghalen
	var tmpArray = tmpStr.split('&');							// opsplitsen
	for (var i=0; i<tmpArray.length; i++) {
		tmpStr = tmpArray[i];
		if (tmpStr.search(name+'=')!=-1)  param = tmpStr.slice(tmpStr.lastIndexOf('=')+1, tmpStr.length);
	}
	return param;
}
// Documentnaam zonder extensie opvragen
function getDocName(ins) {
	var tmpStr = new String(document.location.href);	
	var docName = tmpStr.slice(tmpStr.lastIndexOf('/')+1,tmpStr.lastIndexOf('.'));
	return docName;
}
// Tijd in milliseconden
function getCTime () {
	var nowTime=new Date;
  var cTime=nowTime.getTime();
	return cTime;
}
// X positie van object bepalen
function findPosX(obj) {
	var curleft = 0;
	if (document.getElementById || document.all)	{
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curleft += obj.x;
	return curleft;
}
// Y positie van object bepalen
function findPosY(obj) {
	var curtop = 0;
	if (document.getElementById || document.all) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (document.layers)
		curtop += obj.y;
	return curtop;
}
function pageOffset(pOffset) {
	document.body.scrollTop = pOffset;
}
// -------------------------------
// Button (image) functions
function isButOn(img) {
	var strTemp = new String(img.src);
	if (strTemp.search('_ghost')== -1 && strTemp.search('_on') != -1) return true;
	else return false;
}
function butToggle(img) {
  if ( isButOn(img) ) {butOutOn(img);}
	else { butOutOn(img); butOn(img);}
}
function butOver(img) {
	var strTemp = new String(img.src);
  if (strTemp.search('_ghost')==-1 && strTemp.search('_on')==-1) img.src = strTemp.replace('.gif','_over.gif');
}
function butOverOn(img) {
	var strTemp = new String(img.src);
  if (strTemp.search('_ghost')==-1 && strTemp.search('_on')==-1) img.src = strTemp.replace('.gif','_over.gif');
  if (strTemp.search('_on')!=-1) img.src = strTemp.replace('_on.gif','_onover.gif');	
}
function butOut(img) {
	var strTemp = new String(img.src);
  if (strTemp.search('_ghost')==-1) { 
		if (strTemp.search('_over')!=-1) img.src = strTemp.replace('_over','');
		else img.src = strTemp.replace('_onover','_on');		
	}
}
function butOutOn(img) {
	var strTemp = new String(img.src);
  if (strTemp.search('_ghost')==-1 && strTemp.search('_on')==-1) img.src = strTemp.replace('_over','');
  else if (strTemp.search('_ghost')==-1) img.src = strTemp.replace('_on','');
}
function butOn(img) {
	var strTemp = new String(img.src);
  if (strTemp.search('_ghost')==-1) img.src = strTemp.replace('.gif','_on.gif');
}


// Voorladen van rollovers
function preloadImg() { 
	if (document.images) {
		if(!document.preArr) document.preArr = new Array();
		
    var i,j = document.preArr.length, a = preloadImg.arguments;
		for(i=0; i<a.length; i++) {
			if (a[i].indexOf("#")!=0) {
				document.preArr[j] = new Image;
				document.preArr[j++].src= a[i];
			}
		}
	}
}
// -------------------------------
// Help-window routines
function openHelp(pURL) { 
  var posx=null;
  var posy=null;
  closeHelp();
  posx=(screen.width-640)/2;
  posy=(screen.height-480)/2;
  theURL=pURL+gExt;
  features='scrollbars=yes,resizable=yes,width=640,height=480,left='+posx+',top='+posy;
  parent.helpwindow=open(theURL,'Help',features);
}
function closeHelp() {
  if (parent.helpwindow!=null)
    if (parent.helpwindow.closed)
      parent.helpwindow=null;
    else
      parent.helpwindow.close();
}
// -------------------------------
// Navigatie-engine ondersteunende functies
// Voor het aanroepen van een servletCall (zonder htm extensie), inclusief dummy tvid tegen caching
function loadServlet(pFrame,pServlet,pParam) {
	if (pParam) pServlet = pServlet+'?'+pParam+'&tvid='+getCTime();
	else pServlet = pServlet+'?tvid='+getCTime();
//alert(pServlet);
	eval('parent.'+pFrame+'.location.href=pServlet');
}
// Voor het laden van een pagina zonder servletcall (met htm extensie)
function loadPage(pFrame,pURL,pParam) {
	if (pParam) pURL = pURL+gExt+'?'+pParam;
	else pURL = pURL+gExt;
//alert(pURL);
//alert(eval('parent.'+pFrame+'.location.href'));
	eval('parent.'+pFrame+'.location.href=pURL');
}
// Verlaten TestVision
function exitTV() {
	parent.document.location.href = '/TV5Dev/windowstop'+gExt;
}
// -------------------------------

