/*
 * Facebox (for jQuery)
 * version: 1.2 (05/05/2008)
 * @requires jQuery v1.2 or later
 * Licensed under the MIT:
 * http://www.opensource.org/licenses/mit-license.php
 * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
 * Modified for Yakima by Nathan Searles (nathan.searles@pollinatemedia.com) at Pollinate Media
 */
(function(jQuery){jQuery.facebox=function(data,klass){jQuery.facebox.loading()
if(data.ajax)fillFaceboxFromAjax(data.ajax)
else if(data.image)fillFaceboxFromImage(data.image)
else if(data.div)fillFaceboxFromHref(data.div)
else if(jQuery.isFunction(data))data.call(jQuery)
else jQuery.facebox.reveal(data,klass)}
jQuery.extend(jQuery.facebox,{settings:{opacity:0.5,overlay:true,loadingImage:'/configurator/yakima_configurator_loading.gif',closeImage:'/configurator/yakima_configurator_close.png',imageTypes:['png','jpg','jpeg','gif'],faceboxHtml:'\
    <div id="yakima_configurator" style="display:none;"> \
     <div class="yakima_configurator_body"> \
       <a href="#" class="yakima_configurator_close"> \
         <img src="/configurator/yakima_configurator_close.png" title="close" class="yakima_configurator_close_image" /> \
       </a> \
       <div class="yakima_configurator_content"> \
       </div> \
     </div> \
    </div>'},loading:function(){init()
if(jQuery('#yakima_configurator .yakima_configurator_loading').length==1)return true
showOverlay()
jQuery('#yakima_configurator .yakima_configurator_content').empty()
jQuery('#yakima_configurator .yakima_configurator_body').children().hide().end().append('<div class="yakima_configurator_loading"><img src="'+jQuery.facebox.settings.loadingImage+'"/></div>')
jQuery('#yakima_configurator').css({top:getPageScroll()[1]+(getPageHeight()/10),left:jQuery(window).width()/2-(300)}).show()
jQuery(document).bind('keydown.yakima_configurator',function(e){if(e.keyCode==27)jQuery.facebox.close()
return true})
jQuery(document).trigger('loading.yakima_configurator')},reveal:function(data,klass){jQuery(document).trigger('beforeReveal.yakima_configurator')
if(klass)jQuery('#yakima_configurator .yakima_configurator_content').addClass(klass)
jQuery('#yakima_configurator .yakima_configurator_content').append(data)
jQuery('#yakima_configurator .yakima_configurator_loading').remove()
jQuery('#yakima_configurator .yakima_configurator_body').children().fadeIn(0)
jQuery('#yakima_configurator').css('left',jQuery(window).width()/2-(jQuery('#yakima_configurator div.yakima_configurator_content').width()/2))
jQuery(document).trigger('reveal.yakima_configurator').trigger('afterReveal.yakima_configurator')},close:function(){jQuery(document).trigger('close.yakima_configurator')
return false}})
jQuery.fn.facebox=function(settings){init(settings)
function clickHandler(){jQuery.facebox.loading(true)
var klass=this.rel.match(/facebox\[?\.(\w+)\]?/)
if(klass)klass=klass[1]
fillFaceboxFromHref(this.href,klass)
return false}
return this.click(clickHandler)}
function init(settings){if(jQuery.facebox.settings.inited)return true
else jQuery.facebox.settings.inited=true
jQuery(document).trigger('init.yakima_configurator')
makeCompatible()
var imageTypes=jQuery.facebox.settings.imageTypes.join('|')
jQuery.facebox.settings.imageTypesRegexp=new RegExp('\.'+imageTypes+'jQuery','i')
if(settings)jQuery.extend(jQuery.facebox.settings,settings)
jQuery('body').append(jQuery.facebox.settings.faceboxHtml)
var preload=[new Image(),new Image()]
preload[0].src=jQuery.facebox.settings.closeImage
preload[1].src=jQuery.facebox.settings.loadingImage
jQuery('#yakima_configurator .yakima_configurator_close').click(jQuery.facebox.close)
jQuery('#yakima_configurator .yakima_configurator_close_image').attr('src',jQuery.facebox.settings.closeImage)}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
return new Array(xScroll,yScroll)}
function getPageHeight(){var windowHeight
if(self.innerHeight){windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}else if(document.body){windowHeight=document.body.clientHeight;}
return windowHeight}
function makeCompatible(){var jQuerys=jQuery.facebox.settings
jQuerys.loadingImage=jQuerys.loading_image||jQuerys.loadingImage
jQuerys.closeImage=jQuerys.close_image||jQuerys.closeImage
jQuerys.imageTypes=jQuerys.image_types||jQuerys.imageTypes
jQuerys.faceboxHtml=jQuerys.facebox_html||jQuerys.faceboxHtml}
function fillFaceboxFromHref(href,klass){if(href.match(/#/)){var url=window.location.href.split('#')[0]
var target=href.replace(url,'')
jQuery.facebox.reveal(jQuery(target).clone().show(),klass)}else if(href.match(jQuery.facebox.settings.imageTypesRegexp)){fillFaceboxFromImage(href,klass)}else{fillFaceboxFromAjax(href,klass)}}
function fillFaceboxFromImage(href,klass){var image=new Image()
image.onload=function(){jQuery.facebox.reveal('<div class="yakima_configurator_image"><img src="'+image.src+'" /></div>',klass)}
image.src=href}
function fillFaceboxFromAjax(href,klass){jQuery.get(href,function(data){jQuery.facebox.reveal(data,klass)})}
function skipOverlay(){return jQuery.facebox.settings.overlay==false||jQuery.facebox.settings.opacity===null}
function showOverlay(){if(skipOverlay())return
if(jQuery('yakima_configurator_overlay').length==0)
jQuery("body").append('<div id="yakima_configurator_overlay" class="yakima_configurator_hide"></div>')
jQuery('#yakima_configurator_overlay').hide().addClass("yakima_configurator_overlayBG").css('opacity',jQuery.facebox.settings.opacity).fadeIn(200)
return false}
function hideOverlay(){if(skipOverlay())return
jQuery('#yakima_configurator_overlay').fadeOut(200,function(){jQuery("#yakima_configurator_overlay").removeClass("yakima_configurator_overlayBG")
jQuery("#yakima_configurator_overlay").addClass("yakima_configurator_hide")
jQuery("#yakima_configurator_overlay").remove()})
return false}
jQuery(document).bind('close.yakima_configurator',function(){jQuery(document).unbind('keydown.yakima_configurator')
jQuery('#yakima_configurator').fadeOut(0,function(){jQuery('#yakima_configurator .yakima_configurator_content').removeClass().addClass('yakima_configurator_content')
hideOverlay()
jQuery('#yakima_configurator .yakima_configurator_loading').remove()})})})(jQuery);