<!--


function createRequestObject()
{
	var request_o = null;
	
	try
	{
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		request_o = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try 
		{
			request_o = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				request_o = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) { alert(e); }
		}
	}
	else
		alert('Can`t load');
	}
	catch (e) { alert(e); }
	//if(browser == 'Microsoft Internet Explorer') {
	//	request_o = new ActiveXObject('Microsoft.XMLHTTP');
	//}
	//else
	//{
	//	request_o = new XMLHttpRequest();
	//}
	return request_o; //return the object
}

var current = null;
var j = 1;
var parameters = '';
var http = null;

function getContent(fld, arg)
{
	var temp = "getContentHandler('" + fld + "', '" + arg + "')";
	setTimeout(temp, 1 + (j*1000));
	j++;
}

function getContentHandler(fld, arg)
{
	current = fld;
	http = createRequestObject();
	http.open('get', arg);
	http.onreadystatechange = handleContent; 
	http.send(null);
}

function getRedirect()
{
	return true;
}

function getLinkLinkerContent(q, e)
{
	var par2 = '';
	url = document.location.href;
	//alert(url+' ** '+parent.location.href);
	pos = url.indexOf('?');
	o = q.substring(0, 32);
	if (pos != -1) { par2 = url.substring(pos+1, url.length); } else { par2 = ''; }
	url = 'loading.php?q='+q+'&element='+e+'&'+par2+'&url='+url;
	//alert(url);
	setTimeout("document.getElementById('loadingLinkLi').src = url", 1000);
	//alert('Url Iframe: '+document.getElementById('loading').src);
	//alert(q+' -LinkLi2- '+e);	
}

function handleContent()
{

	try 
	{
		if (http.readyState == 4 || http.status == 200)
		{
			var response = http.responseText;
			setContent(current, response);
		}
		else
		{
			setContent(current, 'Fout bij laden content. Excuses voor het ongemak.');
		}
	}
	catch(e) 
	{
		//setContent(current, 'Fout bij laden content. ('+e+')');
	}
}

function setContent(fld, response, para)
{
	try
	{
		response = response.replace(/\x7c/g, '"');
		document.getElementById(fld).innerHTML = response;
		//document.getElementById(fld).innerHTML = document.getElementById(fld).innerHTML.replace('|', '"'); //response.replace(/xB6/img, '"');
		//alert('SETTER:'+fld+'    '+document.getElementById(fld).innerHTML);
		
		if (response.indexOf('-->') != -1)
		{
			parameters = response.substring(5, response.indexOf('-->')-1);
			//alert(parameters);
			if (parameters.length < 100) getLinkLinkerContent(parameters);
		}

	} catch (err) { }//alert('ERROR:'+fld+' - '+err); }
}
function getBrowserHeight() 
{
	var browserHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
    	//Non-IE
    	browserHeight = window.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
    	//IE 6+ in 'standards compliant mode'
    	browserHeight = document.documentElement.clientHeight;
	} else if (document.body && document.body.clientHeight) {
    	//IE 4 compatible
    	browserHeight = document.body.clientHeight;
	}
	return browserHeight;
}

function getBrowserWidth() 
{
	var browserWidth = 0;
	if (typeof(window.innerWidth) == 'number') {
    	//Non-IE
    	browserWidth = window.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth) {
    	//IE 6+ in 'standards compliant mode'
    	browserWidth = document.documentElement.clientWidth;
	} else if (document.body && document.body.clientWidth) {
    	//IE 4 compatible
    	browserWidth = document.body.clientWidth;
	}
	return browserWidth;
}

