//////////////////////////////////////////////////////////////////////////////////
//
//
//
// 	JML-Javascript Micro Library / V 07.754 / 00:47 2007-07-12 / HK510.com
//
//
//
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 = getObj;
	this.createNew = function(n)
	{
		return this[n] = new UI1B0(this,'{Object:'+n+'}');
	};
	this.addClass = function(n,c,s,o)
	{
		var e 		= this[n] = new c(this,s);
		e.extend	= (isset(o) && isset(o.extendClass))? o.extendClass : UI1B0;
		e.extend(this,s);
		e.constructor();
	};
	this.toString = function(){return s;};
};
function UI9B5(o)
{
	this.constructor = function()
	{
		this.type		= getType();
		this.platform		= getPlatform();
	};
	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 Math.floor((this.getWidth()-w)/2);
	};
	this.getVCenter = function(h)
	{
		return Math.floor((this.getHeight()-h)/2);
	};
	this.getWidth = function()
	{
		return getDimensions(this,'w');
	};
	this.getHeight = function()
	{
		return getDimensions(this,'h');
	};
	this.getScreenWidth = function()
	{
		return screen.width;
	};
	this.getScreenHeight = function()
	{
		return screen.height;
	};
	this.writeJs = function(s)
	{
		var d 	= document;
		var e 	= d.createElement('script');
		e.type	='text/javascript';
		e.text 	= s;
		d.body.appendChild(e);			
	};
	this.writeCss = function(s)
	{
		var d 	= document;
		var e 	= d.createElement('style');
		var t 	= this.type;
		e.type	= 'text/css';
		if(t=='ie')
		{
			e.styleSheet.cssText=s;
		}else if(t=='moz'){
			e.appendChild(d.createTextNode(s));
		}else{
			e.innerHTML = s;
		}
		d.getElementsByTagName('head')[0].appendChild(e);		
	};
	function getDimensions(o,p)
	{
		var d 	= document;
		var e	= d.documentElement;
		var s1 	= p=='w'? 'clientWidth' : 'clientHeight';
		var s2 	= p=='w'? 'innerWidth' : 'innerHeight';
		var n1 	= e[s1];
		return (o.type=='ie')? isset(n1)? n1 : d.body[s1] : (o.type=='ff')? n1 : window[s2];
	};
	function getType()
	{
		var v 	= 'others';
		var d 	= document;
		var s1 	= navigator.userAgent.toLowerCase();
		if(d.all && d.getElementById) v = 'ie';
		if(d.all && s1.indexOf("opera") != -1) v = 'opera'; 
		if(!d.all && d.addEventListener) v = 'moz';
		if(s1.indexOf('firefox')!=-1) v = 'ff';
		if(d.layers) v = 'ns4';
		return v;
	};
	function getPlatform()
	{
		var v = 'others';
		var s = navigator.appVersion;
		if(s.indexOf('Mac')!=-1) v = 'mac';
		if(s.indexOf('Win')!=-1) v = 'win';
		return v;
	};
};
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.getUniqueId();
	};
	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,20000,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.getUniqueId();
		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 = getObj(t);
		if(o==null) return;
		if(typeof(v)=='function')
		{
			var s;
			var s1 = 'on';
			var f1 = o.addEventListener;
			var f2 = o.attachEvent;
			var a = ['mousemove','resize','load'];
			for(var i=0;i<=a.length-1;i++)
			{
				var s2 = a[i];
				if(p.indexOf(s2)!=-1)
				{
					s = (f1)?s2:s1+s2;
					break;
				}
			}
			if(f1) return f1(s,v,false);
			if(f2 && root.browser.type!='opera') return f2(s,v);
		}
		return (isset(o.style[p]))? o.style[p] = v : (isset(o[p]))? o[p] = v : null;
	};
	this.getProperty = function(t,p)
	{
		var r = null;
		var o = 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 = (isset(o[p]))? o[p] : getStyle(o,p);
		}
		return r;
	};
	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 = getObj(s4);
		if(isset(o1) && o1!=null)
		{
			var o4 = 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 = getObj(s);
		if(o1==null) return;
		var o2 = o1.parentNode;
		if(o2==null) return;
		(o2.removeNode)? o1.removeNode(true) : o2.removeChild(o1);
	};
	function getStyle(o,p)
	{
		return (isset(o.style[p]))? o.style[p].match('[^px]+'):'Property not supported!';
	};
	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;
	};
};
function UI9C8(o)
{
	this.constructor = function()
	{
		this.pageId		= getPageId(this);
		this.version		= getVersion();
	};
	this.getUniqueId = function(n)
	{
		var e = (isset(n) && 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.getUniqueId():'';
		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='always' /> "+
			s+"'swLiveConnect' value='true' /> "+			
			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='always' swLiveConnect='true' 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);			
		}
	};
	function getPageId(h)
	{
		return h.getUniqueId();
	};
	function getVersion()
	{
		var e,r,q;
		var n = navigator.plugins;
		var p = 'ShockwaveFlash.ShockwaveFlash';
		var b = root.browser;
		if(b.type=='ie' && b.platform=='win')
		{
			try{q=new ActiveXObject(p+".7");r=getValue(q);}
			catch(e)
			{
				try{q=new ActiveXObject(p+".6");r=6;}
				catch(e)
				{
					try{q=new ActiveXObject(p+".3");r=getValue(q);}
					catch(e){if(navigator.userAgent.toLowerCase().split(';')[2].match("['\\d\\.]{3}")=='6.0') r=99;}
				}
			}
		}
		if(n)
		{
			var s1 	= 'Shockwave Flash';
			var s2 	= ' 2.0';
			var k	= n[s1+s2];
			if(k || n[s1]) r = Number(n[s1+((k)? s2 : '')].description.match('\\d'));
		}
		return r;
	};
	function getValue(q)
	{
		return q.GetVariable("$version").match('\\d');
	};
};
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 || !isset(o))? window[f].apply(null,a2) : o[f].apply(o,a2);
        	}
		return r;
	};
};
function UI7J0(o)
{
	this.constructor = function()
	{
		this.count	= 0;
		this.member 	= {};
		this.dump	= {};
	};
	this.preload = function(){core(arguments,false,this);};
	this.swap = function(){core(arguments,true,this);};
	this.execute = function()
	{
		for(var i in this.dump)
		{
			var e 	= this.member[i] = new Image;
			e.src	= this.dump[i];
		}
	};
	function core(a,b,h)
	{
		for(var i = 0;i<=a.length-1;i++)
		{
			var o 	= null;
			var e 	= a[i];
			var s 	= null;
			var u 	= null;
			var g1	= '\\.\\D{3,4}$';
			if(typeof(e)=='object')
			{
				o = e;
				s = newState(o.src);
			}
			if(typeof(e)=='string')
			{
				var d 	= e.match(g1);
				var r1 	= e.match('\\|');
				var o1 = getObj(e);
				if(d!=null && r1==null && !b) s = e;
				if(d==null && r1==null && o1!=null) core([o1],b,h);
				if(d==null || r1!=null)
				{
					var a1	= e.split('|');
					var k	= getObj(a1[0]);
					if(a1.length==2 && k!=null)
					{
						o = k;
						s = (a1[1].match(g1)!=null)? a1[1] : newState(k.src,null,a1[1]);
					}
				}
			}
			if(!b && s!=null) push(s,h);
			if(b && o!=null && s!=null) o.src=s;
		}
	};
	function newState(s1,s2,s3)
	{
		if(isset(s2) && s2!=null) return s2;
		var r 	= '';
		var g1	= '\\D{3,4}$';
		var g2	= '\\.';
		var r1 	= s1.match("(_o"+g2+"|_a"+g2+")"+g1);
		var r3 	= s1.match(g2+g1);
		var r4	= (isset(s3))? s3 : '_o';
		if(r1!=null) var r2 = s1.match('_o'+g2+g1);
		return (r1!=null)? (r2!=null)? s1.replace(r2,r3) : s1 : s1.replace(r3,r4+r3);
	}
	function push(s,h)
	{
		if(!search(s,h))
		{
			h.dump[h.count] = s;
			h.count++;
		}
	};
	function search(u,h)
	{
		for(var i in h.member) if(h.member[i].src==u) return true;
		return false;
	};
};
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 	= [];
		var b 		= [];
		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;
	};
}
String.prototype.isEmpty = function(){return this.match("\\S+")==null;};
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'));