function showdiv(elmnt) {
    var d;
    d = document.getElementById(elmnt);
    if (document.getElementById("clockAreaDes")) {
	    var mustApplyEffect = document.getElementById(elmnt).style.display == "block" ? false : true;
	    document.getElementById("clockAreaDes").style.display = "none";
	    document.getElementById("clockAreaDes1").style.display = "none";
	    document.getElementById("clockAreaDes2").style.display = "none";
	    document.getElementById("clockAreaDes3").style.display = "none";
	    document.getElementById("clockAreaDes4").style.display = "none";
	    document.getElementById("clockAreaDes5").style.display = "none";
	    document.getElementById("clockAreaDes6").style.display = "none";
	    if (Fx.Style && mustApplyEffect) {
		    var fadeOutEffect = new Fx.Style(elmnt, "opacity", {duration:0});
		    fadeOutEffect.start(0.5);
		}
	    document.getElementById(elmnt).style.display = "block";
	    if (Fx.Style && mustApplyEffect) {
		    var fadeInEffect = new Fx.Style(elmnt, "opacity", {duration:700});
		    fadeInEffect.start(0.5,1);
		}
    }
}
function hidediv(elmnt) {
    if (document.getElementById("clockAreaDes")) {
	    var mustApplyEffect = document.getElementById("clockAreaDes").style.display == "block" ? false : true;
	    document.getElementById("clockAreaDes1").style.display = "none";
	    document.getElementById("clockAreaDes2").style.display = "none";
	    document.getElementById("clockAreaDes3").style.display = "none";
	    document.getElementById("clockAreaDes4").style.display = "none";
	    document.getElementById("clockAreaDes5").style.display = "none";
	    document.getElementById("clockAreaDes6").style.display = "none";
	    if (Fx.Style && mustApplyEffect) {
		    var fadeOutEffect = new Fx.Style("clockAreaDes", "opacity", {duration:0});
		    fadeOutEffect.start(0.5);
		}
	    document.getElementById("clockAreaDes").style.display = "block";
	    if (Fx.Style && mustApplyEffect) {
		    var fadeInEffect = new Fx.Style("clockAreaDes", "opacity", {duration:700});
		    fadeInEffect.start(0.5,1);
		}
    }
}

var Site = {
	
	start: function(){
		
		if ($('kwick')) Site.parseKwicks();
		if ($('kwick')) var kwickTips = new Tips($$('.kwick_tip'));
		
		if ($('accordion')) Site.createAccordion();
		
	},
	
	parseKwicks: function(){
		var kwicks = $$('#kwick .kwick');
		var fx = new Fx.Elements(kwicks, {wait: false, duration: 200, transition: Fx.Transitions.quadOut});
		kwicks.each(function(kwick, i){
			kwick.addEvent('mouseenter', function(e){
				var obj = {};
				obj[i] = {
					'width': [kwick.getStyle('width').toInt(), 220]
				};
				kwicks.each(function(other, j){
					if (other != kwick){
						var w = other.getStyle('width').toInt();
						if (w != 105) obj[j] = {'width': [w, 105]};
					}
				});
				fx.start(obj);
			});
		});
		
		$('kwick').addEvent('mouseleave', function(e){
			var obj = {};
			kwicks.each(function(other, j){
				obj[j] = {'width': [other.getStyle('width').toInt(), 105]};
			});
			fx.start(obj);
		});
	},
		
	createAccordion: function(){
		var myAccordion = new Accordion($('accordion'), 'h3.accordion_toggler', 'div.accordion_element', {
			opacity: false,
			alwaysHide: true,
			onActive: function(toggler, element){
				toggler.setStyle('color', '#004F8C');
			},
			onBackground: function(toggler, element){
				toggler.setStyle('color', '#3281BF');
			}
		});
	},
	
	/**
	 * Copyright (C) 2002-2003, CodeHouse.com. All rights reserved.
	 * CodeHouse(TM) is a registered trademark.
	 *
	 * THIS SOURCE CODE MAY BE USED FREELY PROVIDED THAT
	 * IT IS NOT MODIFIED OR DISTRIBUTED, AND IT IS USED
	 * ON A PUBLICLY ACCESSIBLE INTERNET WEB SITE.
	 *
	 * Script Name: Cool Redirect
	 *
	 * You can obtain this script at http://www.codehouse.com
	 */
	
	coolRedirect: function(url, msg)			// <== chartermason (fvl 08/09/2008): Changed function declaration to work with Site prototype
	{
	   var TARG_ID = "COOL_REDIRECT";
	   var MSG_ID = "COOL_REDIRECT_MSG"			// <== chartermason (fvl 08/09/2008): Make area showing redirecting message configurable
	   var DEF_MSG = "<span style='font-size: larger;'>Redirecting...</span>";
	
	   if( ! msg )
	   {
	      msg = DEF_MSG;
	   }
	
	   if( ! url )
	   {
	      throw new Error('You didn\'t include the "url" parameter');
	   }
	
	
	   var e = document.getElementById(TARG_ID);
	
	   if( ! e )
	   {
	      throw new Error('"COOL_REDIRECT" element id not found');
	   }
	
	   var cTicks = parseInt(e.innerHTML);
	
	   var timer = setInterval(function()
	   {
	      if( cTicks )
	      {
	         e.innerHTML = --cTicks;
	      }
	      else
	      {
	         clearInterval(timer);
	         //document.body.innerHTML = msg;	// ==> chartermason (fvl 08/09/2008): Make area showing redirecting message configurable
	         $(MSG_ID).innerHTML = msg;			// <== chartermason (fvl 08/09/2008): Make area showing redirecting message configurable
	         location = url;	  
	      }
	
	   }, 1000);
	}
	
};