function navHover() 
{
	try
	{
		var lis = document.getElementById('navmenu1').getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			lis[i].onmouseover=function() {
				this.className+=' iehover';
				//alert('ONMOUSEOVER: '+this.className);
			}
			lis[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(' iehover'), '');
				//alert('ONMOUSEOUT: '+this.className);
			}
		}
	} catch(err) {}

	try
	{
	
		var lis = document.getElementById('navmenu2').getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			lis[i].onmouseover=function() {
				this.className+=' iehover';
				//alert('ONMOUSEOVER: '+this.className);
			}
			lis[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(' iehover'), '');
				//alert('ONMOUSEOUT: '+this.className);
			}
		}	
	} catch(err) {}	
}
if (window.attachEvent) window.attachEvent('onload', navHover);

var mainLeft = 0;
var mainBottom = 0;
var mainRight = 0;
var mainTop = 0;
var mainWidth = null;
var mainHeight = null;

var sizeLeft = 180;
var sizeBottom = 0;
var sizeRight = 180;
var sizeTop = 105;

function prepare()
{
	// Set main
	if (mainWidth = null || mainHeight == null)
	{
		try
		{		
			document.getElementById('main').style.left = mainLeft+'px';
			document.getElementById('main').style.top = mainTop+'px';
			document.getElementById('main').style.bottom = mainBottom+'px';
			document.getElementById('main').style.right = mainRight+'px';
			document.getElementById('main').style.height = (getBrowserHeight()-mainTop-mainBottom)+'px';
			document.getElementById('main').style.width = (getBrowserWidth()-mainLeft-mainRight)+'px';
	
			document.getElementById('content').style.left = (mainLeft+sizeLeft)+'px';
			document.getElementById('content').style.top = (mainTop+sizeTop)+'px';
			document.getElementById('content').style.height = (getBrowserHeight()-mainTop-mainBottom-sizeTop-sizeBottom)+'px';
			document.getElementById('content').style.width = (getBrowserWidth()-mainLeft-mainRight-sizeLeft-sizeRight)+'px';
			
			document.getElementById('left').style.left = '0px';
			document.getElementById('left').style.top = sizeTop+'px';
			document.getElementById('left').style.width = sizeLeft+'px';		
			document.getElementById('left').style.height = document.getElementById('content').style.height;	
	
			document.getElementById('top').style.left = sizeLeft+'px';
			document.getElementById('top').style.top = '0px';
			document.getElementById('top').style.width = document.getElementById('content').style.width;		
			document.getElementById('top').style.height = sizeTop+'px';	
			
			document.getElementById('right').style.right = 0+'px';
			document.getElementById('right').style.top = sizeTop+'px';
			document.getElementById('right').style.width = sizeRight+'px';		
			document.getElementById('right').style.height = document.getElementById('content').style.height;	
			
			document.getElementById('bottom').style.left = sizeLeft+'px';
			document.getElementById('bottom').style.bottom = 0+'px';
			document.getElementById('bottom').style.width = document.getElementById('content').style.width;		
			document.getElementById('bottom').style.height = sizeBottom+'px';						
		}
		catch (e) { return false; }
	}
	return true;
}
window.onresize = prepare;


var e = null;		// Current Element
var s = false;		// Protocol activated
var par = null;		// Parameters
var req = createRequestObject2();

function processReqChange( handler ) 
{	
	if (req.readyState == 4 && req.status == 200 && req.responseXML ) handler( req.responseXML ); 
}

