// *******************************************************************************************
//	TEMPLATE ()
// *******************************************************************************************

function CallUrl(url) {
  var tag = document.createElement("script");
  tag.type="text/javascript";
  tag.src = url;
  document.getElementsByTagName("head")[0].appendChild(tag);
  window.status='';
  return true;
}

function SetScreenSize() {
	var w	= screen.width;
	var h	= screen.height;
	var url = '/settemplate.php?w='+w+'&h='+h+'';
	CallUrl(url);
}

function SetTheme(input) {
	var theme	= input;
	var url		= '/settemplate.php?theme='+theme+'';
	CallUrl(url);
}

// *******************************************************************************************
//	PAGELOAD ()
// *******************************************************************************************
function pageLoad () {
	// SET (preload images)
	preloadImages();
}
// *******************************************************************************************
//	PRELOAD (images)
// *******************************************************************************************

function preloadImages () {
	// SET (preload)
	var preloadList = Array();
	var i			= 0;
	var prImages	= Array();

	// SET (preload backgrounds)
	preloadList[i++]  = '/site/images/themes/backgrounds/background_paars.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_roze.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_rood.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_oranje.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_geel.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_lichtgroen.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_donkergroen.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_lichtblauw.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_donkerblauw.gif';
	preloadList[i++]  = '/site/images/themes/backgrounds/background_bruin.gif';

	// SET (preload logos)
	preloadList[i++] = '/site/images/themes/logos/logo_paars.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_roze.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_rood.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_oranje.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_geel.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_lichtgroen.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_donkergroen.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_lichtblauw.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_donkerblauw.gif';
	preloadList[i++] = '/site/images/themes/logos/logo_bruin.gif';

	for(x=0; x < preloadList.length; x++) {
		prImages[x]		= new Image();
		prImages[x].src	= preloadList[x];
	}
}

// *******************************************************************************************
//	MENU (mouseover)
// *******************************************************************************************

function MenuMouseOver (imgObj) {
	var path		= imgObj.src.substring(0 , imgObj.src.lastIndexOf('/') + 1);
	var filename	= imgObj.src.substring( imgObj.src.lastIndexOf('/') + 1 , imgObj.src.length);
	var extension	= filename.substring(filename.lastIndexOf('.') , filename.length);
	filename		= filename.substring(0, filename.lastIndexOf('.') );

	var findDown	= filename.indexOf('_down');

	if (findDown != -1) {
		// do nothing already down
	} else {
		imgObj.src	= path +''+ filename +'_over'+ extension;
	}
}

function MenuMouseOut (imgObj) {
	var path		= imgObj.src.substring(0 , imgObj.src.lastIndexOf('/') + 1);
	var filename	= imgObj.src.substring( imgObj.src.lastIndexOf('/') + 1 , imgObj.src.length);

	var findDown	= filename.indexOf('_down');

	filename	= filename.replace('_over', '');
	imgObj.src	= path +''+ filename;
}

// *******************************************************************************************
//	TOGGLE DIV ()
// *******************************************************************************************

function toggleMe(elm) {
	var e = document.getElementById(elm);
	if(!e) return true;
	if(e.style.display == "none") {
		e.style.display = "block";
	}else{
		e.style.display = "none";
	}
	return true;
}

// *******************************************************************************************
//	PAGE ACTIONS ()
// *******************************************************************************************

function Bookmark() {
	var bookmark = "http://bookmark.uitnodiging.nl/"; /* location.href */
	if (document.all) {
		window.external.AddFavorite(bookmark, "Uitnodiging.nl - Online kaartjes sturen");
	} else if (window.sidebar) {
		window.sidebar.addPanel("Uitnodiging.nl - Online kaartjes sturen", bookmark, "");
	} else {
		alert("Dit wordt niet ondersteund door deze browser.");
	}
}	

// *******************************************************************************************
//	POSITION FUNCTIONS ()
// *******************************************************************************************

function findXPos(obj) {
	var curleft =0;	// curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
		}
	}
	return curleft;
}

