/*
 * Facebox (for jQuery)
 * version: 1.2 (05/05/2008) 
 * Licensed under the MIT:
 *   http://www.opensource.org/licenses/mit-license.php 
 * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
 */

(function($){$.facebox=function(data,klass){$.facebox.loading();if(data.ajax){fillFaceboxFromAjax(data.ajax);}else if(data.image){fillFaceboxFromImage(data.image);}else if(data.div){fillFaceboxFromHref(data.div);}else if($.isFunction(data)){data.call($);}else{$.facebox.reveal(data,klass);}};$.extend($.facebox,{settings:{opacity:0,overlay:true,loadingImage:FULL_URL_BASE+'/themes/default/img/facebox/loading.gif',closeButton:true,closeImage:FULL_URL_BASE+'/themes/default/img/facebox/closelabel.gif',imageTypes:['png','jpg','jpeg','gif'],faceboxHtml:'\
   <div id="facebox" style="display:none;"> \
    <div class="popup"> \
     <table> \
      <tbody> \
       <tr> \
        <td class="tl"/><td class="t"/><td class="tr"/> \
       </tr> \
       <tr> \
        <td class="l"/> \
        <td class="body"> \
         <div class="content-wrapper"> \
          <div class="content"> \
          </div> \
          <div class="footer"> \
           <a href="#" class="close"> \
            <img src="'+FULL_URL_BASE+'/themes/default/img/facebox/closelabel.gif" title="Clique para fechar" /> \
           </a> \
          </div> \
         </div> \
        </td> \
        <td class="r"/> \
       </tr> \
       <tr> \
        <td class="bl"/><td class="b"/><td class="br"/> \
       </tr> \
      </tbody> \
     </table> \
    </div> \
   </div>'},loading:function(){init();if($.facebox.$element.find('.loading').length==1){return true;}
showOverlay();if($.facebox.$element.is(':hidden')){$.facebox.$element.css({top:$(window).height()/2,left:$(window).width()/2});}
$.facebox.reveal('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>');$(document).bind('keydown.facebox',function(e){if(e.keyCode==27){$.facebox.close();}
return true;});$(document).trigger('loading.facebox');},reveal:function(data,klass,empty){var empty=empty||true;var isHidden=$.facebox.$element.is(':hidden');var contentBeforeWidth=$.facebox.$contentWrapper.outerWidth();var contentBeforeHeight=$.facebox.$contentWrapper.outerHeight();$(document).trigger('beforeReveal.facebox');if(klass){$.facebox.$content.addClass(klass);}
if(empty){$.facebox.$content.empty();}
$.facebox.$element.show();$.facebox.$content.append(data);var width=$.facebox.$element.outerWidth();var height=$.facebox.$element.outerHeight();var contentWidth=$.facebox.$contentWrapper.outerWidth();var contentHeight=$.facebox.$contentWrapper.outerHeight();$.facebox.$content.hide();var pageScroll=getPageScroll()[1];var top=Math.min(150,Math.max(0,($(window).height()-height)/3));var left=($(window).width()-width)/2;if(isHidden){$.facebox.$element.css({'top':pageScroll+top,'left':left});}
$.facebox.$contentWrapper.css({'width':contentBeforeWidth,'height':contentBeforeHeight});$.facebox.$contentWrapper.stop().animate({'width':contentWidth,'height':contentHeight},'fast',function(){$.facebox.$contentWrapper.css({'width':'auto','height':'auto'});$.facebox.$content.fadeIn('fast');});$.facebox.$element.stop().animate({'top':pageScroll+top,'left':left},{queue:false, duration:'fast'});$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');},close:function(){$(document).trigger('close.facebox');return false;}});$.fn.facebox=function(settings){init(settings);function clickHandler(e){var klass=$(this).attr('rel').match(/facebox\[?\.(\w+)\]?/);if(klass){klass=klass[1];}
var timerLoading=null;if($('#facebox').is(':hidden')&&$(this).is('form')){$.facebox.loading(true);}else{showOverlay();timerLoading=setTimeout(function(){$.facebox.loading(true);},1000);}
if($(this).is('form')){fillFaceboxFromForm(this,klass,e,timerLoading);}else{$.facebox.$element.find(':input').attr('disabled',true);fillFaceboxFromHref(this.href,klass,timerLoading);}
return false;}
if($(this).is('form')){return this.unbind('submit.facebox').bind('submit.facebox',clickHandler);}
return this.bind('click.facebox',clickHandler);};function init(settings){if($.facebox.settings.inited){return true;}else{$.facebox.settings.inited=true;}
$(document).trigger('init.facebox');makeCompatible();var imageTypes=$.facebox.settings.imageTypes.join('|');$.facebox.settings.imageTypesRegexp=new RegExp('\.'+imageTypes+'$','i');if(settings){$.extend($.facebox.settings,settings);}
$('body').append($.facebox.settings.faceboxHtml);$.facebox.$element=$('#facebox');$.facebox.$body=$.facebox.$element.find('.body:eq(0)');$.facebox.$contentWrapper=$.facebox.$body.find('.content-wrapper:eq(0)');$.facebox.$content=$.facebox.$body.find('.content:eq(0)');$.facebox.$footer=$.facebox.$body.find('.footer:eq(0)');var preload=[new Image(),new Image()];preload[0].src=$.facebox.settings.closeImage;preload[1].src=$.facebox.settings.loadingImage;$.facebox.$element.find(',t, .l, .r, .b, .bl, .br, .tl, .tr').each(function(){preload.push(new Image());preload.slice(-1).src=$(this).css('background-image').replace(/url\((.+)\)/,'$1');});$.facebox.$element.find('.close').click($.facebox.close);$.facebox.$element.find('.close img').attr('src',$.facebox.settings.closeImage);$.facebox.$element.show();$.facebox.heightExtra=$.facebox.$element.outerHeight()-$.facebox.$contentWrapper.outerHeight();$.facebox.widthExtra=$.facebox.$element.outerWidth()-$.facebox.$contentWrapper.outerWidth();$.facebox.$element.hide();};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 $s=$.facebox.settings;$s.loadingImage=$s.loading_image||$s.loadingImage;$s.closeImage=$s.close_image||$s.closeImage;$s.imageTypes=$s.image_types||$s.imageTypes;$s.faceboxHtml=$s.facebox_html||$s.faceboxHtml;}
function fillFaceboxFromHref(href,klass,timer){if(href.match(/#/)){clearTimeout(timer);var url=window.location.href.split('#')[0];var target=href.replace(url,'');$.facebox.reveal($(target).clone().show(),klass);}else if(href.match($.facebox.settings.imageTypesRegexp)){fillFaceboxFromImage(href,klass,timer);}else{fillFaceboxFromAjax(href,klass,timer);}}
function fillFaceboxFromForm(form,klass,e,timer){var $submit=$(e.originalEvent.explicitOriginalTarget);var $form=$(form);var data=$form.serializeArray();var submitName=$submit.attr('name');if($form.parents('#facebox').size()>0){$form.find(':input').attr('disabled',true);}
if(submitName){data.push({name:submitName,value:$submit.val()});}
var href=$form.attr('action');$.facebox.currentUrl=href;$.post(href,data,function(data){clearTimeout(timer);$.facebox.reveal(data,klass);});}
function fillFaceboxFromImage(href,klass,timer){var image=new Image();image.onload=function(){clearTimeout(timer);$.facebox.reveal('<div class="image"><img src="'+image.src+'" /></div>',klass);};image.src=href;}
function fillFaceboxFromAjax(href,klass,timer){$.facebox.currentUrl=href;$.get(href,function(data){clearTimeout(timer);$.facebox.reveal(data,klass);});}
function skipOverlay(){return $.facebox.settings.overlay==false||$.facebox.settings.opacity===null;}
function showOverlay(){if(skipOverlay()){return;}
var $overlay=$('#facebox_overlay');if($overlay.size()==0){$("body").append('<div id="facebox_overlay" class="facebox_hide"></div>');$overlay=$('#facebox_overlay').hide();}
if(!$overlay.is(':visible')){$overlay.addClass("facebox_overlayBG").css({height:$(document).height(),width:$(document).width(),opacity:$.facebox.settings.opacity}).click(function(){$(document).trigger('close.facebox');})
$overlay.fadeIn(200);}else{$overlay.stop().css('opacity',$.facebox.settings.opacity);}
return false;}
function hideOverlay(){if(skipOverlay()){return;}
$('#facebox_overlay').fadeOut(200,function(){$("#facebox_overlay").removeClass("facebox_overlayBG").addClass("facebox_hide").remove();});return false;}
$(document).bind('close.facebox',function(){var close=true;var val=true;close=close&&(val==true||val==undefined);if(!close){return false;}
$(document).unbind('keydown.facebox');$('#facebox').fadeOut(function(){$.facebox.$content.removeClass().addClass('content');hideOverlay();$.facebox.$element.find('.loading').remove();});});})(jQuery);