function createRequestObject2()
{
	var o = null;
	if(window.XMLHttpRequest) {
		try { o = new XMLHttpRequest(); } catch(e) { o = false; }
	}
	else if(window.ActiveXObject)
	{
		try { o = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {
		try { o = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { o = false; } }
	}
	return o;
}

function loadXMLDoc( url, handler ) 
{ 
	if(req) 
	{
		req.open('GET', url, true);
		req.onreadystatechange = function() { processReqChange( handler ); };
		req.send('');
	}
	else
	{
		alert('Error...');
	}
}

function setElement( input ) { e = document.getElementById( input.substring(0,3) ); e.innerHTML = '<img src="http://www.linklinker.com/system/loading.gif">&nbsp;&nbsp;Loading... Please Wait...'; par = input.substring(3).split('$'); }

function handlerBanner( dom ) 
{
	var nl = req.responseXML.getElementsByTagName( 'banner' );
	var user = req.responseXML.getElementsByTagName( 'user' )[0].firstChild.nodeValue;	
	var url = req.responseXML.getElementsByTagName( 'link' )[0].firstChild.nodeValue;
	
	for( var i = 0; i < nl.length; i++ ) 
	{
		var id = nl[i].getElementsByTagName( 'id' )[0].firstChild.nodeValue;	
		if ( id == par[0] )
		{
			var id = nl[i].getElementsByTagName( 'id' )[0].firstChild.nodeValue;
			var img = nl[i].getElementsByTagName( 'img' )[0].firstChild.nodeValue;
			var border = nl[i].getElementsByTagName( 'border' )[0].firstChild.nodeValue;
			var bcolor = nl[i].getElementsByTagName( 'bordercolor' )[0].firstChild.nodeValue;
			var title = nl[i].getElementsByTagName( 'title' )[0].firstChild.nodeValue;
			var link = nl[i].getElementsByTagName( 'link' )[0].firstChild.nodeValue;			
			
			
			try
			{
				e.innerHTML = '';
			} catch(err) {}

			var objUrl = document.createElement( 'a' );
			objUrl.href = 'http://www.linklinker.com/system/banners.url.php?s='+user+'&id='+id;
			objUrl.target = '_blank';
			e.appendChild( objUrl );
						
			var objImg = document.createElement( 'img' );
			objImg.src = url+'/att/'+img;
			objImg.style.border = border+'px solid '+bcolor;
			objImg.alt = 'Banner: '+title+' - '+link;
			objImg.title = 'Banner: '+title+' - '+link;			
			objUrl.appendChild( objImg );
		}
	}
	s = false;
}
var page = 0;
var size = 1000;

function cleanHTML(s) 
{
    s = s.replace(/<p([^>]*)>/ig, '<span1>');
    s = s.replace(/<div([^>]*)>/ig, '<span1>');
    s = s.replace(/<\/p>/ig, '</span>');    
    s = s.replace(/<\/div>/ig, '</span>');    
    return s;
}
function sanitizeHTML(s) {
    var d = document.createElement('div');
    d.appendChild(document.createTextNode(s));
    return d.innerHTML;
}


function handlerNews( dom ) 
{
	e.innerHTML = '';
	
	var nl = req.responseXML.getElementsByTagName( 'item' );
	
	for( var i = page*size; i < nl.length && i < (page*size)+size; i++ ) 
	{
		if (par[0] == nl[i].getElementsByTagName( 'category' )[0].firstChild.nodeValue || par['get'] == nl[i].getElementsByTagName( 'category' )[0].firstChild.nodeValue || par[0] == null || par[0] == 0 )
		{
			
			var date = nl[i].getElementsByTagName( 'pubDate' )[0].firstChild.nodeValue;		
			var title = nl[i].getElementsByTagName( 'title' )[0].firstChild.nodeValue;
			var description = nl[i].getElementsByTagName( 'description' )[0].firstChild.nodeValue;
			var more = nl[i].getElementsByTagName( 'more' )[0].firstChild.nodeValue;		
			var theuid = nl[i].getElementsByTagName( 'uid' )[0].firstChild.nodeValue;
	
			var oDiv = document.createElement( 'div' );
			var oDate = document.createElement( 'span' );
			oDate.className = 'news_date';
			oDate.style.width = '20%';	
			oDate.innerHTML = date+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
			var oTitle = document.createElement( 'span' );
			oTitle.className = 'news_head';
			oTitle.style.width = '80%';
			oTitle.innerHTML = title;
			var oDesc = document.createElement( 'div' );
			oDesc.className = 'news_message';
			try
			{
				oDesc.innerHTML = cleanHTML( description )+'<br /><br />';
			}
			catch(error) { 
				try
				{
					oDesc.innerHTML = sanitizeHTML( description );
				}
				catch(error2)
				{
					oDesc.innerHTML = 'Kan content niet laden';
				}
			}
			
			oDiv.appendChild( oDate );
			oDiv.appendChild( oTitle );	
			
			oDiv.appendChild( oDesc );
	
			if ( more == 1 )
			{
				var oMore = document.createElement( 'p' );
				oMore.style.textAlign = 'right';
				oMore.innerHTML = '<a onclick=\'get( "nwi'+e.id+''+theuid+'" );\' href="#">Lees meer...</a>';
				oDiv.appendChild( oMore );
			}	
			
			oDiv.innerHTML = oDiv.innerHTML+'<br /><br />';				
			e.appendChild( oDiv );		
		}
	}
	
	//e.innerHTML = e.innerHTML+"<a href='#"+(page-1)+"' onClick="page--; getFeedList('gb1');">Previous</a>";
	//e.innerHTML = e.innerHTML+"<a href='#"+(page+1)+"' onClick='nextpage();'>Next</a>";
	s = false;
}

function handlerNewsItem( dom ) 
{
	e.innerHTML = '';
	
	var nl = req.responseXML.getElementsByTagName( 'item' );
	
	for( var i = page*size; i < nl.length && i < (page*size)+size; i++ ) 
	{
		var date = nl[i].getElementsByTagName( 'pubDate' )[0].firstChild.nodeValue;
		var title = nl[i].getElementsByTagName( 'title' )[0].firstChild.nodeValue;
		var description = nl[i].getElementsByTagName( 'description' )[0].firstChild.nodeValue;
		var theuid = nl[i].getElementsByTagName( 'uid' )[0].firstChild.nodeValue;

		var oDiv = document.createElement( 'div' );
		var oDate = document.createElement( 'span' );
		oDate.className = 'news_date';
		oDate.style.width = '20%';		
		oDate.innerHTML = date+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
		var oTitle = document.createElement( 'span' );
		oTitle.style.width = '80%';		
		oTitle.className = 'news_head';
		oTitle.innerHTML = title;
		
		var oBack = document.createElement( 'p' );
		oBack.style.textAlign = 'right';
		oBack.innerHTML = '<a href="#" onclick=\'get( "nws'+e.id+'" );\'>Terug</a>';
		oDiv.appendChild( oBack );		
		
		var oDesc = document.createElement( 'p' );
		oDesc.className = 'news_message';
		try
		{
			oDesc.innerHTML = cleanHTML( description );
		}
		catch(error) { 
			try
			{
				oDesc.innerHTML = sanitizeHTML( description );
			}
			catch(error2)
			{
				oDesc.innerHTML = 'Kan content niet laden';
			}
		}
		
		oDiv.appendChild( oDate );
		oDiv.appendChild( oTitle );		
		oDiv.appendChild( oDesc );
		e.appendChild( oDiv );	
		e.innerHTML = e.innerHTML+'<br /><br />';	
	}
	
	//e.innerHTML = e.innerHTML+"<a href='#"+(page-1)+"' onClick="page--; getFeedList('gb1');">Previous</a>";
	//e.innerHTML = e.innerHTML+"<a href='#"+(page+1)+"' onClick='nextpage();'>Next</a>";
	s = false;
}

function handlerEmbedded( dom ) 
{
	e.innerHTML = '';
	
	var nl = req.responseXML.getElementsByTagName( 'item' );
	for( var i = page*size; i < nl.length && i < (page*size)+size; i++ ) 
	{
		if (par[0] == nl[i].getElementsByTagName( 'name' )[0].firstChild.nodeValue && par['sub'] == nl[i].getElementsByTagName( 'sub' )[0].firstChild.nodeValue )
		{
			//alert( 'Never here?' );
			var content = nl[i].getElementsByTagName( 'content' )[0].firstChild.nodeValue;		
	
			var oDiv = document.createElement( 'div' );

			try
			{
				oDiv.innerHTML = cleanHTML( content );
			}
			catch(error) { 
				try
				{
					oDiv.innerHTML = sanitizeHTML( content );
				}
				catch(error2)
				{
					oDiv.innerHTML = 'Kan content niet laden';
				}
			}				
			e.appendChild( oDiv );		
		}
		//e.innerHTML = e.innerHTML+'Niet: '+par[0]+'='+nl[i].getElementsByTagName( 'name' )[0].firstChild.nodeValue+' --- '+par['get'];
	}
	s = false;
}


function nextpage( dom )
{
	page++;
	//get( 'nws' );
}

function getRandBanner( dom ) 
{
	var nl = req.responseXML.getElementsByTagName( 'banner' );
	var user = req.responseXML.getElementsByTagName( 'user' )[0].firstChild.nodeValue;
	var url = req.responseXML.getElementsByTagName( 'link' )[0].firstChild.nodeValue;
	var r = rand();	

	for( var i = 0; i < nl.length; i++ ) 
	{
		var start = nl[i].getElementsByTagName( 'start' )[0].firstChild.nodeValue;
		var end = nl[i].getElementsByTagName( 'end' )[0].firstChild.nodeValue;

		if ( r > start && r <= end )
		{
			var id = nl[i].getElementsByTagName( 'id' )[0].firstChild.nodeValue;
			var img = nl[i].getElementsByTagName( 'img' )[0].firstChild.nodeValue;
			var border = nl[i].getElementsByTagName( 'border' )[0].firstChild.nodeValue;
			var bcolor = nl[i].getElementsByTagName( 'bordercolor' )[0].firstChild.nodeValue;
			var title = nl[i].getElementsByTagName( 'title' )[0].firstChild.nodeValue;

			try
			{
				e.innerHTML = '';
			} catch(err) {}

			var objUrl = document.createElement( 'a' );
			objUrl.href = 'http://www.linklinker.com/system/banners.url.php?s='+user+'&id='+id;
			objUrl.target = '_blank';			
			e.appendChild( objUrl );

			var objImg = document.createElement( 'img' );
			objImg.src = url+'/att/'+img;
			objImg.style.border = border+'px solid '+bcolor;
			objUrl.appendChild( objImg );
		}
	}
	s = false;
}

function getBanner( dom )
{
	if ( e != null )
		loadXMLDoc( 'banner.xml', handlerBanner );
	else
	{
		s = false;
		setTimeout("get( 'ban"+dom+"' )", 100);
	}
}

function getRandomBanner( dom )
{
	if ( e != null )
	 	loadXMLDoc( 'banner'+par[0]+'.xml', getRandBanner );
	else
	{
		s = false;
		setTimeout("get( 'bro"+dom+"' )", 100);
	}	 	
}

function getNews( dom )
{
	if ( e != null )
	{
		var url = document.location.href;
		var q = url.indexOf('?newsCat=');
		var p = url.indexOf('&');
		var r = url.indexOf('#');
	
		if (q != -1)
		{
			if (p != -1)
			{
				par['get'] = url.substring((q+9), p);
			}
			else if( r != -1 )
			{
				par['get'] = url.substring((q+9), r);			
			}
			else
			{
				par['get'] = url.substring((q+9), url.length);
			}
		}
		loadXMLDoc( 'xml/news.xml?'+Math.round(Math.random()*10000000), handlerNews );

	}
	else
	{
		s = false;
		setTimeout("get( 'nws"+dom+"' )", 100);
	}
}

function getEmbedded( dom )
{
	if ( e != null )
	{
		par['sub'] = getVar( par[1] );
		loadXMLDoc( 'xml/embeddedcontent.xml?'+Math.round(Math.random()*10000000), handlerEmbedded );
	}
	else
	{
		s = false;
		setTimeout("get( 'emb"+dom+"' )", 100);
	}
}

function getNewsItem( dom )
{
	if ( e != null )
		loadXMLDoc( 'xml/news'+par[0]+'.xml?'+Math.round(Math.random()*10000000), handlerNewsItem );
	else
	{
		s = false;
		setTimeout("get( 'nwi"+dom+"' )", 100);
	}
}

function rand () { return ( Math.floor ( Math.random ( ) * 100 ) ); }

function gets()
{
	var url = document.location.href;
	var q = url.indexOf('#');
	if (q != -1 )
		return url.substring((q+1), url.length);
	return null;
}

function get( input )
{
	if ( !s )
	{
		s = true;
		setElement( input.substring(3) );
		switch ( input.substring(0,3) )
		{
			case 'ban':
			  	getBanner( input.substring(3) );
			  	break;
			case 'bro':
			  	getRandomBanner( input.substring(3) );
				setTimeout("get( '"+input+"' );", 10*1000);
			  	break;
			case 'nws':
				var p = gets();
				if ( p != null && p.length > 0 )
				{
					par[0] = p;
					getNewsItem( e.id+p );
				}
				else
				{
				  	getNews( input.substring(3) );
				}
			  	break;
			case 'nwi':
			  	getNewsItem( input.substring(3) );
			  	break;
			case 'emc':
			  	getEmbedded( input.substring(3) );
			  	break;			  				  	
			default:
			  	alert('Error: '+input.substring(0,3) );
		}
	}
	else
	{
		setTimeout("get( '"+input+"' )", 1000);
	}
}

function getVar( name )
{
	var url = document.location.href;
	var q = url.indexOf( name+'=');
	var suburl = url.substring( q+name.length, url.length ); 
	var p = suburl.indexOf('&');
	var r = suburl.indexOf('#');
	
	if (q != -1)
	{
		if (p != -1)
		{
			return suburl.substring(1, p); 
		}
		else if( r != -1 )
		{
			return suburl.substring(1, r);			
		}
		else
		{
			return suburl.substring(1, url.length);
		}
	}
}






// IE5.5+ PNG Alpha Fix v2.0 Alpha: Background Tiling Support
// (c) 2008-2009 Angus Turnbull http://www.twinhelix.com

// This is licensed under the GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/

var IEPNGFix = window.IEPNGFix || {};

IEPNGFix.tileBG = function(elm, pngSrc, ready) {
	// Params: A reference to a DOM element, the PNG src file pathname, and a
	// hidden "ready-to-run" passed when called back after image preloading.

	var data = this.data[elm.uniqueID],
		elmW = Math.max(elm.clientWidth, elm.scrollWidth),
		elmH = Math.max(elm.clientHeight, elm.scrollHeight),
		bgX = elm.currentStyle.backgroundPositionX,
		bgY = elm.currentStyle.backgroundPositionY,
		bgR = elm.currentStyle.backgroundRepeat;

	// Cache of DIVs created per element, and image preloader/data.
	if (!data.tiles) {
		data.tiles = {
			elm: elm,
			src: '',
			cache: [],
			img: new Image(),
			old: {}
		};
	}
	var tiles = data.tiles,
		pngW = tiles.img.width,
		pngH = tiles.img.height;

	if (pngSrc) {
		if (!ready && pngSrc != tiles.src) {
			// New image? Preload it with a callback to detect dimensions.
			tiles.img.onload = function() {
				this.onload = null;
				IEPNGFix.tileBG(elm, pngSrc, 1);
			};
			return tiles.img.src = pngSrc;
		}
	} else {
		// No image?
		if (tiles.src) ready = 1;
		pngW = pngH = 0;
	}
	tiles.src = pngSrc;

	if (!ready && elmW == tiles.old.w && elmH == tiles.old.h &&
		bgX == tiles.old.x && bgY == tiles.old.y && bgR == tiles.old.r) {
		return;
	}

	// Convert English and percentage positions to pixels.
	var pos = {
			top: '0%',
			left: '0%',
			center: '50%',
			bottom: '100%',
			right: '100%'
		},
		x,
		y,
		pc;
	x = pos[bgX] || bgX;
	y = pos[bgY] || bgY;
	if (pc = x.match(/(\d+)%/)) {
		x = Math.round((elmW - pngW) * (parseInt(pc[1]) / 100));
	}
	if (pc = y.match(/(\d+)%/)) {
		y = Math.round((elmH - pngH) * (parseInt(pc[1]) / 100));
	}
	x = parseInt(x);
	y = parseInt(y);

	// Handle backgroundRepeat.
	var repeatX = { 'repeat': 1, 'repeat-x': 1 }[bgR],
		repeatY = { 'repeat': 1, 'repeat-y': 1 }[bgR];
	if (repeatX) {
		x %= pngW;
		if (x > 0) x -= pngW;
	}
	if (repeatY) {
		y %= pngH;
		if (y > 0) y -= pngH;
	}

	// Go!
	this.hook.enabled = 0;
	if (!({ relative: 1, absolute: 1 }[elm.currentStyle.position])) {
		elm.style.position = 'relative';
	}
	var count = 0,
		xPos,
		maxX = repeatX ? elmW : x + 0.1,
		yPos,
		maxY = repeatY ? elmH : y + 0.1,
		d,
		s,
		isNew;
	if (pngW && pngH) {
		for (xPos = x; xPos < maxX; xPos += pngW) {
			for (yPos = y; yPos < maxY; yPos += pngH) {
				isNew = 0;
				if (!tiles.cache[count]) {
					tiles.cache[count] = document.createElement('div');
					isNew = 1;
				}
				var clipR = Math.max(0, xPos + pngW > elmW ? elmW - xPos : pngW),
					clipB = Math.max(0, yPos + pngH > elmH ? elmH - yPos : pngH);
				d = tiles.cache[count];
				s = d.style;
				s.behavior = 'none';
				s.left = (xPos - parseInt(elm.currentStyle.paddingLeft)) + 'px';
				s.top = yPos + 'px';
				s.width = clipR + 'px';
				s.height = clipB + 'px';
				s.clip = 'rect(' +
					(yPos < 0 ? 0 - yPos : 0) + 'px,' +
					clipR + 'px,' +
					clipB + 'px,' +
					(xPos < 0 ? 0 - xPos : 0) + 'px)';
				s.display = 'block';
				if (isNew) {
					s.position = 'absolute';
					s.zIndex = -999;
					if (elm.firstChild) {
						elm.insertBefore(d, elm.firstChild);
					} else {
						elm.appendChild(d);
					}
				}
				this.fix(d, pngSrc, 0);
				count++;
			}
		}
	}
	while (count < tiles.cache.length) {
		this.fix(tiles.cache[count], '', 0);
		tiles.cache[count++].style.display = 'none';
	}

	this.hook.enabled = 1;

	// Cache so updates are infrequent.
	tiles.old = {
		w: elmW,
		h: elmH,
		x: bgX,
		y: bgY,
		r: bgR
	};
};


IEPNGFix.update = function() {
	// Update all PNG backgrounds.
	for (var i in IEPNGFix.data) {
		var t = IEPNGFix.data[i].tiles;
		if (t && t.elm && t.src) {
			IEPNGFix.tileBG(t.elm, t.src);
		}
	}
};
IEPNGFix.update.timer = 0;

if (window.attachEvent && !window.opera) {
	window.attachEvent('onresize', function() {
		clearTimeout(IEPNGFix.update.timer);
		IEPNGFix.update.timer = setTimeout(IEPNGFix.update, 100);
	});
}










$(document).ready(function () {
	$("div.menuWithExtendedSubMenu h4").hover(
		function () { $(this).find('div').show() },
		function () { $(this).find('div').hide() }
	)
	$("div.menuWithExtendedSubMenu h4 div").hover(
		function () { $(this).show() },
		function () { $(this).hide() }
	)
});
-->