// *******************************************************************************************

function findYPos(obj) {
	var curtop =0;	// curtop = 0;
	if (obj.offsetParent) {
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curtop += obj.offsetTop
		}
	}
	return curtop;
}

// *******************************************************************************************

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

// *******************************************************************************************
//	FloatBlock ()
// *******************************************************************************************

function FloatBlock ()
{
	// SET ()
	var list = new Array();

		// FRAME ()
		var objFrame = document.getElementById("container_right");
		list['FRposX']	= findXPos(objFrame);
		list['FRposY']	= findYPos(objFrame);
		list['FRwidth']	= objFrame.offsetWidth;
		list['FRheight']= objFrame.offsetHeight;
	
		// AD ()
		var objAd = document.getElementById("google_ads_right_top")
		list['ADposX']	= findXPos(objAd);
		list['ADposY']	= findYPos(objAd);
		list['ADwidth']	= objAd.offsetWidth;
		list['ADheight']= objAd.offsetHeight;
	
		// FOOTER ()
		var objFooter = document.getElementById("container_footer")
		list['FOOTposX']= findXPos(objFooter);
		list['FOOTposY']= findYPos(objFooter);
	
		// SCROLL ()
		var scrollValue = getScrollXY();
		list['ScrollX'] = scrollValue[0];
		list['ScrollY'] = scrollValue[1];


	// VALIDATE (top postion)
	if (list['ScrollY'] < list['ADposY'])
	{
		// SET ()
		objAd.style.position = 'static';	
		objAd.style.top		 = 'auto';	
		objAd.style.left	 = 'auto';
	}
	else if (list['ScrollY'] > list['ADposY'])
	{
		// LIMIT (bottom position)
		var footer_margin = 30;
		var limitbottom = eval( list['FOOTposY'] - list['ADheight'] - footer_margin);

		// SET ()
		if (list['ScrollY'] < limitbottom)
		{
			objAd.style.position = 'absolute';
			objAd.style.top		 = eval(list['ScrollY']) +'px';	
			objAd.style.left	 = eval(list['FRposX']) +'px';
		}
		else
		{
			objAd.style.position = 'absolute';
			objAd.style.top		 = eval(limitbottom) +'px';	
			objAd.style.left	 = eval(list['FRposX']) +'px';
		}
	}

	// VALIDATE (left postion)
	if (list['ADposX'] != list['FRposX'])
	{
		// SET (left position)
		objAd.style.left = eval(list['FRposX']) +'px';
	}

	setTimeout("FloatBlock()", 200);
}

// *******************************************************************************************
//	JSFX_FloatDiv ()
// *******************************************************************************************

function JSFX_FloatDiv(id, sx, sy)
{
	/**********************************************************/
	/* You may use this code for free on any web page provided that 
	/* these comment lines and the following credit remain in the code.
	/* Floating Div from http://www.javascript-fx.com
	/*********************************************************/
	
	var ns	= (navigator.appName.indexOf("Netscape") != -1);
	var d	= document;

	var el=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
	var px = document.layers ? "" : "px";
	window[id + "_obj"] = el;
	if(document.layers)el.style=el;
	el.cx = el.sx = sx;
	el.cy = el.sy = sy;
	el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};

	el.floatIt=function()
	{
		var pX, pY;
		pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
		document.documentElement && document.documentElement.clientWidth ? 
		document.documentElement.clientWidth : document.body.clientWidth;
		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
		document.documentElement.scrollTop : document.body.scrollTop;
		if(this.sy<0) 
		pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
		document.documentElement.clientHeight : document.body.clientHeight;
		this.cx += (pX + this.sx - this.cx)/8;
		this.cy += (pY + this.sy - this.cy)/8;

		/* this.sP(this.cx, this.cy); */
		var px = document.layers ? "" : "px";
		document.getElementById(id).style.left	= this.cx+px;
		document.getElementById(id).style.top	= this.cy+px;
		
		setTimeout(this.id + "_obj.floatIt()", 40);
	}
	return el;
}

// *******************************************************************************************