/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={version:"1.11"};function $defined(A){return(A!=undefined);}function $type(B){if(!$defined(B)){return false;}if(B.htmlElement){return"element";
}var A=typeof B;if(A=="object"&&B.nodeName){switch(B.nodeType){case 1:return"element";case 3:return(/\S/).test(B.nodeValue)?"textnode":"whitespace";}}if(A=="object"||A=="function"){switch(B.constructor){case Array:return"array";
case RegExp:return"regexp";case Class:return"class";}if(typeof B.length=="number"){if(B.item){return"collection";}if(B.callee){return"arguments";}}}return A;
}function $merge(){var C={};for(var B=0;B<arguments.length;B++){for(var E in arguments[B]){var A=arguments[B][E];var D=C[E];if(D&&$type(A)=="object"&&$type(D)=="object"){C[E]=$merge(D,A);
}else{C[E]=A;}}}return C;}var $extend=function(){var A=arguments;if(!A[1]){A=[this,A[0]];}for(var B in A[1]){A[0][B]=A[1][B];}return A[0];};var $native=function(){for(var B=0,A=arguments.length;
B<A;B++){arguments[B].extend=function(C){for(var D in C){if(!this.prototype[D]){this.prototype[D]=C[D];}if(!this[D]){this[D]=$native.generic(D);}}};}};
$native.generic=function(A){return function(B){return this.prototype[A].apply(B,Array.prototype.slice.call(arguments,1));};};$native(Function,Array,String,Number);
function $chk(A){return !!(A||A===0);}function $pick(B,A){return $defined(B)?B:A;}function $random(B,A){return Math.floor(Math.random()*(A-B+1)+B);}function $time(){return new Date().getTime();
}function $clear(A){clearTimeout(A);clearInterval(A);return null;}var Abstract=function(A){A=A||{};A.extend=$extend;return A;};var Window=new Abstract(window);
var Document=new Abstract(document);document.head=document.getElementsByTagName("head")[0];window.xpath=!!(document.evaluate);if(window.ActiveXObject){window.ie=window[window.XMLHttpRequest?"ie7":"ie6"]=true;
}else{if(document.childNodes&&!document.all&&!navigator.taintEnabled){window.webkit=window[window.xpath?"webkit420":"webkit419"]=true;}else{if(document.getBoxObjectFor!=null){window.gecko=true;
}}}window.khtml=window.webkit;Object.extend=$extend;if(typeof HTMLElement=="undefined"){var HTMLElement=function(){};if(window.webkit){document.createElement("iframe");
}HTMLElement.prototype=(window.webkit)?window["[[DOMElement.prototype]]"]:{};}HTMLElement.prototype.htmlElement=function(){};if(window.ie6){try{document.execCommand("BackgroundImageCache",false,true);
}catch(e){}}var Class=function(B){var A=function(){return(arguments[0]!==null&&this.initialize&&$type(this.initialize)=="function")?this.initialize.apply(this,arguments):this;
};$extend(A,this);A.prototype=B;A.constructor=Class;return A;};Class.empty=function(){};Class.prototype={extend:function(B){var C=new this(null);for(var D in B){var A=C[D];
C[D]=Class.Merge(A,B[D]);}return new Class(C);},implement:function(){for(var B=0,A=arguments.length;B<A;B++){$extend(this.prototype,arguments[B]);}}};Class.Merge=function(C,D){if(C&&C!=D){var B=$type(D);
if(B!=$type(C)){return D;}switch(B){case"function":var A=function(){this.parent=arguments.callee.parent;return D.apply(this,arguments);};A.parent=C;return A;
case"object":return $merge(C,D);}}return D;};var Chain=new Class({chain:function(A){this.chains=this.chains||[];this.chains.push(A);return this;},callChain:function(){if(this.chains&&this.chains.length){this.chains.shift().delay(10,this);
}},clearChain:function(){this.chains=[];}});var Events=new Class({addEvent:function(B,A){if(A!=Class.empty){this.$events=this.$events||{};this.$events[B]=this.$events[B]||[];
this.$events[B].include(A);}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},removeEvent:function(B,A){if(this.$events&&this.$events[B]){this.$events[B].remove(A);}return this;}});var Options=new Class({setOptions:function(){this.options=$merge.apply(null,[this.options].extend(arguments));
if(this.addEvent){for(var A in this.options){if($type(this.options[A]=="function")&&(/^on[A-Z]/).test(A)){this.addEvent(A,this.options[A]);}}}return this;
}});Array.extend({forEach:function(C,D){for(var B=0,A=this.length;B<A;B++){C.call(D,this[B],B,this);}},filter:function(D,E){var C=[];for(var B=0,A=this.length;
B<A;B++){if(D.call(E,this[B],B,this)){C.push(this[B]);}}return C;},map:function(D,E){var C=[];for(var B=0,A=this.length;B<A;B++){C[B]=D.call(E,this[B],B,this);
}return C;},every:function(C,D){for(var B=0,A=this.length;B<A;B++){if(!C.call(D,this[B],B,this)){return false;}}return true;},some:function(C,D){for(var B=0,A=this.length;
B<A;B++){if(C.call(D,this[B],B,this)){return true;}}return false;},indexOf:function(C,D){var A=this.length;for(var B=(D<0)?Math.max(0,A+D):D||0;B<A;B++){if(this[B]===C){return B;
}}return -1;},copy:function(D,C){D=D||0;if(D<0){D=this.length+D;}C=C||(this.length-D);var A=[];for(var B=0;B<C;B++){A[B]=this[D++];}return A;},remove:function(C){var B=0;
var A=this.length;while(B<A){if(this[B]===C){this.splice(B,1);A--;}else{B++;}}return this;},contains:function(A,B){return this.indexOf(A,B)!=-1;},associate:function(C){var D={},B=Math.min(this.length,C.length);
for(var A=0;A<B;A++){D[C[A]]=this[A];}return D;},extend:function(C){for(var B=0,A=C.length;B<A;B++){this.push(C[B]);}return this;},merge:function(C){for(var B=0,A=C.length;
B<A;B++){this.include(C[B]);}return this;},include:function(A){if(!this.contains(A)){this.push(A);}return this;},getRandom:function(){return this[$random(0,this.length-1)]||null;
},getLast:function(){return this[this.length-1]||null;}});Array.prototype.each=Array.prototype.forEach;Array.each=Array.forEach;function $A(A){return Array.copy(A);
}function $each(C,B,D){if(C&&typeof C.length=="number"&&$type(C)!="object"){Array.forEach(C,B,D);}else{for(var A in C){B.call(D||C,C[A],A);}}}Array.prototype.test=Array.prototype.contains;
String.extend({test:function(A,B){return(($type(A)=="string")?new RegExp(A,B):A).test(this);},toInt:function(){return parseInt(this,10);},toFloat:function(){return parseFloat(this);
},camelCase:function(){return this.replace(/-\D/g,function(A){return A.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/\w[A-Z]/g,function(A){return(A.charAt(0)+"-"+A.charAt(1).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(A){return A.toUpperCase();});},trim:function(){return this.replace(/^\s+|\s+$/g,"");
},clean:function(){return this.replace(/\s{2,}/g," ").trim();},rgbToHex:function(B){var A=this.match(/\d{1,3}/g);return(A)?A.rgbToHex(B):false;},hexToRgb:function(B){var A=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(A)?A.slice(1).hexToRgb(B):false;},contains:function(A,B){return(B)?(B+this+B).indexOf(B+A+B)>-1:this.indexOf(A)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1");
}});Array.extend({rgbToHex:function(D){if(this.length<3){return false;}if(this.length==4&&this[3]==0&&!D){return"transparent";}var B=[];for(var A=0;A<3;
A++){var C=(this[A]-0).toString(16);B.push((C.length==1)?"0"+C:C);}return D?B:"#"+B.join("");},hexToRgb:function(C){if(this.length!=3){return false;}var A=[];
for(var B=0;B<3;B++){A.push(parseInt((this[B].length==1)?this[B]+this[B]:this[B],16));}return C?A:"rgb("+A.join(",")+")";}});Function.extend({create:function(A){var B=this;
A=$merge({bind:B,event:false,"arguments":null,delay:false,periodical:false,attempt:false},A);if($chk(A.arguments)&&$type(A.arguments)!="array"){A.arguments=[A.arguments];
}return function(E){var C;if(A.event){E=E||window.event;C=[(A.event===true)?E:new A.event(E)];if(A.arguments){C.extend(A.arguments);}}else{C=A.arguments||arguments;
}var F=function(){return B.apply($pick(A.bind,B),C);};if(A.delay){return setTimeout(F,A.delay);}if(A.periodical){return setInterval(F,A.periodical);}if(A.attempt){try{return F();
}catch(D){return false;}}return F();};},pass:function(A,B){return this.create({"arguments":A,bind:B});},attempt:function(A,B){return this.create({"arguments":A,bind:B,attempt:true})();
},bind:function(B,A){return this.create({bind:B,"arguments":A});},bindAsEventListener:function(B,A){return this.create({bind:B,event:true,"arguments":A});
},delay:function(B,C,A){return this.create({delay:B,bind:C,"arguments":A})();},periodical:function(A,C,B){return this.create({periodical:A,bind:C,"arguments":B})();
}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(B,A){return Math.min(A,Math.max(B,this));
},round:function(A){A=Math.pow(10,A||0);return Math.round(this*A)/A;},times:function(B){for(var A=0;A<this;A++){B(A);}}});var Element=new Class({initialize:function(D,C){if($type(D)=="string"){if(window.ie&&C&&(C.name||C.type)){var A=(C.name)?' name="'+C.name+'"':"";
var B=(C.type)?' type="'+C.type+'"':"";delete C.name;delete C.type;D="<"+D+A+B+">";}D=document.createElement(D);}D=$(D);return(!C||!D)?D:D.set(C);}});var Elements=new Class({initialize:function(A){return(A)?$extend(A,this):this;
}});Elements.extend=function(A){for(var B in A){this.prototype[B]=A[B];this[B]=$native.generic(B);}};function $(B){if(!B){return null;}if(B.htmlElement){return Garbage.collect(B);
}if([window,document].contains(B)){return B;}var A=$type(B);if(A=="string"){B=document.getElementById(B);A=(B)?"element":false;}if(A!="element"){return null;
}if(B.htmlElement){return Garbage.collect(B);}if(["object","embed"].contains(B.tagName.toLowerCase())){return B;}$extend(B,Element.prototype);B.htmlElement=function(){};
return Garbage.collect(B);}document.getElementsBySelector=document.getElementsByTagName;function $$(){var D=[];for(var C=0,B=arguments.length;C<B;C++){var A=arguments[C];
switch($type(A)){case"element":D.push(A);case"boolean":break;case false:break;case"string":A=document.getElementsBySelector(A,true);default:D.extend(A);
}}return $$.unique(D);}$$.unique=function(G){var D=[];for(var C=0,A=G.length;C<A;C++){if(G[C].$included){continue;}var B=$(G[C]);if(B&&!B.$included){B.$included=true;
D.push(B);}}for(var F=0,E=D.length;F<E;F++){D[F].$included=null;}return new Elements(D);};Elements.Multi=function(A){return function(){var D=arguments;
var B=[];var G=true;for(var E=0,C=this.length,F;E<C;E++){F=this[E][A].apply(this[E],D);if($type(F)!="element"){G=false;}B.push(F);}return(G)?$$.unique(B):B;
};};Element.extend=function(A){for(var B in A){HTMLElement.prototype[B]=A[B];Element.prototype[B]=A[B];Element[B]=$native.generic(B);var C=(Array.prototype[B])?B+"Elements":B;
Elements.prototype[C]=Elements.Multi(B);}};Element.extend({set:function(A){for(var C in A){var B=A[C];switch(C){case"styles":this.setStyles(B);break;case"events":if(this.addEvents){this.addEvents(B);
}break;case"properties":this.setProperties(B);break;default:this.setProperty(C,B);}}return this;},inject:function(C,A){C=$(C);switch(A){case"before":C.parentNode.insertBefore(this,C);
break;case"after":var B=C.getNext();if(!B){C.parentNode.appendChild(this);}else{C.parentNode.insertBefore(this,B);}break;case"top":var D=C.firstChild;if(D){C.insertBefore(this,D);
break;}default:C.appendChild(this);}return this;},injectBefore:function(A){return this.inject(A,"before");},injectAfter:function(A){return this.inject(A,"after");
},injectInside:function(A){return this.inject(A,"bottom");},injectTop:function(A){return this.inject(A,"top");},adopt:function(){var A=[];$each(arguments,function(B){A=A.concat(B);
});$$(A).inject(this);return this;},remove:function(){return this.parentNode.removeChild(this);},clone:function(C){var B=$(this.cloneNode(C!==false));if(!B.$events){return B;
}B.$events={};for(var A in this.$events){B.$events[A]={keys:$A(this.$events[A].keys),values:$A(this.$events[A].values)};}return B.removeEvents();},replaceWith:function(A){A=$(A);
this.parentNode.replaceChild(A,this);return A;},appendText:function(A){this.appendChild(document.createTextNode(A));return this;},hasClass:function(A){return this.className.contains(A," ");
},addClass:function(A){if(!this.hasClass(A)){this.className=(this.className+" "+A).clean();}return this;},removeClass:function(A){this.className=this.className.replace(new RegExp("(^|\\s)"+A+"(?:\\s|$)"),"$1").clean();
return this;},toggleClass:function(A){return this.hasClass(A)?this.removeClass(A):this.addClass(A);},setStyle:function(B,A){switch(B){case"opacity":return this.setOpacity(parseFloat(A));
case"float":B=(window.ie)?"styleFloat":"cssFloat";}B=B.camelCase();switch($type(A)){case"number":if(!["zIndex","zoom"].contains(B)){A+="px";}break;case"array":A="rgb("+A.join(",")+")";
}this.style[B]=A;return this;},setStyles:function(A){switch($type(A)){case"object":Element.setMany(this,"setStyle",A);break;case"string":this.style.cssText=A;
}return this;},setOpacity:function(A){if(A==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";}}else{if(this.style.visibility!="visible"){this.style.visibility="visible";
}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;}if(window.ie){this.style.filter=(A==1)?"":"alpha(opacity="+A*100+")";}this.style.opacity=this.$tmp.opacity=A;
return this;},getStyle:function(C){C=C.camelCase();var A=this.style[C];if(!$chk(A)){if(C=="opacity"){return this.$tmp.opacity;}A=[];for(var B in Element.Styles){if(C==B){Element.Styles[B].each(function(F){var E=this.getStyle(F);
A.push(parseInt(E)?E:"0px");},this);if(C=="border"){var D=A.every(function(E){return(E==A[0]);});return(D)?A[0]:false;}return A.join(" ");}}if(C.contains("border")){if(Element.Styles.border.contains(C)){return["Width","Style","Color"].map(function(E){return this.getStyle(C+E);
},this).join(" ");}else{if(Element.borderShort.contains(C)){return["Top","Right","Bottom","Left"].map(function(E){return this.getStyle("border"+E+C.replace("border",""));
},this).join(" ");}}}if(document.defaultView){A=document.defaultView.getComputedStyle(this,null).getPropertyValue(C.hyphenate());}else{if(this.currentStyle){A=this.currentStyle[C];
}}}if(window.ie){A=Element.fixStyle(C,A,this);}if(A&&C.test(/color/i)&&A.contains("rgb")){return A.split("rgb").splice(1,4).map(function(E){return E.rgbToHex();
}).join(" ");}return A;},getStyles:function(){return Element.getMany(this,"getStyle",arguments);},walk:function(A,C){A+="Sibling";var B=(C)?this[C]:this[A];
while(B&&$type(B)!="element"){B=B[A];}return $(B);},getPrevious:function(){return this.walk("previous");},getNext:function(){return this.walk("next");},getFirst:function(){return this.walk("next","firstChild");
},getLast:function(){return this.walk("previous","lastChild");},getParent:function(){return $(this.parentNode);},getChildren:function(){return $$(this.childNodes);
},hasChild:function(A){return !!$A(this.getElementsByTagName("*")).contains(A);},getProperty:function(D){var B=Element.Properties[D];if(B){return this[B];
}var A=Element.PropertiesIFlag[D]||0;if(!window.ie||A){return this.getAttribute(D,A);}var C=this.attributes[D];return(C)?C.nodeValue:null;},removeProperty:function(B){var A=Element.Properties[B];
if(A){this[A]="";}else{this.removeAttribute(B);}return this;},getProperties:function(){return Element.getMany(this,"getProperty",arguments);},setProperty:function(C,B){var A=Element.Properties[C];
if(A){this[A]=B;}else{this.setAttribute(C,B);}return this;},setProperties:function(A){return Element.setMany(this,"setProperty",A);},setHTML:function(){this.innerHTML=$A(arguments).join("");
return this;},setText:function(B){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){this.styleSheet.cssText=B;}else{if(A=="script"){this.setProperty("text",B);
}}return this;}else{this.removeChild(this.firstChild);return this.appendText(B);}}this[$defined(this.innerText)?"innerText":"textContent"]=B;return this;
},getText:function(){var A=this.getTag();if(["style","script"].contains(A)){if(window.ie){if(A=="style"){return this.styleSheet.cssText;}else{if(A=="script"){return this.getProperty("text");
}}}else{return this.innerHTML;}}return($pick(this.innerText,this.textContent));},getTag:function(){return this.tagName.toLowerCase();},empty:function(){Garbage.trash(this.getElementsByTagName("*"));
return this.setHTML("");}});Element.fixStyle=function(E,A,D){if($chk(parseInt(A))){return A;}if(["height","width"].contains(E)){var B=(E=="width")?["left","right"]:["top","bottom"];
var C=0;B.each(function(F){C+=D.getStyle("border-"+F+"-width").toInt()+D.getStyle("padding-"+F).toInt();});return D["offset"+E.capitalize()]-C+"px";}else{if(E.test(/border(.+)Width|margin|padding/)){return"0px";
}}return A;};Element.Styles={border:[],padding:[],margin:[]};["Top","Right","Bottom","Left"].each(function(B){for(var A in Element.Styles){Element.Styles[A].push(A+B);
}});Element.borderShort=["borderWidth","borderStyle","borderColor"];Element.getMany=function(B,D,C){var A={};$each(C,function(E){A[E]=B[D](E);});return A;
};Element.setMany=function(B,D,C){for(var A in C){B[D](A,C[A]);}return B;};Element.Properties=new Abstract({"class":"className","for":"htmlFor",colspan:"colSpan",rowspan:"rowSpan",accesskey:"accessKey",tabindex:"tabIndex",maxlength:"maxLength",readonly:"readOnly",frameborder:"frameBorder",value:"value",disabled:"disabled",checked:"checked",multiple:"multiple",selected:"selected"});
Element.PropertiesIFlag={href:2,src:2};Element.Methods={Listeners:{addListener:function(B,A){if(this.addEventListener){this.addEventListener(B,A,false);
}else{this.attachEvent("on"+B,A);}return this;},removeListener:function(B,A){if(this.removeEventListener){this.removeEventListener(B,A,false);}else{this.detachEvent("on"+B,A);
}return this;}}};window.extend(Element.Methods.Listeners);document.extend(Element.Methods.Listeners);Element.extend(Element.Methods.Listeners);var Garbage={elements:[],collect:function(A){if(!A.$tmp){Garbage.elements.push(A);
A.$tmp={opacity:1};}return A;},trash:function(D){for(var B=0,A=D.length,C;B<A;B++){if(!(C=D[B])||!C.$tmp){continue;}if(C.$events){C.fireEvent("trash").removeEvents();
}for(var E in C.$tmp){C.$tmp[E]=null;}for(var F in Element.prototype){C[F]=null;}Garbage.elements[Garbage.elements.indexOf(C)]=null;C.htmlElement=C.$tmp=C=null;
}Garbage.elements.remove(null);},empty:function(){Garbage.collect(window);Garbage.collect(document);Garbage.trash(Garbage.elements);}};window.addListener("beforeunload",function(){window.addListener("unload",Garbage.empty);
if(window.ie){window.addListener("unload",CollectGarbage);}});var Event=new Class({initialize:function(C){if(C&&C.$extended){return C;}this.$extended=true;
C=C||window.event;this.event=C;this.type=C.type;this.target=C.target||C.srcElement;if(this.target.nodeType==3){this.target=this.target.parentNode;}this.shift=C.shiftKey;
this.control=C.ctrlKey;this.alt=C.altKey;this.meta=C.metaKey;if(["DOMMouseScroll","mousewheel"].contains(this.type)){this.wheel=(C.wheelDelta)?C.wheelDelta/120:-(C.detail||0)/3;
}else{if(this.type.contains("key")){this.code=C.which||C.keyCode;for(var B in Event.keys){if(Event.keys[B]==this.code){this.key=B;break;}}if(this.type=="keydown"){var A=this.code-111;
if(A>0&&A<13){this.key="f"+A;}}this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else{if(this.type.test(/(click|mouse|menu)/)){this.page={x:C.pageX||C.clientX+document.documentElement.scrollLeft,y:C.pageY||C.clientY+document.documentElement.scrollTop};
this.client={x:C.pageX?C.pageX-window.pageXOffset:C.clientX,y:C.pageY?C.pageY-window.pageYOffset:C.clientY};this.rightClick=(C.which==3)||(C.button==2);
switch(this.type){case"mouseover":this.relatedTarget=C.relatedTarget||C.fromElement;break;case"mouseout":this.relatedTarget=C.relatedTarget||C.toElement;
}this.fixRelatedTarget();}}}return this;},stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();
}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();}else{this.event.returnValue=false;
}return this;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3){this.relatedTarget=this.relatedTarget.parentNode;
}},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this);}catch(A){this.relatedTarget=this.target;}}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget;
Event.keys=new Abstract({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Element.Methods.Events={addEvent:function(C,B){this.$events=this.$events||{};
this.$events[C]=this.$events[C]||{keys:[],values:[]};if(this.$events[C].keys.contains(B)){return this;}this.$events[C].keys.push(B);var A=C;var D=Element.Events[C];
if(D){if(D.add){D.add.call(this,B);}if(D.map){B=D.map;}if(D.type){A=D.type;}}if(!this.addEventListener){B=B.create({bind:this,event:true});}this.$events[C].values.push(B);
return(Element.NativeEvents.contains(A))?this.addListener(A,B):this;},removeEvent:function(C,B){if(!this.$events||!this.$events[C]){return this;}var F=this.$events[C].keys.indexOf(B);
if(F==-1){return this;}var A=this.$events[C].keys.splice(F,1)[0];var E=this.$events[C].values.splice(F,1)[0];var D=Element.Events[C];if(D){if(D.remove){D.remove.call(this,B);
}if(D.type){C=D.type;}}return(Element.NativeEvents.contains(C))?this.removeListener(C,E):this;},addEvents:function(A){return Element.setMany(this,"addEvent",A);
},removeEvents:function(A){if(!this.$events){return this;}if(!A){for(var B in this.$events){this.removeEvents(B);}this.$events=null;}else{if(this.$events[A]){this.$events[A].keys.each(function(C){this.removeEvent(A,C);
},this);this.$events[A]=null;}}return this;},fireEvent:function(C,B,A){if(this.$events&&this.$events[C]){this.$events[C].keys.each(function(D){D.create({bind:this,delay:A,"arguments":B})();
},this);}return this;},cloneEvents:function(C,A){if(!C.$events){return this;}if(!A){for(var B in C.$events){this.cloneEvents(C,B);}}else{if(C.$events[A]){C.$events[A].keys.each(function(D){this.addEvent(A,D);
},this);}}return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({mouseenter:{type:"mouseover",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseenter",A);}}},mouseleave:{type:"mouseout",map:function(A){A=new Event(A);
if(A.relatedTarget!=this&&!this.hasChild(A.relatedTarget)){this.fireEvent("mouseleave",A);}}},mousewheel:{type:(window.gecko)?"DOMMouseScroll":"mousewheel"}});
Element.NativeEvents=["click","dblclick","mouseup","mousedown","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","keydown","keypress","keyup","load","unload","beforeunload","resize","move","focus","blur","change","submit","reset","select","error","abort","contextmenu","scroll"];
Function.extend({bindWithEvent:function(B,A){return this.create({bind:B,"arguments":A,event:Event});}});Elements.extend({filterByTag:function(A){return new Elements(this.filter(function(B){return(Element.getTag(B)==A);
}));},filterByClass:function(A,C){var B=this.filter(function(D){return(D.className&&D.className.contains(A," "));});return(C)?B:new Elements(B);},filterById:function(C,B){var A=this.filter(function(D){return(D.id==C);
});return(B)?A:new Elements(A);},filterByAttribute:function(B,A,D,E){var C=this.filter(function(F){var G=Element.getProperty(F,B);if(!G){return false;}if(!A){return true;
}switch(A){case"=":return(G==D);case"*=":return(G.contains(D));case"^=":return(G.substr(0,D.length)==D);case"$=":return(G.substr(G.length-D.length)==D);
case"!=":return(G!=D);case"~=":return G.contains(D," ");}return false;});return(E)?C:new Elements(C);}});function $E(A,B){return($(B)||document).getElement(A);
}function $ES(A,B){return($(B)||document).getElementsBySelector(A);}$$.shared={regexp:/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,xpath:{getParam:function(B,D,E,C){var A=[D.namespaceURI?"xhtml:":"",E[1]];
if(E[2]){A.push('[@id="',E[2],'"]');}if(E[3]){A.push('[contains(concat(" ", @class, " "), " ',E[3],' ")]');}if(E[4]){if(E[5]&&E[6]){switch(E[5]){case"*=":A.push("[contains(@",E[4],', "',E[6],'")]');
break;case"^=":A.push("[starts-with(@",E[4],', "',E[6],'")]');break;case"$=":A.push("[substring(@",E[4],", string-length(@",E[4],") - ",E[6].length,' + 1) = "',E[6],'"]');
break;case"=":A.push("[@",E[4],'="',E[6],'"]');break;case"!=":A.push("[@",E[4],'!="',E[6],'"]');}}else{A.push("[@",E[4],"]");}}B.push(A.join(""));return B;
},getItems:function(B,E,G){var F=[];var A=document.evaluate(".//"+B.join("//"),E,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var D=0,C=A.snapshotLength;
D<C;D++){F.push(A.snapshotItem(D));}return(G)?F:new Elements(F.map($));}},normal:{getParam:function(A,C,E,B){if(B==0){if(E[2]){var D=C.getElementById(E[2]);
if(!D||((E[1]!="*")&&(Element.getTag(D)!=E[1]))){return false;}A=[D];}else{A=$A(C.getElementsByTagName(E[1]));}}else{A=$$.shared.getElementsByTagName(A,E[1]);
if(E[2]){A=Elements.filterById(A,E[2],true);}}if(E[3]){A=Elements.filterByClass(A,E[3],true);}if(E[4]){A=Elements.filterByAttribute(A,E[4],E[5],E[6],true);
}return A;},getItems:function(A,B,C){return(C)?A:$$.unique(A);}},resolver:function(A){return(A=="xhtml")?"http://www.w3.org/1999/xhtml":false;},getElementsByTagName:function(D,C){var E=[];
for(var B=0,A=D.length;B<A;B++){E.extend(D[B].getElementsByTagName(C));}return E;}};$$.shared.method=(window.xpath)?"xpath":"normal";Element.Methods.Dom={getElements:function(A,H){var C=[];
A=A.trim().split(" ");for(var E=0,D=A.length;E<D;E++){var F=A[E];var G=F.match($$.shared.regexp);if(!G){break;}G[1]=G[1]||"*";var B=$$.shared[$$.shared.method].getParam(C,this,G,E);
if(!B){break;}C=B;}return $$.shared[$$.shared.method].getItems(C,this,H);},getElement:function(A){return $(this.getElements(A,true)[0]||false);},getElementsBySelector:function(A,E){var D=[];
A=A.split(",");for(var C=0,B=A.length;C<B;C++){D=D.concat(this.getElements(A[C],true));}return(E)?D:$$.unique(D);}};Element.extend({getElementById:function(C){var B=document.getElementById(C);
if(!B){return false;}for(var A=B.parentNode;A!=this;A=A.parentNode){if(!A){return false;}}return B;},getElementsByClassName:function(A){return this.getElements("."+A);
}});document.extend(Element.Methods.Dom);Element.extend(Element.Methods.Dom);Element.extend({getValue:function(){switch(this.getTag()){case"select":var A=[];
$each(this.options,function(B){if(B.selected){A.push($pick(B.value,B.text));}});return(this.multiple)?A:A[0];case"input":if(!(this.checked&&["checkbox","radio"].contains(this.type))&&!["hidden","text","password"].contains(this.type)){break;
}case"textarea":return this.value;}return false;},getFormElements:function(){return $$(this.getElementsByTagName("input"),this.getElementsByTagName("select"),this.getElementsByTagName("textarea"));
},toQueryString:function(){var A=[];this.getFormElements().each(function(D){var C=D.name;var E=D.getValue();if(E===false||!C||D.disabled){return ;}var B=function(F){A.push(C+"="+encodeURIComponent(F));
};if($type(E)=="array"){E.each(B);}else{B(E);}});return A.join("&");}});Element.extend({scrollTo:function(A,B){this.scrollLeft=A;this.scrollTop=B;},getSize:function(){return{scroll:{x:this.scrollLeft,y:this.scrollTop},size:{x:this.offsetWidth,y:this.offsetHeight},scrollSize:{x:this.scrollWidth,y:this.scrollHeight}};
},getPosition:function(A){A=A||[];var B=this,D=0,C=0;do{D+=B.offsetLeft||0;C+=B.offsetTop||0;B=B.offsetParent;}while(B);A.each(function(E){D-=E.scrollLeft||0;
C-=E.scrollTop||0;});return{x:D,y:C};},getTop:function(A){return this.getPosition(A).y;},getLeft:function(A){return this.getPosition(A).x;},getCoordinates:function(B){var A=this.getPosition(B);
var C={width:this.offsetWidth,height:this.offsetHeight,left:A.x,top:A.y};C.right=C.left+C.width;C.bottom=C.top+C.height;return C;}});Element.Events.domready={add:function(B){if(window.loaded){B.call(this);
return ;}var A=function(){if(window.loaded){return ;}window.loaded=true;window.timer=$clear(window.timer);this.fireEvent("domready");}.bind(this);if(document.readyState&&window.webkit){window.timer=function(){if(["loaded","complete"].contains(document.readyState)){A();
}}.periodical(50);}else{if(document.readyState&&window.ie){if(!$("ie_ready")){var C=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script id="ie_ready" defer src="'+C+'"><\/script>');
$("ie_ready").onreadystatechange=function(){if(this.readyState=="complete"){A();}};}}else{window.addListener("load",A);document.addListener("DOMContentLoaded",A);
}}}};window.onDomReady=function(A){return this.addEvent("domready",A);};window.extend({getWidth:function(){if(this.webkit419){return this.innerWidth;}if(this.opera){return document.body.clientWidth;
}return document.documentElement.clientWidth;},getHeight:function(){if(this.webkit419){return this.innerHeight;}if(this.opera){return document.body.clientHeight;
}return document.documentElement.clientHeight;},getScrollWidth:function(){if(this.ie){return Math.max(document.documentElement.offsetWidth,document.documentElement.scrollWidth);
}if(this.webkit){return document.body.scrollWidth;}return document.documentElement.scrollWidth;},getScrollHeight:function(){if(this.ie){return Math.max(document.documentElement.offsetHeight,document.documentElement.scrollHeight);
}if(this.webkit){return document.body.scrollHeight;}return document.documentElement.scrollHeight;},getScrollLeft:function(){return this.pageXOffset||document.documentElement.scrollLeft;
},getScrollTop:function(){return this.pageYOffset||document.documentElement.scrollTop;},getSize:function(){return{size:{x:this.getWidth(),y:this.getHeight()},scrollSize:{x:this.getScrollWidth(),y:this.getScrollHeight()},scroll:{x:this.getScrollLeft(),y:this.getScrollTop()}};
},getPosition:function(){return{x:0,y:0};}});var Fx={};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(A){return -(Math.cos(Math.PI*A)-1)/2;
},duration:500,unit:"px",wait:true,fps:50},initialize:function(A){this.element=this.element||null;this.setOptions(A);if(this.options.initialize){this.options.initialize.call(this);
}},step:function(){var A=$time();if(A<this.time+this.options.duration){this.delta=this.options.transition((A-this.time)/this.options.duration);this.setNow();
this.increase();}else{this.stop(true);this.set(this.to);this.fireEvent("onComplete",this.element,10);this.callChain();}},set:function(A){this.now=A;this.increase();
return this;},setNow:function(){this.now=this.compute(this.from,this.to);},compute:function(B,A){return(A-B)*this.delta+B;},start:function(B,A){if(!this.options.wait){this.stop();
}else{if(this.timer){return this;}}this.from=B;this.to=A;this.change=this.to-this.from;this.time=$time();this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);
this.fireEvent("onStart",this.element);return this;},stop:function(A){if(!this.timer){return this;}this.timer=$clear(this.timer);if(!A){this.fireEvent("onCancel",this.element);
}return this;},custom:function(B,A){return this.start(B,A);},clearTimer:function(A){return this.stop(A);}});Fx.Base.implement(new Chain,new Events,new Options);
Fx.CSS={select:function(B,C){if(B.test(/color/i)){return this.Color;}var A=$type(C);if((A=="array")||(A=="string"&&C.contains(" "))){return this.Multi;
}return this.Single;},parse:function(C,D,A){if(!A.push){A=[A];}var F=A[0],E=A[1];if(!$chk(E)){E=F;F=C.getStyle(D);}var B=this.select(D,E);return{from:B.parse(F),to:B.parse(E),css:B};
}};Fx.CSS.Single={parse:function(A){return parseFloat(A);},getNow:function(C,B,A){return A.compute(C,B);},getValue:function(C,A,B){if(A=="px"&&B!="opacity"){C=Math.round(C);
}return C+A;}};Fx.CSS.Multi={parse:function(A){return A.push?A:A.split(" ").map(function(B){return parseFloat(B);});},getNow:function(E,D,C){var A=[];for(var B=0;
B<E.length;B++){A[B]=C.compute(E[B],D[B]);}return A;},getValue:function(C,A,B){if(A=="px"&&B!="opacity"){C=C.map(Math.round);}return C.join(A+" ")+A;}};
Fx.CSS.Color={parse:function(A){return A.push?A:A.hexToRgb(true);},getNow:function(E,D,C){var A=[];for(var B=0;B<E.length;B++){A[B]=Math.round(C.compute(E[B],D[B]));
}return A;},getValue:function(A){return"rgb("+A.join(",")+")";}};Fx.Style=Fx.Base.extend({initialize:function(B,C,A){this.element=$(B);this.property=C;
this.parent(A);},hide:function(){return this.set(0);},setNow:function(){this.now=this.css.getNow(this.from,this.to,this);},set:function(A){this.css=Fx.CSS.select(this.property,A);
return this.parent(this.css.parse(A));},start:function(C,B){if(this.timer&&this.options.wait){return this;}var A=Fx.CSS.parse(this.element,this.property,[C,B]);
this.css=A.css;return this.parent(A.from,A.to);},increase:function(){this.element.setStyle(this.property,this.css.getValue(this.now,this.options.unit,this.property));
}});Element.extend({effect:function(B,A){return new Fx.Style(this,B,A);}});Fx.Styles=Fx.Base.extend({initialize:function(B,A){this.element=$(B);this.parent(A);
},setNow:function(){for(var A in this.from){this.now[A]=this.css[A].getNow(this.from[A],this.to[A],this);}},set:function(C){var A={};this.css={};for(var B in C){this.css[B]=Fx.CSS.select(B,C[B]);
A[B]=this.css[B].parse(C[B]);}return this.parent(A);},start:function(C){if(this.timer&&this.options.wait){return this;}this.now={};this.css={};var E={},D={};
for(var B in C){var A=Fx.CSS.parse(this.element,B,C[B]);E[B]=A.from;D[B]=A.to;this.css[B]=A.css;}return this.parent(E,D);},increase:function(){for(var A in this.now){this.element.setStyle(A,this.css[A].getValue(this.now[A],this.options.unit,A));
}}});Element.extend({effects:function(A){return new Fx.Styles(this,A);}});Fx.Elements=Fx.Base.extend({initialize:function(B,A){this.elements=$$(B);this.parent(A);
},setNow:function(){for(var C in this.from){var F=this.from[C],E=this.to[C],B=this.css[C],A=this.now[C]={};for(var D in F){A[D]=B[D].getNow(F[D],E[D],this);
}}},set:function(G){var B={};this.css={};for(var D in G){var F=G[D],C=this.css[D]={},A=B[D]={};for(var E in F){C[E]=Fx.CSS.select(E,F[E]);A[E]=C[E].parse(F[E]);
}}return this.parent(B);},start:function(D){if(this.timer&&this.options.wait){return this;}this.now={};this.css={};var I={},J={};for(var E in D){var G=D[E],A=I[E]={},H=J[E]={},C=this.css[E]={};
for(var B in G){var F=Fx.CSS.parse(this.elements[E],B,G[B]);A[B]=F.from;H[B]=F.to;C[B]=F.css;}}return this.parent(I,J);},increase:function(){for(var C in this.now){var A=this.now[C],B=this.css[C];
for(var D in A){this.elements[C].setStyle(D,B[D].getValue(A[D],this.options.unit,D));}}}});Fx.Scroll=Fx.Base.extend({options:{overflown:[],offset:{x:0,y:0},wheelStops:true},initialize:function(B,A){this.now=[];
this.element=$(B);this.bound={stop:this.stop.bind(this,false)};this.parent(A);if(this.options.wheelStops){this.addEvent("onStart",function(){document.addEvent("mousewheel",this.bound.stop);
}.bind(this));this.addEvent("onComplete",function(){document.removeEvent("mousewheel",this.bound.stop);}.bind(this));}},setNow:function(){for(var A=0;A<2;
A++){this.now[A]=this.compute(this.from[A],this.to[A]);}},scrollTo:function(B,F){if(this.timer&&this.options.wait){return this;}var D=this.element.getSize();
var C={x:B,y:F};for(var E in D.size){var A=D.scrollSize[E]-D.size[E];if($chk(C[E])){C[E]=($type(C[E])=="number")?C[E].limit(0,A):A;}else{C[E]=D.scroll[E];
}C[E]+=this.options.offset[E];}return this.start([D.scroll.x,D.scroll.y],[C.x,C.y]);},toTop:function(){return this.scrollTo(false,0);},toBottom:function(){return this.scrollTo(false,"full");
},toLeft:function(){return this.scrollTo(0,false);},toRight:function(){return this.scrollTo("full",false);},toElement:function(B){var A=this.element.getPosition(this.options.overflown);
var C=$(B).getPosition(this.options.overflown);return this.scrollTo(C.x-A.x,C.y-A.y);},increase:function(){this.element.scrollTo(this.now[0],this.now[1]);
}});Fx.Slide=Fx.Base.extend({options:{mode:"vertical"},initialize:function(B,A){this.element=$(B);this.wrapper=new Element("div",{styles:$extend(this.element.getStyles("margin"),{overflow:"hidden"})}).injectAfter(this.element).adopt(this.element);
this.element.setStyle("margin",0);this.setOptions(A);this.now=[];this.parent(this.options);this.open=true;this.addEvent("onComplete",function(){this.open=(this.now[0]===0);
});if(window.webkit419){this.addEvent("onComplete",function(){if(this.open){this.element.remove().inject(this.wrapper);}});}},setNow:function(){for(var A=0;
A<2;A++){this.now[A]=this.compute(this.from[A],this.to[A]);}},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;
},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth;},slideIn:function(A){this[A||this.options.mode]();
return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[0,this.offset]);},slideOut:function(A){this[A||this.options.mode]();
return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[-this.offset,0]);},hide:function(A){this[A||this.options.mode]();
this.open=false;return this.set([-this.offset,0]);},show:function(A){this[A||this.options.mode]();this.open=true;return this.set([0,this.offset]);},toggle:function(A){if(this.wrapper.offsetHeight==0||this.wrapper.offsetWidth==0){return this.slideIn(A);
}return this.slideOut(A);},increase:function(){this.element.setStyle(this.margin,this.now[0]+this.options.unit);this.wrapper.setStyle(this.layout,this.now[1]+this.options.unit);
}});Fx.Transition=function(B,A){A=A||[];if($type(A)!="array"){A=[A];}return $extend(B,{easeIn:function(C){return B(C,A);},easeOut:function(C){return 1-B(1-C,A);
},easeInOut:function(C){return(C<=0.5)?B(2*C,A)/2:(2-B(2*(1-C),A))/2;}});};Fx.Transitions=new Abstract({linear:function(A){return A;}});Fx.Transitions.extend=function(A){for(var B in A){Fx.Transitions[B]=new Fx.Transition(A[B]);
Fx.Transitions.compat(B);}};Fx.Transitions.compat=function(A){["In","Out","InOut"].each(function(B){Fx.Transitions[A.toLowerCase()+B]=Fx.Transitions[A]["ease"+B];
});};Fx.Transitions.extend({Pow:function(B,A){return Math.pow(B,A[0]||6);},Expo:function(A){return Math.pow(2,8*(A-1));},Circ:function(A){return 1-Math.sin(Math.acos(A));
},Sine:function(A){return 1-Math.sin((1-A)*Math.PI/2);},Back:function(B,A){A=A[0]||1.618;return Math.pow(B,2)*((A+1)*B-A);},Bounce:function(D){var C;for(var B=0,A=1;
1;B+=A,A/=2){if(D>=(7-4*B)/11){C=-Math.pow((11-6*B-11*D)/4,2)+A*A;break;}}return C;},Elastic:function(B,A){return Math.pow(2,10*--B)*Math.cos(20*B*Math.PI*(A[0]||1)/3);
}});["Quad","Cubic","Quart","Quint"].each(function(B,A){Fx.Transitions[B]=new Fx.Transition(function(C){return Math.pow(C,[A+2]);});Fx.Transitions.compat(B);
});var Drag={};Drag.Base=new Class({options:{handle:false,unit:"px",onStart:Class.empty,onBeforeStart:Class.empty,onComplete:Class.empty,onSnap:Class.empty,onDrag:Class.empty,limit:false,modifiers:{x:"left",y:"top"},grid:false,snap:6},initialize:function(B,A){this.setOptions(A);
this.element=$(B);this.handle=$(this.options.handle)||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.bound={start:this.start.bindWithEvent(this),check:this.check.bindWithEvent(this),drag:this.drag.bindWithEvent(this),stop:this.stop.bind(this)};
this.attach();if(this.options.initialize){this.options.initialize.call(this);}},attach:function(){this.handle.addEvent("mousedown",this.bound.start);return this;
},detach:function(){this.handle.removeEvent("mousedown",this.bound.start);return this;},start:function(C){this.fireEvent("onBeforeStart",this.element);
this.mouse.start=C.page;var A=this.options.limit;this.limit={x:[],y:[]};for(var D in this.options.modifiers){if(!this.options.modifiers[D]){continue;}this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt();
this.mouse.pos[D]=C.page[D]-this.value.now[D];if(A&&A[D]){for(var B=0;B<2;B++){if($chk(A[D][B])){this.limit[D][B]=($type(A[D][B])=="function")?A[D][B]():A[D][B];
}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};}document.addListener("mousemove",this.bound.check);
document.addListener("mouseup",this.bound.stop);this.fireEvent("onStart",this.element);C.stop();},check:function(A){var B=Math.round(Math.sqrt(Math.pow(A.page.x-this.mouse.start.x,2)+Math.pow(A.page.y-this.mouse.start.y,2)));
if(B>this.options.snap){document.removeListener("mousemove",this.bound.check);document.addListener("mousemove",this.bound.drag);this.drag(A);this.fireEvent("onSnap",this.element);
}A.stop();},drag:function(A){this.out=false;this.mouse.now=A.page;for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue;}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B];
if(this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1];this.out=true;}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0];
this.out=true;}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B]);}this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit);
}this.fireEvent("onDrag",this.element);A.stop();},stop:function(){document.removeListener("mousemove",this.bound.check);document.removeListener("mousemove",this.bound.drag);
document.removeListener("mouseup",this.bound.stop);this.fireEvent("onComplete",this.element);}});Drag.Base.implement(new Events,new Options);Element.extend({makeResizable:function(A){return new Drag.Base(this,$merge({modifiers:{x:"width",y:"height"}},A));
}});Drag.Move=Drag.Base.extend({options:{droppables:[],container:false,overflown:[]},initialize:function(B,A){this.setOptions(A);this.element=$(B);this.droppables=$$(this.options.droppables);
this.container=$(this.options.container);this.position={element:this.element.getStyle("position"),container:false};if(this.container){this.position.container=this.container.getStyle("position");
}if(!["relative","absolute","fixed"].contains(this.position.element)){this.position.element="absolute";}var D=this.element.getStyle("top").toInt();var C=this.element.getStyle("left").toInt();
if(this.position.element=="absolute"&&!["relative","absolute","fixed"].contains(this.position.container)){D=$chk(D)?D:this.element.getTop(this.options.overflown);
C=$chk(C)?C:this.element.getLeft(this.options.overflown);}else{D=$chk(D)?D:0;C=$chk(C)?C:0;}this.element.setStyles({top:D,left:C,position:this.position.element});
this.parent(this.element);},start:function(C){this.overed=null;if(this.container){var A=this.container.getCoordinates();var B=this.element.getCoordinates();
if(this.position.element=="absolute"&&!["relative","absolute","fixed"].contains(this.position.container)){this.options.limit={x:[A.left,A.right-B.width],y:[A.top,A.bottom-B.height]};
}else{this.options.limit={y:[0,A.height-B.height],x:[0,A.width-B.width]};}}this.parent(C);},drag:function(A){this.parent(A);var B=this.out?false:this.droppables.filter(this.checkAgainst,this).getLast();
if(this.overed!=B){if(this.overed){this.overed.fireEvent("leave",[this.element,this]);}this.overed=B?B.fireEvent("over",[this.element,this]):null;}return this;
},checkAgainst:function(B){B=B.getCoordinates(this.options.overflown);var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top);},stop:function(){if(this.overed&&!this.out){this.overed.fireEvent("drop",[this.element,this]);
}else{this.element.fireEvent("emptydrop",this);}this.parent();return this;}});Element.extend({makeDraggable:function(A){return new Drag.Move(this,A);}});
var XHR=new Class({options:{method:"post",async:true,onRequest:Class.empty,onSuccess:Class.empty,onFailure:Class.empty,urlEncoded:true,encoding:"utf-8",autoCancel:false,headers:{}},setTransport:function(){this.transport=(window.XMLHttpRequest)?new XMLHttpRequest():(window.ie?new ActiveXObject("Microsoft.XMLHTTP"):false);
return this;},initialize:function(A){this.setTransport().setOptions(A);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers={};if(this.options.urlEncoded&&this.options.method=="post"){var B=(this.options.encoding)?"; charset="+this.options.encoding:"";
this.setHeader("Content-type","application/x-www-form-urlencoded"+B);}if(this.options.initialize){this.options.initialize.call(this);}},onStateChange:function(){if(this.transport.readyState!=4||!this.running){return ;
}this.running=false;var A=0;try{A=this.transport.status;}catch(B){}if(this.options.isSuccess.call(this,A)){this.onSuccess();}else{this.onFailure();}this.transport.onreadystatechange=Class.empty;
},isSuccess:function(A){return((A>=200)&&(A<300));},onSuccess:function(){this.response={text:this.transport.responseText,xml:this.transport.responseXML};
this.fireEvent("onSuccess",[this.response.text,this.response.xml]);this.callChain();},onFailure:function(){this.fireEvent("onFailure",this.transport);},setHeader:function(A,B){this.headers[A]=B;
return this;},send:function(A,C){if(this.options.autoCancel){this.cancel();}else{if(this.running){return this;}}this.running=true;if(C&&this.options.method=="get"){A=A+(A.contains("?")?"&":"?")+C;
C=null;}this.transport.open(this.options.method.toUpperCase(),A,this.options.async);this.transport.onreadystatechange=this.onStateChange.bind(this);if((this.options.method=="post")&&this.transport.overrideMimeType){this.setHeader("Connection","close");
}$extend(this.headers,this.options.headers);for(var B in this.headers){try{this.transport.setRequestHeader(B,this.headers[B]);}catch(D){}}this.fireEvent("onRequest");
this.transport.send($pick(C,null));return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.transport.abort();this.transport.onreadystatechange=Class.empty;
this.setTransport();this.fireEvent("onCancel");return this;}});XHR.implement(new Chain,new Events,new Options);var Ajax=XHR.extend({options:{data:null,update:null,onComplete:Class.empty,evalScripts:false,evalResponse:false},initialize:function(B,A){this.addEvent("onSuccess",this.onComplete);
this.setOptions(A);this.options.data=this.options.data||this.options.postBody;if(!["post","get"].contains(this.options.method)){this._method="_method="+this.options.method;
this.options.method="post";}this.parent();this.setHeader("X-Requested-With","XMLHttpRequest");this.setHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*");
this.url=B;},onComplete:function(){if(this.options.update){$(this.options.update).empty().setHTML(this.response.text);}if(this.options.evalScripts||this.options.evalResponse){this.evalScripts();
}this.fireEvent("onComplete",[this.response.text,this.response.xml],20);},request:function(A){A=A||this.options.data;switch($type(A)){case"element":A=$(A).toQueryString();
break;case"object":A=Object.toQueryString(A);}if(this._method){A=(A)?[this._method,A].join("&"):this._method;}return this.send(this.url,A);},evalScripts:function(){var B,A;
if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){A=this.response.text;}else{A=[];var C=/<script[^>]*>([\s\S]*?)<\/script>/gi;
while((B=C.exec(this.response.text))){A.push(B[1]);}A=A.join("\n");}if(A){(window.execScript)?window.execScript(A):window.setTimeout(A,0);}},getHeader:function(A){try{return this.transport.getResponseHeader(A);
}catch(B){}return null;}});Object.toQueryString=function(B){var C=[];for(var A in B){C.push(encodeURIComponent(A)+"="+encodeURIComponent(B[A]));}return C.join("&");
};Element.extend({send:function(A){return new Ajax(this.getProperty("action"),$merge({data:this.toQueryString()},A,{method:"post"})).request();}});var Cookie=new Abstract({options:{domain:false,path:false,duration:false,secure:false},set:function(C,D,B){B=$merge(this.options,B);
D=encodeURIComponent(D);if(B.domain){D+="; domain="+B.domain;}if(B.path){D+="; path="+B.path;}if(B.duration){var A=new Date();A.setTime(A.getTime()+B.duration*24*60*60*1000);
D+="; expires="+A.toGMTString();}if(B.secure){D+="; secure";}document.cookie=C+"="+D;return $extend(B,{key:C,value:D});},get:function(A){var B=document.cookie.match("(?:^|;)\\s*"+A.escapeRegExp()+"=([^;]*)");
return B?decodeURIComponent(B[1]):false;},remove:function(B,A){if($type(B)=="object"){this.set(B.key,"",$merge(B,{duration:-1}));}else{this.set(B,"",$merge(A,{duration:-1}));
}}});var Json={toString:function(C){switch($type(C)){case"string":return'"'+C.replace(/(["\\])/g,"\\$1")+'"';case"array":return"["+C.map(Json.toString).join(",")+"]";
case"object":var A=[];for(var B in C){A.push(Json.toString(B)+":"+Json.toString(C[B]));}return"{"+A.join(",")+"}";case"number":if(isFinite(C)){break;}case false:return"null";
}return String(C);},evaluate:function(str,secure){return(($type(str)!="string")||(secure&&!str.test(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/)))?null:eval("("+str+")");
}};Json.Remote=XHR.extend({initialize:function(B,A){this.url=B;this.addEvent("onSuccess",this.onComplete);this.parent(A);this.setHeader("X-Request","JSON");
},send:function(A){return this.parent(this.url,"json="+Json.toString(A));},onComplete:function(){this.fireEvent("onComplete",[Json.evaluate(this.response.text,this.options.secure)]);
}});var Asset=new Abstract({javascript:function(C,B){B=$merge({onload:Class.empty},B);var A=new Element("script",{src:C}).addEvents({load:B.onload,readystatechange:function(){if(this.readyState=="complete"){this.fireEvent("load");
}}});delete B.onload;return A.setProperties(B).inject(document.head);},css:function(B,A){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:B},A)).inject(document.head);
},image:function(C,B){B=$merge({onload:Class.empty,onabort:Class.empty,onerror:Class.empty},B);var D=new Image();D.src=C;var A=new Element("img",{src:C});
["load","abort","error"].each(function(E){var F=B["on"+E];delete B["on"+E];A.addEvent(E,function(){this.removeEvent(E,arguments.callee);F.call(this);});
});if(D.width&&D.height){A.fireEvent("load",A,1);}return A.setProperties(B);},images:function(D,C){C=$merge({onComplete:Class.empty,onProgress:Class.empty},C);
if(!D.push){D=[D];}var A=[];var B=0;D.each(function(F){var E=new Asset.image(F,{onload:function(){C.onProgress.call(this,B);B++;if(B==D.length){C.onComplete();
}}});A.push(E);});return new Elements(A);}});var Hash=new Class({length:0,initialize:function(A){this.obj=A||{};this.setLength();},get:function(A){return(this.hasKey(A))?this.obj[A]:null;
},hasKey:function(A){return(A in this.obj);},set:function(A,B){if(!this.hasKey(A)){this.length++;}this.obj[A]=B;return this;},setLength:function(){this.length=0;
for(var A in this.obj){this.length++;}return this;},remove:function(A){if(this.hasKey(A)){delete this.obj[A];this.length--;}return this;},each:function(A,B){$each(this.obj,A,B);
},extend:function(A){$extend(this.obj,A);return this.setLength();},merge:function(){this.obj=$merge.apply(null,[this.obj].extend(arguments));return this.setLength();
},empty:function(){this.obj={};this.length=0;return this;},keys:function(){var A=[];for(var B in this.obj){A.push(B);}return A;},values:function(){var A=[];
for(var B in this.obj){A.push(this.obj[B]);}return A;}});function $H(A){return new Hash(A);}Hash.Cookie=Hash.extend({initialize:function(B,A){this.name=B;
this.options=$extend({autoSave:true},A||{});this.load();},save:function(){if(this.length==0){Cookie.remove(this.name,this.options);return true;}var A=Json.toString(this.obj);
if(A.length>4096){return false;}Cookie.set(this.name,A,this.options);return true;},load:function(){this.obj=Json.evaluate(Cookie.get(this.name),true)||{};
this.setLength();}});Hash.Cookie.Methods={};["extend","set","merge","empty","remove"].each(function(A){Hash.Cookie.Methods[A]=function(){Hash.prototype[A].apply(this,arguments);
if(this.options.autoSave){this.save();}return this;};});Hash.Cookie.implement(Hash.Cookie.Methods);var Color=new Class({initialize:function(B,D){D=D||(B.push?"rgb":"hex");
var C,A;switch(D){case"rgb":C=B;A=C.rgbToHsb();break;case"hsb":C=B.hsbToRgb();A=B;break;default:C=B.hexToRgb(true);A=C.rgbToHsb();}C.hsb=A;C.hex=C.rgbToHex();
return $extend(C,Color.prototype);},mix:function(){var A=$A(arguments);var C=($type(A[A.length-1])=="number")?A.pop():50;var B=this.copy();A.each(function(D){D=new Color(D);
for(var E=0;E<3;E++){B[E]=Math.round((B[E]/100*(100-C))+(D[E]/100*C));}});return new Color(B,"rgb");},invert:function(){return new Color(this.map(function(A){return 255-A;
}));},setHue:function(A){return new Color([A,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(A){return new Color([this.hsb[0],A,this.hsb[2]],"hsb");
},setBrightness:function(A){return new Color([this.hsb[0],this.hsb[1],A],"hsb");}});function $RGB(C,B,A){return new Color([C,B,A],"rgb");}function $HSB(C,B,A){return new Color([C,B,A],"hsb");
}Array.extend({rgbToHsb:function(){var B=this[0],C=this[1],J=this[2];var G,F,H;var I=Math.max(B,C,J),E=Math.min(B,C,J);var K=I-E;H=I/255;F=(I!=0)?K/I:0;
if(F==0){G=0;}else{var D=(I-B)/K;var A=(I-C)/K;var L=(I-J)/K;if(B==I){G=L-A;}else{if(C==I){G=2+D-L;}else{G=4+A-D;}}G/=6;if(G<0){G++;}}return[Math.round(G*360),Math.round(F*100),Math.round(H*100)];
},hsbToRgb:function(){var C=Math.round(this[2]/100*255);if(this[1]==0){return[C,C,C];}else{var A=this[0]%360;var E=A%60;var F=Math.round((this[2]*(100-this[1]))/10000*255);
var D=Math.round((this[2]*(6000-this[1]*E))/600000*255);var B=Math.round((this[2]*(6000-this[1]*(60-E)))/600000*255);switch(Math.floor(A/60)){case 0:return[C,B,F];
case 1:return[D,C,F];case 2:return[F,C,B];case 3:return[F,D,C];case 4:return[B,F,C];case 5:return[C,F,D];}}return false;}});var Scroller=new Class({options:{area:20,velocity:1,onChange:function(A,B){this.element.scrollTo(A,B);
}},initialize:function(B,A){this.setOptions(A);this.element=$(B);this.mousemover=([window,document].contains(B))?$(document.body):this.element;},start:function(){this.coord=this.getCoords.bindWithEvent(this);
this.mousemover.addListener("mousemove",this.coord);},stop:function(){this.mousemover.removeListener("mousemove",this.coord);this.timer=$clear(this.timer);
},getCoords:function(A){this.page=(this.element==window)?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this);}},scroll:function(){var A=this.element.getSize();
var D=this.element.getPosition();var C={x:0,y:0};for(var B in this.page){if(this.page[B]<(this.options.area+D[B])&&A.scroll[B]!=0){C[B]=(this.page[B]-this.options.area-D[B])*this.options.velocity;
}else{if(this.page[B]+this.options.area>(A.size[B]+D[B])&&A.scroll[B]+A.size[B]!=A.scrollSize[B]){C[B]=(this.page[B]-A.size[B]+this.options.area-D[B])*this.options.velocity;
}}}if(C.y||C.x){this.fireEvent("onChange",[A.scroll.x+C.x,A.scroll.y+C.y]);}}});Scroller.implement(new Events,new Options);var Slider=new Class({options:{onChange:Class.empty,onComplete:Class.empty,onTick:function(A){this.knob.setStyle(this.p,A);
},mode:"horizontal",steps:100,offset:0},initialize:function(D,A,B){this.element=$(D);this.knob=$(A);this.setOptions(B);this.previousChange=-1;this.previousEnd=-1;
this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bindWithEvent(this));var C,F;switch(this.options.mode){case"horizontal":this.z="x";this.p="left";
C={x:"left",y:false};F="offsetWidth";break;case"vertical":this.z="y";this.p="top";C={x:false,y:"top"};F="offsetHeight";}this.max=this.element[F]-this.knob[F]+(this.options.offset*2);
this.half=this.knob[F]/2;this.getPos=this.element["get"+this.p.capitalize()].bind(this.element);this.knob.setStyle("position","relative").setStyle(this.p,-this.options.offset);
var E={};E[this.z]=[-this.options.offset,this.max-this.options.offset];this.drag=new Drag.Base(this.knob,{limit:E,modifiers:C,snap:0,onStart:function(){this.draggedKnob();
}.bind(this),onDrag:function(){this.draggedKnob();}.bind(this),onComplete:function(){this.draggedKnob();this.end();}.bind(this)});if(this.options.initialize){this.options.initialize.call(this);
}},set:function(A){this.step=A.limit(0,this.options.steps);this.checkStep();this.end();this.fireEvent("onTick",this.toPosition(this.step));return this;
},clickedElement:function(B){var A=B.page[this.z]-this.getPos()-this.half;A=A.limit(-this.options.offset,this.max-this.options.offset);this.step=this.toStep(A);
this.checkStep();this.end();this.fireEvent("onTick",A);},draggedKnob:function(){this.step=this.toStep(this.drag.value.now[this.z]);this.checkStep();},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;
this.fireEvent("onChange",this.step);}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("onComplete",this.step+"");
}},toStep:function(A){return Math.round((A+this.options.offset)/this.max*this.options.steps);},toPosition:function(A){return this.max*A/this.options.steps;
}});Slider.implement(new Events);Slider.implement(new Options);var SmoothScroll=Fx.Scroll.extend({initialize:function(B){this.parent(window,B);this.links=(this.options.links)?$$(this.options.links):$$(document.links);
var A=window.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(D){if(D.href.indexOf(A)!=0){return ;}var C=D.href.substr(A.length);if(C&&$(C)){this.useLink(D,C);
}},this);if(!window.webkit419){this.addEvent("onComplete",function(){window.location.hash=this.anchor;});}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A;
this.toElement(A);C.stop();}.bindWithEvent(this));}});var Sortables=new Class({options:{handles:false,onStart:Class.empty,onComplete:Class.empty,ghost:true,snap:3,onDragStart:function(A,B){B.setStyle("opacity",0.7);
A.setStyle("opacity",0.7);},onDragComplete:function(A,B){A.setStyle("opacity",1);B.remove();this.trash.remove();}},initialize:function(D,B){this.setOptions(B);
this.list=$(D);this.elements=this.list.getChildren();this.handles=(this.options.handles)?$$(this.options.handles):this.elements;this.bound={start:[],moveGhost:this.moveGhost.bindWithEvent(this)};
for(var C=0,A=this.handles.length;C<A;C++){this.bound.start[C]=this.start.bindWithEvent(this,this.elements[C]);}this.attach();if(this.options.initialize){this.options.initialize.call(this);
}this.bound.move=this.move.bindWithEvent(this);this.bound.end=this.end.bind(this);},attach:function(){this.handles.each(function(B,A){B.addEvent("mousedown",this.bound.start[A]);
},this);},detach:function(){this.handles.each(function(B,A){B.removeEvent("mousedown",this.bound.start[A]);},this);},start:function(C,B){this.active=B;
this.coordinates=this.list.getCoordinates();if(this.options.ghost){var A=B.getPosition();this.offset=C.page.y-A.y;this.trash=new Element("div").inject(document.body);
this.ghost=B.clone().inject(this.trash).setStyles({position:"absolute",left:A.x,top:C.page.y-this.offset});document.addListener("mousemove",this.bound.moveGhost);
this.fireEvent("onDragStart",[B,this.ghost]);}document.addListener("mousemove",this.bound.move);document.addListener("mouseup",this.bound.end);this.fireEvent("onStart",B);
C.stop();},moveGhost:function(A){var B=A.page.y-this.offset;B=B.limit(this.coordinates.top,this.coordinates.bottom-this.ghost.offsetHeight);this.ghost.setStyle("top",B);
A.stop();},move:function(E){var B=E.page.y;this.previous=this.previous||B;var A=((this.previous-B)>0);var D=this.active.getPrevious();var C=this.active.getNext();
if(D&&A&&B<D.getCoordinates().bottom){this.active.injectBefore(D);}if(C&&!A&&B>C.getCoordinates().top){this.active.injectAfter(C);}this.previous=B;},serialize:function(A){return this.list.getChildren().map(A||function(B){return this.elements.indexOf(B);
},this);},end:function(){this.previous=null;document.removeListener("mousemove",this.bound.move);document.removeListener("mouseup",this.bound.end);if(this.options.ghost){document.removeListener("mousemove",this.bound.moveGhost);
this.fireEvent("onDragComplete",[this.active,this.ghost]);}this.fireEvent("onComplete",this.active);}});Sortables.implement(new Events,new Options);var Tips=new Class({options:{onShow:function(A){A.setStyle("visibility","visible");
},onHide:function(A){A.setStyle("visibility","hidden");},maxTitleChars:30,showDelay:100,hideDelay:100,className:"tool",offsets:{x:16,y:16},fixed:false},initialize:function(B,A){this.setOptions(A);
this.toolTip=new Element("div",{"class":this.options.className+"-tip",styles:{position:"absolute",top:"0",left:"0",visibility:"hidden"}}).inject(document.body);
this.wrapper=new Element("div").inject(this.toolTip);$$(B).each(this.build,this);if(this.options.initialize){this.options.initialize.call(this);}},build:function(B){B.$tmp.myTitle=(B.href&&B.getTag()=="a")?B.href.replace("http://",""):(B.rel||false);
if(B.title){var C=B.title.split("::");if(C.length>1){B.$tmp.myTitle=C[0].trim();B.$tmp.myText=C[1].trim();}else{B.$tmp.myText=B.title;}B.removeAttribute("title");
}else{B.$tmp.myText=false;}if(B.$tmp.myTitle&&B.$tmp.myTitle.length>this.options.maxTitleChars){B.$tmp.myTitle=B.$tmp.myTitle.substr(0,this.options.maxTitleChars-1)+"&hellip;";
}B.addEvent("mouseenter",function(D){this.start(B);if(!this.options.fixed){this.locate(D);}else{this.position(B);}}.bind(this));if(!this.options.fixed){B.addEvent("mousemove",this.locate.bindWithEvent(this));
}var A=this.end.bind(this);B.addEvent("mouseleave",A);B.addEvent("trash",A);},start:function(A){this.wrapper.empty();if(A.$tmp.myTitle){this.title=new Element("span").inject(new Element("div",{"class":this.options.className+"-title"}).inject(this.wrapper)).setHTML(A.$tmp.myTitle);
}if(A.$tmp.myText){this.text=new Element("span").inject(new Element("div",{"class":this.options.className+"-text"}).inject(this.wrapper)).setHTML(A.$tmp.myText);
}$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);},end:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this);
},position:function(A){var B=A.getPosition();this.toolTip.setStyles({left:B.x+this.options.offsets.x,top:B.y+this.options.offsets.y});},locate:function(B){var D={x:window.getWidth(),y:window.getHeight()};
var A={x:window.getScrollLeft(),y:window.getScrollTop()};var C={x:this.toolTip.offsetWidth,y:this.toolTip.offsetHeight};var G={x:"left",y:"top"};for(var E in G){var F=B.page[E]+this.options.offsets[E];
if((F+C[E]-A[E])>D[E]){F=B.page[E]-this.options.offsets[E]-C[E];}this.toolTip.setStyle(G[E],F);}},show:function(){if(this.options.timeout){this.timer=this.hide.delay(this.options.timeout,this);
}this.fireEvent("onShow",[this.toolTip]);},hide:function(){this.fireEvent("onHide",[this.toolTip]);}});Tips.implement(new Events,new Options);var Group=new Class({initialize:function(){this.instances=$A(arguments);
this.events={};this.checker={};},addEvent:function(B,A){this.checker[B]=this.checker[B]||{};this.events[B]=this.events[B]||[];if(this.events[B].contains(A)){return false;
}else{this.events[B].push(A);}this.instances.each(function(C,D){C.addEvent(B,this.check.bind(this,[B,C,D]));},this);return this;},check:function(C,A,B){this.checker[C][B]=true;
var D=this.instances.every(function(F,E){return this.checker[C][E]||false;},this);if(!D){return ;}this.checker[C]={};this.events[C].each(function(E){E.call(this,this.instances,A);
},this);}});var Accordion=Fx.Elements.extend({options:{onActive:Class.empty,onBackground:Class.empty,display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C,E,F,B;
$each(arguments,function(I,H){switch($type(I)){case"object":C=I;break;case"element":B=$(I);break;default:var G=$$(I);if(!E){E=G;}else{F=G;}}});this.togglers=E||[];
this.elements=F||[];this.container=$(B);this.setOptions(C);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true;}if($chk(this.options.show)){this.options.display=false;
this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity";
}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";
}for(var D=0,A=this.togglers.length;D<A;D++){this.addSection(this.togglers[D],this.elements[D]);}this.elements.each(function(H,G){if(this.options.show===G){this.fireEvent("onActive",[this.togglers[G],H]);
}else{for(var I in this.effects){H.setStyle(I,0);}}},this);this.parent(this.elements);if($chk(this.options.display)){this.display(this.options.display);
}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);
if(B&&(!F||G)){G=$pick(G,B-1);E.injectBefore(this.togglers[G]);C.injectAfter(E);}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container);
}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});
}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth;
}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight;}C.setStyle("overflow","hidden");if(!F){for(var D in this.effects){C.setStyle(D,0);
}}return this;},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this;
}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"onBackground":"onActive",[this.togglers[D],E]);
for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]];}},this);return this.start(B);},showThisHideOpen:function(A){return this.display(A);}});Fx.Accordion=Accordion;


