var Utils = new Object();Utils.includeJS = function(filepaths){	for(var i=0; i<filepaths.length; i++)		document.write('<script type="text/javascript" src="'+filepaths[i]+'"></script>');}Utils.includeCSS = function(filepaths){	for(var i=0; i<filepaths.length; i++)		document.write('<link href="'+filepaths[i]+'" rel="stylesheet" type="text/css" />');}Utils.getElement = function(i) { return document.getElementById(i); }//function $(i){ return Utils.getElement(i); }Utils.getElementsByTagName = function(tagName,container){	return (container&&container.getElementsByTagName)?container.getElementsByTagName(tagName):document.getElementsByTagName(tagName);}function $T(t,c){ return (c)?Utils.getElementsByTagName(t,c):Utils.getElementsByTagName(t); }Utils.debug = function(val){	this.getElement('debug').innerHTML += val +"<br/>";}Utils.toggle = function(id){	this.getElement(id).style.display = (this.getElement(id).style.display == '') ? 'none' : '';}Utils.createElement = function(e, obj){	var a = document.createElement(e);	this.setAttributes(a,obj);	return a;}function Ł(e,o,s){	var elm=Utils.createElement(e,o);	if(s) Utils.setStyle(elm,s);	return elm;}Utils.appendChild = function(){	if(arguments.length > 1){		var a = arguments[0];		for(var i=1; i<arguments.length; i++)			if(arguments[i]) a.appendChild(arguments[i]);		return a;	} else return null;}Utils.removeChildren = function(node){	if(node == null) return;	while(node.hasChildNodes())		node.removeChild(node.firstChild);}Utils.addListener = function(obj, eventName, listener){	if (obj.attachEvent)		obj.attachEvent("on"+eventName, listener);	else if(obj.addEventListener)		obj.addEventListener(eventName, listener, false);	else return false;	return true;}Utils.removeListener = function(obj, eventName, listener){	if(obj.detachEvent)		obj.detachEvent("on"+eventName, listener);	else if(obj.removeEventListener)		obj.removeEventListener(eventName, listener, false);	else return false;	return true;}Utils.changeOpac = function(e,opacity){	var object = (typeof(e)=='string')?Utils.getElement(id).style:e.style;    object.opacity = (opacity / 100);    object.MozOpacity = (opacity / 100);    object.KhtmlOpacity = (opacity / 100);    object.filter = "alpha(opacity=" + opacity + ")";}Utils.setStyle = function(e,styleDef){	if(typeof(e)=='string') e=$(e);	if(e){		for(var s in styleDef){			if(s=='float'){				if(Utils.isIE) e.style.styleFloat=styleDef[s];				else e.style.cssFloat=styleDef[s];			} else e.style[s]=styleDef[s];		}	} else return false;}Utils.position = function(e,width,height,left,top){	if(typeof(e)=='string') e=$(e);	Utils.setStyle(e,		{			'width'  : (typeof(width)=='string')?width:width+'px',			'height' : (typeof(height)=='string')?height:height+'px',			'left'   : (typeof(left)=='string')?left:left+'px',			'top'    : (typeof(top)=='string')?top:top+'px'		}	);}Utils.getPosition = function(obj){	var curleft = 0;	var curtop = 0;	if (obj.offsetParent){		while (obj.offsetParent){			curleft += obj.offsetLeft;			curtop += obj.offsetTop			obj = obj.offsetParent;		}	} else {		if (obj.x) curleft += obj.x;		if (obj.y) curtop += obj.y;	}	return {'left':curleft,'top':curtop};}Utils.setAttributes=function(e,attributeDef){	for(var a in attributeDef) e.setAttribute(a,attributeDef[a]);	return e;}Utils.getEventDetails=function(evt){	var targ;	var e=(evt)?evt:window.event;	if (e.target) targ = e.target;	else if (e.srcElement) targ = e.srcElement;	if (targ.nodeType == 3) targ = targ.parentNode;	var code;	if (e.keyCode) code = e.keyCode;	else if (e.which) code = e.which;	var character = String.fromCharCode(code);	var button,rightclick;	if (e.which) rightclick = (e.which == 3);	else if (e.button) rightclick = (e.button == 2);	button=(rightclick)?'right':'left';	var posx = 0;	var posy = 0;	if (e.pageX || e.pageY) {		posx = e.pageX;		posy = e.pageY;	}	else if (e.clientX || e.clientY) {		posx = e.clientX + document.body.scrollLeft	+ document.documentElement.scrollLeft;		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;	}	return {		'target'  : targ,		'keyCode' : code,		'button'  : button,		'mouseX'  : posx,		'mouseY'  : posy	}}Utils.strpos=function( haystack, needle, offset){    var i = haystack.indexOf( needle, offset ); // returns -1    return i >= 0 ? i : false;}Utils.addInit=function(func) {    var oldQueue = window.onload? window.onload: function() {};    window.onload = function() {        oldQueue();        eval(func+'()');    }}Utils.isIE = (navigator.userAgent.toLowerCase().indexOf( 'msie', 0 )>0);Utils.switchDisplay=function(e){	if(typeof(e)=='string') e=$(e);	this.setStyle(e,{'display':(e.style.display=='none')?'block':'none'});}Utils.showHideLayers=function(){	var i,p,v,obj,args=Utils.showHideLayers.arguments;	for (i=0; i<(args.length-2); i+=3)	with (document)		if (getElementById && ((obj=getElementById(args[i]))!=null)) {			v=args[i+2];			if (obj.style) {				obj=obj.style;				v=(v=='show')?'visible':(v=='hide')?'hidden':v;			}		obj.visibility=v;	}}Utils.getTypeOfControl=function(ctrl) {	return (ctrl.getAttribute('type')) ? ctrl.getAttribute('type') : ctrl.tagName.toLowerCase()},Utils.getInputs=function() {	var fields = new Array;	var input = $T('input');	var select = $T('select');	var textarea = $T('textarea');	var chkbox = $T('checkbox');	var radio = $T('radio');	for (var i = 0; i < input.length; i++) fields[fields.length] = input[i];	for (var i = 0; i < select.length; i++) fields[fields.length] = select[i];	for (var i = 0; i < textarea.length; i++) fields[fields.length] = textarea[i];	for (var i = 0; i < chkbox.length; i++) fields[fields.length] = chkbox[i];	for (var i = 0; i < radio.length; i++) fields[fields.length] = radio[i];	return fields;}var Debug={	displayJSON : function(json){		json=json.replace(/(},)/g,'},\n');		alert(json);	}}// If Push and pop is not implemented by the browserif (!Array.prototype.push) {	Array.prototype.push = function array_push() {		for(var i=0;i<arguments.length;i++)			this[this.length]=arguments[i];		return this.length;	}};if (!Array.prototype.pop) {	Array.prototype.pop = function array_pop() {		lastElement = this[this.length-1];		this.length = Math.max(this.length-1,0);		return lastElement;	}};