/* File: js/modalbox.js, Ratio: 36.6% */

if(Object.isUndefined(Prototype.Browser.IE6)){Prototype.Browser.IE6=(navigator.appName.indexOf("Microsoft Internet Explorer")!=-1&&navigator.appVersion.indexOf("MSIE 6.0")!=-1&&!window.XMLHttpRequest);}
if(!window.FeatureBox)
var FeatureBox={};FeatureBox.Methods={overrideAlert:false,focusableElements:[],currFocused:0,initialized:false,active:true,options:{title:"African Tusk Clothing",overlayClose:true,width:800,height:90,overlayOpacity:0.65,overlayDuration:0.25,slideDownDuration:0.5,slideUpDuration:0.5,resizeDuration:0.25,inactiveFade:true,transitions:true,loadingString:"Please wait. Loading...",closeString:"Close window",closeValue:"&times;",params:{},method:'get',autoFocusing:true,aspnet:false,resizeCSSID:''},_options:{},setOptions:function(options){Object.extend(this.options,options||{});},_init:function(options){Object.extend(this._options,this.options);this.setOptions(options);this.MBoverlay=new Element("div",{id:"MB_overlay",style:"opacity: 0"});this.MBwindowwrapper=new Element("div",{id:"MB_windowwrapper"}).update(this.MBwindow=new Element("div",{id:"MB_window",style:"display: none"}).update(this.MBframe=new Element("div",{id:"MB_frame"}).update(this.MBheader=new Element("div",{id:"MB_header"}).update(this.MBcaption=new Element("div",{id:"MB_caption"})))));this.MBclose=new Element("a",{id:"MB_close",title:this.options.closeString,href:"#"}).update("<span>"+this.options.closeValue+"</span>");this.MBheader.insert({'bottom':this.MBclose});this.MBcontent=new Element("div",{id:"MB_content"}).update(this.MBloading=new Element("div",{id:"MB_loading"}).update(this.options.loadingString));this.MBframe.insert({'bottom':this.MBcontent});var injectToEl=this.options.aspnet?$(document.body).down('form'):$(document.body);injectToEl.insert({'top':this.MBwindowwrapper});injectToEl.insert({'top':this.MBoverlay});var scrollOffsets=document.viewport.getScrollOffsets();if(scrollOffsets[1]>0){$('MB_window').setStyle({top:scrollOffsets[1]+'px'});}
Event.observe(window,'scroll',function(){scrollOffsets=document.viewport.getScrollOffsets();$('MB_window').setStyle({top:scrollOffsets[1]+'px'});});this.initScrollX=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;this.initScrollY=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;this.hideObserver=this._hide.bindAsEventListener(this);this.kbdObserver=this._kbdHandler.bindAsEventListener(this);this.resizeObserver=this._setWidthAndPosition.bindAsEventListener(this);this._initObservers();this.initialized=true;},show:function(content,options){if(!this.initialized)this._init(options);this._cleanUpContentIDs();this.content=content;this.setOptions(options);if(this.options.title){this.MBcaption.update(this.options.title);}else{this.MBheader.hide();this.MBcaption.hide();}
if(this.MBwindow.style.display=="none"){this._appear();this.event("onShow");}else{this._update();this.event("onUpdate");}},hide:function(options){if(this.initialized){if(options&&!Object.isFunction(options.element))
Object.extend(this.options,options);this.event("beforeHide");if(this.options.transitions){Effect.SlideUp(this.MBwindow,{duration:this.options.slideUpDuration,transition:Effect.Transitions.sinoidal,afterFinish:this._deinit.bind(this)});}else{this.MBwindow.hide();this._deinit();}
Event.stopObserving(window,'scroll');}else{throw("Modalbox is not initialized.");}},_hide:function(event){event.stop();if(event.element().id=='MB_overlay'&&!this.options.overlayClose)return false;this.hide();},alert:function(message){var html='<div class="MB_alert"><p>'+message+'</p><input type="button" onclick="Modalbox.hide()" value="OK" /></div>';Modalbox.show(html,{title:'Alert: '+document.title,width:300});},_appear:function(){if(Prototype.Browser.IE6){window.scrollTo(0,0);this._prepareIEHtml("100%","hidden");this._prepareIESelects("hidden");}
this._setWidth();if(this.options.transitions){this.MBoverlay.setOpacity(0);new Effect.Fade(this.MBoverlay,{from:0,to:this.options.overlayOpacity,duration:this.options.overlayDuration,afterFinish:(function(){new Effect.SlideDown(this.MBwindow,{duration:this.options.slideDownDuration,transition:Effect.Transitions.sinoidal,afterFinish:this.loadContent.bind(this)});}).bind(this)});}else{this.MBoverlay.setOpacity(this.options.overlayOpacity);this.MBwindow.show();this.loadContent();}
Event.observe(window,"resize",this.resizeObserver);},resize:function(byWidth,byHeight,options){var oWidth=$(this.MBoverlay).getWidth();var wHeight=$(this.MBwindow).getHeight();var wWidth=$(this.MBwindow).getWidth();var hHeight=$(this.MBheader).getHeight();var cHeight=$(this.MBcontent).getHeight();var newHeight=((wHeight-hHeight+byHeight)<cHeight)?(cHeight+hHeight):(wHeight+byHeight);var el=$(this.MBwindow);var contentEl=$(this.MBcontent);var windowBottomMargin=10;newHeight+=windowBottomMargin;var windowOffset=(parseInt(el.getStyle('margin-top'),0)+parseInt(el.getStyle('margin-bottom'),0)+parseInt(el.getStyle('border-top-width'),0)+parseInt(el.getStyle('border-bottom-width'),0))+windowBottomMargin;var contentPadding=(parseInt(contentEl.getStyle('padding-top'))+parseInt(contentEl.getStyle('padding-bottom')));if((newHeight+windowOffset+contentPadding)>document.viewport.getHeight()){newHeight=document.viewport.getHeight()-windowOffset-windowBottomMargin;newcHeight=newHeight-hHeight-parseInt($(this.MBframe).getStyle('padding-bottom'),0)-parseInt($(this.MBcontent).getStyle('padding-bottom'),0);$(this.MBcontent).setStyle({height:newcHeight+'px'});}else if($(this.MBcontent).getStyle('height')){$(this.MBcontent).setStyle({height:''});}
var newWidth=wWidth+byWidth;var newStyle={width:newWidth+"px",height:newHeight+"px"};this.options.width=newWidth;if(options)this.setOptions(options);if(this.options.transitions&&!Modalbox.animating){Modalbox.animating=true;new Effect.Morph(this.MBwindow,{style:newStyle,duration:this.options.resizeDuration,beforeStart:function(fx){fx.element.setStyle({overflow:"hidden"});},afterFinish:(function(fx){fx.element.setStyle({overflow:"visible"});this.event("_afterResize");this.event("afterResize");Modalbox.animating=false;}).bind(this)});}else{this.MBwindow.setStyle(newStyle);(function(){this.event("_afterResize");this.event("afterResize");}).bind(this).defer();}},resizeToContent:function(options){if(typeof options=="undefined"){options={};}
var mbimages=$('MB_content').select('img');var totalimages=mbimages.length;if(mbimages[0]){if(typeof options.imagesloaded=="undefined"){var loadedImages=$A();var loadedImageTotal=0;mbimages.each(function(o,idx){loadedImages[idx]=new Image();loadedImages[idx].src=o.src;loadedImages[idx].onload=function(){loadedImageTotal++;if(loadedImageTotal==totalimages){var imageincomplete=false;mbimages.each(function(i){if(i.height==0){imageincomplete=true;}});if(imageincomplete||Modalbox.animating){Modalbox.resizeToContent();}else{options.imagesloaded=true;Modalbox.resizeToContent(options);}}}})}}
var byWidth=0,byHeight=this.options.height-this.MBwindow.getHeight();if(options.resizeCSSID&&$(options.resizeCSSID)){byWidth=$(options.resizeCSSID).getWidth()-$(this.MBwindow).getWidth()+(parseInt($(this.MBcontent).getStyle('padding-left'),0)+parseInt($(this.MBcontent).getStyle('padding-right'),0))+15;}
if(byHeight!=0){this.resize(byWidth,byHeight,options);}},resizeToInclude:function(element,options){var el=$(element);var elHeight=el.getHeight()+parseInt(el.getStyle('margin-top'),0)+parseInt(el.getStyle('margin-bottom'),0)+parseInt(el.getStyle('border-top-width'),0)+parseInt(el.getStyle('border-bottom-width'),0);if(elHeight>0){this.resize(0,elHeight,options);}},_update:function(){this.MBcontent.update($(this.MBloading).update(this.options.loadingString));this.loadContent();},loadContent:function(){if(this.event("beforeLoad")!=false){if(typeof this.content=='string'){var htmlRegExp=new RegExp(/<\/?[^>]+>/gi);if(htmlRegExp.test(this.content)){this._processContent(this.content);}else{new Ajax.Request(this.content,{method:this.options.method.toLowerCase(),parameters:this.options.params,onComplete:(function(response){this._processContent(response.responseText);}).bind(this),onException:function(instance,exception){Modalbox.hide();throw('Modalbox Loading Error: '+exception);}});}}else if(typeof this.content=='object'){this._insertContent(this.content);}else{this.hide();throw('Modalbox Parameters Error: Please specify correct URL or HTML element (plain HTML or object)');}}},_processContent:function(content){var html=content.stripScripts(),scripts=content.extractScripts();this._insertContent(html,function(){scripts.map(function(script){return eval(script.replace("<!--","").replace("// -->",""));},window);});},_insertContent:function(content,callback){this.MBcontent.hide().update();if(typeof content=='string'){this.MBcontent.insert(new Element("div",{style:"display: none"}).update(content)).down().show();}else if(typeof content=='object'){var _htmlObj=content.cloneNode(true);if(content.id)content.id="MB_"+content.id;$(content).select('*[id]').each(function(el){el.id="MB_"+el.id;});this.MBcontent.insert(_htmlObj).down('div').show();if(Prototype.Browser.IE6){this._prepareIESelects("","#MB_content ");}}
if(this.options.height==this._options.height){this.resize((this.options.width-$(this.MBwindow).getWidth()),this.MBcontent.getHeight()-$(this.MBwindow).getHeight()+this.MBheader.getHeight(),{afterResize:(function(){this._putContent.bind(this,callback).defer();}).bind(this)});}else{this._setWidth();this.MBcontent.setStyle({overflow:'auto',height:this.MBwindow.getHeight()-this.MBheader.getHeight()-13+'px'});this._putContent.bind(this,callback).defer();}},_putContent:function(callback){this.MBcontent.show();this._findFocusableElements();this._setFocus();if(Object.isFunction(callback))
callback();this.event("afterLoad");},activate:function(options){this.setOptions(options);this.active=true;if(this.options.overlayClose)
this.MBoverlay.observe("click",this.hideObserver);this.MBclose.observe("click",this.hideObserver).show();if(this.options.transitions&&this.options.inactiveFade)
new Effect.Appear(this.MBwindow,{duration:this.options.slideUpDuration});},deactivate:function(options){this.setOptions(options);this.active=false;if(this.options.overlayClose)
this.MBoverlay.stopObserving("click",this.hideObserver);this.MBclose.stopObserving("click",this.hideObserver).hide();if(this.options.transitions&&this.options.inactiveFade)
new Effect.Fade(this.MBwindow,{duration:this.options.slideUpDuration,to:0.75});},_initObservers:function(){this.MBclose.observe("click",this.hideObserver);if(this.options.overlayClose)
this.MBoverlay.observe("click",this.hideObserver);var kbdEvent=(Prototype.Browser.Gecko||Prototype.Browser.Opera)?"keypress":"keydown";Event.observe(document,kbdEvent,this.kbdObserver);},_removeObservers:function(){this.MBclose.stopObserving("click",this.hideObserver);if(this.options.overlayClose)
this.MBoverlay.stopObserving("click",this.hideObserver);var kbdEvent=(Prototype.Browser.Gecko||Prototype.Browser.Opera)?"keypress":"keydown";Event.stopObserving(document,kbdEvent,this.kbdObserver);},_setFocus:function(){if(this.focusableElements.length>0&&this.options.autoFocusing==true){var firstEl=this.focusableElements.find(function(el){return el.tabIndex==1;})||this.focusableElements.first();this.currFocused=this.focusableElements.toArray().indexOf(firstEl);firstEl.focus();}else if(this.MBclose.visible()){this.MBclose.focus();}},_findFocusableElements:function(){if(this.options.autoFocusing===true){this.MBcontent.select('input:not([type=hidden]):enabled, select, textarea, button, a[href]').invoke('addClassName','MB_focusable');this.focusableElements=this.MBcontent.select('.MB_focusable');}},_kbdHandler:function(event){var node=event.element();switch(event.keyCode){case Event.KEY_TAB:event.stop();if(node!=this.focusableElements[this.currFocused])
this.currFocused=this.focusableElements.indexOf(node);if(!event.shiftKey){if(this.currFocused>=this.focusableElements.length-1){this.currFocused=0;}else{this.currFocused++;}}else{if(this.currFocused<=0){this.currFocused=this.focusableElements.length-1;}else{this.currFocused--;}}
this.focusableElements[this.currFocused].focus();break;case Event.KEY_ESC:if(this.active)this._hide(event);break;case 32:this._preventScroll(event);break;case 0:if(event.which==32)this._preventScroll(event);break;case Event.KEY_UP:case Event.KEY_DOWN:case Event.KEY_PAGEDOWN:case Event.KEY_PAGEUP:case Event.KEY_HOME:case Event.KEY_END:var tagName=node.tagName.toLowerCase();if(Prototype.Browser.WebKit&&!["textarea","select"].include(tagName)){event.stop();}else if((tagName=="input"&&["submit","button"].include(node.type))||(tagName=="a")){event.stop();}
break;}},_preventScroll:function(event){if(!["input","textarea","select","button"].include(event.element().tagName.toLowerCase()))
event.stop();},_deinit:function(){this._removeObservers();Event.stopObserving(window,"resize",this.resizeObserver);if(this.options.transitions){Effect.toggle(this.MBoverlay,'appear',{duration:this.options.overlayDuration,afterFinish:this._removeElements.bind(this)});}else{this.MBoverlay.hide();this._removeElements();}
this.MBcontent.setStyle({overflow:'',height:''});},_cleanUpContentIDs:function(){if(typeof this.content=='object'){if(this.content.id&&this.content.id.match(/MB_/)){this.content.id=this.content.id.replace(/MB_/,"");}
this.content.select('*[id]').each(function(el){el.id=el.id.replace(/MB_/,"");});}},_removeElements:function(){if(Prototype.Browser.Opera){window.scrollBy(0,0);}
this.MBoverlay.remove();$(this.MBwindowwrapper).remove();if(Prototype.Browser.IE6){this._prepareIEHtml("","");this._prepareIESelects("");window.scrollTo(this.initScrollX,this.initScrollY);}
this._cleanUpContentIDs();this.initialized=false;this.event("afterHide");this.setOptions(this._options);},_setWidth:function(){this.MBwindow.setStyle({width:this.options.width+"px",height:this.options.height+"px"});},_setWidthAndPosition:function(){this.MBwindow.setStyle({width:this.options.width+"px"});},_prepareIEHtml:function(height,overflow){$$('html, body').invoke('setStyle',{width:height,height:height,overflow:overflow});},_prepareIESelects:function(visibility,prefix){$$((prefix||"")+"select").invoke('setStyle',{'visibility':visibility});},event:function(eventName){var r=true;if(this.options[eventName]){var returnValue=this.options[eventName]();this.options[eventName]=null;if(!Object.isUndefined(returnValue))
r=returnValue;}
return r;}};if(!window.Modalbox)
var Modalbox={};Modalbox.Methods={overrideAlert:false,focusableElements:[],currFocused:0,initialized:false,active:true,options:{title:"African Tusk Clothing",overlayClose:true,width:500,height:90,overlayOpacity:0.65,overlayDuration:0.25,slideDownDuration:0.5,slideUpDuration:0.5,resizeDuration:0.25,inactiveFade:true,transitions:true,loadingString:"Please wait. Loading...",closeString:"Close window",closeValue:"&times;",params:{},method:'get',autoFocusing:true,aspnet:false,resizeCSSID:''},_options:{},setOptions:function(options){Object.extend(this.options,options||{});},_init:function(options){Object.extend(this._options,this.options);this.setOptions(options);this.MBoverlay=new Element("div",{id:"MB_overlay",style:"opacity: 0"});this.MBwindowwrapper=new Element("div",{id:"MB_windowwrapper"}).update(this.MBwindow=new Element("div",{id:"MB_window",style:"display: none"}).update(this.MBframe=new Element("div",{id:"MB_frame"}).update(this.MBheader=new Element("div",{id:"MB_header"}).update(this.MBcaption=new Element("div",{id:"MB_caption"})))));this.MBclose=new Element("a",{id:"MB_close",title:this.options.closeString,href:"#"}).update("<span>"+this.options.closeValue+"</span>");this.MBheader.insert({'bottom':this.MBclose});this.MBcontent=new Element("div",{id:"MB_content"}).update(this.MBloading=new Element("div",{id:"MB_loading"}).update(this.options.loadingString));this.MBframe.insert({'bottom':this.MBcontent});var injectToEl=this.options.aspnet?$(document.body).down('form'):$(document.body);injectToEl.insert({'top':this.MBwindowwrapper});injectToEl.insert({'top':this.MBoverlay});var scrollOffsets=document.viewport.getScrollOffsets();if(scrollOffsets[1]>0){$('MB_window').setStyle({top:scrollOffsets[1]+'px'});}
Event.observe(window,'scroll',function(){scrollOffsets=document.viewport.getScrollOffsets();$('MB_window').setStyle({top:scrollOffsets[1]+'px'});});this.initScrollX=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft;this.initScrollY=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;this.hideObserver=this._hide.bindAsEventListener(this);this.kbdObserver=this._kbdHandler.bindAsEventListener(this);this.resizeObserver=this._setWidthAndPosition.bindAsEventListener(this);this._initObservers();this.initialized=true;},show:function(content,options){if(!this.initialized)this._init(options);this._cleanUpContentIDs();this.content=content;this.setOptions(options);if(this.options.title){this.MBcaption.update(this.options.title);}else{this.MBheader.hide();this.MBcaption.hide();}
if(this.MBwindow.style.display=="none"){this._appear();this.event("onShow");}else{this._update();this.event("onUpdate");}},hide:function(options){if(this.initialized){if(options&&!Object.isFunction(options.element))
Object.extend(this.options,options);this.event("beforeHide");if(this.options.transitions){Effect.SlideUp(this.MBwindow,{duration:this.options.slideUpDuration,transition:Effect.Transitions.sinoidal,afterFinish:this._deinit.bind(this)});}else{this.MBwindow.hide();this._deinit();}
Event.stopObserving(window,'scroll');}else{throw("Modalbox is not initialized.");}},_hide:function(event){event.stop();if(event.element().id=='MB_overlay'&&!this.options.overlayClose)return false;this.hide();},alert:function(message){var html='<div class="MB_alert"><p>'+message+'</p><input type="button" onclick="Modalbox.hide()" value="OK" /></div>';Modalbox.show(html,{title:'Alert: '+document.title,width:300});},_appear:function(){if(Prototype.Browser.IE6){window.scrollTo(0,0);this._prepareIEHtml("100%","hidden");this._prepareIESelects("hidden");}
this._setWidth();if(this.options.transitions){this.MBoverlay.setOpacity(0);new Effect.Fade(this.MBoverlay,{from:0,to:this.options.overlayOpacity,duration:this.options.overlayDuration,afterFinish:(function(){new Effect.SlideDown(this.MBwindow,{duration:this.options.slideDownDuration,transition:Effect.Transitions.sinoidal,afterFinish:this.loadContent.bind(this)});}).bind(this)});}else{this.MBoverlay.setOpacity(this.options.overlayOpacity);this.MBwindow.show();this.loadContent();}
Event.observe(window,"resize",this.resizeObserver);},resize:function(byWidth,byHeight,options){var oWidth=$(this.MBoverlay).getWidth();var wHeight=$(this.MBwindow).getHeight();var wWidth=$(this.MBwindow).getWidth();var hHeight=$(this.MBheader).getHeight();var cHeight=$(this.MBcontent).getHeight();var newHeight=((wHeight-hHeight+byHeight)<cHeight)?(cHeight+hHeight):(wHeight+byHeight);var el=$(this.MBwindow);var contentEl=$(this.MBcontent);var windowBottomMargin=10;newHeight+=windowBottomMargin;var windowOffset=(parseInt(el.getStyle('margin-top'),0)+parseInt(el.getStyle('margin-bottom'),0)+parseInt(el.getStyle('border-top-width'),0)+parseInt(el.getStyle('border-bottom-width'),0))+windowBottomMargin;var contentPadding=(parseInt(contentEl.getStyle('padding-top'))+parseInt(contentEl.getStyle('padding-bottom')));if((newHeight+windowOffset+contentPadding)>document.viewport.getHeight()){newHeight=document.viewport.getHeight()-windowOffset-windowBottomMargin;newcHeight=newHeight-hHeight-parseInt($(this.MBframe).getStyle('padding-bottom'),0)-parseInt($(this.MBcontent).getStyle('padding-bottom'),0);$(this.MBcontent).setStyle({height:newcHeight+'px'});}else if($(this.MBcontent).getStyle('height')){$(this.MBcontent).setStyle({height:''});}
var newWidth=wWidth+byWidth;var newStyle={width:newWidth+"px",height:newHeight+"px"};this.options.width=newWidth;if(options)this.setOptions(options);if(this.options.transitions&&!Modalbox.animating){Modalbox.animating=true;new Effect.Morph(this.MBwindow,{style:newStyle,duration:this.options.resizeDuration,beforeStart:function(fx){fx.element.setStyle({overflow:"hidden"});},afterFinish:(function(fx){fx.element.setStyle({overflow:"visible"});this.event("_afterResize");this.event("afterResize");Modalbox.animating=false;}).bind(this)});}else{this.MBwindow.setStyle(newStyle);(function(){this.event("_afterResize");this.event("afterResize");}).bind(this).defer();}},resizeToContent:function(options){if(typeof options=="undefined"){options={};}
var mbimages=$('MB_content').select('img');var totalimages=mbimages.length;if(mbimages[0]){if(typeof options.imagesloaded=="undefined"){var loadedImages=$A();var loadedImageTotal=0;mbimages.each(function(o,idx){loadedImages[idx]=new Image();loadedImages[idx].src=o.src;loadedImages[idx].onload=function(){loadedImageTotal++;if(loadedImageTotal==totalimages){var imageincomplete=false;mbimages.each(function(i){if(i.height==0){imageincomplete=true;}});if(imageincomplete||Modalbox.animating){Modalbox.resizeToContent();}else{options.imagesloaded=true;Modalbox.resizeToContent(options);}}}})}}
var byWidth=0,byHeight=this.options.height-this.MBwindow.getHeight();if(options.resizeCSSID&&$(options.resizeCSSID)){byWidth=$(options.resizeCSSID).getWidth()-$(this.MBwindow).getWidth()+(parseInt($(this.MBcontent).getStyle('padding-left'),0)+parseInt($(this.MBcontent).getStyle('padding-right'),0))+15;}
if(byHeight!=0){this.resize(byWidth,byHeight,options);}},resizeToInclude:function(element,options){var el=$(element);var elHeight=el.getHeight()+parseInt(el.getStyle('margin-top'),0)+parseInt(el.getStyle('margin-bottom'),0)+parseInt(el.getStyle('border-top-width'),0)+parseInt(el.getStyle('border-bottom-width'),0);if(elHeight>0){this.resize(0,elHeight,options);}},_update:function(){this.MBcontent.update($(this.MBloading).update(this.options.loadingString));this.loadContent();},loadContent:function(){if(this.event("beforeLoad")!=false){if(typeof this.content=='string'){var htmlRegExp=new RegExp(/<\/?[^>]+>/gi);if(htmlRegExp.test(this.content)){this._processContent(this.content);}else{new Ajax.Request(this.content,{method:this.options.method.toLowerCase(),parameters:this.options.params,onComplete:(function(response){this._processContent(response.responseText);}).bind(this),onException:function(instance,exception){Modalbox.hide();throw('Modalbox Loading Error: '+exception);}});}}else if(typeof this.content=='object'){this._insertContent(this.content);}else{this.hide();throw('Modalbox Parameters Error: Please specify correct URL or HTML element (plain HTML or object)');}}},_processContent:function(content){var html=content.stripScripts(),scripts=content.extractScripts();this._insertContent(html,function(){scripts.map(function(script){return eval(script.replace("<!--","").replace("// -->",""));},window);});},_insertContent:function(content,callback){this.MBcontent.hide().update();if(typeof content=='string'){this.MBcontent.insert(new Element("div",{style:"display: none"}).update(content)).down().show();}else if(typeof content=='object'){var _htmlObj=content.cloneNode(true);if(content.id)content.id="MB_"+content.id;$(content).select('*[id]').each(function(el){el.id="MB_"+el.id;});this.MBcontent.insert(_htmlObj).down('div').show();if(Prototype.Browser.IE6){this._prepareIESelects("","#MB_content ");}}
if(this.options.height==this._options.height){this.resize((this.options.width-$(this.MBwindow).getWidth()),this.MBcontent.getHeight()-$(this.MBwindow).getHeight()+this.MBheader.getHeight(),{afterResize:(function(){this._putContent.bind(this,callback).defer();}).bind(this)});}else{this._setWidth();this.MBcontent.setStyle({overflow:'auto',height:this.MBwindow.getHeight()-this.MBheader.getHeight()-13+'px'});this._putContent.bind(this,callback).defer();}},_putContent:function(callback){this.MBcontent.show();this._findFocusableElements();this._setFocus();if(Object.isFunction(callback))
callback();this.event("afterLoad");},activate:function(options){this.setOptions(options);this.active=true;if(this.options.overlayClose)
this.MBoverlay.observe("click",this.hideObserver);this.MBclose.observe("click",this.hideObserver).show();if(this.options.transitions&&this.options.inactiveFade)
new Effect.Appear(this.MBwindow,{duration:this.options.slideUpDuration});},deactivate:function(options){this.setOptions(options);this.active=false;if(this.options.overlayClose)
this.MBoverlay.stopObserving("click",this.hideObserver);this.MBclose.stopObserving("click",this.hideObserver).hide();if(this.options.transitions&&this.options.inactiveFade)
new Effect.Fade(this.MBwindow,{duration:this.options.slideUpDuration,to:0.75});},_initObservers:function(){this.MBclose.observe("click",this.hideObserver);if(this.options.overlayClose)
this.MBoverlay.observe("click",this.hideObserver);var kbdEvent=(Prototype.Browser.Gecko||Prototype.Browser.Opera)?"keypress":"keydown";Event.observe(document,kbdEvent,this.kbdObserver);},_removeObservers:function(){this.MBclose.stopObserving("click",this.hideObserver);if(this.options.overlayClose)
this.MBoverlay.stopObserving("click",this.hideObserver);var kbdEvent=(Prototype.Browser.Gecko||Prototype.Browser.Opera)?"keypress":"keydown";Event.stopObserving(document,kbdEvent,this.kbdObserver);},_setFocus:function(){if(this.focusableElements.length>0&&this.options.autoFocusing==true){var firstEl=this.focusableElements.find(function(el){return el.tabIndex==1;})||this.focusableElements.first();this.currFocused=this.focusableElements.toArray().indexOf(firstEl);firstEl.focus();}else if(this.MBclose.visible()){this.MBclose.focus();}},_findFocusableElements:function(){if(this.options.autoFocusing===true){this.MBcontent.select('input:not([type=hidden]):enabled, select, textarea, button, a[href]').invoke('addClassName','MB_focusable');this.focusableElements=this.MBcontent.select('.MB_focusable');}},_kbdHandler:function(event){var node=event.element();switch(event.keyCode){case Event.KEY_TAB:event.stop();if(node!=this.focusableElements[this.currFocused])
this.currFocused=this.focusableElements.indexOf(node);if(!event.shiftKey){if(this.currFocused>=this.focusableElements.length-1){this.currFocused=0;}else{this.currFocused++;}}else{if(this.currFocused<=0){this.currFocused=this.focusableElements.length-1;}else{this.currFocused--;}}
this.focusableElements[this.currFocused].focus();break;case Event.KEY_ESC:if(this.active)this._hide(event);break;case 32:this._preventScroll(event);break;case 0:if(event.which==32)this._preventScroll(event);break;case Event.KEY_UP:case Event.KEY_DOWN:case Event.KEY_PAGEDOWN:case Event.KEY_PAGEUP:case Event.KEY_HOME:case Event.KEY_END:var tagName=node.tagName.toLowerCase();if(Prototype.Browser.WebKit&&!["textarea","select"].include(tagName)){event.stop();}else if((tagName=="input"&&["submit","button"].include(node.type))||(tagName=="a")){event.stop();}
break;}},_preventScroll:function(event){if(!["input","textarea","select","button"].include(event.element().tagName.toLowerCase()))
event.stop();},_deinit:function(){this._removeObservers();Event.stopObserving(window,"resize",this.resizeObserver);if(this.options.transitions){Effect.toggle(this.MBoverlay,'appear',{duration:this.options.overlayDuration,afterFinish:this._removeElements.bind(this)});}else{this.MBoverlay.hide();this._removeElements();}
this.MBcontent.setStyle({overflow:'',height:''});},_cleanUpContentIDs:function(){if(typeof this.content=='object'){if(this.content.id&&this.content.id.match(/MB_/)){this.content.id=this.content.id.replace(/MB_/,"");}
this.content.select('*[id]').each(function(el){el.id=el.id.replace(/MB_/,"");});}},_removeElements:function(){if(Prototype.Browser.Opera){window.scrollBy(0,0);}
this.MBoverlay.remove();$(this.MBwindowwrapper).remove();if(Prototype.Browser.IE6){this._prepareIEHtml("","");this._prepareIESelects("");window.scrollTo(this.initScrollX,this.initScrollY);}
this._cleanUpContentIDs();this.initialized=false;this.event("afterHide");this.setOptions(this._options);},_setWidth:function(){this.MBwindow.setStyle({width:this.options.width+"px",height:this.options.height+"px"});},_setWidthAndPosition:function(){this.MBwindow.setStyle({width:this.options.width+"px"});},_prepareIEHtml:function(height,overflow){$$('html, body').invoke('setStyle',{width:height,height:height,overflow:overflow});},_prepareIESelects:function(visibility,prefix){$$((prefix||"")+"select").invoke('setStyle',{'visibility':visibility});},event:function(eventName){var r=true;if(this.options[eventName]){var returnValue=this.options[eventName]();this.options[eventName]=null;if(!Object.isUndefined(returnValue))
r=returnValue;}
return r;}};Object.extend(Modalbox,Modalbox.Methods);if(Modalbox.overrideAlert)window.alert=Modalbox.alert;Object.extend(FeatureBox,FeatureBox.Methods);if(FeatureBox.overrideAlert)window.alert=FeatureBox.alert;