function modalDialogShow_IE(url,width,height) //IE
	{
	return window.showModalDialog(url,window,
		"dialogWidth:"+width+"px;dialogHeight:"+height+"px;edge:Raised;center:Yes;help:No;Resizable:Yes;Maximize:Yes");
	}
function modalDialogShow_Moz(url,width,height) //Moz
    {
    var left = screen.availWidth/2 - width/2;
    var top = screen.availHeight/2 - height/2;
    activeModalWin = window.open(url, "", "width="+width+"px,height="+height+",left="+left+",top="+top+",scrollbars=yes,resizable=yes");
    window.onfocus = function(){if (activeModalWin.closed == false){activeModalWin.focus();};};
    
    }
function modalDialog(url,width,height)
	{
	if(navigator.appName.indexOf('Microsoft')!=-1)
		return modalDialogShow_IE(url,width,height); //IE	
	else
		modalDialogShow_Moz(url,width,height); //Moz	
	}

//Used For Login
//function clearFormAction()
//    {P7_setScroller('p7scroller1','p7s1content1',0,0);
//    document.getElementsByTagName('form')[0].action="";
//    }
//window.onload=clearFormAction;



var ic_tm=null;
var icIsIE=(window.navigator.userAgent.indexOf("MSIE") >=0);

function ICFloat() {
  this.arFloats=[];
  
  this.add=function(id) {
    this.arFloats[this.arFloats.length]=id;
    var e=ic_getElement(id), me=this;
    e.onmouseover=function () {if(ic_tm) {clearTimeout(ic_tm); ic_tm=null;}};
    e.onmouseout=function () {me.doHide(id);};
  };
  
  this.hide=function(id) {
    var e=ic_getElement(id);
    if(e) e.style.display="none";
    if(ic_tm) {clearTimeout(ic_tm); ic_tm=null;}
  };
  
  this.hideAll=function() {
    for(var i=0;i<this.arFloats.length;i++) {
      this.hide(this.arFloats[i]);
    };
  };
  
  this.imgSet=function(url)//yus
    {
    document.getElementById("popImageView").src=url
    document.getElementById("popImageView").style.display="block";
    }
  this.imgClear=function()//yus
    {
    document.getElementById("popImageView").style.display="none";
    document.getElementById("popImageView").src="systems/images/blank.gif";
    }
    
  this.doShow=function(ev, id) {
    var e=ic_getElement(id);
    if(e) {
      //if(e.style.display=="block") return;
      this.hideAll();
      if(icIsIE){
        e.style.filter="progid:DXImageTransform.Microsoft.Fade(Duration=0.5,Overlap=1.00);";
        if (e.filters.length>0) {
            e.filters[0].apply();
            e.style.display="block";
            var p=ic_getXY(ev.srcElement, e);
            e.style.left=p.x+"px";
            e.style.top=p.y+"px";            
            e.filters[0].play();
        }     
      } else {
        ic_applyOpacity(id,50);
        e.style.display="block";
        var p=ic_getXY(ev.target, e);
        e.style.left=p.x+"px";
        e.style.top=p.y+"px";
        ic_doFade(id);
      }
    }
  };
  
  this.doHide=function(id) {
    var me=this;
    if(!ic_tm) {ic_tm=setTimeout(function(){me.hide(id)}, 100); return;}
  };
};

