/**
 * Created: 4/23/2007
 * Author(s): Kurani Interactive
 */ 


/**
 * Variables for flash player detection/installation
 */
var flashVersionReq = 8;
var globalFlashDetect = true;


/**
 * Variables/Functions for toggle setup
 */
function faqToggleParams() {
  return {
    eventTarget : {
      el_class : 'question',
      id_prefix : 'q',
      activeClass : 'red',
      activeTitle : 'Hide Answer',
      inactivetitle : 'View Answer'
    },
    toToggle : 'a'
  };
};
function eventToggleParams() {
  return {
    eventTarget : {
      el_class : 'eventTitle',
      id_prefix : 'eTitle',
      activeClass : 'red',
      activeTitle : 'Hide Event Detail',
      inactiveTitle : 'View Event Detail'
    },
    toToggle : 'eDesc'
  };
};


/**
 * Called by flash to resize sub menu when items with subs are clicked
 *  f:string = semicolon seperated list of ids (elements to animate)
 *  h:number = new height of ALL elements
 */
function resizeHeight(f,h,init) {
  f = f.split(';');
  var minHeight = (f[0]=='product_details_flash')?100:150;
  $(f[0]).style.height = h<minHeight?minHeight+"px":h+"px";
  if( init ) {
    if(browser=='Safari') $(f[1]).focus();
    $(f[1]).style.height = h<minHeight?minHeight+"px":h+"px";
  }else {
    var fx1 = new Fx.Transition(Fx.Transitions.Quad, 50);
    var fx2 = new Fx.Style(f[1], 'height',{transition:fx1.easeOut,duration:200});
    fx2.start(h<minHeight?minHeight:h);
  }
};


/**
 * Called by flash sub menu to determine currently opened item and highlighting
 */
function getCurrent() {
  if (typeof Faq=="undefined") var Faq = null;
  return {
    pathname : window.location.pathname,
    href : window.location.href,
    current_node_id : current_node_id,
    path_ids : path_ids,
    is_search : typeof search=="boolean",
    is_locationfinder : typeof locationfinder=="boolean",
    faq : Faq
  };
};



/**
 * Called by flash footer navigation to resize based on number of nav elements
 */
function resizeFlash(f,w,h){
  var el = document.getElementById(f);
  if(typeof w!="undefined") el.style.width = w+"px";
  if(typeof h!="undefined") el.style.height = h+"px";
};



/**
 * MooTools, My Object Oriented Javascript Tools.
 * Copyright (c) 2006 Valerio Proietti, <http://mad4milk.net>, MIT Style License: http://www.opensource.org/licenses/mit-license.php
 *
 * Compression by Douglas Crockford's JSMin - http://www.crockford.com/javascript/jsmin.html
 */
