// .o0){ JML : Javascript Micro Library | Version : 5.487 | Last modified : 16.02.2007 | Author: HK510.com }(0o.
isset 	= function(g){return typeof(g)!='undefined';};
getObj 	= function(n,d)
{
	if(typeof(n)=='object') return n;
	if(!isset(n)) return null;
	if(typeof(d)=='string' && getObj(d)==null) return null;
	var p,i,x;
	if(!d) d = document;
	if((p=n.indexOf("@"))>0 && parent.frames.length)
	{
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n]) && d.all) x=d.all[n];
	for (i=0;!x && i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x && d.layers && i<d.layers.length;i++) x = getObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n);
	return x;
};
function UI1B0(o,s)
{
	this.parent = o;
	this.getObj = function(n,d)
	{
		if(typeof(n)=='object') return n;
		if(typeof(n)=='undefined') return null;
		if(typeof(d)=='string' && this.getObj(d)==null) return null;
		var p,i,x;
		if(!d) d = document;
		if((p=n.indexOf("@"))>0 && parent.frames.length)
		{
			d=parent.frames[n.substring(p+1)].document;
			n=n.substring(0,p);
		}
		if(!(x=d[n]) && d.all) x=d.all[n];
		for (i=0;!x && i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x && d.layers&&i<d.layers.length;i++) x = this.getObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n);
		return x;
	};
	this.createNew = function(n)
	{
		return this[n] = new UI1B0(this,'{Object:'+n+'}');
	};
	this.addClass = function(n,c,s,o)
	{
		this[n] 	= new c(this,s);
		if(typeof(o)!='undefined' && typeof(o.extendClass)!='undefined')
		{
			this[n].extend 	= o.extendClass;
			this[n].extend(this,s);		
		}else{
			this[n].extend 	= UI1B0;
			this[n].extend(this,s);
		}
		this[n].constructor();
	};
	isset = function(g){return typeof(g)!='undefined';};
	this.toString = function(){return s;};
};
function UI9B5(o)
{
	this.constructor = function()
	{
		this.type		= this.getType();
		this.platform		= this.getPlatform();
	};
	this.getType = function()
	{
		var v = 'others';
		if(document.all && document.getElementById) v = 'ie';
		if(document.all && navigator.userAgent.toLowerCase( ).indexOf("opera") != -1) v = 'opera'; 
		if(!document.all && document.addEventListener) v = 'moz';
		if(navigator.userAgent.toLowerCase().indexOf('firefox')!=-1) v = 'ff';
		if(document.layers) v = 'ns4';
		return v;
	};
	this.getPlatform = function()
	{
		var v = 'others';
		if(navigator.appVersion.indexOf('Mac')!=-1) v = 'mac';
		if(navigator.appVersion.indexOf('Win')!=-1) v = 'win';
		return v;
	};
	this.popup = function(p,w,h,n,l,t,f)
	{
		var n1 	= (l!=null)? l : this.getHCenter(w);
		var n2 	= (t!=null)? t : this.getVCenter(h);
		var f 	= (f==null)? 'scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,dependent=no': f;
		var r 	= null;
		r = window.open(p,n,'width='+w+',height='+h+',top='+n2+',left='+n1+','+f);
		if(r!=null && window.focus) r.window.focus();
		return (r!=null)? r : null;
	};
	this.getHCenter = function(w)
	{
		return (this.getScreenWidth()-w)/2;
	};
	this.getVCenter = function(h)
	{
		return (this.getScreenHeight()-h)/2;
	};
	this.getWidth = function()
	{
		return (this.type=='ie')? document.body.clientWidth : (this.type=='ff')? document.documentElement.clientWidth : window.innerWidth;
	};
	this.getHeight = function()
	{
		return (this.type=='ie')? document.body.clientHeight : (this.type=='ff')?document.documentElement.clientHeight : window.innerHeight;
	};
	this.getScreenWidth = function()
	{
		return screen.width;
	};
	this.getScreenHeight = function()
	{
		return screen.height;
	};
	this.writeJs = function(s)
	{
		var e 	= document.createElement('script');
		e.type	='text/javascript';
		e.text 	= s;
		document.body.appendChild(e);			
	};
	this.writeCss = function(s)
	{
		var e 	= document.createElement('style');
		var t 	= root.browser.type;
		e.type	= 'text/css';
		if(t=='ie'){e.styleSheet.cssText=s;
		}else if(t=='moz'){e.appendChild(document.createTextNode(s));
		}else{e.innerHTML = s;}
		document.getElementsByTagName('head')[0].appendChild(e);		
	};
};
function SK1x4()
{
	this.constructor 	= function()
	{
		this.enable = isEnable();
	};
	this.load = function(o){engine(o,null,'GET',this);};
	this.send = function(o,d){engine(o,d,'POST',this);};
	this.cancel= function(o)
	{
		if(isset(o.connector) && isset(o.connector.abort)) o.connector.abort();
	}
	this.connection 	= function()
	{
		this.url;
		this.type;
		this.onLoad;
		this.onError;
		this.connector;
		this.timeout;
		this.validate;
		this.id = root.flash.generateUniqueId();
	};
	function isEnable()
	{
		return isset(getConnector());
	};
	function getConnector()
	{
		var o;
		if(window.XMLHttpRequest){
			o = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			try{o = new ActiveXObject("Msxml2.XMLHTTP");}
			catch(e){try{o = new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}
		}
		return o;
	};
	function engine(o,d,m,h)
	{
		o.connector = getConnector();
		if(!isset(o.connector))
		{
			if(typeof(o.onError)=='function') o.onError("Error -> "+h+"\nXMLHttpRequest/ActiveXObject not supported !");
			return;
		}
		if(!isset(o.url) || typeof(o.url)!='string')
		{
			if(typeof(o.onError)=='function') o.onError("Error -> "+h+"\nUrl is undefined !");
			return;
		}
		if(!isset(o.type)) o.type='text';
		if(isset(o.timeout)) clearTimeout(o.timeout);
		o.validate 	= function()
		{
			clearTimeout(o.timeout);			
			if(isset(o.connector.abort)) o.connector.abort();
			if(typeof(o.onError)=='function') o.onError("Error -> "+h+"\nTimeout !\nServer is not responding !");
		};
		o.timeout 	= setTimeout(o.validate,50000,this);
		o.connector.onreadystatechange = function()
		{
			var c = o.connector;
			try{
				if(c.readyState==4 && c.status==200){
					clearTimeout(o.timeout);				
					o.type 	= getType(c.getAllResponseHeaders());
					var t = null;
					if(o.type=='text')	t = c.responseText;
					if(o.type=='xml') 	t = (isset(c.responseXML.xml))? c.responseXML.xml : c.responseXML;
					if(o.type=='js') 	t = c.responseText;
					if(o.type=='css')	t = c.responseText;
					var r 	= (typeof(o.onLoad)=='function')? o.onLoad(t) :  null;
				}
			}
			catch(e){clearTimeout(o.timeout);}
		}
		var c = (m=='GET')? null : h.encode(d);
		var t = (m=='GET')? 'text/xml' : 'application/x-www-form-urlencoded';
		var u = (o.url.match('[?]')!=null)?'&':'?';
		o.url += u+'dkvunique='+root.flash.generateUniqueId();
		o.connector.open(m,o.url,true);
		o.connector.setRequestHeader("Content-Type",t);
		o.connector.send(c);
	};
	this.encode 		= function(o,c)
	{
		var c = isset(c)? c : '&';
		var s = '';
		for(var i in o)
		{
			var o1 =  o[i];
			var o2 = typeof(o1)=='object'? this.encode(o1) : o1;
			s+=i+'='+o2+c;
		}
		return s.substring(0,s.length-1);
	};
	this.decode 		= function(s,c)
	{
		var c = isset(c)? c : '&';
		var a = s.split(c);
		if(typeof(a.length)!='number') return;
		var o = {};
		for(var i=0;i<=a.length-1;i++)
		{
			var b 	= a[i].split('=');
			o[b[0]] = b[1];
		}
		return o;
	};	
	function getType(s)
	{
		var r = null;
		var s = s.split('Content-Type')[1];
		if(s.indexOf('text')!=-1) 	r = 'text';
		if(s.indexOf('xml')!=-1) 	r = 'xml';
		if(s.indexOf('javascript')!=-1) r = 'js';
		if(s.indexOf('css')!=-1) 	r = 'css';
		return r;
	};	
}

function UI6B6(o)
{
	this.constructor = function()
	{
	};
	this.setProperty = function(t,p,v)
	{
		var o = this.getObj(t);
		if(o==null) return;
		if(typeof(v)=='function')
		{
			var s;
			if(p.indexOf('resize')!=-1){s = (o.addEventListener)?'resize':'onresize';}
			if(p.indexOf('load')!=-1){s = (o.addEventListener)?'load':'onload';}
			if(o.addEventListener) return o.addEventListener(s,v,false);
			if(o.attachEvent && root.browser.type!='opera') return o.attachEvent(s,v);
		}
		return (typeof(o.style[p])!='undefined')? o.style[p] = v : (typeof(o[p])!='undefined')? o[p] = v : null;
	};
	this.getProperty = function(t,p)
	{
		var r = null;
		var o = this.getObj(t);
		if(o==null) return;
		if(p == "offsetLeft" || p == "offsetTop")
		{
			r = this.getOffset(o,p);
		}else if(p == "offsetWidth" || p == "offsetHeight"){
			r = o[p];
		}else{
			r = (typeof(o[p])!='undefined')? o[p] : this.getStyle(o,p);
		}
		return r;
	};
	this.trace  	= function(o,b)
	{
		var s='';
		var r = (typeof(b)!='undefined')?(b)?'<br />':'\n':'\n';
		for(var i in o) s+=i+'='+o[i]+', type = '+ typeof(o[i])+r;
		(r=='<br />')? document.write(s) : alert(s);
	};
	this.getStyle = function(o,p)
	{
		return o.style[p].match('[^px]+');		
	};
	this.getOffset = function(o,p){
		var a = 0;
		while(o!=null){
			if(typeof(o[p])!='undefined' || o[p]!=null) a+=o[p];
			o = (o.offsetParent!=null)? o.offsetParent : o.parentNode;
		}
		return a;
	};
	this.addItem = function(s0,s1,s2,s3,s4,o1)
	{
		var o2 = document.createElement(s0);
		if(!isset(o2) || o2==null) return null;
		if(s1!=null) this.setProperty(o2,'id',s1);
		if(s2!=null) this.setProperty(o2,'className',s2);
		if(s3!=null) this.setProperty(o2,'innerHTML',s3);
		var o3 = this.getObj(s4);
		if(isset(o1) && o1!=null)
		{
			var o4 = this.getObj(o1.sub);
			var b1 = o1.before;
			var o5 = (b1)? o4 : o4.nextSibling;
			o3.insertBefore(o2,o5);
		}else{
			o3.appendChild(o2);
		}
		return o2;
	};
	this.removeItem = function(s)
	{
		var o1 = this.getObj(s);
		var o2 = o1.parentNode;
		if(o1==null || o2==null) return;
		(o2.removeNode)? o1.removeNode(true) : o2.removeChild(o1);
	};
};
function UI9C8(o)
{
	this.constructor = function()
	{
		this.pageId		= this.generatePageId();
		this.version		= this.getVersion();
	};
	this.generatePageId = function()
	{
		return this.generateUniqueId();
	};
	this.generateUniqueId = function(n)
	{
		var e = (typeof(n)!='undefined' && typeof(n)=='number')?n:3001;
		return new Date(e, 00, 01, 00, 00, 00)-new Date();
	};
	this.create = function(o,b)
	{
		var f 	= o.flash;
		var c	= o.custom;
		var u 	= (f.unique)?'?UID='+this.generateUniqueId():'';
		var e 	= '';
		var r 	= '';
		var s	= '<param name=';
		var a  	= (isset(f.transparent) && f.transparent)? true : false;
		for(var i in c) e+= i+'='+c[i]+'&';
		e	+='pageId='+this.pageId;
		r 	= "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'"+
			"codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+f.version+"' "+
			"width='"+f.width+"' height='"+f.height+"' id='"+f.id+"' align='"+f.align+"' >"+
			s+"'allowScriptAccess' value='sameDomain' /> "+
			s+"'movie' value='"+f.src+u+"' /> "+
			s+"'quality' value='"+f.quality+"' /> "+
			s+"'menu' value='false' /> "+
			s+"'bgcolor' value='"+f.color+"' /> "+
			s+"'FlashVars' value='"+e+"'>";
			r+=(a)? s+"'wmode' value='transparent' />" : "";
			r+="<embed src='"+f.src+u+"' quality='"+f.quality+"' "+
			"FlashVars='"+e+"' bgcolor='"+f.color+"' width='"+f.width+"' height='"+f.height+"' name='"+f.id+"' ";
			r+= (a)? "wmode='transparent'" : "";
			r+="align='"+f.align+"' allowScriptAccess='sameDomain' menu='false' type='application/x-shockwave-flash' "+
			"pluginspage='http://www.macromedia.com/go/getflashplayer' /></object> ";
		if(isset(b) && b)
		{
			return r;
		}else{
			root.obj.setProperty(f.container,'innerHTML',r);			
		}
	};
	this.getVersion = function()
	{
		var e,r,q;
		var n = navigator.plugins;
		var p = 'ShockwaveFlash.ShockwaveFlash';
		if(root.browser.type=='ie' && root.browser.platform=='win')
		{
			try{q=new ActiveXObject(p+".7");r=q.GetVariable("$version").match('\\d');}
			catch(e){try{q=new ActiveXObject(p+".6");r=6;}
			catch(e){try{q=new ActiveXObject(p+".3");r=q.GetVariable("$version").match('\\d');}
			catch(e){}}}
		}
		if(n)
		{
			var s1 	= 'Shockwave Flash';
			var s2 	= ' 2.0';
			var b	= n[s1+s2];
			if(b || n[s1]) r = Number(n[s1+((b)? s2 : '')].description.match('\\d'));
		}
		return r;
	};
};
function UI7G4(o)
{
	this.constructor = function()
	{
	};
	this.create = function(o,f)
	{
		var a1 = arguments;
		var a2 = new Array();
		for(var i=2;i<=a1.length-1;i++) a2[i-2] = a1[i];
        	var r = function()
        	{
        	    return (typeof(f)=='function')? f.apply(o,a2) : (o==null || typeof(o)=='undefined')? window[f].apply(null,a2) : o[f].apply(o,a2);
        	}
	        return r;
	};
};
function UI7J0(o)
{
	this.constructor = function()
	{
		this.r1 	= "\\.[\\D]{3,4}$";
		this.count	= 0;
		this.member 	= new Object();
		this.dump	= new Object();
	};
	this.preload = function()
	{
		this.core(arguments,false);
	};
	this.swap = function()
	{
		this.core(arguments,true);
	};
	this.core = function(a,b)
	{
		for(var i = 0;i<=a.length-1;i++)
		{
			var o = null;
			var e = a[i];
			var s = null;
			var u = null;
			if(typeof(e)=='object')
			{
				o = e;
				s = e.src;
				if(!b) this.push(this.set(e.src,'_o'));
			}
			if(typeof(e)=='string')
			{
				var d = this.extension(e);
				if(d!=null && e.indexOf('|')==-1 && !b) this.push(e);					
				if(d==null || e.indexOf('|')!=-1)
				{
					var g = e.split('|');
					var h = this.getObj(g[0]);
					if(g.length==1 && h!=null)
					{
						o = e;
						s = e.src;
						if(!b) this.push(this.set(e.src,'_o'));						
					}
					if(g.length==2 && h!=null)
					{
						o = h;
						s = h.src;
						u = (this.extension(g[1])!=null)? g[1] : this.set(s,g[1])
						if(!b) this.push(u); 
					}
				}
			}
			if(b)
			{
				var c = this.state(s);
				if(c=='over') u = (u!=null)? u : this.set(s,'');
				if(c=='normal') u = (u!=null)? u : this.set(s,'_o');
				if(u!=null && o!=null) o.src=u;
			}
		}
		
	};
	this.push = function(s)
	{
		if(!this.search(s))
		{
			this.dump[this.count] = s;
			this.count++;
		}
	};
	this.execute = function()
	{
		for(var i in this.dump)
		{
			this.member[i] 		= new Image;
			this.member[i].src 	= this.dump[i];
		}
	};
	this.search = function(u)
	{
		var r = false;
		var o = this.member;
		for(var i in o){if(o[i].src==u){r=true;break;}}
		return r;
	};
	this.set = function(u,s)
	{
		var r = null;
		var t = this.extension(u);
		if(s=='normal') s = '';
		if(s=='over') s = '_o';
		if(s=='active') s = '_a';
		if(u.match('_o.')!=null && r==null) r = '_o'+t;
		if(u.match('_a.')!=null && r==null) r = '_a'+t;
		if(r == null) r = t;
		return u.replace(r,s+t);
	};
	this.state = function(s)
	{
		var r = null;
		var a = new Array(['_o','over'],['_a','active'],['','normal']);
		for(var i= 0;i<=a.length-1;i++){if(s.match(a[i][0]+'.')!=null){r = a[i][1];break;}}
		return r;
	};
	this.extension = function(s)
	{
		return s.match(this.r1);
	};
};

function XZ2K7()
{
	this.constructor = function()
	{
		this.firstChild = document.documentElement;
	};
	this.getNode = function(o,x,b)
	{
		return engine(o,x,isset(b)?b:false);
	};
	this.getValue = function(x)
	{
		if(!isset(x)) return null;
		if(x.nodeType==3)
		{
			r = x.nodeValue;
		}else{
			var x1 = ignoreWhite(x,0)
			r = x1!=null?x1.nodeValue:null;
		}
		return r;
	};
	this.getLength = function(x,b)
	{
		return getLength(x,b);
	};
	this.getParent = function(x,n)
	{
		return (isset(x) && isset(n))? getParent(x,n) : null;
	};
	this.getCurrentPosition = function(x,b)
	{
		return getPosition(x,x.parentNode,isset(b)?b:false);
	};
	this.getNext = function(x,b)
	{
		return getProximity(x,isset(b)?b:false,1);
	};
	this.getPrevious = function(x,b)
	{
		return getProximity(x,isset(b)?b:false,-1);
	};
	this.isChildOf = function(o1,o2)
	{
		return isChildOf(o1,o2);
	};
	function isChildOf(o1,o2)
	{
		var o = {found:false,path:''};
		if(!isset(o2)) return o;
		var s1 = 'parentNode';
		while(o1!=null && isset(o1) && o1[s1]!=null)
		{
			o.path = getPosition(o1,o1[s1],true)+((o.path!='')?'.':'')+o.path;
			if(o1[s1]==o2)
			{
				o.found = true;
				break;
			}else{
				o1 = o1[s1];
			}
		}
		return o;		
	};
	function getLength(x,b)
	{
		if(!isset(x.childNodes)) return -1;
		return (!isset(x))? null : (isset(b) && b)? ignoreWhite(x,0,b,true)-1 : x.childNodes.length-1;
	};
	function engine(o,x,b)
	{
		if(!isset(x)) x = document.documentElement;
		if(!isset(o) || x==null) return null;
		var e = null;
		if(typeof(o)=='number') e = ignoreWhite(x,o,b);
		if(typeof(o)=='string') e = (o.indexOf('.')!=-1)? engine(o.split('.'),x,b) : (isNaN(o))? byName(o,x) : engine(Number(o),x,b);
		if(typeof(o)=='object' && isset(o.length))
		{
			for(var i=0 ;i<=o.length-1;i++)
			{
				var s = o[i];
				e = (isNaN(s))? byName(s,x) : engine(Number(s),x,b);
				if(e!=null) x = e;
			}
		}
		if(!isset(e)) e = null;
		return e;
	};
	function getParent(x,n)
	{
		for(var i = 0;i<=n;i++) x = x.parentNode;
		return x;
	};
	function getPosition(x1,x2,b)
	{
		var n1 = getLength(x2,b);
		for(var i = 0;i<=n1;i++)
		{
			var x3 = engine(i,x2,true);
			if(x3==x1) return i;
		}
		return null;
	};
	function getProximity(x,b,n)
	{
		var x1 = x.parentNode;
		var n1 = getPosition(x,x1,b);
		if(n1!=null) return engine(n1+n,x1,b);
		return null;
	};
	function ignoreWhite(x,n,b1,b2)
	{
		var n1 = 0;
		var b1 = isset(b1)? b1 : false;
		var b2 = isset(b2)? b2 : false;
		var n2 = getLength(x,false);
		if(!b1) return x.childNodes[n];
		for(var i = 0;i<=n2;i++)
		{
			var x1 = x.childNodes[i];
			if(!isset(x1) || x1==null) return null;
			if(b1 && (x1.nodeType==3 && !/[^\s]/.test(x1.nodeValue))==false)
			{
				if(n1==n && !b2) return x1;
				n1++;
			}
		}
		return (b2)? n1 : null;
	};
	function byName(s,x)
	{
		if(!isset(x) || !isset(s)) return null;
		var s1 = 'toLowerCase';
		var s = String(s)[s1]();
		var r = null;
		var n = getLength(x,false);
		for(var i=0;i<=n;i++)
		{
			var e = x.childNodes[i];
			if(e.nodeName[s1]()==s) return e;
		}
		return r;		
	};
	function isEmpty(s){return s.match("\\S+")==null;};
}

if(!Function.prototype.apply)
{
	Function.prototype.apply = function(o,a)
	{
		var r, e;
		if(!o) var o 	= window;
		if(!a) var a 	= new Array();
		var b 		= new Array();
		for(var i=0;i<a.length;i++) b[i] = 'a['+i+']';
		e = 'o.f(' + b.join(',') + ');';
		o.f = this;
		r = eval(e);
		delete o.f;
		return r;
	}
}
if(!Array.prototype.push)
{
	Array.prototype.push = function()
	{
		var a = arguments;
		var n = this.length;
		for(var i=0;i<=a.length-1;i++) this[n+i] = a[i];
		return this.length;
	};
}

// * * * * * * * * * * * * * * * * * * * * * * * * *
var root = new UI1B0(null,'root');
root.addClass('browser',UI9B5,'Browser class');
root.addClass('server',SK1x4,'Server class');
root.addClass('obj',UI6B6,'Object class');
root.addClass('delegate',UI7G4,'Delegate class');
root.addClass('images',UI7J0,'Images class');
root.addClass('flash',UI9C8,'Flash class');
root.addClass('xml',XZ2K7,'XML class');
root.obj.setProperty(window,'load',root.delegate.create(root.images,'execute'));