function ic_getElement(id) {
  if(document.getElementById) return document.getElementById(id);
  else if(document.all) return document.all(id );
}

function ic_getXY(oEl, fEl) {
  var tmp=oEl, x=0, y=0, yh=oEl.offsetHeight;
  while(tmp) {
    x+=tmp.offsetLeft; y+=tmp.offsetTop; tmp=tmp.offsetParent;
  }
  var w=window, d=document.body, de=document.documentElement;
  var sX = w.scrollX||d.scrollLeft||de.scrollLeft;
  var sY = w.scrollY||d.scrollTop||de.scrollTop;
  var cW=w.innerWidth||d.clientWidth, cH=w.innerHeight||d.clientHeight;
  if(icIsIE) {cW=de.offsetWidth; cH=de.offsetHeight; } 
  var mW=fEl.style.width;
  var mH=fEl.style.height;
  if(mW!=null && mW!="") mW=parseInt(mW,10); else mW=fEl.offsetWidth;
  if(mH!=null && mH!="") mH=parseInt(mH,10); else mH=fEl.offsetHeight;
  
  var pX=0, pY=0;
  //alert(sY + "-" + mH + "-" + y + "-" + cH + "-" + yh);  
  if(x-sX+mW<cW) {pX=x;} else {pX=cW-mW+sX;}  
  if(y+yh-sY+mH<cH) {pY=y+yh;} else {pY=y-mH;}
  
  return {x:pX, y:pY};
};

/*----------------------------------------*/
function ic_doFade(id)
    {   
    var nT=0;
    for(i=0;i<100;i++)
        {
        setTimeout("ic_applyOpacity('"+id+"',"+i+")",(nT*5));
        nT++;
        }
    }
function ic_applyOpacity(id,nVal)
    {
    var oStyle=document.getElementById(id).style;
    oStyle.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+nVal+")";
    oStyle.opacity=nVal/100;
    oStyle.KMozOpacity=nVal/100;
    oStyle.KHtmlOpacity=nVal/100;   
    if(nVal==99)
        {
        //nStart=0;
        oStyle.filter=0;
        }
    }

/**
* nlsmenu.js v.1.2.1
* Copyright 2005-2006, addobject.com. All Rights Reserved
* Author Jack Hermanto, www.addobject.com
*/
var nlsMenu = new Object();
var nlsMenuMgr = new Object();
var nlsWinElmt = [];

var ag0=window.navigator.userAgent;
var nls_isIE = (ag0.indexOf("MSIE") >=0);
var nls_isIE5 = (ag0.indexOf("MSIE 5.0") >=0);
var nls_isSafari = (ag0.indexOf("Safari") >=0);
var nls_isOpera = (ag0.indexOf("Opera") >=0);
if (nls_isOpera) {nls_isIE=false; nls_isIE5=false;};

function NlsMenuManager(mgr) {
  this.mgrId = mgr;
  this.menus = new Object();
  this.menubar = null;
  this.timeout = 1500;
  this.flowOverFormElement = false;
  this.assocMenuMgr = [];
  this.defaultEffect=null;
  
  this.tmId = null;
  this.setTimeout=function(a, t) { this.tmId = window.setTimeout(a, t); };
  this.clearTimeout=function() { if (this.tmId!=null) { window.clearTimeout(this.tmId); this.tmId=null;}};
  
  nlsMenuMgr[mgr] = this;
  return this;
};

var NlsMnMgr = NlsMenuManager.prototype;
NlsMnMgr.createMenu = function(mId) {
  var m = new NlsMenu(mId);  
  m.mgrId = this.mgrId;
  if (this.defaultEffect!=null && this.defaultEffect!="") m.useEffect(this.defaultEffect);
  this.menus[mId] = m;
  return m;
};

NlsMnMgr.createMenubar = function (mbarId) {
  if (this.menubar) alert("Menubar already exists!");
  var m = new NlsMenubar(mbarId);  
  m.mgrId = this.mgrId;
  this.menubar = m;
  return m;  
};

NlsMnMgr.renderMenus = function (plc) {
  if (plc && plc!="") {
    var d=NlsGetElementById(plc); var s="";
    for (it in this.menus) { s+=this.menus[it].renderMenu(); } 
    d.innerHTML=s;
  } else {
    for (it in this.menus) { document.write(this.menus[it].renderMenu()); } 
  }  
};

NlsMnMgr.renderMenubar = function (plc) {
  if (this.menubar) {
    if (plc && plc!="") {
      NlsGetElementById(plc).innerHTML=this.menubar.renderMenubar();
    } else {
      document.write(this.menubar.renderMenubar());
    }
  }
};

