


function ncpJsLoadListener(oid,_callback)
{
	var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op;

	var ie6=false;
	var ie7=false;
	var notSaf3=false;
	var saf3=false;

	d = document;
	n = navigator;
	na = n.appVersion;
	nua = n.userAgent;
	win = ( na.indexOf( 'Win' ) != -1 );
	mac = ( na.indexOf( 'Mac' ) != -1 );
	lin = ( nua.indexOf( 'Linux' ) != -1 );
	
	if ( !d.layers )
	{
		dom = ( d.getElementById );
		op = ( nua.indexOf( 'Opera' ) != -1 );
		konq = ( nua.indexOf( 'Konqueror' ) != -1 );
		saf = ( nua.indexOf( 'Safari' ) != -1 );
		moz = ( nua.indexOf( 'Gecko' ) != -1 && !saf && !konq);
		ie = ( d.all && !op );
		ie4 = ( ie && !dom );
	
		ie5x = ( d.all && dom );
		ie5mac = ( mac && ie5x );
		ie5xwin = ( win && ie5x );
	}
	
	if(ie)
	{
		var sptmpz=n.appVersion.split("MSIE");
		var vzn=parseFloat(sptmpz[1]);
		if(vzn=='6') ie6=true;
		if(vzn=='7') ie7=true;
	}
	
	if(saf)
	{
		var tmpsaf=nua.split(' ');
		for(var x=0;x<tmpsaf.length;x++)
		{
			if(tmpsaf[x].indexOf('Safari')!=-1)
			{
				var tmpsaf2=tmpsaf[x].split('/');
				if(parseInt(tmpsaf2[tmpsaf2.length-1].substring(0,1))<=4) notSaf3=true;
				else saf3=true;
			}
		}
	}
	
	// -----------------------------------------
	
	var jslistener = this;
	this.ct = 0;
	this.allowedSeconds = 6000;
	this.timer;
	this.objectID = oid;
	this.scriptElement = document.getElementById(oid);
	
	this.ncpJsLoadListener = function()
	{
		if(ie)
		{
			this.scriptElement.onreadystatechange = function ()
			{
				var rs = jslistener.scriptElement.readyState;
				if ('loaded' === rs || 'complete' === rs)
				{
					jslistener.scriptElement.onreadystatechange = null;
					clearInterval(jslistener.timer);
					if(jslistener.timer) eval(_callback+'()');
				}
			}
		}
		else if(saf3)
		{
			this.scriptElement.addEventListener("load", jslistener.safLoadHandler);
		}
		else
		{
			this.scriptElement.onload = function()
			{
				clearInterval(jslistener.timer);
				if(jslistener.timer) eval(_callback+'()');
			}
		}
	}
	this.timeoutListener = function()
	{
		this.ct++;
		if( (this.ct*100) > this.allowedSeconds)
		{
			this.removeRequest();
			jslistener.timer = null;
		}
	}
	
	this.removeRequest = function()
	{
		var ncpinclude = document.getElementById(this.objectID);
		document.getElementsByTagName('body')[0].removeChild(ncpinclude);
		clearInterval(this.timer);
		
		// remove listener
		if(ie) jslistener.scriptElement.onreadystatechange = null;
		else if(saf3)
		{
			this.scriptElement.removeEventListener('load',jslistener.safLoadHandler);
		}
		else this.scriptElement.onload = null;
		
	}
	this.safLoadHandler = function()
	{
		clearInterval(jslistener.timer);
		if(jslistener.timer) eval(_callback+'()');
	}
	this.beginListener = function()
	{
		jslistener.ncpJsLoadListener();
		this.timer = setInterval(function(){jslistener.timeoutListener();},100);
	}
	this.beginListener();
}



function _ncpScriptTag(url)
{
	var rnd = Math.floor(Math.random()*1000000);
	var oid = 'ncp_include_'+rnd;

	var scr = document.createElement('script');
	scr.setAttribute('type','text/javascript');
	scr.setAttribute('id',oid);
	scr.src=url;
	document.getElementsByTagName('body')[0].appendChild(scr);

	return oid;
}