/*  
	 ___                         
	/\_ \    __                  
	\//\ \  /\_\  __  __    __   
	  \ \ \ \/\ \/\ \/\ \ /'__`\ 
	   \_\ \_\ \ \ \ \_/ |\  __/ 
	   /\____\\ \_\ \___/\ \____\
	   \/____/ \/_/\/__/  \/____/ v1.8.8
                             
	A lightweight Javascript interface with various extensions
	Max Felker | max@bigroomstudios.com
	Brian Leighton | max@bigroomstudios.com
	
	+1 Google for the Closure Compiler | http://closure-compiler.appspot.com/home
	
	ASCII Art Generated @ http://patorjk.com/software/taag/
	
*/
var live=Class.create({initialize:function(a){this.config=a;a.page?this.page=a.page:this.page=window.location;a.browser?this.browser=a.browser:this.browser=Prototype.Browser;this.rollovers=$H();this.popups=$H();this.dropdowns=$H();this.tooltips=$H();this.forms=$H();this.regex=$H({empty:"",all:/^.*$/,bit:/^(0|1)$/,num:/^-?([0-9]*)$/,alpha:/^[a-zA-z\s]+$/,alphanum:/^[a-zA-Z0-9]?[\s||\'||\"||\.||\?||\!||\-||a-zA-Z0-9]+$/,email:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,phone:/^([0-9]{3}( |-|.)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-|.)?([0-9]{3}( |-|.)?[0-9]{4}|[a-zA-Z0-9]{7})$/,
cc:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,zip:/^(([0-9]{5})|([0-9]{5}[-][0-9]{4}))$/,decimal:/^\d+\.\d{0,4}$/,price:/^\$?\s?[0-9\,]+(\.\d{0,4})?$/});document.on("dom:loaded",function(){this.init_dom();this.init_ui()}.bind(this))},init_ui:function(){this.keys=new Keys;this.canopy=new Canopy;this.modal=new Modal;this.time=new Time;this.loader=new Loader},init_dom:function(){this.html=$$("html")[0];
this.head=$$("head")[0];this.body=$(document.body);document.on("mousemove",this.get_mouse_position.bind(this));this.get_viewport_dimensions();this.get_viewport_offset();Event.on(window,"resize",this.get_viewport_dimensions.bind(this));Event.on(window,"scroll",this.get_viewport_offset.bind(this));if(live.browser.touch_screen)this.body_elements=document.body.descendants(),this.body_elements.each(function(a){a.hasAttribute("onmouseover")&&a.writeAttribute("onmouseover");a.hasAttribute("onmouseout")&&
a.writeAttribute("onmouseout")}.bind(this))},get_viewport_dimensions:function(){this.viewport=document.viewport.getDimensions()},get_viewport_offset:function(){this.viewport_offset=document.viewport.getScrollOffsets()},get_mouse_position:function(a){this.mouse=Event.pointer(a)},create_js:function(a){if(a&&a.endsWith(".js"))this.head.appendChild(new Element("script",{type:"text/javascript",src:a}));else return!1},create_css:function(a){if(a&&a.endsWith(".css"))this.head.appendChild(new Element("link",
{rel:"stylesheet",type:"text/css",href:a}));else return!1},print_page:function(a){if(!a)return window.print(),!1;this.print_popup=new Popup({src:a,container:"print",height:1,width:1,title_height:0});this.print_popup.container.setStyle("top:-1000px;left:-1000px;");this.print_popup.controls_container.hide();this.print_popup.iframe.on("load",function(){this.print_popup.iframe=document.frames?document.frames[this.print_popup.iframe.id]:document.getElementById(this.print_popup.iframe.id);this.print_popup.print_window=
this.print_popup.iframe.contentWindow||this.print_popup.iframe;this.print_popup.iframe.focus();this.print_popup.print_window.print();this.print_popup.remove_popup()}.bind(this));return!1}});var Time=Class.create({initialize:function(){},display:function(){this.executer=new PeriodicalExecuter(function(a){this.get(a)}.bind(this),0.5)},get:function(a){if(a)a.format?this.format=a.format:this.format=24,a.verbose?this.verbose=a.verbose:this.verbose=!1,a.container?this.container=$(a.container):this.container=!1;this.date=new Date;this.day="Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(",")[this.date.getDay()].toLowerCase();this.hours=this.date.getHours();this.tod="";if(this.format==
"12"&&(this.tod="am",this.hours>12))this.tod="pm",this.hours-=12;this.mins=this.date.getMinutes();this.secs=this.date.getSeconds();this.mins<10?this.mins="0"+this.mins:this.mins=this.mins;this.secs<10?this.secs="0"+this.secs:this.secs=this.secs;this.current=this.hours+":"+this.mins+":"+this.secs;if(this.verbose)this.current=this.day.capitalize()+" at "+this.current+" "+this.tod.toUpperCase();if(this.container)this.container.update(this.current);else return this.current}});var Keys=Class.create({initialize:function(){this.index=$H({8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause_break",20:"caps",27:"esc",32:"space",33:"page_up",34:"page_down",35:"end",36:"home",37:"arrow_left",38:"arrow_up",39:"arrow_right",40:"arrow_down",45:"insert",46:"delete",91:"windows_key_left",92:"windows_key_right",93:"select",144:"num_lock",145:"scroll_lock",224:"apple_key_left",224:"apple_key_right",186:"semicolon",187:"equals",188:"comma",189:"hyphen",190:"period",
191:"slash_forward",192:"grave_accent",219:"bracket_open",220:"slash_back",221:"bracket_close",222:"quote_single",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"numpad_0",97:"numpad_1",98:"numpad_2",99:"numpad_3",100:"numpad_4",101:"numpad_5",102:"numpad_6",103:"numpad_7",104:"numpad_8",105:"numpad_9",
106:"multipy",107:"plus",109:"minus",110:"decimal",111:"divide",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"});this.range=$A();this.range.numeric=$R(49,57);this.range.alpha=$R(65,90);this.range.chars=$R(186,222);this.range.numpad=$R(96,111);this.range.fkeys=$R(112,123);this.browser_mod=!1;if(Prototype.Browser.Gecko)this.browser_mod="gecko",this.gecko_index=$H({59:"semicolon",61:"equals",109:"hyphen"}),this.range.chars.gecko=$A(),this.range.chars.gecko[59]=
!0,this.range.chars.gecko[61]=!0,this.range.chars.gecko[109]=!0,this.index.unset("186"),this.index.unset("187"),this.index.unset("189");this.groups=$H();this.reset_key_values();document.on("keydown",function(a){this.key_code.previous=this.key_code.current;this.key_value.previous=this.key_value.current;this.key_code.current=a.keyCode;this.key_value.current=this.index.get(this.key_code.current);if(Object.isUndefined(this.key_value.current)&&this.browser_mod=="gecko")this.key_value.current=this.gecko_index.get(this.key_code.current)}.bind(this))},
reset_key_values:function(){this.key_code={current:"",previous:""};this.key_value={current:"",previous:""}},look_for:function(a,b,c){c||(c=!1);key_combo_config={keys:a,keys_array:a.split("+"),user_function:b,poll_match:c};this.groups.set(a,key_combo_config);this.match_keys_handler=this.match_keys.bind(this);document.on("keyup",this.match_keys_handler)},stop_looking_for:function(a){this.groups.unset(a)},match_keys:function(){if(this.groups.size()==0)return!1;this.groups.values().each(function(a){var b=
!1,c=a.keys_array[0],d=a.keys_array[1];if(d){if(!Object.isUndefined(this.range[d])&&(this.range[d].include(this.key_code.current)||this.range[d][this.browser_mod]&&this.range[d][this.browser_mod][this.key_code.current])){this.key_value.current=this.index.get(this.key_code.current);if(Object.isUndefined(this.key_value.current)&&this.browser_mod=="gecko")this.key_value.current=this.gecko_index.get(this.key_code.current);d=this.key_value.current}if(!Object.isUndefined(this.range[c])&&(this.range[c].include(this.key_code.previous)||
this.range[c][this.browser_mod]&&this.range[c][this.browser_mod][this.key_code.previous])){this.key_value.previous=this.index.get(this.key_code.previous);if(Object.isUndefined(this.key_value.previous)&&this.browser_mod=="gecko")this.key_value.previous=this.gecko_index.get(this.key_code.previous);c=this.key_value.previous}this.key_value.previous==c&&this.key_value.current==d&&(b=!0)}else if(c){if(!Object.isUndefined(this.range[c])&&(this.range[c].include(this.key_code.current)||this.range[c][this.browser_mod]&&
this.range[c][this.browser_mod][this.key_code.current])){this.key_value.current=this.index.get(this.key_code.current);if(Object.isUndefined(this.key_value.current)&&this.browser_mod=="gecko")this.key_value.current=this.gecko_index.get(this.key_code.current);c=this.key_value.current}this.key_value.current==c&&(b=!0)}if(b)live.key_down_user_function="",live.key_down_user_function=a.user_function.methodize(),live.key_down_user_function(),this.reset_key_values(),a.poll_match||this.groups.unset(a.keys)}.bind(this))}});var Canopy=Class.create({initialize:function(){},create:function(){if($("canopy"))return!1;else{live.body.setStyle("position:relative;");var a=Builder.node("div",{id:"canopy",style:"display:none;"},[Builder.node("div",{id:"canopy-overlay"}),Builder.node("div",{id:"canopy-btn-close"})]);live.body.appendChild(a);this.container=$("canopy");this.overlay=$("canopy-overlay");this.btn_close=$("canopy-btn-close");this.overlay.setOpacity(0.7);this.btn_close.on("click",this.close.bind(this));live.keys.look_for("esc",
live.canopy.close);this.active=!1}},display:function(){$("canopy")||this.create();clearTimeout(this.timeout);if(!this.active)this.timeout=setTimeout(function(){this.active=!0;new Effect.Appear(this.container,{duration:0.25})}.bind(this),250)},close:function(){clearTimeout(this.timeout);if(this.active)this.timeout=setTimeout(function(){live.html.setStyle({overflow:"auto",width:"auto"});live.body.setStyle({height:"auto"});new Effect.Fade(this.container,{duration:0.25});this.btn_close.stopObserving("click",
this.close.bind(this));this.active=!1}.bind(this),250)},remove:function(){if($("canopy"))this.off(),live.body.removeChild(this.container);else return alert("Canopy doesn't exsist!"),!1}});var Dropdown=Class.create({initialize:function(a){this.container=$(a.container);this.sub_container=$$("#"+a.container+" .dropdown-sub-container")[0];this.parent_item=$$("#"+a.container+" .dropdown-parent-item")[0];this.parent_menu=a.parent_menu;this.menu_open=!1;this.container.on("mouseenter",this.show_menu.bind(this));this.container.on("mouseleave",this.hide_menu.bind(this));live.dropdowns.set(this.container.id,this)},show_menu:function(){clearTimeout(this.menu_timeout);if(!this.menu_open)this.menu_timeout=
setTimeout(function(){this.menu_open=!0;Effect.SlideDown(this.sub_container,{duration:0.2})}.bind(this),200)},hide_menu:function(){clearTimeout(this.menu_timeout);if(this.menu_open)this.menu_timeout=setTimeout(function(){this.menu_open=!1;Effect.SlideUp(this.sub_container,{duration:0.2})}.bind(this),200)}});var Rollover=Class.create({initialize:function(a){this.container=$(a.container);this.img_off=Builder.node("img",{id:a.container+"-off",src:a.img_off,border:0,style:"display:none"});this.img_on=Builder.node("img",{id:a.container+"-on",src:a.img_on,border:0,style:"display:none"});this.container.appendChild(this.img_off);this.container.appendChild(this.img_on);this.img_off=$(a.container+"-off");this.img_on=$(a.container+"-on");this.img_off.show();this.container.on("mouseenter",this.img_hover.bind(this));
this.container.on("mouseleave",this.img_idle.bind(this));live.rollovers.set(this.container.id,this)},img_hover:function(){this.img_off.hide();this.img_on.show()},img_idle:function(){this.img_on.hide();this.img_off.show()},stop_rollover:function(){Event.stopObserving(this.container)}});var Popup=Class.create({initialize:function(a){if(live.popups.get("popup-"+a.container))return!1;if(!a.container)a.container=live.popups.keys().length+1;this.popup_id="popup-"+a.container;this.src=a.src?a.src:!1;this.title=a.title?a.title:"";a.fullscreen?(this.fullscreen=a.fullscreen,this.width=live.viewport.width-50,this.height=live.viewport.height-50):(this.width=a.width?a.width:live.viewport.width/2,this.height=a.height?a.height:live.viewport.height/2);this.position={top:a.top?a.top:(live.viewport.height-
this.height)/2,top_static:a.top?!0:!1,left:a.left?a.left:(live.viewport.width-this.width)/2,left_static:a.left?!0:!1};this.static_dimensions=a.width&&a.height?!0:!1;this.title_height=a.title_height?a.title_height:37;this.offset=a.offset?a.offset:{top:50,left:50};this.confirm_close=a.confirm_close?a.confirm_close:!1;this.drag=a.drag?a.drag:!1;this.minimize_window=a.minimize?a.minimize:!1;this.container=Builder.node("div",{id:this.popup_id,className:"popup-container"},[Builder.node("div",{id:this.popup_id+
"-controls",className:"popup-controls wrapper"},[Builder.node("p",{id:this.popup_id+"-title",className:"popup-title"}),Builder.node("a",{id:this.popup_id+"-close",className:"popup-close"},"x")])]);this.container.setStyle({position:"absolute",width:this.width+"px",height:this.height+"px",top:this.position.top+"px",left:this.position.left+"px"});this.src?(this.iframe=Builder.node("iframe",{id:this.popup_id+"-iframe",name:this.popup_id+"-iframe",className:"popup-iframe",frameborder:0,scrolling:"auto",
src:this.src}),this.container.appendChild(this.iframe)):(this.content=Builder.node("div",{id:this.popup_id+"-content",className:"popup-content"}),this.container.appendChild(this.content),this.content.update(a.content));a.className&&this.container.addClassName(a.className);document.body.appendChild(this.container);this.container=$(this.popup_id);live.popups.set(this.popup_id,this);this.controls_container=$(this.popup_id+"-controls");this.controls_container.setStyle({height:this.title_height+"px"});
this.title_container=$(this.popup_id+"-title");this.title_container.update(this.title);this.iframe?this.iframe=$(this.popup_id+"-iframe"):this.content=$(this.popup_id+"-content");this.btn={close:$(this.popup_id+"-close")};this.btn.close.on("click",this.close.bind(this));if(this.minimize_window)this.btn.minimize=Builder.node("a",{id:this.popup_id+"-minimize",className:"popup-minize"},"_"),this.controls_container.appendChild(this.btn.minimize),this.btn.minimize=$(this.popup_id+"-minimize"),this.btn.minimize.on("click",
this.minimize.bind(this));this.drag&&($(this.popup_id+"-controls").setStyle("cursor:move;"),new Draggable(this.container,{handle:this.container.id+"-controls",starteffect:"",endeffect:""}));Event.on(window,"resize",this.reposition.bind(this));this.reposition()},resize:function(){this.fullscreen?(this.width=live.viewport.width-50,this.height=live.viewport.height-50):(this.width=live.viewport.width/2,this.height=live.viewport.height/2);this.container.setStyle({width:this.width+"px",height:this.height+
"px"});this.resize_contents()},resize_contents:function(){this.iframe?this.iframe.setStyle({width:this.width+"px",height:this.height-this.title_height+"px"}):this.content.setStyle({width:this.width+"px",height:this.height-this.title_height+"px"})},reposition:function(){this.static_dimensions?this.resize_contents():this.resize();if(!this.position.top_static&&(this.position.top=(live.viewport.height-this.height)/2,this.position.top<this.offset.top))this.position.top=this.offset.top;if(!this.position.left_static&&
(this.position.left=(live.viewport.width-this.width)/2,this.position.left<this.offset.left))this.position.left=this.offset.left;this.container.setStyle({top:this.position.top+"px",left:this.position.left+"px"})},show_popup:function(){new Effect.Appear(this.container,{duration:0.3})},minimize:function(){this.iframe?this.iframe.hide():this.content.hide();this.container.setStyle({height:"auto"});this.btn.minimize.update("+");this.btn.minimize.stopObserving();this.btn.minimize.on("click",this.restore.bind(this))},
restore:function(){this.iframe?this.iframe.show():this.content.show();this.container.setStyle({width:this.width+"px",height:this.height+"px"});this.btn.minimize.update("_");this.btn.minimize.stopObserving();this.btn.minimize.on("click",this.minimize.bind(this))},close:function(){if(this.confirm_close)if(confirm("Are you sure you would like to close this window?"))this.remove_popup();else return!1;else this.remove_popup()},remove_popup:function(){Effect.Fade(this.container,{duration:0.25});setTimeout(function(){this.container.remove();
live.popups.unset(this.popup_id)}.bind(this),350)},update_title:function(a){this.title=a;this.title_container.update(a)}});var Modal=Class.create({initialize:function(){},display:function(a){a.container="modal";a.minimize=!1;a.drag=!1;live.canopy.display();live.canopy.btn_close.hide();this.popup=new Popup(a);this.popup.btn.close.on("click",function(){live.canopy.close()});live.keys.stop_looking_for("esc");live.keys.look_for("esc",function(){live.modal.close()})},close:function(){this.popup&&this.popup.close();live.canopy.close()}});var Tabs=Class.create({initialize:function(a){this.container=$(a.container);this.tab_elements=$$("#"+a.container+" .tab");this.tabs_count=this.tab_elements.length;this.tabs_current_index=0;this.tabs=$A();this.counter=0;this.tab_elements.each(function(a){var c=a.id.gsub("-tab","");a.panel=$(c+"-panel");a.panel.hide();a.index=this.counter;this.tabs[a.index]=a;this.counter++}.bind(this));this.tabs_current_index=this.counter=0;this.current_tab=this.tabs[this.tabs_current_index];this.show_tab();this.tabs.each(function(a){a.on("click",
function(){this.tabs_current_index=a.index;this.show_tab()}.bind(this))}.bind(this))},show_tab:function(){this.current_tab.panel.hide();this.current_tab.removeClassName("current");this.current_tab=this.tabs[this.tabs_current_index];this.current_tab.panel.show();this.current_tab.addClassName("current")},next_tab:function(){this.tabs_current_index=(this.tabs_current_index+1+this.tabs_count)%this.tabs_count;this.show_tab()},previous_tab:function(){this.tabs_current_index=(this.tabs_current_index-1+this.tabs_count)%
this.tabs_count;this.show_tab()}});var Slideshow=Class.create({initialize:function(a){if(a)a.duration?this.slide_duration=a.duration:this.slide_duration=5,a.autostart?this.autostart=a.autostart:this.autostart=!1,a.loop?this.loop=a.loop:this.loop=!1,a.reverse?this.reverse=a.reverse:this.reverse=!1;this.container=$(a.container);this.slides=$$("#"+this.container.id+" .slide");this.slides_count=this.slides.length;this.reverse?this.slideshow_counter=this.slides_count-1:this.slideshow_counter=0;this.completed=this.playing=!1;this.slides.invoke("hide");
this.current_slide=this.slides[this.slideshow_counter];this.current_slide.show();if(this.autostart)Event.on(window,"load",function(){this.start();this.show_slide()}.bind(this))},show_slide:function(){if(!this.loop&&this.slideshow_counter>=this.slides_count)return this.slideshow_counter=this.slides_count-1,this.stop(),!1;else if(this.slideshow_counter>=this.slides_count)this.slideshow_counter=0;if(!this.loop&&this.slideshow_counter<0)return this.slideshow_counter=0,this.stop(),!1;else if(this.slideshow_counter<
0)this.slideshow_counter=this.slides_count-1;this.current_slide=this.slides[this.slideshow_counter];this.other_slides=this.current_slide.siblings();this.other_slides.each(function(a){a.hasClassName("slide")&&Effect.Fade(a,{duration:0.5})});this.current_slide=this.slides[this.slideshow_counter];Effect.Appear(this.current_slide,{duration:0.5})},start:function(){if(this.playing)return!1;else this.reverse?(this.playing=!0,this.executer=new PeriodicalExecuter(function(){this.previous_slide()}.bind(this),
this.slide_duration)):(this.playing=!0,this.executer=new PeriodicalExecuter(function(){this.next_slide()}.bind(this),this.slide_duration)),this.completed=!1,this.slides.invoke("hide")},stop:function(){this.executer&&this.executer.stop();this.completed=!0;this.playing=!1},restart:function(){if(this.playing)return!1;else this.reset(),this.start()},reset:function(){this.stop();this.slideshow_counter=this.reverse?this.slides_count-1:0;this.show_slide()},next_slide:function(){this.slideshow_counter++;
this.show_slide()},previous_slide:function(){this.slideshow_counter--;this.show_slide()}});var TabbedSlideshow=Class.create(Tabs,{initialize:function($super,b){$super(b);b.duration?this.tab_slide_duration=b.duration:this.tab_slide_duration=5;this.tabs.each(function(b){b.slideshow=new Slideshow({container:b.panel,duration:this.tab_slide_duration,autostart:!1,loop:!1});b.on("click",function(){this.stop_status_check();this.tabs.each(function(b){b.slideshow.reset()}.bind(this));this.current_tab.slideshow.start();this.current_tab.slideshow.show_slide();this.start_status_check()}.bind(this))}.bind(this));
this.current_tab.slideshow.start();this.current_tab.slideshow.show_slide();this.start_status_check()},slides_reset:function(){this.tabs.each(function(a){a.slideshow.completed=!1;a.slideshow.restart();a.slideshow.stop()}.bind(this));this.current_tab.slideshow.completed=!1;this.current_tab.slideshow.start();this.start_status_check()},next_tab:function($super){this.current_tab.slideshow.reset();$super();this.current_tab.slideshow.completed=!1;this.current_tab.slideshow.start();this.current_tab.slideshow.show_slide();
this.start_status_check()},previous_tab:function($super){this.current_tab.slideshow.reset();$super();this.current_tab.slideshow.completed=!1;this.current_tab.slideshow.start();this.current_tab.slideshow.show_slide();this.start_status_check()},start_status_check:function(){this.executer=new PeriodicalExecuter(function(){if(this.current_tab.slideshow.completed){this.has_looped=!1;if(this.tab_current==this.tabs_count-1)this.has_looped=!0;this.current_tab.slideshow.completed=!1;this.next_tab();this.stop_status_check()}}.bind(this),
this.tab_slide_duration)},stop_status_check:function(){if(this.executer)this.executer.stop(),this.executer="";else return!1}});var TabbedViewer=Class.create(Tabs,{initialize:function($super,b){$super(b);b.direction?this.direction=b.direction:this.direction="x";this.distance=b.distance;b.tabs_visible?this.tabs_visible=b.tabs_visible:this.tabs_visible=3;if(b.controls)this.controls={next:$(b.controls.next),previous:$(b.controls.previous)},this.controls.next.on("click",this.next_tab.bind(this)),this.controls.previous.on("click",this.previous_tab.bind(this));this.tabs_wrapper=$(b.tabs_wrapper);this.tabs_container=$(b.tabs_container);
container_dimensions=this.direction=="y"?"height:"+this.tabs_visible*this.distance+"px;":"width:"+this.tabs_visible*this.distance+"px;";this.tabs_container.setStyle(container_dimensions);this.tabs.each(function(b,d){new_position=this.distance*d;b.setStyle({position:"absolute"});this.direction=="y"?b.setStyle({top:new_position+"px"}):b.setStyle({left:new_position+"px"});b.setOpacity(0.7);b.on("click",function(){this.tabs_current_index=b.index;this.show_tab()}.bind(this));b.on("mouseenter",function(){this.tabs_current_index!=
b.index&&b.setOpacity(1)}.bind(this));b.on("mouseleave",function(){this.tabs_current_index!=b.index&&b.setOpacity(0.7)}.bind(this))}.bind(this));this.current_tab.setOpacity(1);new Effect.Move(this.tabs_wrapper,{y:0,x:0,mode:"absolute",duration:0.1})},show_tab:function(){this.current_tab.setOpacity(0.7);this.current_tab.panel.hide();this.current_tab.removeClassName("current");this.current_tab=this.tabs[this.tabs_current_index];Effect.Appear(this.current_tab.panel,{duration:0.5});this.current_tab.addClassName("current");
this.current_tab.setOpacity(1)},next_tab:function($super){this.tabs_current_index<this.tabs_count-this.tabs_visible?($super(),new_position=this.tabs_current_index*-this.distance,this.direction=="y"?new Effect.Move(this.tabs_wrapper,{y:new_position,x:0,mode:"absolute",duration:0.5}):new Effect.Move(this.tabs_wrapper,{y:0,x:new_position,mode:"absolute",duration:0.5})):($super(),this.tabs_current_index==0&&new Effect.Move(this.tabs_wrapper,{y:0,x:0,mode:"absolute",duration:0.5}))},previous_tab:function($super){this.tabs_current_index>=
this.tabs_count-(this.tabs_count-1)?($super(),this.tabs_current_index<this.tabs_count-(this.tabs_visible-1)&&(new_position=this.tabs_current_index*-this.distance,this.direction=="y"?new Effect.Move(this.tabs_wrapper,{y:new_position,x:0,mode:"absolute",duration:0.5}):new Effect.Move(this.tabs_wrapper,{y:0,x:new_position,mode:"absolute",duration:0.5}))):($super(),this.tabs_current_index==this.tabs_count-1&&(new_position=(this.tabs_count-this.tabs_visible)*-this.distance,this.direction=="y"?new Effect.Move(this.tabs_wrapper,
{y:new_position,x:0,mode:"absolute",duration:0.5}):new Effect.Move(this.tabs_wrapper,{y:0,x:new_position,mode:"absolute",duration:0.5})))}});Object.extend(Math,{format_number:function(a,b){number_return="";number_array=$A();number_array=String(a).split(".");b=Object.extend({decimals:2,currency:"$",format_whole:!0,delim_whole:",",delim_decimal:"."},b);prefix=b.currency?b.currency:"";whole_number=typeof number_array[0]!="undefined"?number_array[0]:"0";if(b.format_whole)for(var c=/(\d+)(\d{3})/;c.test(whole_number);)whole_number=whole_number.replace(c,"$1"+b.delim_whole+"$2");number_return+=prefix+whole_number;if(b.decimals){if(typeof number_array[1]!=
"undefined")remainder=number_array[1];else{remainder="";for(c=0;c<b.decimals;c++)remainder+="0"}number_return+=b.delim_decimal;for(var d=$A(),c=0;c<b.decimals;c++)d[c]=remainder.charAt(c)!=""?remainder.charAt(c):"0";number_return+=d.join("")}return number_return}});var Tooltip=Class.create({initialize:function(a){this.target=a.target;this.title=this.target.title;this.target.title="";this.container=Builder.node("div",{id:this.target.id+"-tool-tip",className:"tool-tip",style:"display:none;"});this.target.on("mouseenter",this.show_tooltip.bind(this));this.target.on("mouseleave",this.hide_tooltip.bind(this));document.body.appendChild(this.container);live.tooltips.set(this.target.id+"-tool-tip",this)},position:function(){if(!live.mouse)return!1;this.container.setStyle({top:live.mouse.y+
20+"px",left:live.mouse.x+"px"})},show_tooltip:function(){this.handler=this.position.bind(this);document.on("mousemove",this.handler);this.container.update(this.title);this.container.show()},hide_tooltip:function(){Event.stopObserving(document,"mousemove",this.handler);this.container.hide()}});document.on("dom:loaded",function(){$$(".tool-tip-target").each(function(a){a&&new Tooltip({target:a})})});var LiveForm=Class.create({initialize:function(a){this.container=$(a.container);this.form_name=this.container.name;this.container.on("submit",function(a){this.submit(a)}.bind(this));this.input_list=this.container.getElements();this.inputs=$H();this.valid_inputs=$H();this.invalid_inputs=$H();this.input_list.each(function(a){this.inputs.set(a.name,a.value)}.bind(this));live.forms.set(this.container.name,this)},validate:function(){this.input_list.each(function(a){this.inputs.set(a.name,a.value);a.type!=
"submit"&&this.validate_input(a)}.bind(this));return this.invalid_inputs.keys().length==0?!0:!1},validate_input:function(a){this.current_input=this.container[a.name];this.valid_inputs.unset(a.name);this.invalid_inputs.unset(a.name);this.current_input[0]?this.current_input.type=="select-one"&&this.current_input.hasClassName("valid-select")?this.current_input.value.empty()?(this.invalid_inputs.set(this.current_input.name,"select"),this.current_input.addClassName("invalid")):(this.valid_inputs.set(this.current_input.name),
this.current_input.removeClassName("invalid")):this.current_input[0].hasClassName("valid-bit")&&(a=$A(this.current_input),radio_is_checked=!1,a.each(function(a){if(a.checked)throw this.valid_inputs.set(this.current_input[0].name),this.invalid_inputs.unset(this.current_input[0].name),$break;else this.invalid_inputs.set(a.name,"radio"),a.addClassName("invalid")}.bind(this))):this.current_input[0]||(this.current_input.hasClassName("valid-checkbox")?this.current_input.checked?(this.valid_inputs.set(this.current_input.name),
this.current_input.removeClassName("invalid")):(this.invalid_inputs.set(this.current_input.name,"valid-checkbox"),this.current_input.addClassName("invalid")):live.regex.keys().each(function(a){if(this.current_input.hasClassName("valid-"+a))throw a=="empty"?this.current_input.value.empty()?(this.invalid_inputs.set(this.current_input.name,a),this.current_input.addClassName("invalid")):(this.valid_inputs.set(this.current_input.name),this.current_input.removeClassName("invalid")):live.regex.get(a).test(this.current_input.value)?
this.current_input.value.empty()?(this.invalid_inputs.set(this.current_input.name,a),this.current_input.addClassName("invalid")):(this.valid_inputs.set(this.current_input.name),this.current_input.removeClassName("invalid")):(this.invalid_inputs.set(this.current_input.name,a),this.current_input.addClassName("invalid")),$break;}.bind(this)))},submit:function(a){this.container.disable();if(this.validate())if(this.container.enable(),this.custom_success_function)Event.stop(a),this.custom_success_function();
else return!0;else if(Event.stop(a),this.container.enable(),this.custom_failure_function)this.custom_failure_function();else return!1},success:function(a){this.custom_success_function=a.methodize()},failure:function(a){this.custom_failure_function=a.methodize()},request:function(a){this.container.request(a)},reset:function(){this.container.reset()}});document.on("dom:loaded",function(){$$(".live-form").each(function(a){a&&new LiveForm({container:a.id})})});var Loader=Class.create({initialize:function(){},display:function(a){a||(a={});a.container="modal-loader";a.minimize=!1;a.drag=!1;a.title_height="0";a.content="<div id='loading-title'>"+(a.title?a.title:"")+"</div>";live.canopy.display();live.canopy.btn_close.hide();this.popup=new Popup(a);this.popup.controls_container.hide();live.keys.stop_looking_for("esc");a.img&&this.popup.content.setStyle("background-image:url("+a.img+")")},close:function(){this.popup&&this.popup.close();live.canopy.close()}});