NlsMnMgr.hideMenus = function () {
  for (it in this.menus) {if (this.menus[it].active) this.menus[it].hideMenu();}
  if (this.menubar) this.menubar.hideMenu();
};

NlsMnMgr.addAssocMenuMgr = function(frm, mgrId) {
  this.assocMenuMgr[this.assocMenuMgr.length] = [frm, mgrId];
};

NlsMnMgr.getMenu= function(mId) { return this.menus[mId]; };

function listAllWinElmt() {
  nlsWinElmt = [];
  var arrWinEl = document.getElementsByTagName("SELECT");
  var elm; var tmp; var x; var y;
  for(var i=0; i<arrWinEl.length; i++) {
    elm = arrWinEl[i]; tmp=elm; x=0; y=0;
    while (tmp!=null) { 
      x += tmp.offsetLeft; y+=tmp.offsetTop;
      tmp = tmp.offsetParent;
    }
    nlsWinElmt[nlsWinElmt.length] = {e:elm, eX1:x, eY1:y, eX2:x+elm.offsetWidth, eY2:y+elm.offsetHeight};
  }
};

// function NlsMenuItem(id, capt, url, ico, enb, xtra, subId, title, crossFrame, subFrame, subPos, subPosAdj, subDir) {			// ==> chartermason (fvl 08/01/2008): allow menu items with custom target
function NlsMenuItem(id, capt, url, ico, enb, xtra, subId, title, target, crossFrame, subFrame, subPos, subPosAdj, subDir) {	// <== chartermason (fvl 08/01/2008): allow menu items with custom target
  this.id = id;
  this.intKey = "";
  this.capt = capt;
  this.url = (url==null? "" : url);
  this.ico = (ico==null && ico=="" && ico.length==0) ? null: ico;
  this.enable=(enb==null?true:enb);
  this.xtra = xtra;
  this.stlprf="";
//  this.target=null;		// ==> chartermason (fvl 08/01/2008): allow menu items with custom target
  this.target=target;		// <== chartermason (fvl 08/01/2008): allow menu items with custom target
  this.title=title==null?"":title;
  this.itemEffect=null;
  
  this.subMenuId = (subId?subId:"");
  this.crsFrame = (crossFrame?crossFrame:false);
  this.subFrame = (subFrame?subFrame:null);
  this.subPos = (subPos?subPos:[null,null]);
  this.subPosAdj = (subPosAdj?subPosAdj:[0,0]);
  this.subDir = (subDir?subDir:["right","down"]);
  this.toString=function() {return "NlsMenuItem";};
  
  this.useItemEffect=function(effName) {
    this.itemEffect=new NlsMenuItemEffect(this.intKey, effName);
  };
  return this;
};

function NlsMenuSeparator(cstSeparator) {
  this.stlprf = "";
  this.intKey = "";
  this.seprt = cstSeparator!=null?cstSeparator:"";
  this.render = function () {
    if (this.seprt!="") return this.seprt;
    return ("<table border=0 cellpadding=0 cellspacing=0 width='100%' height='0%'><tr>" + 
            "<td class=\""+this.stlprf+"nlsseparator\"></td>" + 
            "</tr></table>");
  };
                 
  this.toString=function() {return "NlsMenuSeparator";};
};

function NlsCustomMenuItem(cst) {
  this.intKey = "";
  this.cstMenu = (cst?cst:"&nbsp;");
  this.toString=function() {return "NlsCustomMenuItem";};
};
 
function NlsMenu(mId) {
  /*private*/
  this.lsItm=null;
  this.mgrId = "";
  this.winElmt=null;
  this.container=null;
  this.customBorder=null;
  this.shadow=new NlsMenuShadow("bottomright", "5px", mId);
  this.count=0;
  this.active = false;
  this.isMenubar=false;
  this.effect=null;
  this.srItems=[];
  this.imgPath="";
  this.ready=true;
  
  /*public*/
  this.mId = mId;
  this.items = new Object();
  this.stlprf="";
  this.subMenuIc=[];
  this.target="_self";
  
  this.showIcon=false;
  this.showSubIcon=true;
 
  this.absWidth="";
  this.orient="V";

  this.defItmEff=null;
  this.defPos=[0,0];
  
  this.maxItemCol=100;
  this.zIndex = 100;
  
  this.wnd = window;
  nlsMenu[mId] = this;
  return this;
};

var NLSMENU=NlsMenu.prototype;

// NLSMENU.addItem = function(key, capt, url, ico, enb, xtra, subId, title) {		// ==> chartermason (fvl 08/01/2008): allow menu items with custom target
NLSMENU.addItem = function(key, capt, url, ico, enb, xtra, subId, title, target) {	// <== chartermason (fvl 08/01/2008): allow menu items with custom target
  var intKey = this.mId+"_"+key;
//  var it = new NlsMenuItem(key, capt, url, ico, enb, xtra, subId, title);			// ==> chartermason (fvl 08/01/2008): allow menu items with custom target
  var it = new NlsMenuItem(key, capt, url, ico, enb, xtra, subId, title, target);	// <== chartermason (fvl 08/01/2008): allow menu items with custom target
  it.intKey = intKey;
  this.items[intKey]=it;
  this.srItems[this.srItems.length]=it;
  if (this.defItmEff!=null && typeof(NlsMenuItemEffect) != "undefined") { it.useItemEffect(this.defItmEff); }
  this.count++;
  return it;
};

NLSMENU.addSeparator = function(separator) { 
  var intKey = "sep_"+this.count;
  var it = (separator ? separator : new NlsMenuSeparator());
  it.stlprf = this.stlprf;
  it.intKey = intKey;
  this.items[intKey] = it;
  this.srItems[this.srItems.length]=it;
  this.count++;
  return it;
};

NLSMENU.addSubmenu = function(key, subId, crsFrame, subFrame, subPos, subPosAdj, subDir) {
  var intKey = this.mId+"_"+key;
  var mnItem = this.items[intKey];
  mnItem.subMenuId=subId;
  mnItem.subFrame=(subFrame?subFrame:null);
  mnItem.crsFrame=(crsFrame?crsFrame:false);
  mnItem.subPos = (subPos?subPos:[null,null]);
  mnItem.subPosAdj = (subPosAdj?subPosAdj:[0,0]);
  mnItem.subDir = (subDir?subDir:["right","down"]);
};

NLSMENU.addCustomMenu = function (custom) {
  var intKey = "cst_"+this.count;
  var it = new NlsCustomMenuItem(custom);
  it.intKey = intKey;
  this.items[intKey] = it;
  this.srItems[this.srItems.length]=it;
  this.count++;
  return it;
};

NLSMENU.getItemById = function (key) {
  return this.items[this.mId+"_"+key];
};

NLSMENU.setItemStyle = function (key, stlprf) {
  var intKey = this.mId+"_"+key;
  var mnItem = this.items[intKey];
  mnItem.stlprf=stlprf;
};

NLSMENU.setItemText = function (key, tx) {
  var intKey = this.mId+"_"+key;
  var mnItem = this.items[intKey];
  mnItem.capt=tx;
  var oD=NlsGetElementById(intKey+"x2");
  if (oD) oD.innerHTML=tx;
}

NLSMENU.enableItem = function (key, b) {
 var intKey = this.mId+"_"+key;
 this.items[intKey].enable=b;
 setMnStyle(NlsGetElementById(intKey), (b?"N":"D"), (this.items[intKey].stlprf==""?this.stlprf:this.items[intKey].stlprf));
};

NLSMENU.dropShadow = function (pos, offset) {
  if (this.shadow) { this.shadow.pos=pos; this.shadow.offset=(offset?offset:"5px"); } else
  { this.shadow=new NlsMenuShadow(pos, offset, this.mId); }
};

NLSMENU.applyBorder = function (bTop, bBottom, bLeft, bRight) {
  if (!bTop && !bBottom && !bLeft && !bRight) {
    this.customBorder=null;
  } else {
    this.customBorder=new NlsMenuBorder(bTop, bBottom, bLeft, bRight);
  }
};

NLSMENU.useEffect = function (effName) {
  this.effect=new NlsMenuEffect(this.mId, effName);
};

NLSMENU.renderMenu = function() {
  var allScs = (document.getElementsByTagName ? document.getElementsByTagName("SCRIPT"): document.scripts);
  /* ==> begin: chartermason (fvl 23/11/2007): Loading consolidated scripts through http compression module, so need to hardcode path here
  for (var i=0;i<allScs.length;i++) {
    if (allScs[i].src.toLowerCase().indexOf("nlsmenu.js")>=0) { this.imgPath=allScs[i].src.replace(/nlsmenu.js/gi, ""); }
  }
     ==> end: chartermason (fvl 23/11/2007) */
  /* <== begin: chartermason (fvl 23/11/2007) */
  this.imgPath="/systems/nlsmenu/"
  /* <== end: chartermason (fvl 23/11/2007) */
  if (!this.subMenuIc||this.subMenuIc=="") { this.subMenuIc=[this.imgPath+"img/submenu.gif", this.imgPath+"img/submenuovr.gif"];}

  var sAbs=(this.absWidth==""?"":"width='"+this.absWidth+"'");
  var smenu="<table cellpadding=0 cellspacing=0 width='100%'>";
  var tmpCnt=0;var prf=this.stlprf; var it=null;
  for (var i=0; i<this.srItems.length; i++) {
    it=this.srItems[i];
    if (!nlsMenu[it.subMenuId])it.subMenuId="";
    if (it.toString()=="NlsMenuSeparator") {
      smenu+=(this.orient=="V"?"<tr>":"");
      smenu+=("<td class='"+this.stlprf+"nlsseparatorcontainer'>"+it.render()+"</td>");
      smenu+=(this.orient=="V"?"</tr>":"");
    } else 
    if (it.toString()=="NlsCustomMenuItem") {
      smenu+=(this.orient=="V"?"<tr>":"");
      smenu+=("<td>"+it.cstMenu+"</td>");
      smenu+=(this.orient=="V"?"</tr>":"");
    } else {
      if (it.stlprf) prf=it.stlprf; else prf=this.stlprf;
      if (this.orient=="V") { smenu+="<tr>"; }
      if (this.orient=="H") { if (tmpCnt==0) smenu+="<tr>"; tmpCnt++; }
      smenu+="<td id=\""+it.intKey+"\" class=\""+prf+"nlsitemcontainer\" onmouseover=\"nlsMenuItemOver(event, '"+it.intKey+"')\" onclick=\"return nlsMenu['"+this.mId+"'].menuItemClick(event, '"+it.intKey+"');\">";
      smenu+="<table cellpadding=0 cellspacing=0 width='100%' height='100%'><tr style=\"cursor:pointer;\" title=\""+it.title+"\">";
      if (this.showIcon) { smenu+="<td id=\""+it.intKey+"x1\" class=\""+prf+"nlsiconcell\" align=\"center\" nowrap>"+(it.ico && it.ico.length>0?"<img id=\"ic_"+it.intKey+"\" src=\""+it.ico[0]+"\">" + (it.ico.length>1?"<img id=\"icovr_"+it.intKey+"\" style='display:none' src=\""+it.ico[1]+"\">":"") :"")+"</td>"; }
      smenu+="<td id=\""+it.intKey+"x2\" class=\""+prf+(it.enable?"nlsitem\"":"nlsitemdisable\"")+" nowrap>"+it.capt+"</td>";
      if (this.showSubIcon && it.subMenuId!="")  { smenu+="<td id=\""+it.intKey+"x3\" class=\""+prf+"nlssubmenucell\" align=\"right\" nowrap>"+ (it.subMenuId!=""? "<img id='subic_"+it.intKey+"' src=\""+this.subMenuIc[0]+"\">" + (this.subMenuIc.length>1?"<img id='subicovr_"+it.intKey+"' style='display:none' src=\""+this.subMenuIc[1]+"\">":"") :"") +"</td>"; }
      smenu+="</tr></table>";
      smenu+="</td>";
      if (this.orient=="V") { smenu+="</tr>"; }
      if (this.orient=="H" && tmpCnt==this.maxItemCol) { smenu+="</tr>"; tmpCnt=0; }
    }
  }
  
  smenu+=(this.orient=="H" && tmpCnt!=0 ?"</tr>":"");
  smenu += "</table>";
  smenu = "<table cellpadding=0 cellspacing=0 class='"+this.stlprf+"nlsmenu' "+ sAbs + "><tr><td>"+smenu+"</td></tr></table>";
  
  if (this.customBorder!=null) smenu = this.customBorder.applyBorder(smenu, this.stlprf);
  smenu = this.shadow.dropShadow(smenu);

  smenu = "<div " + (nls_isIE && !this.isMenubar?"style='position:absolute;z-index:"+(this.zIndex-1)+";'":"") + ">" + smenu;
  if (!this.isMenubar &&  nls_isIE && !nls_isIE5 && nlsMenuMgr[this.mgrId].flowOverFormElement) { 
    smenu += "<iframe id='"+this.mId+"ifrm' scrolling='no' frameborder=0 width='1' height='1' style='position:absolute;top:0px;left:0px;z-index:-1;filter:alpha(opacity=0)' src='"+this.imgPath+"img/blank.gif"+"'></iframe>"; 
  }
  smenu+="</div>";
    
  smenu = "<div id='"+this.mId+"' style="+(this.isMenubar?"''":"'position:absolute;z-index:"+this.zIndex+";display:none;'")+" onmouseover=\"_nlsMenuItemOver('"+this.mgrId+"')\" onmouseout=\"nlsMenuItemOut('"+this.mgrId+"')\">" + smenu + "</div>";

  return smenu;
};

function NlsMenuShadow(pos, offset, mId) {
  this.pos=pos;
  this.offset=offset;
  this.mId=mId;

  this.dropShadow = function (smenu) {
    var mn = nlsMenu[this.mId];
    var shadow = "<div><table id='effwin_"+this.mId+"' cellpadding=0 cellspacing=0 height='0px'>";
    var hshadow = "<table cellpadding=0 cellspacing=0 width='100%' height='5px' class='"+mn.stlprf+"horzshadow'><tr><td></td></tr></table>";
    var vshadow = "<table cellpadding=0 cellspacing=0 width='5px' height='100%' class='"+mn.stlprf+"vertshadow'><tr><td></td></tr></table>";
    var menutd = "<td id='actmn_"+this.mId+"'>"+smenu+"</td>";
    var cornertd = "<td class='"+mn.stlprf+"cornshadow' width='5px' height='5px'></td>";
    switch (this.pos) {
      case "none":
        shadow += "<tr>"+menutd+"</tr>";
        break;
      case "bottomright" :
        shadow += "<tr>"+menutd+"<td style='height:100%;padding-top:OFFSET;'>"+vshadow+"</td></tr>" + 
          "<tr><td style='padding-left:OFFSET;'>"+hshadow+"</td>"+cornertd+"</tr>";
        break;
      case "bottomleft" :
        shadow += "<tr><td style='height:100%;padding-top:OFFSET;'>"+vshadow+"</td>"+menutd+"</tr>" + 
          "<tr>"+cornertd+"<td style='padding-right:OFFSET;'>"+hshadow+"</td></tr>";
        break;
      case "topleft" :
        shadow += "<tr>"+cornertd+"<td style='padding-right:OFFSET;'>"+hshadow+"</td></tr>" + 
          "<tr><td style='height:100%;padding-bottom:OFFSET;'>"+vshadow+"</td>"+menutd+"</tr>";
        break;
      case "topright" :
        shadow += "<tr><td style='padding-left:OFFSET;'>"+hshadow+"</td>"+cornertd+"</tr>" + 
          "<tr>"+menutd+"<td style='height:100%;padding-bottom:OFFSET;'>"+vshadow+"</td></tr>";
        break;
    }
    return shadow.replace(/OFFSET/gi, this.offset) + "</table></div>";  
  };
};

NLSMENU.showMenu = function(x1, y1, x2, y2, mnOrient, subDir, subAdj) {

  if (this.lsItm!=null) {setMnStyle(this.lsItm, "N", (this.lsItm.stlprf==""?this.stlprf:this.lsItm.stlprf)); this.lsItm=null;}

  var flag= this.menuOnShow(this.mId); 
  if (flag==false) return;
  
  var ctx = NlsGetElementById(this.mId);
  if (!ctx) return;
  var dmfrm = NlsGetElementById(this.mId+"ifrm");
  ctx.style.visibility="hidden";
  ctx.style.display="";
  
  var scrOffX = window.scrollX?window.scrollX:document.body.scrollLeft;
  var scrOffY = window.scrollY?window.scrollY:document.body.scrollTop; 
  var cW=(window.innerWidth?window.innerWidth:document.body.clientWidth);
  var cH=(window.innerHeight?window.innerHeight:document.body.clientHeight);
  var mW=(ctx.children?ctx.children[0]:ctx.childNodes[0]).offsetWidth;
  var mH=(ctx.children?ctx.children[0]:ctx.childNodes[0]).offsetHeight; 
  var sDir=(subDir?[subDir[0], subDir[1]]:["right", "down"]);
  var adjX=(subAdj?subAdj[0]:this.defPos[0]); var adjY=(subAdj?subAdj[1]:this.defPos[1]);
  
  if (dmfrm) { 
    var actMn = NlsGetElementById("actmn_"+this.mId);
    dmfrm.width = actMn.children[0].offsetWidth;
    dmfrm.height = actMn.children[0].offsetHeight;
  }
  var mX=0; var mY=0;
  if (mnOrient=="V") {
    if (sDir[0]=="right") {
      if(x2+mW>cW){if(x1>=mW){mX=x1-mW+adjX+scrOffX;sDir[0]="left"}else{mX=cW-mW-1+scrOffX;}}else{mX=x2+scrOffX-adjX;}
    } else {
      if(x1-mW<0){if(x2+mW<cW){mX=x2-adjX+scrOffX;sDir[0]="right"}else{mX=scrOffX;}}else{mX=x1-mW+adjX+scrOffX;}
    }
    if (sDir[1]=="down") {
      if(y1+mH>cH){if(y2>=mH){mY=y2-mH+scrOffY-adjY;sDir[1]="up"}else{mY=cH-mH-1+scrOffY;}}else{mY=y1+scrOffY+adjY;}
    } else {
      if(y1-mH<0){if(y1+mH<cH){mY=y1+scrOffY-adjY;sDir[1]="down"}else{mY=scrOffY;}}else{mY=y2-mH+scrOffY-adjY;}
    }
  } else { 
    if (sDir[0] == "right") {
      if(x1+mW>cW){if(x2>=mW){mX=x2-mW+scrOffX-adjX;sDir[0]="left"}else{mX=cW-mW-1+scrOffX;}}else{mX=x1+scrOffX+adjX;}
    } else {
      if(x2-mW<0){if(x1+mW<cW){mX=x1+scrOffX+adjX;sDir[0]="right"}else{mX=scrOffX;}}else{mX=x2-mW+scrOffX-adjX;}
    }
    if (sDir[1] == "down") {
      if(y2+mH>cH){if(y1>=mH){mY=y1-mH+scrOffY+adjY;sDir[1]="up"}else{mY=cH-mH-1+scrOffY;}}else{mY=y2+scrOffY-adjY;}
    } else {
      if(y1-mH<0){if(y2+mH<cH){mY=y2+scrOffY-adjY;sDir[1]="down"}else{mY=scrOffY;}}else{mY=y1-mH+scrOffY+adjY;}
    }
  }
  
  if (nls_isIE5 || !nlsMenuMgr[this.mgrId].flowOverFormElement) {
    if (this.winElmt==null) hideWinElmt(this, mX, mY, mX+mW, mY+mH);
    if (this.winElmt==null) this.winElmt=[];
    for(var i=0;i<this.winElmt.length;i++) {
      this.winElmt[i].style.visibility="hidden";
    }
  }
  with (ctx.style) { 
    left=mX+"px"; top=mY+"px"; 
    zIndex = this.zIndex; 
    if (this.effect) { 
      with (this.effect) {prop["dir"]=sDir[(mnOrient=="V"?0:1)]; start(false); visibility="visible"; run();}
    } else { visibility="visible"; }
  }
  this.active=true;
};

