//////////////////////////////////////////////////////////////////////////////////

//

//

//

// 	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+'='+(isset(encodeURIComponent)? encodeURIComponent(o2):escape(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 s1 = a[i].substring(0,a[i].indexOf('='));

			var s2 = a[i].substring(a[i].indexOf('=')+1,a[i].length);

			s2 = isset(decodeURIComponent)? decodeURIComponent(s2):unescape(s2);

			o[s1] = s2;

		}

		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 = 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!';

	};

	function getOffset(o,p)

	{

		var a = o[p];

		var s1 = 'offsetParent';

		o = o[s1];

		while(o!=null){a+=o[p];o=o[s1];}			

		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'));