var MooTools={'version':1.1};function $defined(obj){return(obj!=undefined);};function $type(obj){if(!$defined(obj))return false;if(obj.htmlElement)return'element';var type=typeof obj;if(type=='object'&&obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return/\S/.test(obj.nodeValue)?'textnode':'whitespace';}}
if(type=='object'||type=='function'){switch(obj.constructor){case Array:return'array';case RegExp:return'regexp';case Class:return'class';}
if(typeof obj.length=='number'){if(obj.item)return'collection';if(obj.callee)return'arguments';}}
return type;};function $merge(){var mix={};for(var i=0;i<arguments.length;i++){for(var property in arguments[i]){var ap=arguments[i][property];var mp=mix[property];if(mp&&$type(ap)=='object'&&$type(mp)=='object')mix[property]=$merge(mp,ap);else mix[property]=ap;}}
return mix;};var $extend=Object.extend=function(){var args=arguments;if(!args[1])args=[this,args[0]];for(var property in args[1])args[0][property]=args[1][property];return args[0];};var $native=Object.Native=function(){for(var i=0,l=arguments.length;i<l;i++){arguments[i].extend=function(props){for(var prop in props){if(!this.prototype[prop])this.prototype[prop]=props[prop];if(!this[prop])this[prop]=$native.generic(prop);}};}};$native.generic=function(prop){return function(bind){return this.prototype[prop].apply(bind,Array.prototype.slice.call(arguments,1));};};$native(Function,Array,String,Number);var Abstract=function(obj){obj=obj||{};obj.extend=$extend;return obj;};var Window=new Abstract(window);var Document=new Abstract(document);document.head=document.getElementsByTagName('head')[0];function $chk(obj){return!!(obj||obj===0);};function $pick(obj,picked){return $defined(obj)?obj:picked;};function $random(min,max){return Math.floor(Math.random()*(max-min+1)+min);};function $time(){return new Date().getTime();};function $clear(timer){clearTimeout(timer);clearInterval(timer);return null;};window.xpath=!!(document.evaluate);if(window.ActiveXObject)window.ie=window[window.XMLHttpRequest?'ie7':'ie6']=true;else if(document.childNodes&&!document.all&&!navigator.taintEnabled)window.khtml=window.webkit=window[window.xpath?'webkit420':'webkit419']=true;else if(document.getBoxObjectFor!=null)window.gecko=true;if(typeof HTMLElement=='undefined'){var HTMLElement=function(){};if(window.webkit)document.createElement("iframe");HTMLElement.prototype=(window.webkit)?window["[[DOMElement.prototype]]"]:{};}
HTMLElement.prototype.htmlElement=true;if(window.ie6)try{document.execCommand("BackgroundImageCache",false,true);}catch(e){};var Class=function(properties){var klass=function(){return(arguments[0]!==null&&this.initialize&&$type(this.initialize)=='function')?this.initialize.apply(this,arguments):this;};$extend(klass,this);klass.prototype=properties;klass.constructor=Class;return klass;};Class.empty=function(){};Class.prototype={extend:function(properties){var proto=new this(null);for(var property in properties){var pp=proto[property];proto[property]=Class.Merge(pp,properties[property]);}
return new Class(proto);},implement:function(){for(var i=0,l=arguments.length;i<l;i++)$extend(this.prototype,arguments[i]);}};Class.Merge=function(previous,current){if(previous&&previous!=current){var type=$type(current);if(type!=$type(previous))return current;switch(type){case'function':var merged=function(){this.parent=arguments.callee.parent;return current.apply(this,arguments);};merged.parent=previous;return merged;case'object':return $merge(previous,current);}}
return current;};var Chain=new Class({chain:function(fn){this.chains=this.chains||[];this.chains.push(fn);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(type,fn){if(fn!=Class.empty){this.$events=this.$events||{};this.$events[type]=this.$events[type]||[];this.$events[type].include(fn);}
return this;},fireEvent:function(type,args,delay){if(this.$events&&this.$events[type]){this.$events[type].each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);}
return this;},removeEvent:function(type,fn){if(this.$events&&this.$events[type])this.$events[type].remove(fn);return this;}});var Options=new Class({setOptions:function(){this.options=$merge.apply(null,[this.options].extend(arguments));if(!this.addEvent)return this;for(var option in this.options){if($type(this.options[option]=='function')&&option.test(/^on[A-Z]/))this.addEvent(option,this.options[option]);}
return this;}});Array.extend({forEach:function(fn,bind){for(var i=0,j=this.length;i<j;i++)fn.call(bind,this[i],i,this);},filter:function(fn,bind){var results=[];for(var i=0,j=this.length;i<j;i++){if(fn.call(bind,this[i],i,this))results.push(this[i]);}
return results;},map:function(fn,bind){var results=[];for(var i=0,j=this.length;i<j;i++)results[i]=fn.call(bind,this[i],i,this);return results;},every:function(fn,bind){for(var i=0,j=this.length;i<j;i++){if(!fn.call(bind,this[i],i,this))return false;}
return true;},some:function(fn,bind){for(var i=0,j=this.length;i<j;i++){if(fn.call(bind,this[i],i,this))return true;}
return false;},indexOf:function(item,from){var len=this.length;for(var i=(from<0)?Math.max(0,len+from):from||0;i<len;i++){if(this[i]===item)return i;}
return-1;},copy:function(start,length){start=start||0;if(start<0)start=this.length+start;length=length||(this.length-start);var newArray=[];for(var i=0;i<length;i++)newArray[i]=this[start++];return newArray;},remove:function(item){var i=0;var len=this.length;while(i<len){if(this[i]===item){this.splice(i,1);len--;}else{i++;}}
return this;},contains:function(item,from){return this.indexOf(item,from)!=-1;},associate:function(keys){var obj={},length=Math.min(this.length,keys.length);for(var i=0;i<length;i++)obj[keys[i]]=this[i];return obj;},extend:function(array){for(var i=0,j=array.length;i<j;i++)this.push(array[i]);return this;},merge:function(array){for(var i=0,l=array.length;i<l;i++)this.include(array[i]);return this;},include:function(item){if(!this.contains(item))this.push(item);return this;},getRandom:function(){return this[$random(0,this.length-1)]||false;},getLast:function(){return this[this.length-1]||false;}});Array.prototype.each=Array.prototype.forEach;Array.prototype.test=Array.prototype.contains;function $A(array){return Array.copy(array);};function $each(iterable,fn,bind){if(iterable&&typeof iterable.length=='number'&&$type(iterable)!='object')Array.forEach(iterable,fn,bind);else for(var name in iterable)fn.call(bind||iterable,iterable[name],name);};String.extend({test:function(regex,params){return(($type(regex)=='string')?new RegExp(regex,params):regex).test(this);},toInt:function(){return parseInt(this,10);},toFloat:function(){return parseFloat(this);},camelCase:function(){return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/\w[A-Z]/g,function(match){return(match.charAt(0)+'-'+match.charAt(1).toLowerCase());});},capitalize:function(){return this.replace(/\b[a-z]/g,function(match){return match.toUpperCase();});},trim:function(){return this.replace(/^\s+|\s+$/g,'');},clean:function(){return this.replace(/\s{2,}/g,' ').trim();},rgbToHex:function(array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):false;},hexToRgb:function(array){var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(hex)?hex.slice(1).hexToRgb(array):false;},contains:function(string,s){return(s)?(s+this+s).indexOf(s+string+s)>-1:this.indexOf(string)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}});Array.extend({rgbToHex:function(array){if(this.length<3)return false;if(this.length==4&&this[3]==0&&!array)return'transparent';var hex=[];for(var i=0;i<3;i++){var bit=(this[i]-0).toString(16);hex.push((bit.length==1)?'0'+bit:bit);}
return array?hex:'#'+hex.join('');},hexToRgb:function(array){if(this.length!=3)return false;var rgb=[];for(var i=0;i<3;i++){rgb.push(parseInt((this[i].length==1)?this[i]+this[i]:this[i],16));}
return array?rgb:'rgb('+rgb.join(',')+')';}});Function.extend({create:function(options){var fn=this;options=$merge({'bind':fn,'event':false,'arguments':null,'delay':false,'periodical':false,'attempt':false},options);if($chk(options.arguments)&&$type(options.arguments)!='array')options.arguments=[options.arguments];return function(event){var args;if(options.event){event=event||window.event;args=[(options.event===true)?event:new options.event(event)];if(options.arguments)args.extend(options.arguments);}
else args=options.arguments||arguments;var returns=function(){return fn.apply($pick(options.bind,fn),args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)try{return returns();}catch(err){return false;};return returns();};},pass:function(args,bind){return this.create({'arguments':args,'bind':bind});},attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})();},bind:function(bind,args){return this.create({'bind':bind,'arguments':args});},bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args});},delay:function(delay,bind,args){return this.create({'delay':delay,'bind':bind,'arguments':args})();},periodical:function(interval,bind,args){return this.create({'periodical':interval,'bind':bind,'arguments':args})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn){for(var i=0;i<this;i++)fn(i);}});var Element=new Class({initialize:function(el,props){if($type(el)=='string'){if(window.ie&&props&&(props.name||props.type)){var name=(props.name)?' name="'+props.name+'"':'';var type=(props.type)?' type="'+props.type+'"':'';delete props.name;delete props.type;el='<'+el+name+type+'>';}
el=document.createElement(el);}
el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return false;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;}
if(type!='element')return false;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=true;return Garbage.collect(el);};document.getElementsBySelector=document.getElementsByTagName;function $$(){var elements=[];for(var i=0,j=arguments.length;i<j;i++){var selector=arguments[i];switch($type(selector)){case'element':elements.push(selector);case'boolean':break;case false:break;case'string':selector=document.getElementsBySelector(selector,true);default:elements.extend(selector);}}
return $$.unique(elements);};$$.unique=function(array){var elements=[];for(var i=0,l=array.length;i<l;i++){if(array[i].$included)continue;var element=$(array[i]);if(element&&!element.$included){element.$included=true;elements.push(element);}}
for(var i=0,l=elements.length;i<l;i++)elements[i].$included=null;return new Elements(elements);};Elements.Multi=function(property){return function(){var args=arguments;var items=[];var elements=true;for(var i=0,j=this.length,returns;i<j;i++){returns=this[i][property].apply(this[i],args);if($type(returns)!='element')elements=false;items.push(returns);};return(elements)?$$.unique(items):items;};};Element.extend=function(properties){for(var property in properties){HTMLElement.prototype[property]=properties[property];Element.prototype[property]=properties[property];Element[property]=$native.generic(property);var elementsProperty=(Array.prototype[property])?property+'Elements':property;Elements.prototype[elementsProperty]=Elements.Multi(property);}};Element.extend({set:function(props){for(var prop in props){var val=props[prop];switch(prop){case'styles':this.setStyles(val);break;case'events':if(this.addEvents)this.addEvents(val);break;case'properties':this.setProperties(val);break;default:this.setProperty(prop,val);}}
return this;},inject:function(el,where){el=$(el);switch(where){case'before':el.parentNode.insertBefore(this,el);break;case'after':var next=el.getNext();if(!next)el.parentNode.appendChild(this);else el.parentNode.insertBefore(this,next);break;case'top':var first=el.firstChild;if(first){el.insertBefore(this,first);break;}
default:el.appendChild(this);}
return this;},injectBefore:function(el){return this.inject(el,'before');},injectAfter:function(el){return this.inject(el,'after');},injectInside:function(el){return this.inject(el,'bottom');},injectTop:function(el){return this.inject(el,'top');},adopt:function(){var elements=[];$each(arguments,function(argument){elements=elements.concat(argument);});$$(elements).inject(this);return this;},remove:function(){return this.parentNode.removeChild(this);},clone:function(contents){var el=$(this.cloneNode(contents!==false));if(!el.$events)return el;el.$events={};for(var type in this.$events)el.$events[type]={'keys':$A(this.$events[type].keys),'values':$A(this.$events[type].values)};return el.removeEvents();},replaceWith:function(el){el=$(el);this.parentNode.replaceChild(el,this);return el;},appendText:function(text){if(window.ie){switch(this.getTag()){case'style':this.styleSheet.cssText=text;return this;case'script':return this.setProperty('text',text);}}
this.appendChild(document.createTextNode(text));return this;},hasClass:function(className){return this.className.contains(className,' ');},addClass:function(className){if(!this.hasClass(className))this.className=(this.className+' '+className).clean();return this;},removeClass:function(className){this.className=this.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1').clean();return this;},toggleClass:function(className){return this.hasClass(className)?this.removeClass(className):this.addClass(className);},setStyle:function(property,value){switch(property){case'opacity':return this.setOpacity(parseFloat(value));case'float':property=(window.ie)?'styleFloat':'cssFloat';}
property=property.camelCase();switch($type(value)){case'number':if(!['zIndex','zoom'].contains(property))value+='px';break;case'array':value='rgb('+value.join(',')+')';}
this.style[property]=value;return this;},setStyles:function(source){switch($type(source)){case'object':Element.setMany(this,'setStyle',source);break;case'string':this.style.cssText=source;}
return this;},setOpacity:function(opacity){if(opacity==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=(opacity==1)?'':"alpha(opacity="+opacity*100+")";this.style.opacity=this.$tmp.opacity=opacity;return this;},getStyle:function(property){property=property.camelCase();var result=this.style[property];if(!$chk(result)){if(property=='opacity')return this.$tmp.opacity;var result=[];for(var style in Element.Styles){if(property==style){Element.Styles[style].each(function(s){var style=this.getStyle(s);result.push(parseInt(style)?style:'0px');},this);if(property=='border'){var every=result.every(function(bit){return(bit==result[0]);});return(every)?result[0]:false;}
return result.join(' ');}}
if(property.contains('border')){if(Element.Styles.border.contains(property)){return['Width','Style','Color'].map(function(p){return this.getStyle(property+p);},this).join(' ');}else if(Element.borderShort.contains(property)){return['Top','Right','Bottom','Left'].map(function(p){return this.getStyle('border'+p+property.replace('border',''));},this).join(' ');}}
if(document.defaultView)result=document.defaultView.getComputedStyle(this,null).getPropertyValue(property.hyphenate());else if(this.currentStyle)result=this.currentStyle[property];}
if(window.ie)result=Element.fixStyle(property,result,this);if(result&&property.test(/color/i)&&result.contains('rgb')){return result.split('rgb').splice(1,4).map(function(color){return color.rgbToHex();}).join(' ');}
return result;},getStyles:function(){return Element.getMany(this,'getStyle',arguments);},walk:function(brother,start){brother+='Sibling';var el=(start)?this[start]:this[brother];while(el&&$type(el)!='element')el=el[brother];return $(el);},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(el){return!!$A(this.getElementsByTagName('*')).contains(el);},getProperty:function(property){var index=Element.Properties[property];if(index)return this[index];if(!window.ie)return this.getAttribute(property);var node=this.attributes[property];return(node)?node.nodeValue:null;},removeProperty:function(property){var index=Element.Properties[property];if(index)this[index]='';else this.removeAttribute(property);return this;},getProperties:function(){return Element.getMany(this,'getProperty',arguments);},setProperty:function(property,value){var index=Element.Properties[property];if(index)this[index]=value;else this.setAttribute(property,value);return this;},setProperties:function(source){return Element.setMany(this,'setProperty',source);},setHTML:function(){this.innerHTML=$A(arguments).join('');return this;},getTag:function(){return this.tagName.toLowerCase();},empty:function(){Garbage.trash(this.getElementsByTagName('*'));return this.setHTML('');}});Element.fixStyle=function(property,result,element){if($chk(parseInt(result)))return result;if(['height','width'].contains(property)){var values=(property=='width')?['left','right']:['top','bottom'];var size=0;values.each(function(value){size+=element.getStyle('border-'+value+'-width').toInt()+element.getStyle('padding-'+value).toInt();});return element['offset'+property.capitalize()]-size+'px';}else if(property.test(/border(.+)Width|margin|padding/)){return'0px';}
return result;};Element.Styles={'border':[],'padding':[],'margin':[]};['Top','Right','Bottom','Left'].each(function(direction){for(var style in Element.Styles)Element.Styles[style].push(style+direction);});Element.borderShort=['borderWidth','borderStyle','borderColor'];Element.getMany=function(el,method,keys){var result={};$each(keys,function(key){result[key]=el[method](key);});return result;};Element.setMany=function(el,method,pairs){for(var key in pairs)el[method](key,pairs[key]);return el;};Element.Properties=new Abstract({'class':'className','for':'htmlFor','colspan':'colSpan','rowspan':'rowSpan','accesskey':'accessKey','tabindex':'tabIndex','maxlength':'maxLength','readonly':'readOnly','value':'value','disabled':'disabled','checked':'checked','multiple':'multiple'});Element.Methods={Listeners:{addListener:function(type,fn){if(this.addEventListener)this.addEventListener(type,fn,false);else this.attachEvent('on'+type,fn);return this;},removeListener:function(type,fn){if(this.removeEventListener)this.removeEventListener(type,fn,false);else this.detachEvent('on'+type,fn);return this;}}};window.extend(Element.Methods.Listeners);document.extend(Element.Methods.Listeners);Element.extend(Element.Methods.Listeners);var Garbage={elements:[],collect:function(el){if(!el.$tmp){Garbage.elements.push(el);el.$tmp={'opacity':1};}
return el;},trash:function(elements){for(var i=0,j=elements.length,el;i<j;i++){if(!(el=elements[i])||!el.$tmp)continue;if(el.$events)el.fireEvent('trash').removeEvents();for(var p in el.$tmp)el.$tmp[p]=null;for(var p in Element.prototype)el[p]=null;el.htmlElement=el.$tmp=el=null;Garbage.elements.remove(el);}},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);});Elements.extend({filterByTag:function(tag){return new Elements(this.filter(function(el){return(Element.getTag(el)==tag);}));},filterByClass:function(className,nocash){var elements=this.filter(function(el){return(el.className&&el.className.contains(className,' '));});return(nocash)?elements:new Elements(elements);},filterById:function(id,nocash){var elements=this.filter(function(el){return(el.id==id);});return(nocash)?elements:new Elements(elements);},filterByAttribute:function(name,operator,value,nocash){var elements=this.filter(function(el){var current=Element.getProperty(el,name);if(!current)return false;if(!operator)return true;switch(operator){case'=':return(current==value);case'*=':return(current.contains(value));case'^=':return(current.substr(0,value.length)==value);case'$=':return(current.substr(current.length-value.length)==value);case'!=':return(current!=value);case'~=':return current.contains(value,' ');}
return false;});return(nocash)?elements:new Elements(elements);}});function $E(selector,filter){return($(filter)||document).getElement(selector);};function $ES(selector,filter){return($(filter)||document).getElementsBySelector(selector);};$$.shared={'regexp':/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,'xpath':{getParam:function(items,context,param,i){var temp=[context.namespaceURI?'xhtml:':'',param[1]];if(param[2])temp.push('[@id="',param[2],'"]');if(param[3])temp.push('[contains(concat(" ", @class, " "), " ',param[3],' ")]');if(param[4]){if(param[5]&&param[6]){switch(param[5]){case'*=':temp.push('[contains(@',param[4],', "',param[6],'")]');break;case'^=':temp.push('[starts-with(@',param[4],', "',param[6],'")]');break;case'$=':temp.push('[substring(@',param[4],', string-length(@',param[4],') - ',param[6].length,' + 1) = "',param[6],'"]');break;case'=':temp.push('[@',param[4],'="',param[6],'"]');break;case'!=':temp.push('[@',param[4],'!="',param[6],'"]');}}else{temp.push('[@',param[4],']');}}
items.push(temp.join(''));return items;},getItems:function(items,context,nocash){var elements=[];var xpath=document.evaluate('.//'+items.join('//'),context,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,j=xpath.snapshotLength;i<j;i++)elements.push(xpath.snapshotItem(i));return(nocash)?elements:new Elements(elements.map($));}},'normal':{getParam:function(items,context,param,i){if(i==0){if(param[2]){var el=context.getElementById(param[2]);if(!el||((param[1]!='*')&&(Element.getTag(el)!=param[1])))return false;items=[el];}else{items=$A(context.getElementsByTagName(param[1]));}}else{items=$$.shared.getElementsByTagName(items,param[1]);if(param[2])items=Elements.filterById(items,param[2],true);}
if(param[3])items=Elements.filterByClass(items,param[3],true);if(param[4])items=Elements.filterByAttribute(items,param[4],param[5],param[6],true);return items;},getItems:function(items,context,nocash){return(nocash)?items:$$.unique(items);}},resolver:function(prefix){return(prefix=='xhtml')?'http://www.w3.org/1999/xhtml':false;},getElementsByTagName:function(context,tagName){var found=[];for(var i=0,j=context.length;i<j;i++)found.extend(context[i].getElementsByTagName(tagName));return found;}};$$.shared.method=(window.xpath)?'xpath':'normal';Element.Methods.Dom={getElements:function(selector,nocash){var items=[];selector=selector.trim().split(' ');for(var i=0,j=selector.length;i<j;i++){var sel=selector[i];var param=sel.match($$.shared.regexp);if(!param)break;param[1]=param[1]||'*';var temp=$$.shared[$$.shared.method].getParam(items,this,param,i);if(!temp)break;items=temp;}
return $$.shared[$$.shared.method].getItems(items,this,nocash);},getElement:function(selector){return $(this.getElements(selector,true)[0]||false);},getElementsBySelector:function(selector,nocash){var elements=[];selector=selector.split(',');for(var i=0,j=selector.length;i<j;i++)elements=elements.concat(this.getElements(selector[i],true));return(nocash)?elements:$$.unique(elements);},getElementsByClassName:function(className){return this.getElements('.'+className);}};Element.extend({getElementById:function(id){var el=document.getElementById(id);if(!el)return false;for(var parent=el.parentNode;parent!=this;parent=parent.parentNode){if(!parent)return false;}
return el;}});document.extend(Element.Methods.Dom);Element.extend(Element.Methods.Dom);var Event=new Class({initialize:function(event){if(event&&event.$extended)return event;this.$extended=true;event=event||window.event;this.event=event;this.type=event.type;this.target=event.target||event.srcElement;if(this.target.nodeType==3)this.target=this.target.parentNode;this.shift=event.shiftKey;this.control=event.ctrlKey;this.alt=event.altKey;this.meta=event.metaKey;if(['DOMMouseScroll','mousewheel'].contains(this.type)){this.wheel=(event.wheelDelta)?event.wheelDelta/120:-(event.detail||0)/3;}else if(this.type.contains('key')){this.code=event.which||event.keyCode;for(var name in Event.keys){if(Event.keys[name]==this.code){this.key=name;break;}}
if(this.type=='keydown'){var fKey=this.code-111;if(fKey>0&&fKey<13)this.key='f'+fKey;}
this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else if(this.type.test(/(click|mouse|menu)/)){this.page={'x':event.pageX||event.clientX+document.documentElement.scrollLeft,'y':event.pageY||event.clientY+document.documentElement.scrollTop};this.client={'x':event.pageX?event.pageX-window.pageXOffset:event.clientX,'y':event.pageY?event.pageY-window.pageYOffset:event.clientY};this.rightClick=(event.which==3)||(event.button==2);switch(this.type){case'mouseover':this.relatedTarget=event.relatedTarget||event.fromElement;break;case'mouseout':this.relatedTarget=event.relatedTarget||event.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(e){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(type,fn){this.$events=this.$events||{};this.$events[type]=this.$events[type]||{'keys':[],'values':[]};if(this.$events[type].keys.contains(fn))return this;this.$events[type].keys.push(fn);var realType=type;var custom=Element.Events[type];if(custom){if(custom.add)custom.add.call(this,fn);if(custom.map)fn=custom.map;if(custom.type)realType=custom.type;}
if(!this.addEventListener)fn=fn.create({'bind':this,'event':true});this.$events[type].values.push(fn);return this.addListener(realType,fn);},removeEvent:function(type,fn){if(!this.$events||!this.$events[type])return this;var pos=this.$events[type].keys.indexOf(fn);if(pos==-1)return this;var key=this.$events[type].keys.splice(pos,1)[0];var value=this.$events[type].values.splice(pos,1)[0];var custom=Element.Events[type];if(custom){if(custom.remove)custom.remove.call(this,fn);if(custom.type)type=custom.type;}
return this.removeListener(type,value);},addEvents:function(source){return Element.setMany(this,'addEvent',source);},removeEvents:function(type){if(!this.$events)return this;if(!type){for(var evType in this.$events)this.removeEvents(evType);this.$events=null;}else if(this.$events[type]){this.$events[type].keys.each(function(fn){this.removeEvent(type,fn);},this);this.$events[type]=null;}
return this;},fireEvent:function(type,args,delay){if(!this.$events||!this.$events[type])return this;this.$events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},cloneEvents:function(from,type){if(!from.$events)return this;if(!type){for(var evType in from.$events)this.cloneEvents(from,evType);}else if(from.$events[type]){from.$events[type].keys.each(function(fn){this.addEvent(type,fn);},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(event){event=new Event(event);if(event.relatedTarget==this||this.hasChild(event.relatedTarget))return;this.fireEvent('mouseenter',event);}},'mouseleave':{type:'mouseout',map:function(event){event=new Event(event);if(event.relatedTarget==this||this.hasChild(event.relatedTarget))return;this.fireEvent('mouseleave',event);}},'mousewheel':{type:(window.gecko)?'DOMMouseScroll':'mousewheel'}});Function.extend({bindWithEvent:function(bind,args){return this.create({'bind':bind,'arguments':args,'event':Event});}});Element.extend({getValue:function(){switch(this.getTag()){case'select':var values=[];$each(this.options,function(option){if(option.selected)values.push($pick(option.value,option.text));});return(this.multiple)?values:values[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 queryString=[];this.getFormElements().each(function(el){var name=el.name;var value=el.getValue();if(value===false||!name||el.disabled)return;var qs=function(val){queryString.push(name+'='+encodeURIComponent(val));};if($type(value)=='array')value.each(qs);else qs(value);});return queryString.join('&');}});Element.extend({scrollTo:function(x,y){this.scrollLeft=x;this.scrollTop=y;},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(overflown){overflown=overflown||[];var el=this,left=0,top=0;do{left+=el.offsetLeft||0;top+=el.offsetTop||0;el=el.offsetParent;}while(el);overflown.each(function(element){left-=element.scrollLeft||0;top-=element.scrollTop||0;});return{'x':left,'y':top};},getTop:function(overflown){return this.getPosition(overflown).y;},getLeft:function(overflown){return this.getPosition(overflown).x;},getCoordinates:function(overflown){var position=this.getPosition(overflown);var obj={'width':this.offsetWidth,'height':this.offsetHeight,'left':position.x,'top':position.y};obj.right=obj.left+obj.width;obj.bottom=obj.top+obj.height;return obj;}});Element.Events.domready={add:function(fn){if(window.loaded){fn.call(this);return;}
var domReady=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))domReady();}.periodical(50);}else if(document.readyState&&window.ie){if(!$('ie_ready')){var src=(window.location.protocol=='https:')?'://0':'javascript:void(0)';document.write('<script id="ie_ready" defer src="'+src+'"><\/script>');$('ie_ready').onreadystatechange=function(){if(this.readyState=='complete')domReady();};}}else{window.addListener("load",domReady);document.addListener("DOMContentLoaded",domReady);}}};window.onDomReady=function(fn){return this.addEvent('domready',fn);};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={Shared:{}};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;},duration:500,unit:'px',wait:true,fps:50},initialize:function(options){this.element=this.element||null;this.setOptions(options);if(this.options.initialize)this.options.initialize.call(this);},step:function(){var time=$time();if(time<this.time+this.options.duration){this.delta=this.options.transition((time-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(to){this.now=to;this.increase();return this;},setNow:function(){this.now=this.compute(this.from,this.to);},compute:function(from,to){return(to-from)*this.delta+from;},start:function(from,to){if(!this.options.wait)this.stop();else if(this.timer)return this;this.from=from;this.to=to;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(end){if(!this.timer)return this;this.timer=$clear(this.timer);if(!end)this.fireEvent('onCancel',this.element);return this;},custom:function(from,to){return this.start(from,to)},clearTimer:function(end){return this.stop(end)}});Fx.Base.implement(new Chain,new Events,new Options);Fx.CSS={select:function(property,to){if(property.test(/color/i))return this.Color;if(to.contains&&to.contains(' '))return this.Multi;return this.Single;},parse:function(el,property,fromTo){if(!fromTo.push)fromTo=[fromTo];var from=fromTo[0],to=fromTo[1];if(!to&&to!=0){to=from;from=el.getStyle(property);}
var css=this.select(property,to);return{from:css.parse(from),to:css.parse(to),css:css};}};Fx.CSS.Single={parse:function(value){return parseFloat(value);},getNow:function(from,to,fx){return fx.compute(from,to);},getValue:function(value,unit,property){if(unit=='px'&&property!='opacity')value=Math.round(value);return value+unit;}};Fx.CSS.Multi={parse:function(value){return value.push?value:value.split(' ').map(function(v){return parseFloat(v);});},getNow:function(from,to,fx){var now=[];for(var i=0;i<from.length;i++)now[i]=fx.compute(from[i],to[i]);return now;},getValue:function(value,unit,property){if(unit=='px'&&property!='opacity')value=value.map(Math.round);return value.join(unit+' ')+unit;}};Fx.CSS.Color={parse:function(value){return value.push?value:value.hexToRgb(true);},getNow:function(from,to,fx){var now=[];for(var i=0;i<from.length;i++)now[i]=Math.round(fx.compute(from[i],to[i]));return now;},getValue:function(value){return'rgb('+value.join(',')+')';}};Fx.Style=Fx.Base.extend({initialize:function(el,property,options){this.element=$(el);this.property=property;this.parent(options);},hide:function(){return this.set(0);},setNow:function(){this.now=this.css.getNow(this.from,this.to,this);},set:function(to){this.css=Fx.CSS.select(this.property,to);return this.parent(this.css.parse(to));},start:function(from,to){if(this.timer&&this.options.wait)return this;var parsed=Fx.CSS.parse(this.element,this.property,[from,to]);this.css=parsed.css;return this.parent(parsed.from,parsed.to);},increase:function(){this.element.setStyle(this.property,this.css.getValue(this.now,this.options.unit,this.property));}});Element.extend({effect:function(property,options){return new Fx.Style(this,property,options);}});Fx.Styles=Fx.Base.extend({initialize:function(el,options){this.element=$(el);this.parent(options);},setNow:function(){for(var p in this.from)this.now[p]=this.css[p].getNow(this.from[p],this.to[p],this);},set:function(to){var parsed={};this.css={};for(var p in to){this.css[p]=Fx.CSS.select(p,to[p]);parsed[p]=this.css[p].parse(to[p]);}
return this.parent(parsed);},start:function(obj){if(this.timer&&this.options.wait)return this;this.now={};this.css={};var from={},to={};for(var p in obj){var parsed=Fx.CSS.parse(this.element,p,obj[p]);from[p]=parsed.from;to[p]=parsed.to;this.css[p]=parsed.css;}
return this.parent(from,to);},increase:function(){for(var p in this.now)this.element.setStyle(p,this.css[p].getValue(this.now[p],this.options.unit,p));}});Element.extend({effects:function(options){return new Fx.Styles(this,options);}});Fx.Elements=Fx.Base.extend({initialize:function(elements,options){this.elements=$$(elements);this.parent(options);},setNow:function(){for(var i in this.from){var iFrom=this.from[i],iTo=this.to[i],iCss=this.css[i],iNow=this.now[i]={};for(var p in iFrom)iNow[p]=iCss[p].getNow(iFrom[p],iTo[p],this);}},set:function(to){var parsed={};this.css={};for(var i in to){var iTo=to[i],iCss=this.css[i]={},iParsed=parsed[i]={};for(var p in iTo){iCss[p]=Fx.CSS.select(p,iTo[p]);iParsed[p]=iCss[p].parse(iTo[p]);}}
return this.parent(parsed);},start:function(obj){if(this.timer&&this.options.wait)return this;this.now={};this.css={};var from={},to={};for(var i in obj){var iProps=obj[i],iFrom=from[i]={},iTo=to[i]={},iCss=this.css[i]={};for(var p in iProps){var parsed=Fx.CSS.parse(this.elements[i],p,iProps[p]);iFrom[p]=parsed.from;iTo[p]=parsed.to;iCss[p]=parsed.css;}}
return this.parent(from,to);},increase:function(){for(var i in this.now){var iNow=this.now[i],iCss=this.css[i];for(var p in iNow)this.elements[i].setStyle(p,iCss[p].getValue(iNow[p],this.options.unit,p));}}});Fx.Scroll=Fx.Base.extend({options:{overflown:[],offset:{'x':0,'y':0}},initialize:function(element,options){this.now=[];this.element=$(element);this.bound={'stop':this.stop.bind(this,false)};this.addEvent('onStart',function(){document.addEvent('mousewheel',this.bound.stop);}.bind(this));this.removeEvent('onComplete',function(){document.removeEvent('mousewheel',this.bound.stop);}.bind(this));this.parent(options);},setNow:function(){for(var i=0;i<2;i++)this.now[i]=this.compute(this.from[i],this.to[i]);},scrollTo:function(x,y){if(this.timer&&this.options.wait)return this;var el=this.element.getSize();var values={'x':x,'y':y};for(var z in el.size){var max=el.scrollSize[z]-el.size[z];if($chk(values[z]))values[z]=($type(values[z])=='number')?values[z].limit(0,max):max;else values[z]=el.scroll[z];values[z]+=this.options.offset[z];}
return this.start([el.scroll.x,el.scroll.y],[values.x,values.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(el){var parent=this.element.getPosition(this.options.overflown);var target=$(el).getPosition(this.options.overflown);return this.scrollTo(target.x-parent.x,target.y-parent.y);},increase:function(){this.element.scrollTo(this.now[0],this.now[1]);}});Fx.Transition=function(transition,params){params=params||[];if($type(params)!='array')params=[params];return $extend(transition,{easeIn:function(pos){return transition(pos,params);},easeOut:function(pos){return 1-transition(1-pos,params);},easeInOut:function(pos){return(pos<=0.5)?transition(2*pos,params)/2:(2-transition(2*(1-pos),params))/2;}});};Fx.Transitions=new Abstract({linear:function(p){return p;}});Fx.Transitions.extend=function(transitions){for(var transition in transitions){Fx.Transitions[transition]=new Fx.Transition(transitions[transition]);Fx.Transitions.compat(transition);};};Fx.Transitions.compat=function(transition){['In','Out','InOut'].each(function(easeType){Fx.Transitions[transition.toLowerCase()+easeType]=Fx.Transitions[transition]['ease'+easeType];});};Fx.Transitions.extend({Pow:function(p,x){return Math.pow(p,x[0]||6);},Expo:function(p){return Math.pow(2,8*(p-1));},Circ:function(p){return 1-Math.sin(Math.acos(p));},Sine:function(p){return 1-Math.sin((1-p)*Math.PI/2);},Back:function(p,x){x=x[0]||1.618;return Math.pow(p,2)*((x+1)*p-x);},Bounce:function(p){var value;for(var a=0,b=1;1;a+=b,b/=2){if(p>=(7-4*a)/11){value=-Math.pow((11-6*a-11*p)/4,2)+b*b;break;}}
return value;},Elastic:function(p,x){return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3);}});['Quad','Cubic','Quart','Quint'].each(function(transition,i){Fx.Transitions[transition]=new Fx.Transition(function(p){return Math.pow(p,[i+2]);});Fx.Transitions.compat(transition);});Fx.Slide=Fx.Base.extend({options:{mode:'vertical'},initialize:function(el,options){this.element=$(el);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(options);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 i=0;i<2;i++)this.now[i]=this.compute(this.from[i],this.to[i]);},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(mode){this[mode||this.options.mode]();return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[0,this.offset]);},slideOut:function(mode){this[mode||this.options.mode]();return this.start([this.element.getStyle(this.margin).toInt(),this.wrapper.getStyle(this.layout).toInt()],[-this.offset,0]);},hide:function(mode){this[mode||this.options.mode]();this.open=false;return this.set([-this.offset,0]);},show:function(mode){this[mode||this.options.mode]();this.open=true;return this.set([0,this.offset]);},toggle:function(mode){if(this.wrapper.offsetHeight==0||this.wrapper.offsetWidth==0)return this.slideIn(mode);return this.slideOut(mode);},increase:function(){this.element.setStyle(this.margin,this.now[0]+this.options.unit);this.wrapper.setStyle(this.layout,this.now[1]+this.options.unit);}});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(options){this.setTransport().setOptions(options);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers={};if(this.options.urlEncoded&&this.options.method=='post'){var encoding=(this.options.encoding)?'; charset='+this.options.encoding:'';this.setHeader('Content-type','application/x-www-form-urlencoded'+encoding);}
if(this.options.initialize)this.options.initialize.call(this);},onStateChange:function(){if(this.transport.readyState!=4||!this.running)return;this.running=false;var status=0;try{status=this.transport.status}catch(e){};if(this.options.isSuccess.call(this,status))this.onSuccess();else this.onFailure();this.transport.onreadystatechange=Class.empty;},isSuccess:function(status){return((status>=200)&&(status<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(name,value){this.headers[name]=value;return this;},send:function(url,data){if(this.options.autoCancel)this.cancel();else if(this.running)return this;this.running=true;if(data&&this.options.method=='get')url=url+(url.contains('?')?'&':'?')+data,data=null;this.transport.open(this.options.method,url,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 type in this.headers)try{this.transport.setRequestHeader(type,this.headers[type]);}catch(e){};this.fireEvent('onRequest');this.transport.send($pick(data,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(url,options){this.addEvent('onSuccess',this.onComplete);this.setOptions(options);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=url;},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(data){data=data||this.options.data;switch($type(data)){case'element':data=$(data).toQueryString();break;case'object':data=Object.toQueryString(data);}
if(this._method)data=(data)?[this._method,data].join('&'):this._method;return this.send(this.url,data);},evalScripts:function(){if(this.options.evalResponse||/(ecma|java)script/.test(this.getHeader('Content-type')))var scripts=this.response.text;else{var script,scripts=[],regexp=/<script[^>]*>([\s\S]*?)<\/script>/gi;while((script=regexp.exec(this.response.text)))scripts.push(script[1]);scripts=scripts.join('\n');}
if(scripts)(window.execScript)?window.execScript(scripts):window.setTimeout(scripts,0);},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){};return null;}});Object.toQueryString=function(source){var queryString=[];for(var property in source)queryString.push(encodeURIComponent(property)+'='+encodeURIComponent(source[property]));return queryString.join('&');};Element.extend({send:function(options){return new Ajax(this.getProperty('action'),$merge({postBody:this.toQueryString()},options,{method:'post'})).request();}});var Asset=new Abstract({javascript:function(source,properties){properties=$merge({'onload':Class.empty},properties);var script=new Element('script',{'src':source}).addEvents({'load':properties.onload,'readystatechange':function(){if(this.readyState=='complete')this.fireEvent('load');}});delete properties.onload;return script.setProperties(properties).inject(document.head);},css:function(source,properties){return new Element('link',$merge({'rel':'stylesheet','media':'screen','type':'text/css','href':source},properties)).inject(document.head);},image:function(source,properties){properties=$merge({'onload':Class.empty,'onabort':Class.empty,'onerror':Class.empty},properties);var image=new Image();image.src=source;var element=new Element('img',{'src':source});['load','abort','error'].each(function(type){var event=properties['on'+type];delete properties['on'+type];element.addEvent(type,function(){this.removeEvent(type,arguments.callee);event.call(this);});});if(image.width&&image.height)element.fireEvent('load',element,1);return element.setProperties(properties);},images:function(sources,options){options=$merge({onComplete:Class.empty,onProgress:Class.empty},options);if(!sources.push)sources=[sources];var images=[];var counter=0;sources.each(function(source){var img=new Asset.image(source,{'onload':function(){options.onProgress.call(this,counter);counter++;if(counter==sources.length)options.onComplete();}});images.push(img);});return new Elements(images);}});var Hash=new Class({length:0,initialize:function(object){this.obj=object||{};this.setLength();},get:function(key){return(this.hasKey(key))?this.obj[key]:null;},hasKey:function(key){return(key in this.obj);},set:function(key,value){if(!this.hasKey(key))this.length++;this.obj[key]=value;return this;},setLength:function(){this.length=0;for(var p in this.obj)this.length++;return this;},remove:function(key){if(!this.hasKey(key))return this;delete this.obj[key];this.length--;return this;},each:function(fn,bind){$each(this.obj,fn,bind);},extend:function(obj){$extend(this.obj,obj);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 keys=[];for(var property in this.obj)keys.push(property);return keys;},values:function(){var values=[];for(var property in this.obj)values.push(this.obj[property]);return values;}});function $H(obj){return new Hash(obj);};var SmoothScroll=Fx.Scroll.extend({initialize:function(options){this.parent(window,options);this.links=(this.options.links)?$$(this.options.links):$$(document.links);var location=window.location.href.match(/^[^#]*/)[0]+'#';this.links.each(function(link){if(link.href.indexOf(location)!=0)return;var anchor=link.href.substr(location.length);if(anchor&&$(anchor))this.useLink(link,anchor);},this);if(!window.webkit419)this.addEvent('onComplete',function(){window.location.hash=this.anchor;});},useLink:function(link,anchor){link.addEvent('click',function(event){this.anchor=anchor;this.toElement(anchor);event.stop();}.bindWithEvent(this));}});



/** 
 * sIFR 2.0.2
 * Copyright 2004 - 2006 Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
 * This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
 * Modifications:
 *   - added option for rotation via flashvars - "layout=vertical"
 *     * this modification includes changes to the "dont_customize_me.as" and "sifr.fla" files
 *     * added flashvar to fine-tune the height of the flash embed after rotation
 *     * also includes a new function for additional div resizing after text is built in flash ( setOrientation() - see below )
 *
 *   - added id attribute to flash embed/object to control after rotation
 *
 * Compression:
 *   Dean Edwards Packer Compression - version 3.0 (beta 8) <dean.edwards.name/packer/>
 */
var hasFlash=function(){var nRequiredVersion=6;if(navigator.appVersion.indexOf("MSIE")!=-1&&navigator.appVersion.indexOf("Windows")>-1){document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+nRequiredVersion+'))) \n</script\> \n');if(window.hasFlash!=null){return window.hasFlash}};if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){var flashDescription=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;return parseInt(flashDescription.charAt(flashDescription.indexOf(".")-1))>=nRequiredVersion};return false}();String.prototype.normalize=function(){return this.replace(/\s+/g," ")};if(Array.prototype.push==null){Array.prototype.push=function(){var i=0,index=this.length,limit=arguments.length;while(i<limit){this[index++]=arguments[i++]};return this.length}};if(!Function.prototype.apply){Function.prototype.apply=function(oScope,args){var sarg=[];var rtrn,call;if(!oScope)oScope=window;if(!args)args=[];for(var i=0;i<args.length;i++){sarg[i]="args["+i+"]"};call="oScope.__applyTemp__("+sarg.join(",")+");";oScope.__applyTemp__=this;rtrn=eval(call);oScope.__applyTemp__=null;return rtrn}};var parseSelector=function(){var reParseSelector=/^([^#.>`]*)(#|\.|\>|\`)(.+)$/;function parseSelector(sSelector,oParentNode){var listSelectors=sSelector.split(/\s*\,\s*/);var listReturn=[];for(var i=0;i<listSelectors.length;i++){listReturn=listReturn.concat(doParse(listSelectors[i],oParentNode))};return listReturn};function doParse(sSelector,oParentNode,sMode){sSelector=sSelector.replace(" ","`");var selector=sSelector.match(reParseSelector);var node,listNodes,listSubNodes,subselector,i,limit;var listReturn=[];if(selector==null){selector=[sSelector,sSelector]};if(selector[1]==""){selector[1]="*"};if(sMode==null){sMode="`"};if(oParentNode==null){oParentNode=document};switch(selector[2]){case"#":subselector=selector[3].match(reParseSelector);if(subselector==null){subselector=[null,selector[3]]};node=document.getElementById(subselector[1]);if(node==null||(selector[1]!="*"&&!matchNodeNames(node,selector[1]))){return listReturn};if(subselector.length==2){listReturn.push(node);return listReturn};return doParse(subselector[3],node,subselector[2]);case".":if(sMode!=">"){listNodes=getElementsByTagName(oParentNode,selector[1])}else{listNodes=oParentNode.childNodes};for(i=0,limit=listNodes.length;i<limit;i++){node=listNodes[i];if(node.nodeType!=1){continue};subselector=selector[3].match(reParseSelector);if(subselector!=null){if(node.className==null||node.className.match("(\\s|^)"+subselector[1]+"(\\s|$)")==null){continue};listSubNodes=doParse(subselector[3],node,subselector[2]);listReturn=listReturn.concat(listSubNodes)}else if(node.className!=null&&node.className.match("(\\s|^)"+selector[3]+"(\\s|$)")!=null){listReturn.push(node)}};return listReturn;case">":if(sMode!=">"){listNodes=getElementsByTagName(oParentNode,selector[1])}else{listNodes=oParentNode.childNodes};for(i=0,limit=listNodes.length;i<limit;i++){node=listNodes[i];if(node.nodeType!=1){continue};if(!matchNodeNames(node,selector[1])){continue};listSubNodes=doParse(selector[3],node,">");listReturn=listReturn.concat(listSubNodes)};return listReturn;case"`":listNodes=getElementsByTagName(oParentNode,selector[1]);for(i=0,limit=listNodes.length;i<limit;i++){node=listNodes[i];listSubNodes=doParse(selector[3],node,"`");listReturn=listReturn.concat(listSubNodes)};return listReturn;default:if(sMode!=">"){listNodes=getElementsByTagName(oParentNode,selector[1])}else{listNodes=oParentNode.childNodes};for(i=0,limit=listNodes.length;i<limit;i++){node=listNodes[i];if(node.nodeType!=1){continue};if(!matchNodeNames(node,selector[1])){continue};listReturn.push(node)};return listReturn}};function getElementsByTagName(oParentNode,sTagName){if(sTagName=="*"&&oParentNode.all!=null){return oParentNode.all};return oParentNode.getElementsByTagName(sTagName)};function matchNodeNames(node,sMatch){if(sMatch=="*"){return true};return node.nodeName.toLowerCase().replace("html:","")==sMatch.toLowerCase()};return parseSelector}();function named(oArgs){return new named.Arguments(oArgs)};named.Arguments=function(oArgs){this.oArgs=oArgs};named.Arguments.prototype.constructor=named.Arguments;named.extract=function(listPassedArgs,oMapping){var oNamedArgs,passedArg;var i=listPassedArgs.length;while(i--){passedArg=listPassedArgs[i];if(passedArg!=null&&passedArg.constructor!=null&&passedArg.constructor==named.Arguments){oNamedArgs=listPassedArgs[i].oArgs;break}};if(oNamedArgs==null){return};for(sName in oNamedArgs){if(oMapping[sName]!=null){oMapping[sName](oNamedArgs[sName])}};return};var sIFR=function(){var sNameSpaceURI="http://www.w3.org/1999/xhtml";var bIsInitialized=false;var bIsSetUp=false;var bInnerHTMLTested=false;var sDocumentTitle;var stackReplaceElementArguments=[];var UA=function(){var sUA=navigator.userAgent.toLowerCase();var oReturn={bIsWebKit:sUA.indexOf("applewebkit")>-1,bIsSafari:sUA.indexOf("safari")>-1,bIsKonq:navigator.product!=null&&navigator.product.toLowerCase().indexOf("konqueror")>-1,bIsOpera:sUA.indexOf("opera")>-1,bIsXML:document.contentType!=null&&document.contentType.indexOf("xml")>-1,bHasTransparencySupport:true,bUseDOM:true,nFlashVersion:null,nOperaVersion:null,nGeckoBuildDate:null,nWebKitVersion:null};oReturn.bIsKHTML=oReturn.bIsWebKit||oReturn.bIsKonq;oReturn.bIsGecko=!oReturn.bIsWebKit&&navigator.product!=null&&navigator.product.toLowerCase()=="gecko";if(oReturn.bIsGecko&&sUA.match(/.*gecko\/(\d{8}).*/)){oReturn.nGeckoBuildDate=new Number(sUA.match(/.*gecko\/(\d{8}).*/)[1])};if(oReturn.bIsOpera&&sUA.match(/.*opera(\s|\/)(\d+\.\d+)/)){oReturn.nOperaVersion=new Number(sUA.match(/.*opera(\s|\/)(\d+\.\d+)/)[2])};oReturn.bIsIE=sUA.indexOf("msie")>-1&&!oReturn.bIsOpera&&!oReturn.bIsKHTML&&!oReturn.bIsGecko;oReturn.bIsIEMac=oReturn.bIsIE&&sUA.match(/.*mac.*/)!=null;if(oReturn.bIsIE||(oReturn.bIsOpera&&oReturn.nOperaVersion<7.6)){oReturn.bUseDOM=false};if(oReturn.bIsWebKit&&sUA.match(/.*applewebkit\/(\d+).*/)){oReturn.nWebKitVersion=new Number(sUA.match(/.*applewebkit\/(\d+).*/)[1])};if(window.hasFlash&&(!oReturn.bIsIE||oReturn.bIsIEMac)){var flashDescription=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;oReturn.nFlashVersion=parseInt(flashDescription.charAt(flashDescription.indexOf(".")-1))};if(sUA.match(/.*(windows|mac).*/)==null||oReturn.bIsIEMac||oReturn.bIsKonq||(oReturn.bIsOpera&&oReturn.nOperaVersion<7.6)||(oReturn.bIsSafari&&oReturn.nFlashVersion<7)||(!oReturn.bIsSafari&&oReturn.bIsWebKit&&oReturn.nWebKitVersion<312)||(oReturn.bIsGecko&&oReturn.nGeckoBuildDate<20020523)){oReturn.bHasTransparencySupport=false};if(!oReturn.bIsIEMac&&!oReturn.bIsGecko&&document.createElementNS){try{document.createElementNS(sNameSpaceURI,"i").innerHTML=""}catch(e){oReturn.bIsXML=true}};oReturn.bUseInnerHTMLHack=oReturn.bIsKonq||(oReturn.bIsWebKit&&oReturn.nWebKitVersion<312);return oReturn}();if(window.hasFlash==false||!document.createElement||!document.getElementById||(UA.bIsXML&&(UA.bUseInnerHTMLHack||UA.bIsIE))){return{UA:UA}};function sIFR(e){if((!self.bAutoInit&&(window.event||e)!=null)||!mayReplace(e)){return};bIsInitialized=true;for(var i=0,limit=stackReplaceElementArguments.length;i<limit;i++){replaceElement.apply(null,stackReplaceElementArguments[i])};stackReplaceElementArguments=[]};var self=sIFR;function mayReplace(e){if(bIsSetUp==false||self.bIsDisabled==true||((UA.bIsXML&&UA.bIsGecko||UA.bIsKHTML)&&e==null&&bIsInitialized==false)||(document.body==null||document.getElementsByTagName("body").length==0)){return false};return true};function escapeHex(sHex){if(UA.bIsIE){return sHex.replace(new RegExp("%\d{0}","g"),"%25")}return sHex.replace(new RegExp("%(?!\d)","g"),"%25")};function matchNodeNames(node,sMatch){if(sMatch=="*"){return true};return node.nodeName.toLowerCase().replace("html:","")==sMatch.toLowerCase()};function fetchContent(node,nodeNew,sCase,nLinkCount,sLinkVars){var sContent="";var oSearch=node.firstChild;var oRemove,nodeRemoved,oResult,sValue;if(nLinkCount==null){nLinkCount=0};if(sLinkVars==null){sLinkVars=""};while(oSearch){if(oSearch.nodeType==3){sValue=oSearch.nodeValue.replace("<","&lt;");switch(sCase){case"lower":sContent+=sValue.toLowerCase();break;case"upper":sContent+=sValue.toUpperCase();break;default:sContent+=sValue}}else if(oSearch.nodeType==1){if(matchNodeNames(oSearch,"a")&&!oSearch.getAttribute("href")==false){if(oSearch.getAttribute("target")){sLinkVars+="&sifr_url_"+nLinkCount+"_target="+oSearch.getAttribute("target")};sLinkVars+="&sifr_url_"+nLinkCount+"="+escapeHex(oSearch.getAttribute("href")).replace(/&/g,"%26");sContent+='<a href="asfunction:_root.launchURL,'+nLinkCount+'">';nLinkCount++}else if(matchNodeNames(oSearch,"br")){sContent+="<br/>"};if(oSearch.hasChildNodes()){oResult=fetchContent(oSearch,null,sCase,nLinkCount,sLinkVars);sContent+=oResult.sContent;nLinkCount=oResult.nLinkCount;sLinkVars=oResult.sLinkVars};if(matchNodeNames(oSearch,"a")){sContent+="</a>"}};oRemove=oSearch;oSearch=oSearch.nextSibling;if(nodeNew!=null){nodeRemoved=oRemove.parentNode.removeChild(oRemove);nodeNew.appendChild(nodeRemoved)}};return{"sContent":sContent,"nLinkCount":nLinkCount,"sLinkVars":sLinkVars}};function createElement(sTagName){if(document.createElementNS&&UA.bUseDOM){return document.createElementNS(sNameSpaceURI,sTagName)}else{return document.createElement(sTagName)}};function createObjectParameter(nodeObject,sName,sValue){var node=createElement("param");node.setAttribute("name",sName);node.setAttribute("value",sValue);nodeObject.appendChild(node)};function appendToClassName(node,sAppend){var sClassName=node.className;if(sClassName==null){sClassName=sAppend}else{sClassName=sClassName.normalize()+(sClassName==""?"":" ")+sAppend};node.className=sClassName};function prepare(bNow){var node=document.documentElement;if(self.bHideBrowserText==false){node=document.getElementsByTagName("body")[0]};if((self.bHideBrowserText==false||bNow)&&node){if(node.className==null||node.className.match(/\bsIFR\-hasFlash\b/)==null){appendToClassName(node,"sIFR-hasFlash")}}};function replaceElement(sSelector,sFlashSrc,sColor,sLinkColor,sHoverColor,sBgColor,nPaddingTop,nPaddingRight,nPaddingBottom,nPaddingLeft,sFlashVars,sCase,sWmode){if(!mayReplace()){return stackReplaceElementArguments.push(arguments)};prepare();named.extract(arguments,{sSelector:function(value){sSelector=value},sFlashSrc:function(value){sFlashSrc=value},sColor:function(value){sColor=value},sLinkColor:function(value){sLinkColor=value},sHoverColor:function(value){sHoverColor=value},sBgColor:function(value){sBgColor=value},nPaddingTop:function(value){nPaddingTop=value},nPaddingRight:function(value){nPaddingRight=value},nPaddingBottom:function(value){nPaddingBottom=value},nPaddingLeft:function(value){nPaddingLeft=value},sFlashVars:function(value){sFlashVars=value},sCase:function(value){sCase=value},sWmode:function(value){sWmode=value}});var listNodes=parseSelector(sSelector);if(listNodes.length==0){return false};if(sFlashVars!=null){sFlashVars="&"+sFlashVars.normalize()}else{sFlashVars=""};if(sColor!=null){sFlashVars+="&textcolor="+sColor};if(sHoverColor!=null){sFlashVars+="&hovercolor="+sHoverColor};if(sHoverColor!=null||sLinkColor!=null){sFlashVars+="&linkcolor="+(sLinkColor||sColor)};if(nPaddingTop==null){nPaddingTop=0};if(nPaddingRight==null){nPaddingRight=0};if(nPaddingBottom==null){nPaddingBottom=0};if(nPaddingLeft==null){nPaddingLeft=0};if(sBgColor==null){sBgColor="#FFFFFF"};if(sWmode=="transparent"){if(!UA.bHasTransparencySupport){sWmode="opaque"}else{sBgColor="transparent"}};if(sWmode==null){sWmode=""};var node,sWidth,sHeight,sMargin,sPadding,sVars,nodeAlternate,nodeFlash,oContent;var nodeFlashTemplate=null;for(var i=0,limit=listNodes.length;i<limit;i++){node=listNodes[i];if(node.className!=null&&node.className.match(/\bsIFR\-replaced\b/)!=null){continue};sWidth=node.offsetWidth-nPaddingLeft-nPaddingRight;sHeight=node.offsetHeight-nPaddingTop-nPaddingBottom;var flashVars_arr=sFlashVars.split('&');for(var i=0;i<flashVars_arr.length;i++){if(flashVars_arr[i].indexOf('maxWidth')!=-1){var maxWidth=flashVars_arr[i].split('=')[1];if(sWidth>maxWidth)sWidth=maxWidth}if(flashVars_arr[i].indexOf('maxHeight')!=-1){var maxHeight=flashVars_arr[i].split('=')[1];if(sHeight>maxHeight)sHeight=maxHeight}}if(isNaN(sWidth)||isNaN(sHeight)){self.bIsDisabled=true;document.documentElement.className=document.documentElement.className.replace(/\bsIFR\-hasFlash\b/,"");return};nodeAlternate=createElement("span");nodeAlternate.className="sIFR-alternate";oContent=fetchContent(node,nodeAlternate,sCase);sVars="txt="+escapeHex(oContent.sContent).replace(/\+/g,"%2B").replace(/&/g,"%26").replace(/\"/g,"%22").normalize()+sFlashVars+"&w="+sWidth+"&h="+sHeight+oContent.sLinkVars;appendToClassName(node,"sIFR-replaced");if(nodeFlashTemplate==null||!UA.bUseDOM){if(!UA.bUseDOM){if(!UA.bIsIE)node.innerHTML=['<embed class="sIFR-flash" id="'+node.id+'_sifred" type="application/x-shockwave-flash" src="',sFlashSrc,'" quality="best" wmode="',sWmode,'" bgcolor="',sBgColor,'" flashvars="',sVars,'" width="',sWidth,'" height="',sHeight,'" sifr="true"></embed>'].join("");else node.innerHTML=['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="'+node.id+'_sifred" sifr="true" width="',sWidth,'" height="',sHeight,'" class="sIFR-flash">','<param name="movie" value="',sFlashSrc,"?",sVars,'"></param>','<param name="quality" value="best"></param>','<param name="wmode" value="',sWmode,'"></param>','<param name="bgcolor" value="',sBgColor,'"></param>','</object>'].join('')}else{if(UA.bIsOpera){nodeFlash=createElement("object");nodeFlash.setAttribute("data",sFlashSrc);createObjectParameter(nodeFlash,"quality","best");createObjectParameter(nodeFlash,"wmode",sWmode);createObjectParameter(nodeFlash,"bgcolor",sBgColor)}else{nodeFlash=createElement("embed");nodeFlash.setAttribute("src",sFlashSrc);nodeFlash.setAttribute("quality","best");nodeFlash.setAttribute("flashvars",sVars);nodeFlash.setAttribute("wmode",sWmode);nodeFlash.setAttribute("bgcolor",sBgColor);nodeFlash.setAttribute("pluginspace","http://www.macromedia.com/go/getflashplayer");nodeFlash.setAttribute("scale","noscale")};nodeFlash.setAttribute("sifr","true");nodeFlash.setAttribute("id",node.id+"_sifred");nodeFlash.setAttribute("type","application/x-shockwave-flash");nodeFlash.className="sIFR-flash";if(!UA.bIsKHTML||!UA.bIsXML){nodeFlashTemplate=nodeFlash.cloneNode(true)}}}else{nodeFlash=nodeFlashTemplate.cloneNode(true)};if(UA.bUseDOM){if(UA.bIsOpera){createObjectParameter(nodeFlash,"flashvars",sVars)}else{nodeFlash.setAttribute("flashvars",sVars)};nodeFlash.setAttribute("width",sWidth);nodeFlash.setAttribute("height",sHeight);nodeFlash.style.width=sWidth+"px";nodeFlash.style.height=sHeight+"px";node.appendChild(nodeFlash)};node.appendChild(nodeAlternate);if(UA.bUseInnerHTMLHack){node.innerHTML+=""}};if(UA.bIsIE&&self.bFixFragIdBug){setTimeout(function(){document.title=sDocumentTitle},0)}};function updateDocumentTitle(){sDocumentTitle=document.title};function setup(){if(self.bIsDisabled==true){return};bIsSetUp=true;if(self.bHideBrowserText){prepare(true)};if(!UA.bIsIE||window.location.hash==""){self.bFixFragIdBug=false}else{updateDocumentTitle()}};function debug(){prepare(true)};debug.replaceNow=function(){setup();sIFR()};self.UA=UA;self.bAutoInit=true;self.bFixFragIdBug=true;self.replaceElement=replaceElement;self.updateDocumentTitle=updateDocumentTitle;self.appendToClassName=appendToClassName;self.setup=setup;self.debug=debug;self.bIsDisabled=false;self.bHideBrowserText=true;return self}();

function setOrientation(e,w,h){
  var el=document.getElementById(e);
  var f=document.getElementById(e+"_sifred");
  w=String(Math.ceil(w))+"px";
  h=String(Math.ceil(h))+"px";
  f.style.width=el.style.width=w;
  f.style.height=el.style.height=h;
};



/**
 * Replace Text with sIFR Text

function replaceTXT(el) {
  sIFR.setup();
  for(var i=0; i<el.length; i++) {
    var e = $$( el[i].sifrId )[0];
    var eid = e.id;
    if( $type(el[i].sFlashVars)=="string" ) {
      sIFR.replaceElement(el[i].sifrId, named({sFlashSrc:el[i].sFlashSrc,
        sColor: el[i].sColor,
        sHoverColor: el[i].sHoverColor,
        sBgColor: el[i].sBgColor,
        sWmode: el[i].sWmode,
        sCase: el[i].sCase,
        nPaddingTop: el[i].nPaddingTop,
        nPaddingBottom: el[i].nPaddingBottom,
        nPaddingLeft: el[i].nPaddingLeft,
        nPaddingRight: el[i].nPaddingRight,
        sFlashVars: el[i].sFlashVars + "&flashID=" + eid
      }));
    }else {
      sIFR.replaceElement(el[i].sifrId, named({sFlashSrc:el[i].sFlashSrc,
        sColor: el[i].sColor,
        sHoverColor: el[i].sHoverColor,
        sBgColor: el[i].sBgColor,
        sWmode: el[i].sWmode,
        sCase: el[i].sCase,
        nPaddingTop: el[i].nPaddingTop,
        nPaddingBottom: el[i].nPaddingBottom,
        nPaddingLeft: el[i].nPaddingLeft,
        nPaddingRight: el[i].nPaddingRight
      }));
    }
    e.removeClass('no-sifr');
  }
  if( $('subNavLabel') ) {
    $('subNavLabel').setStyle('width','20px');
  }
};

 */

/**
 * SWFObject v1.4.4: Flash Player Detection and Embed.
 * SWFObject is (c) 2006 Geoff Stearns, <http://blog.deconcept.com/swfobject/>, MIT Style License: http://www.opensource.org/licenses/mit-license.php
 * Modified to use globalFlashDetect - sends flash detection to ExpressInstall Object
 */
if(typeof deconcept=="undefined")var deconcept={};if(typeof deconcept.util=="undefined")deconcept.util={};if(typeof deconcept.SWFObjectUtil=="undefined")deconcept.SWFObjectUtil={};deconcept.SWFObject=function(swf,id,w,h,ver,c,useExpressInstall,quality,xiRedirectUrl,redirectUrl,detectKey){if(!document.getElementById){return};this.DETECT_KEY=detectKey?detectKey:'detectflash';this.skipDetect=(globalFlashDetect)?true:deconcept.util.getRequestParameter(this.DETECT_KEY);this.params={};this.variables={};this.attributes=[];if(swf)this.setAttribute('swf',swf);if(id)this.setAttribute('id',id);if(w)this.setAttribute('width',w);if(h)this.setAttribute('height',h);if(ver)this.setAttribute('version',new deconcept.PlayerVersion(ver.toString().split(".")));this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(c)this.addParam('bgcolor',c);var q=quality?quality:'high';this.addParam('quality',q);this.setAttribute('useExpressInstall',useExpressInstall);this.setAttribute('doExpressInstall',false);var xir=(xiRedirectUrl)?xiRedirectUrl:window.location;this.setAttribute('xiRedirectUrl',xir);this.setAttribute('redirectUrl','');if(redirectUrl)this.setAttribute('redirectUrl',redirectUrl);};deconcept.SWFObject.prototype={setAttribute:function(name,value){this.attributes[name]=value;},getAttribute:function(name){return this.attributes[name];},addParam:function(name,value){this.params[name]=value;},getParams:function(){return this.params;},addVariable:function(name,value){this.variables[name]=value;},getVariable:function(name){return this.variables[name];},getVariables:function(){return this.variables;},getVariablePairs:function(){var variablePairs=[];var key;var variables=this.getVariables();for(key in variables)variablePairs.push(key+"="+variables[key]);return variablePairs;},getSWFHTML:function(){var swfNode="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall"))this.addVariable("MMplayerType","PlugIn");swfNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"';swfNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';var params=this.getParams();for(var key in params)swfNode+=[key]+'="'+params[key]+'" ';var pairs=this.getVariablePairs().join("&");if(pairs.length>0)swfNode+='flashvars="'+pairs+'"';swfNode+='/>';}else{if(this.getAttribute("doExpressInstall"))this.addVariable("MMplayerType","ActiveX");swfNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';swfNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />';var params=this.getParams();for(var key in params)swfNode+='<param name="'+key+'" value="'+params[key]+'" />';var pairs=this.getVariablePairs().join("&");if(pairs.length>0)swfNode+='<param name="flashvars" value="'+pairs+'" />';swfNode+="</object>";}return swfNode;},write:function(elementId){if(this.getAttribute('useExpressInstall')){var expressInstallReqVer=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(expressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('version'))){this.setAttribute('doExpressInstall',true);this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute('doExpressInstall')||this.installedVer.versionIsValid(this.getAttribute('version'))){var n=(typeof elementId=='string')?document.getElementById(elementId):elementId;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute('redirectUrl')!="")document.location.replace(this.getAttribute('redirectUrl'));}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var PlayerVersion=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description)PlayerVersion=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");PlayerVersion=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(PlayerVersion.major==6)return PlayerVersion;}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}};if(axo!=null)PlayerVersion=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}return PlayerVersion;};deconcept.PlayerVersion=function(arrVersion){this.major=arrVersion[0]!=null?parseInt(arrVersion[0]):0;this.minor=arrVersion[1]!=null?parseInt(arrVersion[1]):0;this.rev=arrVersion[2]!=null?parseInt(arrVersion[2]):0;this.ver=this.major+'.'+this.minor+' r'+this.rev;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major)return false;if(this.major>fv.major)return true;if(this.minor<fv.minor)return false;if(this.minor>fv.minor)return true;if(this.rev<fv.rev)return false;return true;};deconcept.util={getRequestParameter:function(param){var q=document.location.search||document.location.hash;if(q){var pairs=q.substring(1).split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param)return pairs[i].substring((pairs[i].indexOf("=")+1));}}return"";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all)return;var objects=document.getElementsByTagName("OBJECT");for(var i=0;i<objects.length;i++){objects[i].style.display='none';for(var x in objects[i]){if(typeof objects[i][x]=='function')objects[i][x]=function(){};}}};deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};if(typeof window.onunload=='function'){var oldUnload=window.onunload;window.onunload=function(){deconcept.SWFObjectUtil.cleanupSWFs();oldUnload();}}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};if(typeof window.onbeforeunload=='function'){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){deconcept.SWFObjectUtil.prepUnload();oldBeforeUnload();}}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;};var getQueryParamValue=deconcept.util.getRequestParameter;var SWFObject=deconcept.SWFObject;



/**
 * IE6 PNG Fix
 *   Note: Including this script at the end of the html document
 *     (directly before </body>) may prevent the ugly flicker
 *   Usage:
 *     body(onload || ondomready) = PNG.fixAll(); 
 *     OR
 *     <img src="filename.png" onload="PNG.fix(this);" />
 */
var PNG = {
  imgs: [],
  // fix single image
  fix: function(img) {
    var _name = img.src.toUpperCase();
    var _id, _class, _title, _align, _cursor, _new;
    _id = ( img.id ) ? " id=\"" + img.id + "\"" : "";
    _class = ( img.className ) ? " class=\"" + img.className + "\"" : "";
    _title = ( img.title ) ? " title=\"" + img.title + "\"" : " title=\"" + img.alt + "\"";
    if( img.align!="" ) _align = ( img.align=="left" ) ? "left" : "right";
    else _align = "none";
    _cursor = ( img.parentNode.href ) ? "hand" : "normal";
    _new = "<span" + _id + _class + _title +
      " style=\"" + img.style.cssText + "width:" + img.width + ";height:" + img.height +
      ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" +
      "(src='" + img.src + "', sizingMethod='scale');cursor:" + _cursor + ";float:" + 
      _align + ";display:inline-block;\"></span>";
    img.outerHTML = _new;
  },
  // fix all document images
  fixAll: function() {
    var _img;
    for(var i=0; i<document.images.length; i++) {
      _img = document.images[i];
      if( /^.+\.(png)/ig.test(_img.src) ) {
        this.imgs.push(_img);
        if( window.ActiveXObject && !window.XMLHttpRequest ) this.fix(_img);
      }
    }
  }
};



/**
 * Cookie Manipulation
 *   Usage:
 *     Cookie.set('cookieName','cookieValue','deleteAfterXNumDays',overwriteExisting);
 *     Cookie.get('cookieName');
 *     Cookie.remove('cookieName');
 *   Requirements:
 *     String.trim() Prototype
 */
var Cookie = {
  // retrieve cookie via name
  get: function(name) {
    var _name = name + "=";
    var _cookies_arr = document.cookie.split(';');
    for( var i=0; i<_cookies_arr.length; i++ ) {
      var _c = String(_cookies_arr[i]).trim();
      if( _c.indexOf(_name)==0 ) return _c.substring(_name.length,_c.length);
    }
    return false;
  },
  // if cookie exists and overwrite is set to false, returns value of cookie ELSE returns true
  set: function(name,value,days,overwrite) {
    if( overwrite===false ) {
      var _val = this.get(name);
      if( typeof _val=="string" ) return _val;
    }
    if( typeof days=="number" ) {
      var _date = new Date();
      _date.setTime(_date.getTime() + (days*86400000));
      var _expires = "; expires=" + _date.toGMTString();
    }
    else var _expires = "";
    document.cookie = name + "=" + value + _expires;
    return true;
  },
  // delete cookie
  remove: function(name) {
    return this.set(name,"",-1,true);
  }
};


/**
 * Array.prototype.push is created under sIFR
 * String.prototype.normalize is created under sIFR
 * Function.prototype.apply is created under sIFR
 */
var browser=(function(){if(window.ie) return 'Internet Explorer';else if(window.gecko) return 'Firefox';else if(window.webkit) return 'Safari';else if(window.opera) return 'Opera';else return 'Your Web Browser';})();



/**
 * Express Install
 *   Usage:
 *     var flashVersionReq = 9; // flash player version.major requirement (ex. ver 9.0 r28)
 *     if( window.FlashInstalled.needsUpdate ) {
 *       ExpressInstall.init("/design/plain_site/flash/expressinstall.swf");
 *     }else {
 *       // no update needed
 *     }
 *   Requirements:
 *     SWFObject for flash player version detection
 *     Mootools for animation and style manipulation
 *     Cookie Object to setting and retrieving cookies
 */
var ExpressInstall, FlashInstalled;
(function() {
  var swf, Options;
  var externalLink = 'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash';
  Cookie.remove('flashInstalled');
  var client = Cookie.get('flashInstalled');
  FlashInstalled = {
    version: (function() {
      if( typeof client!="string" ){
        client = deconcept.SWFObjectUtil.getPlayerVersion();
        var cookie = client.ver+';'+client.major+';'+client.minor+';'+client.rev;
        Cookie.set('flashInstalled',cookie,'30');
        return {major:client.major,minor:client.minor,rev:client.rev,cookie:false};
      }
      var client_arr = client.split(';');
      return {major:client_arr[1],minor:client_arr[2],rev:client_arr[3],cookie:true};
    })(),
    needsUpdate: (function() {
      return ( client.major<flashVersionReq );
    })()
  };
  ExpressInstall = {
    init: function(a) {
      swf = a;
      clientFlashVersion = window.FlashInstalled.version;
      Options = {};

      var noflash_div = document.createElement('div');
      noflash_div = $(noflash_div);
      var options_div = document.createElement('div');
      options_div = $(options_div);
      var option_yes = document.createElement('a');
      option_yes = $(option_yes);
      var option_no = document.createElement('a');
      option_no = $(option_no);
      var option_divider = document.createElement('div');
      option_divider = $(option_divider);

      noflash_div.setAttribute('id', 'global-noflash');
      noflash_div.innerHTML = "<div class=\"fla_icon\">" + 
        "You must have Adobe Flash Player version 8 or higher installed to view all features of this website. Click here for more information..." +
        "</div><div id=\"flash-install\"></div></div>";
      
      options_div.setAttribute('id', 'flash-install-options');
      option_yes.setAttribute('id','install-yes');
      option_yes.innerHTML = "Install Flash Player";
      option_no.setAttribute('id','install-no');
      option_no.innerHTML = "Do Not Install Flash Player";
      option_divider.className = 'divider';
      options_div.appendChild(option_yes);
      options_div.appendChild(option_divider);
      options_div.appendChild(option_no);
      
      noflash_div.injectBefore('wrapper');
      options_div.injectBefore('wrapper');
      noflash_div.setStyle('display','block');
      
      Options.NOFLASH = $('global-noflash');
      Options.Options = $('flash-install-options');
      Options.Install = $(option_yes);
      Options.Bypass = $(option_no);
      Options.FlashInstallation = $('flash-install');

      noflash_div.onmouseover = function() { this.style.backgroundColor = "#bdbdbd"; }
      noflash_div.onmouseout = function() { this.style.backgroundColor = "#ffffe1"; }
      noflash_div.addEvent('click', function(event){
        var minVer = 6;
        var rev_valid = true;
        if( clientFlashVersion.major==6 ) {
          rev_valid = ( clientFlashVersion.rev>=65 );
        }
        if( clientFlashVersion.major>minVer && rev_valid ) ExpressInstall.showOptions(new Event(event));
        else ExpressInstall.confirmRedirect();
      });
    },
    open: function() {
      var myTrans = new Fx.Transition(Fx.Transitions.Quad, 15);
      var myFx = Options.NOFLASH.effect('height', {duration:500, transition:myTrans.easeOut});
      Options.Options.setStyle('display','none');
      Options.NOFLASH.onmouseover = Options.NOFLASH.onmouseout = Options.NOFLASH.onclick = null;
      Options.NOFLASH.setStyle('backgroundColor','#ffffe1');
      $$("#"+Options.NOFLASH.id+" .fla_icon").setStyle('display','none');
      myFx.start(250).chain(function(){
        ExpressInstall.load();
      });
    },
    showOptions: function(ev) {
      Options.Install.addEvent('click', ExpressInstall.open );
      Options.Bypass.addEvent('click', ExpressInstall.bypass );
      Options.Options.setStyles({
        left : ev.page.x,
        display : 'block'
      });
    },
    confirmRedirect: function() {
      if( confirm("There was an error installing Adobe Flash Player. Would you like to install Flash Player from Adobe.com?") ) open(externalLink,'_blank');
    },
    bypass: function(removeInstall) {
      if( removeInstall ) Options.FlashInstallation.remove();
      Options.Options.setStyle('display','none');
      var myTrans = new Fx.Transition(Fx.Transitions.Quad, 15);
      var myFx = Options.NOFLASH.effect('height', {duration:250, transition:myTrans.easeOut});
      myFx.start(0).chain(function(){this.element.setStyle('display','none');});
    },
    load: function() {
      var expressInstall = new SWFObject(swf, "express-install", "300", "137", "6.0.65", "#ffffff");
      expressInstall.write(Options.FlashInstallation.id);
    },
    onInstallStatus: function(ev) {
      switch(ev) {
        case "Download.Complete" :
          Options.FlashInstallation.remove();
          if( confirm("Restart "+browser.toLowerCase()+" to complete the installation.") ) window.close();
        break;
        case "Download.Cancelled" :
          ExpressInstall.bypass(true);
        break;
        case "Download.Failed" :
          ExpressInstall.confirmRedirect();
      }
    }
  }
})();


/**
 * Show Recipes
 */
function showRecipes(el,recipes) {
  $(el).remove();
  $$('#' + recipes + ' li.hide').each(function(item,index){
    item.removeClass('hide');
  });
};


/**
 * Init Show
 */
function chooseLayout(el) {
  var layout='';
  switch (el.nodeName) {
    case "A" :
    case "SPAN" :
    case "STRONG" :
    case "B" :
    case "EM" :
      break;
    default :
      layout = 'block';
    break;
  }
  return layout;
};


/**
 * Toggle
 */
var toggleParams = {};
function setupToggle(params) {
  toggleParams = new params();
  var targets = $$('.'+toggleParams.eventTarget.el_class);
  var pairs = [];
  targets.each(function(item,index) {
    pairs[index] = [item,$(toggleParams.toToggle+'_'+item.id.slice(String(toggleParams.eventTarget.id_prefix).length+1,item.id.length))];
    item.setAttribute('active','no');
  });
  delete targets;
  pairs.each(function(item,index) {
    item[0].setAttribute('title',toggleParams.eventTarget.inactiveTitle);
    item[0].onclick = item[0].ondblclick = showToToggle;
    
    item[0].onselectstart = function() {
        return false;
    };
    item[0].unselectable = 'on';
    item[0].style.MozUserSelect = 'none';
    item[0].style.cursor = 'pointer';

    item[0].onmouseover = function() {
      if (this.getAttribute('active')=='no') this.addClass(toggleParams.eventTarget.activeClass);
    };
    item[0].onmouseout = function() {
      if (this.getAttribute('active')=='no') this.removeClass(toggleParams.eventTarget.activeClass);
    };
    item[1].addClass('hide');
  });
};
function showToToggle() {
  var targetElement = $(this);
  var toToggle = $(toggleParams.toToggle+targetElement.id.slice(String(toggleParams.eventTarget.id_prefix).length,targetElement.id.length));
  targetElement.setAttribute('title',toggleParams.eventTarget.activeTitle);
  toToggle.removeClass('hide');
  targetElement.setAttribute('active','yes');
  targetElement.onclick = targetElement.ondblclick = hideToToggle;
};
function hideToToggle() {
  var targetElement = $(this);
  var toToggle = $(toggleParams.toToggle+targetElement.id.slice(String(toggleParams.eventTarget.id_prefix).length,targetElement.id.length));
  targetElement.setAttribute('title',toggleParams.eventTarget.inactiveTitle);
  toToggle.addClass('hide');
  targetElement.setAttribute('active','no');
  targetElement.onclick = targetElement.ondblclick = showToToggle;
};

/* VIDEO FUNCTIONS */

// -----------------------------------------------------------
// Detection snippet from http://www.dithered.com/javascript/browser_detect/index.html
// -----------------------------------------------------------
var ua = navigator.userAgent.toLowerCase(); 
var is_pc_ie = ( (ua.indexOf('msie') != -1 ) && ( ua.indexOf('win') != -1 ) && ( ua.indexOf('opera') == -1 ) && ( ua.indexOf('webtv') == -1 ) );


function setFlashVariables(movieid, flashquery){
	var i,values;
	if (is_pc_ie) {
		var chunk = flashquery.split("&");
		for (var i=0; i<chunk.length; i++) {
			values = chunk[i].split("=");
			document[movieid].SetVariable(values[0],values[1]);
		}
	} else {
    var divid = "flash_setvariables_"+(new Date().getTime());
		var divholder = document.createElement("div");
		divholder.id = divid;
		document.body.appendChild(divholder);
		document.getElementById(divid).innerHTML = "<embed src=\"/design/plain_site/flash/gateway.swf\" " +
      "FlashVars=\"lc="+movieid+"&fq="+escape(flashquery)+"\" " +
      "width=\"0\" height=\"0\" type=\"application/x-shockwave-flash\"></embed>";
	}
};


/**
 * Video Player
 */
function setupVideos() {
  if ($(currentVideo.caller)!=false) {
    $(currentVideo.caller).addClass('active');
  }
  $$('li a').addEvent("click", function(ev) {
    playVideo(ev.target);
    return false;
  });
};

function playVideo(e) {
	if (typeof e=='string') e = {id:e};
	var newVideo = videos[e.id];
	if(newVideo.video_src!=currentVideo.video_src) {
		if (typeof newVideo.video_src=='string') {
			// play video
			setFlashVariables('flash_video','video_src_obj.video_src='+newVideo.video_src);
			if ($(e.id)!=false) {
				$(e.id).addClass('active');
				$(currentVideo.caller).removeClass('active');
			}
		}
		// set new current video
		currentVideo = videos[e.id];
		currentVideo.caller = e.id;
	}
};

function getVideosInfo() {
	var videos_arr = [];
	for(var i in videos) {
		videos_arr.push([i,videos[i].video_thumb]);
	}
	return videos_arr;
};


/* GENERAL FUNCTIONS */

function doPopup (url, width, height) {
	leftPixel = (screen.width / 2) - (width / 2);
	topPixel = (screen.height / 2) - (height / 2);
	height = height + 20;
	width = width + 20;
	var popWin;
	popWin = window.open(url, "pop_win", "width="+width+", height="+height+", scrollbars=1,status=no,left="+leftPixel+",top="+topPixel);
	if (window.focus) {
		popWin.focus();
	}
}

/* PRODUCT DETAIL POPUP */

var Interval;

function showPopup(img) {
    //Interval = window.setInterval("checkScroll(" + popUp + ")", 500);
	popUp = document.getElementById('detailImage');
	popUp.innerHTML = '<a href="javascript:void(0);" onclick="hidePopup();"><img src="' + img + '"/></a>';
	temp = popUp.style.height.indexOf("px");
	height = popUp.style.height.substring(0,temp);
	temp = popUp.style.width.indexOf("px");
	width = popUp.style.width.substring(0,temp);
    popUp.style.top = Math.round((document.documentElement.clientHeight/2)-(height/2)+document.documentElement.scrollTop)+"px;";
    popUp.style.left = Math.round((document.documentElement.clientWidth/2)-(width/2))+"px;";
    popUp.style.display='block';
}

function hidePopup(popUp) {
    //clearInterval(Interval);
	popUp = document.getElementById('detailImage');
    popUp.style.display='none';
}

function checkScroll(popUp) {
}