function hideWinElmt(mn, mX1, mY1, mX2, mY2) {
  var oe;
  for (var i=0; i<nlsWinElmt.length; i++) {
    oe = nlsWinElmt[i];
    if ((oe.eX1>=mX1 && oe.eX1<=mX2 && oe.eY1>=mY1 && oe.eY1<=mY2) ||
        (oe.eX1>=mX1 && oe.eX1<=mX2 && oe.eY2>=mY1 && oe.eY2<=mY2) ||
        (oe.eX2>=mX1 && oe.eX2<=mX2 && oe.eY1>=mY1 && oe.eY1<=mY2) ||
        (oe.eX2>=mX1 && oe.eX2<=mX2 && oe.eY2>=mY1 && oe.eY2<=mY2) ||
        (mX1>=oe.eX1 && mX1<=oe.eX2 && mY1>=oe.eY1 && mY1<=oe.eY2) ||
        (mX1>=oe.eX1 && mX1<=oe.eX2 && mY2>=oe.eY1 && mY2<=oe.eY2) ||
        (mX2>=oe.eX1 && mX2<=oe.eX2 && mY1>=oe.eY1 && mY1<=oe.eY2) ||
        (mX2>=oe.eX1 && mX2<=oe.eX2 && mY2>=oe.eY1 && mY2<=oe.eY2) ||
        (oe.eX1<mX1 && oe.eX2>mX2 && oe.eY1>=mY1 && oe.eY1<=mY2) ||
        (oe.eX1<mX1 && oe.eX2>mX2 && oe.eY2>=mY1 && oe.eY2<=mY2)
       ) {
      if (oe.e.style.visibility!="hidden") {
        oe.e.style.visibility="hidden";
        if (mn.winElmt==null) mn.winElmt=[];
        mn.winElmt[mn.winElmt.length]=oe.e;
      }
    }
  }
};

NLSMENU.showMenuAbs = function(x, y) {
  var ctx = NlsGetElementById(this.mId);
  ctx.style.top=y+"px"; ctx.style.left=x+"px"; 
  ctx.style.display="";
  this.active=true;
};

NLSMENU.hideMenu = function() {
  var ctx = NlsGetElementById(this.mId);
  if (!ctx) return;
  if (!this.isMenubar) {
    if (this.effect) { 
      this.effect.start(true); 
      if ((nls_isIE && this.effect.effName!="aoslide") || nls_isOpera && this.effect.effName!="aoslide") {ctx.style.visibility="hidden";} else { this.effect.onHide=function() {ctx.style.visibility="hidden";}; };
      this.effect.run();
    } else { ctx.style.visibility="hidden"; }
  
    this.active=false;
    this.menuOnHide(this.mId);
  } else {
    this.isMenuOpened = false;
  }
  if (this.lsItm!=null) {
    setMnStyle(this.lsItm, "N", (this.items[this.lsItm.id].stlprf==""?this.stlprf:this.items[this.lsItm.id].stlprf)); 
    setMnIcon(this, this.items[this.lsItm.id], "N");
    this.lsItm=null;
  }
  if (this.winElmt!=null && this.winElmt.length>0) {
    for (i=0;i<this.winElmt.length;i++) {
      this.winElmt[i].style.visibility = "visible";
    }
  }
  if (typeof(window.status)!="undefined") window.status="";
};

NLSMENU.menuItemClick = function(e, itemId) {
  if (!this.items[itemId].enable) return;

  var m=itemId.split("_");
  var prMenu = nlsMenu[m[0]];
  
  if (this.isMenubar && this.dropOnClick && !this.isMenuOpened) {
    _showMenu(prMenu, itemId);
    this.isMenuOpened = true;
    return null;
  } else {
    nlsMenuMgr[this.mgrId].hideMenus();
    var mnMgr = nlsMenuMgr[this.mgrId];
    var assMgr = mnMgr.assocMenuMgr;
    if ( assMgr && assMgr.length > 0) {
      for (var i=0; i<assMgr.length; i++) { var frm = assMgr[i];  frm[0].hideAllNlsMenu(); }
    }  
    
    if (this.isMenubar && this.dropOnClick) {
      var oIt = NlsGetElementById(itemId);
      setMnStyle(oIt, (prMenu.items[itemId].enable ? "O" : "D"), (prMenu.items[itemId].stlprf==""?this.stlprf:prMenu.items[itemId].stlprf)); 
      setMnIcon(prMenu, prMenu.items[itemId], "O");
      this.isMenuOpened = false;
      return null;
    } else {
      var ids = itemId.split("_");
      var trgt=this.items[itemId].target;
      if (trgt==null) trgt=this.target!=null?this.target:"_self";
      if (this.items[itemId].url!="") {
        window.open(this.items[itemId].url, trgt);
      } else {
        return this.menuOnClick(ids[0], ids[1]);
      }
    }
  }
};

NLSMENU.menuOnClick = function (menuId, itemId) {return true;};
NLSMENU.menuOnShow = function (menuId) {return true;};
NLSMENU.menuOnHide = function (menuId) {return true;};

function setMnIcon(mn, mnItm, flg) {
  if (mn.showIcon && mnItm.ico && mnItm.ico.length>1) {
    NlsGetElementById("ic_"+mnItm.intKey).style.display=(flg=="N"?"":"none");
    NlsGetElementById("icovr_"+mnItm.intKey).style.display=(flg=="O"?"":"none");
  }
  if (mn.showSubIcon && mnItm.subMenuId!="" && mn.subMenuIc && mn.subMenuIc.length>1) {
    NlsGetElementById("subic_"+mnItm.intKey).style.display=(flg=="N"?"":"none");
    NlsGetElementById("subicovr_"+mnItm.intKey).style.display=(flg=="O"?"":"none");
  } 
};

function setMnStyle(it, s, prefix) {
  var suff=(s=="O"?"over":"");
  it.className=prefix+"nlsitemcontainer"+suff;
  var r = (it.children?it.children[0]:it.childNodes[0]).rows[0];
  for (var i=0; i<r.cells.length; i++) {
    switch (r.cells[i].id) {
      case it.id+"x1": 
        r.cells[i].className=prefix+"nlsiconcell"+suff; break;
      case it.id+"x2":
        r.cells[i].className=prefix+"nlsitem"+(s=="D"?"disable":suff);
        break;
      case it.id+"x3":
        r.cells[i].className=prefix+"nlssubmenucell"+suff; break;    
    }
  }
};

function nlsMenuItemOver(e, it) {
  var m=it.split("_");
  var oIt = NlsGetElementById(it);
  var li = nlsMenu[m[0]].lsItm;
  var prMenu = nlsMenu[m[0]];
  if (!prMenu.active) return;
  if (!prMenu.ready) return;
  
  if (li!=null) {
    var lstItm = prMenu.items[li.id];
    if (lstItm.intKey==it) return;
    if (lstItm.itemEffect!=null) { lstItm.itemEffect.init(); }
    setMnStyle(li, (lstItm.enable ? "N" : "D"), (lstItm.stlprf==""?prMenu.stlprf:lstItm.stlprf));
    if (lstItm.enable) setMnIcon(prMenu, lstItm, "N");
    if (lstItm.itemEffect!=null) { lstItm.itemEffect.start(); }
    var tmp=null;
    if (lstItm.crsFrame) {
      tmp=(lstItm.subFrame.nlsGetMenu?lstItm.subFrame.nlsGetMenu(lstItm.subMenuId):null);
    } else {
      tmp=nlsGetMenu(lstItm.subMenuId);
    }
    while(tmp!=null) { 
      var nli = null;
      if (tmp.lsItm) {
        nli = (tmp.items[tmp.lsItm.id].crsFrame ? tmp.items[tmp.lsItm.id].subFrame.nlsGetMenu(tmp.items[tmp.lsItm.id].subMenuId) : tmp.wnd.nlsGetMenu(tmp.items[tmp.lsItm.id].subMenuId));
      } 
      tmp.hideMenu(); tmp=nli; 
    }
  }
  if (typeof(window.status)!="undefined") window.status=prMenu.items[it].url;
  if (prMenu.items[it].itemEffect!=null) { prMenu.items[it].itemEffect.init(); }
  setMnStyle(oIt, (prMenu.items[it].enable ? "O" : "D"), (prMenu.items[it].stlprf==""?prMenu.stlprf:prMenu.items[it].stlprf)); 
  if (prMenu.items[it].enable) setMnIcon(prMenu, prMenu.items[it], "O");
  if (prMenu.items[it].itemEffect!=null) { prMenu.items[it].itemEffect.start(); }
  
  if (!prMenu.isMenubar || (prMenu.isMenubar && !prMenu.dropOnClick) || (prMenu.isMenubar && prMenu.dropOnClick && prMenu.isMenuOpened)) { _showMenu(prMenu, it); }
  nlsMenu[m[0]].lsItm=oIt;
};

function nls_getXY(oIt) {
  var p=new Object(); p.x=0;p.y=0;p.x2=0;p.y2=0; var tmp = oIt;
  while(tmp) { p.x+=tmp.offsetLeft; p.y+=tmp.offsetTop; tmp=tmp.offsetParent } ;
  p.x -= (window.scrollX?window.scrollX:document.body.scrollLeft); 
  p.y -= (window.scrollY?window.scrollY:document.body.scrollTop); 
  if (oIt) { p.x2=p.x+oIt.offsetWidth; p.y2=p.y+oIt.offsetHeight;};
  return p;
};

function _showMenu(prMenu, it) {
  var oIt = NlsGetElementById(it);
  var mnIt = prMenu.items[it];
  if (mnIt.subMenuId!="" && mnIt.enable==true) {
    var p=nls_getXY(oIt);
    if (mnIt.crsFrame) {
      if (mnIt.subPos[0]=="REL") { } else { p.x = mnIt.subPos[0]; p.x2=p.x; }
      if (mnIt.subPos[1]=="REL") { } else { p.y = mnIt.subPos[1]; p.y2=p.y; }
      if (!mnIt.subFrame.nlsGetMenu) return;
      var subMn = mnIt.subFrame.nlsGetMenu(mnIt.subMenuId);
      if (!subMn) return;
      subMn.showMenu(p.x, p.y, p.x2, p.y2, prMenu.orient, mnIt.subDir, mnIt.subPosAdj);
    } else {
      var sMenu = nlsGetMenu(mnIt.subMenuId);
      if (!sMenu) return;
      if (sMenu.zIndex <= prMenu.zIndex) { sMenu.zIndex = prMenu.zIndex+1 }
      sMenu.showMenu(p.x, p.y, p.x2, p.y2, prMenu.orient, mnIt.subDir, mnIt.subPosAdj);
      
    }
  }
};

function nls_showMenu(mId, oIt, orient, subDir, subPosAdj) {
  var sMenu = nlsGetMenu(mId);
  if (!sMenu) { hideAllNlsMenu(); return;} 
  var mgr = nlsMenuMgr[sMenu.mgrId];
  mgr.clearTimeout();
  if (sMenu.active) return;
  var p=nls_getXY(oIt);
  mgr.hideMenus();
  sMenu.showMenu(p.x, p.y, p.x2, p.y2, orient, subDir, subPosAdj);
}

function nls_hideMenu(mId) {
  var sMenu = nlsGetMenu(mId);
  if (!sMenu) return;
  nlsMenuItemOut(sMenu.mgrId);
}

function _nlsMenuItemOver(mgrId) {  
  var mnMgr = nlsMenuMgr[mgrId];
  mnMgr.clearTimeout();
  
  var assMgr = mnMgr.assocMenuMgr;
  if ( assMgr && assMgr.length > 0) {
    for (var i=0; i<assMgr.length; i++) {
      if (!assMgr[i][0].nlsMenuMgr) continue;
      assMgr[i][0].nlsMenuMgr[assMgr[i][1]].clearTimeout();
    }
  } 
  for (var it in nlsMenuMgr) {
    if (it!=mgrId) {
      nlsMenuMgr[it].hideMenus();
    }
  }
  
};

function nlsMenuItemOut(mgrId) {
  var mnMgr = nlsMenuMgr[mgrId];
  mnMgr.clearTimeout();
  mnMgr.setTimeout(function() { _nlsMenuItemOut(mgrId) }, mnMgr.timeout);

  var assMgr = mnMgr.assocMenuMgr;
  if ( assMgr && assMgr.length > 0) {
    for (var i=0; i<assMgr.length; i++) {
      var frm = assMgr[i];
      if (!frm[0].nlsMenuMgr) continue;
      frm[0].nlsMenuMgr[frm[1]].clearTimeout();
      frm[0].nlsMenuMgr[frm[1]].setTimeout(function() { frm[0]._nlsMenuItemOut(mgrId); }, mnMgr.timeout);
    }
  }
};

function _nlsMenuItemOut(mgrId) {
  nlsMenuMgr[mgrId].hideMenus();
};

function nlsGetMenu(mId) {
  return nlsMenu[mId];
};

/*===================================================*/
/*NlsMenuBorder class*/
/*===================================================*/

function NlsMenuBorder(bTop, bBottom, bLeft, bRight) {
  var border = "<table cellpadding=0 cellspacing=0>";
  var sTop="", sBottom="", sLeft="", sRight="";
  if (bTop) sTop="<td><table width='100%' cellpadding=0 cellspacing=0><tr><td class='@stlprf_mtop'></td></tr></table></td>";
  if (bBottom) sBottom="<td><table width='100%' cellpadding=0 cellspacing=0><tr><td class='@stlprf_mbottom'></td></tr></table></td>";
  if (bLeft) {
    sLeft="<td height='100%' class='@stlprf_mleft'></td>";
    if (bTop) sTop="<td class='@stlprf_mtopleft'></td>"+sTop;
    if (bBottom) sBottom="<td class='@stlprf_mbottomleft'></td>"+sBottom;
  }
  if (bRight) {
    sRight="<td height='100%' class='@stlprf_mright'></td>";
    if (bTop) sTop+="<td class='@stlprf_mtopright'></td>";
    if (bBottom) sBottom+="<td class='@stlprf_mbottomright'></td>";    
  }
  if (sTop!="") sTop="<tr>"+sTop+"</tr>";
  if (sBottom!="") sBottom="<tr>"+sBottom+"</tr>";  
  border=border+sTop+"<tr height='100%'>"+sLeft+"<td>@menu</td>"+sRight+"</tr>"+sBottom;
  border+="</table>";
  
  this.applyBorder = function (smenu, stlprf) {
    var b=border.replace(/@stlprf_/gi, stlprf);
    return b.replace(/@menu/gi, smenu);
  };
  
  return this;
};

/*===================================================*/
/*NlsMenuBar class*/
/*===================================================*/

NLSMENU.isMenuOpened = false;

NLSMENU.dropOnClick = false;

NLSMENU.renderMenubar = function () {
  return this.renderMenu();
};

function NlsMenubar(mId) {
  var mnBar = new NlsMenu(mId);
  mnBar.isMenubar=true;
  mnBar.active=true;
  return mnBar;
};

/*===================================================*/
/*Public general methods*/
/*===================================================*/

function hideAllNlsMenu() {
  for (it in nlsMenu) {if (nlsMenu[it].active) nlsMenu[it].hideMenu();}
};

/**Cross browser related methods*/
function NlsGetElementById(id) {
  if (document.all) {
      return document.all(id);
  } else
  if (document.getElementById) {
      return document.getElementById(id);
  }
};



/**
* nlsmenueffect.js v.1.2.1
* Copyright 2005-2006, addobject.com. All Rights Reserved
* Author Jack Hermanto, www.addobject.com
*/
var nlsEffectList={
  barn:"progid:DXImageTransform.Microsoft.Barn(Duration=0.3,motion=out,orientation=vertical);",
  blinds:"progid:DXImageTransform.Microsoft.Blinds(Duration=0.3,Bands=8,direction=right);",
  checkerboard:"progid:DXImageTransform.Microsoft.Checkerboard(Duration=0.3,Direction=right,SquaresX=20,SquaresY=20);",
  fade:"progid:DXImageTransform.Microsoft.Fade(Duration=0.3,Overlap=1.00);",
  inset:"progid:DXImageTransform.Microsoft.Inset(Duration=0.3);",
  iris:"progid:DXImageTransform.Microsoft.Iris(Duration=0.3,irisstyle=CIRCLE,motion=in);",
  pixelate:"progid:DXImageTransform.Microsoft.Pixelate(Duration=0.3,MaxSquare=10);",
  radialwipe:"progid:DXImageTransform.Microsoft.RadialWipe(Duration=0.3,wipestyle=WEDGE)",
  randombars:"progid:DXImageTransform.Microsoft.RandomBars(Duration=0.3,Orientation=horizontal);",
  randomdissolve:"progid:DXImageTransform.Microsoft.RandomDissolve(duration=0.3);",
  slide:"progid:DXImageTransform.Microsoft.Slide(Duration=0.3,slidestyle=HIDE,Bands=5);",
  spiral:"progid:DXImageTransform.Microsoft.Spiral(Duration=0.3,GridSizeX=64,GridSizeY=64);",
  stretch:"progid:DXImageTransform.Microsoft.Stretch(Duration=0.3,stretchstyle=HIDE);",
  strips:"progid:DXImageTransform.Microsoft.Strips(Duration=0.3,motion=rightdown);",
  wheel:"progid:DXImageTransform.Microsoft.Wheel(Duration=0.3,spokes=10);",
  gradienwipe:"progid:DXImageTransform.Microsoft.GradientWipe(Duration=0.3,GradientSize=0.75,wipestyle=0,motion=forward);",
  zigzag:"progid:DXImageTransform.Microsoft.Zigzag(Duration=0.3,GridSizeX=8,GridSizeY=8);",
  itemfade:"progid:DXImageTransform.Microsoft.Fade(Duration=0.2,Overlap=0.75);",
  itemdissolve:"progid:DXImageTransform.Microsoft.RandomDissolve(duration=0.3);",
  aoslide:"Duration:1"
};

function NlsMenuEffect(mId, effName) {
  this.mId=mId;
  this.elm=null;
  this.effName=effName;
  this.isOut=false;  
  this.prop=new Object();
  this.onShow=function() {};
  this.onHide=function() {};
  
  this.start=_defStart;
  this.run=_defRun;
  
  if (effName=="aoslide") {
    this.start=_slideStart;
    this.run=_slideRun;
  }
  return this;
};

/*default effect*/
var _fadeTm=null;
var _fadesEff=new Object();

function _defStart(isOut) {
  var mn=NlsGetElementById(this.mId);  
  mn.childNodes[0].style.position="";
  nlsMenu[this.mId].ready=true;
  this.elm=NlsGetElementById("effwin_"+this.mId); 
  if (nls_isIE) {
    this.elm.style.filter=nlsEffectList[this.effName];
    if (this.elm.filters.length>0) this.elm.filters[0].apply();
  } else {
    this.elm=this.elm.parentNode;    
    this.isOut=(isOut==true);
    if (!this.prop["init"]) {
      this.elm.style.MozOpacity=(isOut?1:0);
      this.elm.style.opacity=(isOut?1:0);
    }
    this.prop["init"]=true;
    this.prop["dur"]=20;
    this.prop["rng"]=100;
    this.prop["spd"]=20;
  }
};

function _defRun() {
  if (nls_isIE) {
    if (this.elm.filters.length>0) this.elm.filters[0].play();
  } else {
    var me=this;
    if (this.elm.style.MozOpacity) this.prop["opa"]="MozOpacity"; else this.prop["opa"]="opacity";
    var p=new Object();
    p.x1=this.elm.style[this.prop["opa"]]*this.prop["rng"];
    if (this.isOut) { p.x2=0; } else { p.x2=this.prop["rng"]-1; }
    _fc_fade(p);
    this.prop["pt"]=p;
    this.prop["sd"]=0;
    
    _fadesEff[this.mId]=this;
    if (!_fadeTm) _fadeTm=setInterval(function() {_fadeAnimate();}, this.prop["spd"]);    
  }
};

function _fadeAnimate() {
  var b=true;
  for (var it in _fadesEff) {
    var eff=_fadesEff[it]; 
    var p=eff.prop["pt"];
    if (eff.prop["sd"]<eff.prop["dur"]) {
      eff.prop["sd"]++;
      eff.elm.style[eff.prop["opa"]]=effect_bezier(eff.prop["sd"]/eff.prop["dur"],p.x1, p.x2, p.c1, p.c2)/eff.prop["rng"];
    } else {
      eff.elm.style[eff.prop["opa"]]=p.x2/eff.prop["rng"];
      if (eff.isOut) {eff.onHide(); eff.elm.style[eff.prop["opa"]]=1;} else {eff.onShow();}
      delete _fadesEff[eff.mId];
    }
    b=false;
  }
  if (b) {clearInterval(_fadeTm); _fadeTm=null;}
};

/*end*/

/*slide effect*/
var _slideTm=null;
var _slidesEff=new Object();

function _slideStart(isOut) {
  var mn=NlsGetElementById(this.mId);
  this.elm=mn.childNodes[0];
  
  if (!isOut && this.prop["init"]!=true) {
    this.elm.style.position="";
    var w=this.elm.offsetWidth; var h=this.elm.offsetHeight;
    with (mn.style) { overflow="hidden"; width=w+"px"; height=h+"px";};

    with (this.elm.style) {
      position=nls_isIE?"absolute":"relative";
      switch(this.prop["dir"]) {
        case "right": top="0px";left=-w+"px"; this.prop["st"]="left"; break;
        case "left": top="0px";left=w+"px"; this.prop["st"]="left"; break;
        case "down": top=-h+"px";left="0px"; this.prop["st"]="top"; break;
        case "up": top=h+"px";left="0px"; this.prop["st"]="top"; break;
      }
    };
    this.prop["mw"]=w; this.prop["mh"]=h; 
    if (!nls_isIE) this.prop["init"]=true;
  }
  this.prop["dur"]=parseFloat(nlsEffectList[this.effName].split(":")[1])*10;
  this.prop["spd"]=15;
  this.isOut=(isOut==true);
  nlsMenu[this.mId].ready=false;
};

function _slideRun() {
  var me=this;
  var p=new Object();
  var l=parseInt(this.elm.style.left);
  var t=parseInt(this.elm.style.top);
  var c=this.isOut?1:0;
  switch(this.prop["dir"]) {
    case "right": p.x1=l; p.x2=-this.prop["mw"]*c; break;
    case "left" : p.x1=l; p.x2=this.prop["mw"]*c; break;
    case "down" : p.x1=t; p.x2=-this.prop["mh"]*c; break;
    case "up"  : p.x1=t; p.x2=this.prop["mh"]*c; break;
  };    
  _fc_slide(p);
  this.prop["pt"]=p;
  this.prop["sd"]=0;
  
  _slidesEff[this.mId]=this;
  if (!_slideTm) _slideTm=setInterval(function() {_slideAnimate();}, this.prop["spd"]);  
};

function _slideAnimate() {
  var b=true;
  for (var it in _slidesEff) {
    var eff=_slidesEff[it];    
    var p=eff.prop["pt"];
    if (eff.prop["sd"] < eff.prop["dur"]) {
      eff.elm.style[eff.prop["st"]]= effect_bezier(eff.prop["sd"]/eff.prop["dur"],p.x1, p.x2, p.c1, p.c2) + "px";
      eff.prop["sd"]++;
    } else {
      eff.elm.style[eff.prop["st"]]=p.x2+"px";
      if (eff.isOut) {eff.onHide();} else {nlsMenu[eff.mId].ready=true; eff.onShow();}
      delete _slidesEff[eff.mId];
    }
    b=false;
  }
  if (b) {clearInterval(_slideTm); _slideTm=null;}
};

function _fc_fade(p) {p.c1=p.x1+(p.x2-p.x1)*2/3; p.c2=p.x2;};/*for fadding*/
function _fc_slide(p) {p.c1=p.x1+(p.x2-p.x1)*2/3; p.c2=p.x2;};
function _f1(t) { return (1-t); };
function _f2(t) { return (1-t)*(1-t); };
function _f3(t) { return (1-t)*(1-t)*(1-t); };
function _f4(t) { return t*t*t; };
function effect_bezier(t,x1,x2,c1,c2) {
  return _f3(t)*x1 + 3*t*_f2(t)*c1 + 3*t*t*_f1(t)*c2 + _f4(t)*x2;
};

/*end*/

/*NlsMenu item effect*/
function NlsMenuItemEffect(itemId, effName) {
  this.tmId=null;
  this.itemId=itemId;
  this.elm=null;
  this.effName=effName;
};

NlsMenuItemEffect.prototype.init=function() {
  if(!nls_isIE) return;
  if (this.elm==null) this.elm=NlsGetElementById(this.itemId); 
  if (nlsEffectList[this.effName]) this.elm.style.filter=nlsEffectList[this.effName];
  if (this.elm.filters.length>0) this.elm.filters[0].apply();
};

NlsMenuItemEffect.prototype.start=function() {
  if(!nls_isIE) return;
  if (this.elm.filters.length>0) this.elm.filters[0].play();
};
/*end*/

/**
* 
* Copyright 2005, addObject.com. All Rights Reserved
* Author Jack Hermanto, www.addobject.com
*/
var nlsScroller = new Object();

function NlsScrollerIco(path) {
  if (!path||path=="") {
    var allScs = (document.getElementsByTagName ? document.getElementsByTagName("SCRIPT"): document.scripts);
  /* ==> begin: chartermason (fvl 23/11/2007): Loading consolidated scripts through http compression module, so need to hardcode path here
    for (var i=0;i<allScs.length;i++) {
      if (allScs[i].src.toLowerCase().indexOf("nlsscroller.js")>=0) {path=allScs[i].src.replace(/nlsscroller.js/gi, "img/");break;}
    }
     ==> end: chartermason (fvl 23/11/2007) */
  /* <== begin: chartermason (fvl 23/11/2007) */
  path="/systems/nlsscroller/img/"
  /* <== end: chartermason (fvl 23/11/2007) */
  }
  this.next = path+"next.gif";
  this.nextover  = path+"nextover.gif";
  this.prev = path+"prev.gif";
  this.prevover  = path+"prevover.gif";
  this.resume = path+"play.gif";
  this.resumeover = path+"playover.gif";
  this.stop = path+"stop.gif";
  this.stopover = path+"stopover.gif";
  this.backgrd = path+"bg.gif";
  this.modeauto  = path+"modeauto.gif";
  this.modeman  = path+"modeman.gif";
  return this;
}

function NlsScroller(s) {
  //private
  this.scrlId = s;
  this.intRef = null;
  this.blockObj = null;
  this.helper = null;
  this.effWin = null;
  this.ico = new NlsScrollerIco();

  nlsScroller[s] = this;
  
  //properties
  this.mode="AUTO"; //MANUAL;
  this.effect=new NlsEffContinuous(); //default effect
  
  this.showToolbar = true;
  this.toolbar=["MODE","PLAY","PREV","NEXT"];
  this.contents = [];
  this.scrollerWidth = 150;
  this.scrollerHeight = 80;
  this.scrollerSpeed = 3500;
  this.stylePref = "";
  this.stopOnMouseOver = true;
  
  //methods
  this.setEffect = scrl_setEffect;
  this.setContents = scrl_setContents;
  this.render = scrl_render;
  this.start = scrl_start;
  this.stop= scrl_stop;
  this.resume = scrl_resume;
  this.prev=function() {this.effect.prev()} ;
  this.next=function() {this.effect.next()} ;
  
  this.toggleMode = scrl_toggleMode;
  this.scrollerOnMouseOver=function() {}
  this.scrollerOnMouseOut=function() {}
  
  return this;
}

function scrl_setContents(cnt) {
  cnt = cnt.replace(/<span>nlsscroller-break<\/span>/gi, "<span>nlsscroller-break</span>");
  this.contents = cnt.split("<span>nlsscroller-break</span>");
}

//render the scroller
function scrl_render(plc) {
  var pos="relative", dsp="none";
  if (window.navigator.appName=="Microsoft Internet Explorer" && window.navigator.appVersion.indexOf("MSIE 4") != -1) {
    pos="absolute"; dsp="block";
  }

  var autoTool = "<table id='"+this.scrlId+"auto' border='0' cellpadding='0' cellspacing='0' "+(this.mode=="MANUAL"?"style='display:none'":"")+"><tr>";
  autoTool += "<td onmouseover=\"scrl_tbMouseOver('"+this.scrlId+"play')\" onmouseout=\"scrl_tbMouseOut('"+this.scrlId+"play')\" onclick='nlsScroller."+this.scrlId+".resume();'><img id='"+this.scrlId+"play' src='"+this.ico.resume+"' ><img id='"+this.scrlId+"playover' src='"+this.ico.resumeover+"' style='display:none'></td>";
  autoTool += "<td onmouseover=\"scrl_tbMouseOver('"+this.scrlId+"pause')\" onmouseout=\"scrl_tbMouseOut('"+this.scrlId+"pause')\" onclick='nlsScroller."+this.scrlId+".stop();'><img id='"+this.scrlId+"pause' src='"+this.ico.stop+"'><img id='"+this.scrlId+"pauseover' src='"+this.ico.stopover+"' style='display:none'></td>";
  autoTool+="</tr></table>";
  var manTool = "<table id='"+this.scrlId+"manual' border='0' cellpadding='0' cellspacing='0' "+(this.mode=="AUTO"?"style='display:none'":"")+"><tr>";
  manTool+="<td onmouseover=\"scrl_tbMouseOver('"+this.scrlId+"prev')\" onmouseout=\"scrl_tbMouseOut('"+this.scrlId+"prev')\" onclick='nlsScroller."+this.scrlId+".prev();'><img id='"+this.scrlId+"prev' src='"+this.ico.prev+"'><img id='"+this.scrlId+"prevover' src='"+this.ico.prevover+"' style='display:none'></td>";
  manTool+="<td onmouseover=\"scrl_tbMouseOver('"+this.scrlId+"next')\" onmouseout=\"scrl_tbMouseOut('"+this.scrlId+"next')\" onclick='nlsScroller."+this.scrlId+".next();'><img id='"+this.scrlId+"next' src='"+this.ico.next+"'><img id='"+this.scrlId+"nextover' src='"+this.ico.nextover+"' style='display:none'></td>";
  manTool+="</tr></table>";
  var modeTool = "<table border='0' cellpadding='0' cellspacing='0'><tr><td onclick='nlsScroller."+this.scrlId+".toggleMode();'><img id='"+this.scrlId+"mode' src='"+this.ico.modeauto+"' "+(this.mode=="MANUAL"?"style='display:none'":"")+"><img id='"+this.scrlId+"modeover' src='"+this.ico.modeman+"' "+(this.mode=="AUTO"?"style='display:none'":"")+"></td></tr></table>";
  
  var str = "";
  for (var i=0; i<this.contents.length; i++) {
    str += ("<div id='"+this.scrlId+"line"+i+"' style='display:"+dsp+";position:absolute;top:0px;width:100%;height:100%' class='"+this.stylePref+"frmcontent'><table width='100%' height='100%' border='0' cellpadding='0' cellspacing='0'><tr><td class='"+this.stylePref+"content'>" + this.contents[i] + "</td></tr></table></div>");
  }
  str += ("<div id='"+this.scrlId+"Helper' style='display:"+dsp+";position:absolute;top:0px;width:100%;height:100%' class='"+this.stylePref+"effhelper'><table width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td></td></tr></table></div>");
  str = ("<div id=\""+this.scrlId+"\" class='"+this.stylePref+"scroller' style='position:"+pos+";overflow:hidden;clip:rect(0px "+this.scrollerWidth+"px "+this.scrollerHeight+"px 0px);width:"+this.scrollerWidth+"px;height:"+this.scrollerHeight+"px;' onmouseover=\"scrl_onMouseOver('"+this.scrlId+"')\" onmouseout=\"scrl_onMouseOut('"+this.scrlId+"')\"><div id=\""+this.scrlId+"EffWin\" style='position:absolute;width:100%;height:100%;top:0px;left:0px;'>" + str + "</div></div>" );
  str = "<table border='0' cellpadding='0' cellspacing='0' class='"+this.stylePref+"scrollerFrame'><tr><td>" + str + "</td></tr>";
  if (this.showToolbar && this.toolbar.length>0) str +="<tr><td class='"+this.stylePref+"toolbar' background='"+this.ico.backgrd+"' align='center'><table width='100%' height='18px' border='0' cellpadding='0' cellspacing='0'><tr><td width='20px'>&nbsp;</td><td align='center'>"+autoTool+manTool+"</td><td width='20px'>"+modeTool+"</td></tr></table></td></tr>";
  str +="</table>";
  
  if (plc) {
    var tPlc = NlsGetElementById(plc);
    tPlc.innerHTML = str; 
  } else {
    document.write(str); str="";
  }
  this.helper = NlsGetElementById(this.scrlId+"Helper");
  this.effWin = NlsGetElementById(this.scrlId+"EffWin");
  return str;
}

function scrl_start() {
  var line = null;
  this.blockObj=[];
  for (var i=0; i<this.contents.length; i++) {
    line = NlsGetElementById(this.scrlId+"line"+i);
    this.blockObj[this.blockObj.length] = line;
    with (line.style) { zIndex=this.contents.length-i; display = "";}
  }
  this.effect.init(this);
  this.stop();
  if (this.effect.name=="NlsEffContinuous") {
    this.intRef = window.setTimeout("eval(nlsScroller."+this.scrlId+".effect.run())", this.scrollerSpeed);
  } else {
    if (this.mode=="AUTO") {
      this.intRef = window.setInterval("eval(nlsScroller."+this.scrlId+".effect.run())", this.scrollerSpeed);
    }
  }
}

function scrl_toggleMode() {
  
  if (this.mode=="AUTO") {
    if (this.effect.name=="NlsEffContinuous") { alert("Manual mode not available in this effect"); return;}
    this.mode="MANUAL";
    this.stop();
    NlsGetElementById(this.scrlId+"mode").style.display="none";
    NlsGetElementById(this.scrlId+"modeover").style.display="";
    NlsGetElementById(this.scrlId+"manual").style.display="";
    NlsGetElementById(this.scrlId+"auto").style.display="none";
  } else if (this.mode=="MANUAL") {
    this.mode="AUTO";
    this.effect.cfg["topicsequence"]="next";
    this.resume();
    NlsGetElementById(this.scrlId+"mode").style.display="";
    NlsGetElementById(this.scrlId+"modeover").style.display="none";
    NlsGetElementById(this.scrlId+"manual").style.display="none";
    NlsGetElementById(this.scrlId+"auto").style.display="";
  }
}

//resume the scroller
function scrl_resume() {
  if (!this.effect) return;
  if (this.effect.name=="NlsEffContinuous") {
    this.effect.run();
  } else {
    if (this.intRef==null) { 
      this.intRef = window.setInterval("eval(nlsScroller."+this.scrlId+".effect.run())", this.scrollerSpeed);
    }
  }
}

//stop the scroller
function scrl_stop() {
  if (!this.effect) return;
  if (this.effect.name=="NlsEffContinuous") {
    this.effect.stop();
    if (this.intRef) {window.clearTimeout(this.intRef); this.intRef = null;}
  } else {
    if (this.intRef) {window.clearInterval(this.intRef); this.intRef = null;}
  }
}

function scrl_setEffect(eff) {
  if (!eff) return;
  if (eff.name=="NlsEffContinuous") {
    if (NlsGetElementById(this.scrlId+"mode")) {
      if (this.mode=="MANUAL") this.toggleMode();
    } else {
      this.mode="AUTO";
    }
  }
  this.stop();
  this.effect=eff;
}

function NlsGetElementById(id) {
    if (document.all) {
        return document.all(id);
    } else
    if (document.getElementById) {
        return document.getElementById(id);
    }
}

function scrl_exitView(dirc, pos, bound) {
  switch (dirc) {
    case "up":; case "left": return (pos<=bound);
    case "down":; case "right":return (pos>=bound);
  }
}

function scrl_previousTopic() {
  this.cfg["topicsequence"]="prev";
  this.run();
}

function scrl_nextTopic() {
  this.cfg["topicsequence"]="next";
  this.run();
}

function scrl_setTopic() {
  var cnt=this.scr.blockObj.length
  if (this.cfg["topicsequence"]=="next") {
    if (this.crTpc==cnt-1) this.crTpc=0; else this.crTpc++;
  } else {
    if (this.crTpc==0) this.crTpc=cnt-1; else this.crTpc--;
  }
}

function scrl_tbMouseOver(b) {
  NlsGetElementById(b).style.display="none";
  NlsGetElementById(b+"over").style.display="";
}

function scrl_tbMouseOut(b) {
  NlsGetElementById(b).style.display="";
  NlsGetElementById(b+"over").style.display="none";
}

function scrl_onMouseOver(scrlId) {
  var scr=nlsScroller[scrlId];
  if (scr.mode=="MANUAL") return;
  if (scr.stopOnMouseOver) scr.stop();
  scr.scrollerOnMouseOver();
}

function scrl_onMouseOut(scrlId) {
  var scr=nlsScroller[scrlId];
  if (scr.mode=="MANUAL") return;
  if (scr.stopOnMouseOver) scr.resume();
  scr.scrollerOnMouseOut();
}

/*
** NLSScroller Continuous Scroll Effect.
** Arguments:
** conf: comma separated key=value pair, must not contains space. 
** The keys are:
** direction: <up, down, left, right>
** speed : scrolling speed
** step : number, default 1
** delay : amount of delay time before scrolling next topic
*/

function NlsEffContinuous(conf) {
  var me=this;
  this.scr=null;
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["direction"]="up";
  this.cfg["speed"]=50;
  this.cfg["step"]=1;
  this.cfg["delay"]=0;
  if (conf && conf!="") {
    var tcnf=conf.replace(/\s+/gi, "").toLowerCase().split(",");
    var keyval ="";
    for (var i=0;i<tcnf.length;i++) { keyval=tcnf[i].split("="); this.cfg[keyval[0]]=keyval[1]; }
  }
  this.crTpc=0;
  this.lsTpc=null;

  this.name="NlsEffContinuous";
  
  this.init=function(scr) {
    this.scr=scr;
    this.scr.effWin.style.height="";
    this.crTpc=0;
    
    var line=null; var tmpPos=0;
    for (var i=0; i<this.scr.blockObj.length; i++) {
      line=this.scr.blockObj[i];
      line.style.height="";
      with(line.style) {
        switch (this.cfg["direction"]) {
          case "up":   left = 0; top = tmpPos+"px"; tmpPos += line.offsetHeight; break;
          case "down": left = 0; tmpPos += line.offsetHeight; top = (this.scr.scrollerHeight-tmpPos) + "px"; break;
          case "left": top = 0; left = tmpPos+"px"; tmpPos += line.offsetWidth; break;
          case "right":top = 0; tmpPos += line.offsetWidth; left = (this.scr.scrollerWidth-tmpPos) + "px"; break;       
        }
      }
    }
    this.lsTpc=line;
  }
  
  this.run=function() {
    var step=1;
    switch (this.cfg["direction"]) {
      case "up":this.runScroll=runUp; step=-this.cfg["step"];break;
      case "down":this.runScroll=runDown; step=+this.cfg["step"];break;
      case "left":this.runScroll=runLeft; step=-this.cfg["step"];break;
      case "right":this.runScroll=runRight; step=+this.cfg["step"];break;    
    }
    this.stop();
    this.rtprop["tmId"] = window.setInterval(function() { me.runScroll(step); }, +me.cfg["speed"]);
  }
  
  this.runScroll=function() {}

  function runUp(step) {
    var line, pos, bound;
    for (var i=0; i<this.scr.blockObj.length; i++) {
      line=this.scr.blockObj[i];
      pos = parseInt(line.style.top) + step;  
      bound=-line.offsetHeight;
      if (scrl_exitView(this.cfg["direction"], pos, bound)) {
        var t=parseInt(this.lsTpc.style.top) + parseInt(this.lsTpc.offsetHeight);
        if (t > this.scr.scrollerHeight) { line.style.top = (t)+"px"; } else { line.style.top = (this.scr.scrollerHeight) + "px"; }
        this.lsTpc=line;
        if (+this.cfg["delay"]>0) { this.stop(); window.setTimeout(function() {me.run();}, +this.cfg["delay"]); }
      } else {
        line.style.top = pos+"px";
      }
    }  
  }

  function runDown(step) {
    var line, pos, bound;
    bound=this.scr.scrollerHeight;
    for (var i=0; i<this.scr.blockObj.length; i++) {
      line=this.scr.blockObj[i];
      pos = parseInt(line.style.top) + step;  
      if (scrl_exitView(this.cfg["direction"], pos, bound)) {
        var t=parseInt(this.lsTpc.style.top);
        if (t<0) { line.style.top = (t-line.offsetHeight) + "px"; } else { line.style.top = -line.offsetHeight + "px"; }
        this.lsTpc=line;
        if (+this.cfg["delay"]>0) { this.stop(); window.setTimeout(function() {me.run();}, +this.cfg["delay"]); }
      } else {
        line.style.top = pos+"px";
      }
    }
  }

  function runLeft(step) {
    var line, pos, bound;
    for (var i=0; i<this.scr.blockObj.length; i++) {
      line=this.scr.blockObj[i];
      pos = parseInt(line.style.left) + step;  
      bound=-line.offsetWidth;
      if (scrl_exitView(this.cfg["direction"], pos, bound)) {
        var t=parseInt(this.lsTpc.style.left) + parseInt(this.lsTpc.offsetWidth);//scr.scrollerWidth;
        if (t > this.scr.scrollerWidth) {line.style.left=(t)+"px";} else {line.style.left=(this.scr.scrollerWidth)+"px";}
        this.lsTpc=line;
        if (+this.cfg["delay"]>0) { this.stop(); window.setTimeout(function() {me.run();}, +this.cfg["delay"]); }
      } else {
        line.style.left = pos+"px"; 
      }
    }  
  }  

  function runRight(step) {
    var line, pos, bound;
    bound=this.scr.scrollerWidth;
    for (var i=0; i<this.scr.blockObj.length; i++) {
      line=this.scr.blockObj[i];
      pos = parseInt(line.style.left) + step;  
      if (scrl_exitView(this.cfg["direction"], pos, bound)) {
        var t=parseInt(this.lsTpc.style.left);
        if (t<0) {line.style.left = (t-line.offsetWidth) + "px";} else {line.style.left = -line.offsetWidth + "px";}
        this.lsTpc=line;
        if (+this.cfg["delay"]>0) { this.stop(); window.setTimeout(function() {me.run();}, +this.cfg["delay"]); }
      } else {
        line.style.left = pos+"px"; 
      }
    }
  }
  
  this.stop=function() {
    if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
  }
  
}

/*
** NLSScroller Slide effect.
** Arguments:
** conf: comma separated key=value pair, must not contains space. 
** The keys are:
** type  : <out, in, shift> 
** direction: <up, down, left, right>
** speed : the time delay before topic displayed, number default 5
** step : number, default 1
** smartnavigation : true/false
*/

function NlsEffSlide(conf) {
  var me=this;
  this.scr=null;
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["type"]="shift";
  this.cfg["direction"]="left";
  this.cfg["speed"]=5;
  this.cfg["step"]=1;
  this.cfg["topicsequence"]="next";
  this.cfg["smartnavigation"]="true"; //manual mode only
  if (conf && conf!="") {
    var tcnf=conf.replace(/\s+/gi, "").toLowerCase().split(",");
    var keyval ="";
    for (var i=0;i<tcnf.length;i++) { keyval=tcnf[i].split("="); this.cfg[keyval[0]]=keyval[1]; }
  }
  this.rtprop["orgtype"]=this.cfg["type"];//original type
  
  this.crTpc=null;
  this.lsTpc=null;
  
  this.name="NlsEffSlide";
  
  this.init=function (scr) {
    this.scr=scr;
    this.crTpc=0;
    
    switch (this.cfg["type"]) {
      case "in":
        //this.crTpc=1;
        var line=null;
        for (var i=0; i<this.scr.blockObj.length; i++) {
          line=this.scr.blockObj[i];
          with (line.style) {
            switch (this.cfg["direction"]) {
              case "up":   left=0+"px"; top=this.scr.scrollerHeight+"px"; break;
              case "down": left=0+"px"; top=-line.offsetHeight+"px"; break;
              case "left": left=this.scr.scrollerWidth+"px"; top=0+"px"; break;
              case "right":left=-line.offsetWidth+"px"; top=0+"px"; break;       
            }
          }
        }
        with (this.scr.blockObj[0].style) {top=0+"px"; left=0+"px"; zIndex=this.scr.blockObj.length-1; }
        this.scr.blockObj[1].style.zIndex=this.scr.blockObj.length;
        break;
      case "out":
        for (var i=0; i<this.scr.blockObj.length; i++) { with (this.scr.blockObj[i].style) { left=0+"px"; top=0+"px"; } }      
        break;
      case "shift":
        //this.crTpc=1;
        var line=null;
        for (var i=0; i<this.scr.blockObj.length; i++) {
          line=this.scr.blockObj[i];
          with (line.style) {
            switch (this.cfg["direction"]) {
              case "up":   left=0+"px"; top=this.scr.scrollerHeight+"px"; break;
              case "down": left=0+"px"; top=-line.offsetHeight+"px"; break;
              case "left": left=this.scr.scrollerWidth+"px"; top=0+"px"; break;
              case "right":left=-line.offsetWidth+"px"; top=0+"px"; break;
            }
          }
        }
        this.scr.blockObj[0].style.top=0+"px";this.scr.blockObj[0].style.left=0+"px";
        this.lsTpc=this.scr.blockObj[0];
        break;
    }
  }
  
  this.run=function () {
    if (this.rtprop["tmId"]!=null) return;
    var step=1; var vert=true;
    switch (this.cfg["direction"]) {
      case "up":step=-this.cfg["step"]; vert=true;break;
      case "down":step=+this.cfg["step"]; vert=true;break;
      case "left":step=-this.cfg["step"]; vert=false;break;
      case "right":step=+this.cfg["step"]; vert=false;break;    
    }
    var cnt=this.scr.blockObj.length;
    switch(this.cfg["type"]) {
      case "out": 
        this.runScroll=runScrollOut;
        
        this.scr.blockObj[this.crTpc].style.zIndex=cnt;
        if (this.cfg["topicsequence"]=="next") {
          this.scr.blockObj[(this.crTpc==cnt-1?0:this.crTpc+1)].style.zIndex=cnt-1;
        } else {
          this.scr.blockObj[(this.crTpc==0?cnt-1:this.crTpc-1)].style.zIndex=cnt-1;
        }

        break;
      case "in": 
        this.setTopic();
        var nextTpc=this.scr.blockObj[this.crTpc] ;
        with (nextTpc.style) {
          switch (this.cfg["direction"]) {
            case "up": top=this.scr.scrollerHeight+"px"; left=0+"px"; break;
            case "down": top=-nextTpc.offsetHeight+"px"; left=0+"px"; break;
            case "left": left=this.scr.scrollerWidth+"px"; top=0+"px"; break;
            case "right": left=-nextTpc.offsetWidth+"px"; top=0+"px";break;
          }
        }
        nextTpc.style.zIndex=cnt;
        this.runScroll=runScrollIn; 
        break;
      case "shift": 
        this.setTopic();
        var nextTpc=this.scr.blockObj[this.crTpc] ;
        with (nextTpc.style) {
          switch (this.cfg["direction"]) {
            case "up": top=this.scr.scrollerHeight+"px"; left=0+"px"; break;
            case "down": top=-nextTpc.offsetHeight+"px"; left=0+"px"; break;
            case "left": left=this.scr.scrollerWidth+"px"; top=0+"px"; break;
            case "right": left=-nextTpc.offsetWidth+"px"; top=0+"px";break;
          }
        }
        nextTpc.style.zIndex=cnt;
        this.runScroll=runScrollShift; break;
    }
    if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    this.rtprop["tmId"] = window.setInterval(function() { me.runScroll(step, vert); }, +me.cfg["speed"]);
  }
  
  this.runScroll=function() {}
 
  function runScrollIn(step, vert) {
    var line=this.scr.blockObj[this.crTpc];
    var pos = parseInt((vert?line.style.top:line.style.left)) + step;
    var cnt=this.scr.blockObj.length;
    if ((this.cfg["direction"]=="up" && pos<=0)||
        (this.cfg["direction"]=="down" && pos>=0)||
        (this.cfg["direction"]=="left" && pos<=0)||
        (this.cfg["direction"]=="right" && pos>=0)
    ) {
      if (vert) line.style.top=0+"px"; else line.style.left=0+"px";
      for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}


      line.style.zIndex=cnt-1; 
      
      if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    } else {
      if (vert) line.style.top = pos+"px"; else line.style.left = pos+"px";
    }
  }
  
  function runScrollOut(step, vert) {
    var bound;
    var line=this.scr.blockObj[this.crTpc];
    var pos = parseInt((vert?line.style.top:line.style.left)) + step;
    switch (this.cfg["direction"]) {
      case "up": bound=-line.offsetHeight;break;
      case "down": bound=this.scr.scrollerHeight;break;
      case "left": bound=-line.offsetWidth;break;
      case "right": bound=this.scr.scrollerWidth;break;
    }  
    var cnt=this.scr.blockObj.length;
    if (scrl_exitView(this.cfg["direction"], pos, bound)) {
      with(line.style) {zIndex=0; left=0+"px"; top=0+"px";}

      this.setTopic();
        
        
      if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    } else {
      if (vert) line.style.top = pos+"px"; else line.style.left = pos+"px";
    }
  }
  
  function runScrollShift(step, vert) {
    var line=this.scr.blockObj[this.crTpc];
    var pos = parseInt((vert?line.style.top:line.style.left)) + step;
    var cnt=this.scr.blockObj.length;
    var dirt = this.cfg["direction"];
    if ((dirt=="up" && pos<=0)||(dirt=="down" && pos>=0)||(dirt=="left" && pos<=0)||(dirt=="right" && pos>=0) ) {
      if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
      if (vert) line.style.top=0+"px"; else line.style.left=0+"px";
      for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}
      
 
      this.lsTpc.style.zIndex=0;
      line.style.zIndex=cnt-1; 
      this.lsTpc=line;
      
      
    } else {
      if (vert) {
        line.style.top = pos+"px";
        if (dirt=="up") this.lsTpc.style.top=pos-parseInt(this.lsTpc.offsetHeight)+"px"; 
        else this.lsTpc.style.top=pos+parseInt(this.lsTpc.offsetHeight)+"px";
      } else {
        line.style.left = pos+"px";
        if (dirt=="left") this.lsTpc.style.left=pos-parseInt(this.lsTpc.offsetWidth)+"px"; 
        else this.lsTpc.style.left=pos+parseInt(this.lsTpc.offsetWidth)+"px"; 
      }
    }  
  }
  
  this.prev=function() {
    if (this.cfg["smartnavigation"]=="true") {
      this.cfg["topicsequence"]="prev";
      if (this.cfg["type"]!="shift") {
        this.cfg["type"]=(this.rtprop["orgtype"]=="in"?"out":"in");
      }      
      if ("leftright".indexOf(this.cfg["direction"]) >= 0) {
        this.cfg["direction"]="left";
      } else {
        this.cfg["direction"]="down";
      }
      this.run();
    } else {
      this.cfg["topicsequence"]="prev";
      this.run();
    }
  }
  
  this.next=function() {
    if (this.cfg["smartnavigation"]=="true") {
      this.cfg["topicsequence"]="next";
      if (this.cfg["type"]!="shift") {
        this.cfg["type"]=this.rtprop["orgtype"];
      }
      if ("leftright".indexOf(this.cfg["direction"]) >= 0) {
        this.cfg["direction"]="right";
      } else {
        this.cfg["direction"]="up";
      }
      this.run();
    } else {
      this.cfg["topicsequence"]="next";
      this.run();
    }  
  }
  
  this.setTopic=scrl_setTopic;
}

/*
** NLSScroller Blank effect.
** Arguments:
** conf: comma separated key=value pair, must not contains space. 
** The keys are:
** speed : the time delay before topic displayed, default "speed=600"
*/

function NlsEffBlank(conf) {
  var me=this;
  this.scr=null;
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["speed"]=600;
  this.cfg["topicsequence"]="next";
  if (conf && conf!="") {
    var tcnf=conf.replace(/\s+/gi, "").toLowerCase().split(",");
    var keyval ="";
    for (var i=0;i<tcnf.length;i++) { keyval=tcnf[i].split("="); this.cfg[keyval[0]]=keyval[1]; }
  }
  this.crTpc=null;
  
  this.name="NlsEffBlank";
  
  this.init=function (scr) {
    this.scr=scr;
    var help=this.scr.helper;
    with (help.style) {display="";zIndex=0;top=0;left=0; }
    this.crTpc=0;
    for (var i=0; i<this.scr.blockObj.length; i++) { with (this.scr.blockObj[i].style) {left=0; top=0;} }
  }
  
  this.run=function () {
    if (this.rtprop["tmId"]!=null) return;
    this.setTopic();
    var cnt=this.scr.blockObj.length;
    for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}
    var line=this.scr.blockObj[this.crTpc];
    var helper=this.scr.helper;
    helper.style.zIndex=cnt+1;
    if (this.rtprop["tmId"]) { window.clearTimeout(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    this.rtprop["tmId"] = window.setTimeout(function() { me.runScroll(); }, +me.cfg["speed"]);
  }
 
  this.runScroll=function() {
    var cnt=this.scr.blockObj.length;
    var line=this.scr.blockObj[this.crTpc];
    line.style.zIndex=cnt;
    this.scr.helper.style.zIndex=0;
    if (this.rtprop["tmId"]) { window.clearTimeout(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
  }
  
  this.prev=scrl_previousTopic;
  this.next=scrl_nextTopic;
  this.setTopic=scrl_setTopic;
}


/*
** NLSScroller IE Transition effect.
** Supported in IE 5.5+ only
** Arguments:
** ieTransEff: array of IE transition effect
** default ["progid:DXImageTransform.Microsoft.Fade(Overlap=0.75); "]
*/
function NlsEffIETrans(ieTransEff) {
  var me=this;
  this.scr=null;
  this.ieTrans = (!ieTransEff || ieTransEff=="" ? ["progid:DXImageTransform.Microsoft.Fade(Overlap=1);"]: ieTransEff);
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["topicsequence"]="next";
  this.crTpc=null;
  
  this.name="NlsEffIETrans";
  
  this.init=function (scr) {
    this.scr=scr;
    this.crTpc=0; 
    for (var i=0; i<this.scr.blockObj.length; i++) { with (this.scr.blockObj[i].style) {left=0; top=0;} }
    this.rtprop["curTrans"]=-1;
  }
  
  this.run=function () {
    this.setTopic();
    var view=this.scr.effWin;
    if (this.rtprop["curTrans"]==this.ieTrans.length-1) this.rtprop["curTrans"]=0; else this.rtprop["curTrans"]++;
    view.style.filter=this.ieTrans[this.rtprop["curTrans"]];
    view.filters[0].apply();

    var cnt=this.scr.blockObj.length;
    for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}
    this.scr.blockObj[this.crTpc].style.zIndex=cnt;
    //if (this.crTpc==cnt-1) this.crTpc=0; else this.crTpc++;
    view.filters[0].play();
  }
  
  this.prev=scrl_previousTopic;
  this.next=scrl_nextTopic;
  this.setTopic=scrl_setTopic;
}


/*
** NLSScroller Wipe effect.
** Arguments: 
** conf : comma separated key=value pair, must not contains space. 
** the key are:
** type:  <horizontal, vertical, alternate>
** speed: <number, default 5, max 20>
** step:  <number, default 3, min 1, max 10>
** Ex> "type=alternate,speed=8"
*/
function NlsEffWipe(conf) {
  var me=this;
  this.scr=null;
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["type"]="alternate";
  this.cfg["speed"]=5;
  this.cfg["step"]=3;
  this.cfg["topicsequence"]="next";
  if (conf && conf!="") {
    var tcnf=conf.replace(/\s+/gi, "").toLowerCase().split(",");
    var keyval ="";
    for (var i=0;i<tcnf.length;i++) { keyval=tcnf[i].split("="); this.cfg[keyval[0]]=keyval[1]; }
  }
  this.crTpc=null;
  
  this.name="NlsEffWipe";
  
  this.init=function (scr) {
    this.scr=scr;
    var help=this.scr.helper;
    with (help.style) {display="";zIndex=0;top=0+"px";left=0+"px"; }
    this.crTpc=0;
    for (var i=0; i<this.scr.blockObj.length; i++) { with (this.scr.blockObj[i].style) {left=0+"px"; top=0+"px";} }
  }
  
  this.run=function () {
    if (this.rtprop["tmId"]!=null) return;
    this.setTopic();
    var cnt=this.scr.blockObj.length;
    var helper=this.scr.helper;
    with (helper.style) { 
      if (this.cfg["type"]=="vertical") { 
        this.rtprop["dir"]="v";
      } else if (this.cfg["type"]=="horizontal") {
        this.rtprop["dir"]="h";
      } else if (this.cfg["type"]=="alternate") {
        if (!this.rtprop.dir) {this.rtprop.dir="h";}
        this.rtprop["dir"]=(this.rtprop["dir"]=="v"?"h":"v");
      }
      if (this.rtprop["dir"]=="v") {
        height="1px";width="100%";top=(this.scr.scrollerHeight/2)+"px";left=0+"px";
      } else if (this.rtprop["dir"]=="h") {
        height="100%";width="1px";left=(this.scr.scrollerWidth/2)+"px";top=0+"px"; 
      }
      zIndex=cnt+1; 
    }
    
    this.rtprop["phase"] = 1;
    if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    this.rtprop["tmId"] = window.setInterval(function() { me.runScroll(); }, +me.cfg["speed"]);
  }
  
  this.runScroll=function() {
    var helper=this.scr.helper; var hs = helper.style;
    var covered=false; var bound=0;
    if (this.rtprop["dir"]=="v") {
      hs.height = parseInt(hs.height) + this.rtprop["phase"]*this.cfg["step"] + "px";
      bound = parseInt(hs.height);
      hs.top=(this.scr.scrollerHeight-bound)/2 +"px";
      covered = (bound >= this.scr.scrollerHeight);
    } else if (this.rtprop["dir"]=="h") {
      hs.width = parseInt(hs.width) + this.rtprop["phase"]*this.cfg["step"] + "px";
      bound = parseInt(hs.width);
      hs.left=(this.scr.scrollerWidth-bound)/2 + "px";
      covered = (bound >= this.scr.scrollerWidth);
    }
    
    if (covered && this.rtprop["phase"]==1) {
      var cnt=this.scr.blockObj.length;
      var line=this.scr.blockObj[this.crTpc];
      for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}    
      line.style.zIndex=cnt;
      this.rtprop["phase"]=-1;
    }
    if (this.rtprop["phase"]==-1 && bound==1) {
      if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
      hs.zIndex=0;
    }
  }
  
  this.prev=scrl_previousTopic;
  this.next=scrl_nextTopic;
  this.setTopic=scrl_setTopic;
}

/*
** NLSScroller Fade effect.
** Arguments: 
** conf : comma separated key=value pair, must not contains space. 
** the key are:
** type:  <horizontal, vertical, alternate>
** speed: <number, default 5, max 20>
** step:  <number, default 3, min 1, max 10>
** Ex> "type=alternate,speed=8"
*/
function NlsEffFade(conf) {
  var me=this;
  this.scr=null;
  this.rtprop=new Object();
  this.cfg=new Object();
  this.cfg["speed"]=5;
  this.cfg["step"]=1;
  this.cfg["topicsequence"]="next";
  if (conf && conf!="") {
    var tcnf=conf.replace(/\s+/gi, "").toLowerCase().split(",");
    var keyval ="";
    for (var i=0;i<tcnf.length;i++) { keyval=tcnf[i].split("="); this.cfg[keyval[0]]=keyval[1]; }
  }
  this.crTpc=null;
  this.name="NlsEffFade";
  
  var isIE=(window.navigator.appName=="Microsoft Internet Explorer");
  
  this.init=function (scr) {
    this.scr=scr;
    this.crTpc=0;
    with (this.scr.helper.style) {display="";zIndex=0;top=0;left=0; }
    for (var i=0; i<this.scr.blockObj.length; i++) { with (this.scr.blockObj[i].style) {left=0; top=0;} }
  }
  
  this.run=function () {
    if (this.rtprop["tmId"]!=null) return;
    this.setTopic();
    var cnt=this.scr.blockObj.length;
    var helper=this.scr.helper;
    with (helper.style) { 
      if (isIE) { 
        filter="progid:DXImageTransform.Microsoft.Alpha( style=0,opacity=50);" ;
        helper.filters[0].Opacity=0;
      } else {
        MozOpacity=0; 
      }
      zIndex=cnt+1;   
    }
    this.rtprop["opa"]=0;
    
    this.rtprop["phase"] = 1;
    if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
    this.rtprop["tmId"] = window.setInterval(function() { me.runScroll(); }, +me.cfg["speed"]);
  }
  
  this.runScroll=function() {
    var covered=false;
    this.rtprop["opa"]+=(this.rtprop["phase"]*parseInt(this.cfg["step"]));
    covered=(this.rtprop["opa"]>=99);
    if (isIE)  {
      this.scr.helper.filters[0].Opacity=this.rtprop["opa"];
    } else {
      this.scr.helper.style.MozOpacity=this.rtprop["opa"]/100;
    }
    
    if (covered && this.rtprop["phase"]==1) {
      var cnt=this.scr.blockObj.length;
      var line=this.scr.blockObj[this.crTpc];
      for (var i=0; i<cnt; i++) {if (i!=this.crTpc) this.scr.blockObj[i].style.zIndex=0;}    
      line.style.zIndex=cnt;
      this.rtprop["phase"]=-1;
    }
    if (this.rtprop["phase"]==-1 && this.rtprop["opa"]==0) {
      if (this.rtprop["tmId"]!=null) { window.clearInterval(this.rtprop["tmId"]); this.rtprop["tmId"]=null; }
      this.scr.helper.style.zIndex=0;
    }
  }
  
  this.prev=scrl_previousTopic;
  this.next=scrl_nextTopic;
  this.setTopic=scrl_setTopic;
  
}


