/**
 * Sexy LightBox - for jQuery 1.3.2
 * @name      sexylightbox.v2.3.js
 * @author    Eduardo D. Sada - http://www.coders.me/web-html-js-css/javascript/sexy-lightbox-2
 * @version   2.3.4
 * @date      10-Nov-2009
 * @copyright (c) 2009 Eduardo D. Sada (www.coders.me)
 * @license   MIT - http://es.wikipedia.org/wiki/Licencia_MIT
 * @example   http://www.coders.me/ejemplos/sexy-lightbox-2/
*/

jQuery.bind=function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=[this].concat(c,$.makeArray(arguments));return b.apply(a,d)}};(function(a){SexyLightbox={getOptions:function(){return{name:"SLB",zIndex:32e3,color:"black",find:"sexylightbox",dir:"scripts/sexyimages",emergefrom:"top",background:"bgSexy.png",backgroundIE:"bgSexy.gif",buttons:"buttons.png",displayed:0,showDuration:200,closeDuration:400,moveDuration:1e3,moveEffect:"easeInOutBack",resizeDuration:1e3,resizeEffect:"easeInOutBack",shake:{distance:10,duration:100,transition:"easeInOutBack",loops:2},BoxStyles:{width:486,height:320},Skin:{white:{hexcolor:"#FFFFFF",captionColor:"#000000","background-color":"#000000",opacity:.6},black:{hexcolor:"#000000",captionColor:"#FFFFFF","background-color":"#000000",opacity:.6},blanco:{hexcolor:"#FFFFFF",captionColor:"#000000","background-color":"#000000",opacity:.6},negro:{hexcolor:"#000000",captionColor:"#FFFFFF","background-color":"#000000",opacity:.6}}}},overlay:{create:function(b){this.options=b;this.element=a('<div id="'+(new Date).getTime()+'"></div>');this.element.css(a.extend({},{position:"absolute",top:0,left:0,opacity:0,display:"none","z-index":this.options.zIndex},this.options.style));this.element.bind("click",a.bind(this,function(a,b){if(this.options.hideOnClick){if(this.options.callback){this.options.callback()}else{this.hide()}}b.preventDefault()}));this.hidden=true;this.inject()},inject:function(){this.target=a(document.body);this.target.append(this.element);if(a.browser.msie&&a.browser.version=="6.0"){var b=parseInt(this.element.css("zIndex"));if(!b){b=1;var c=this.element.css("position");if(c=="static"||!c){this.element.css({position:"relative"})}this.element.css({zIndex:b})}b=!!(this.options.zIndex||this.options.zIndex===0)&&b>this.options.zIndex?this.options.zIndex:b-1;if(b<0){b=1}this.shim=a('<iframe id="IF_'+(new Date).getTime()+'" scrolling="no" frameborder=0 src=""></div>');this.shim.css({zIndex:b,position:"absolute",top:0,left:0,border:"none",opacity:0});this.shim.insertAfter(this.element)}},resize:function(b,c){this.element.css({height:0,width:0});if(this.shim)this.shim.css({height:0,width:0});var d={x:a(document).width(),y:a(document).height()};var e=a.browser.safari?d.x-25<document.body.clientWidth?document.body.clientWidth:d.x:d.x;this.element.css({width:b?b:e,height:c?c:d.y});if(this.shim){this.shim.css({height:0,width:0});this.shim.css({width:b?b:e,height:c?c:d.y})}return this},show:function(){if(!this.hidden)return this;if(this.transition)this.transition.stop();this.target.bind("resize",a.bind(this,this.resize));this.resize();if(this.shim)this.shim.css({display:"block"});this.hidden=false;this.transition=this.element.fadeIn(this.options.showDuration,a.bind(this,function(){this.element.trigger("show")}));return this},hide:function(){if(this.hidden)return this;if(this.transition)this.transition.stop();this.target.unbind("resize");if(this.shim)this.shim.css({display:"none"});this.hidden=true;this.transition=this.element.fadeOut(this.options.closeDuration,a.bind(this,function(){this.element.trigger("hide");this.element.css({height:0,width:0})}));return this}},backwardcompatibility:function(b){this.options.dir=b.imagesdir||b.path||b.folder||b.dir;this.options.OverlayStyles=a.extend(this.options.Skin[this.options.color],this.options.OverlayStyles||{})},preloadimage:function(a){img=new Image;img.src=a},initialize:function(b){this.options=a.extend(this.getOptions(),b);this.backwardcompatibility(this.options);var c=this.options.dir+"/"+this.options.color+"/"+(window.XMLHttpRequest==undefined&&ActiveXObject!=undefined?this.options.backgroundIE:this.options.background);var d=this.options.name;this.preloadimage(c);this.preloadimage(this.options.dir+"/"+this.options.color+"/"+this.options.buttons);this.overlay.create({style:this.options.Skin[this.options.color],hideOnClick:true,zIndex:this.options.zIndex-1,callback:a.bind(this,this.close),showDuration:this.options.showDuration,showEffect:this.options.showEffect,closeDuration:this.options.closeDuration,closeEffect:this.options.closeEffect});this.lightbox={};a("body").append('<div id="'+d+'-Wrapper"><div id="'+d+'-Background"></div><div id="'+d+'-Contenedor"><div id="'+d+'-Top" style="background-image: url('+c+')"><a id="'+d+'-CloseButton" href="#"> </a><div id="'+d+'-TopLeft" style="background-image: url('+c+')"></div></div><div id="'+d+'-Contenido"></div><div id="'+d+'-Bottom" style="background-image: url('+c+')"><div id="'+d+'-BottomRight" style="background-image: url('+c+')"><div id="'+d+'-Navegador"><strong id="'+d+'-Caption"></strong></div></div></div></div></div>');this.Wrapper=a("#"+d+"-Wrapper");this.Background=a("#"+d+"-Background");this.Contenedor=a("#"+d+"-Contenedor");this.Top=a("#"+d+"-Top");this.CloseButton=a("#"+d+"-CloseButton");this.Contenido=a("#"+d+"-Contenido");this.bb=a("#"+d+"-Bottom");this.innerbb=a("#"+d+"-BottomRight");this.Nav=a("#"+d+"-Navegador");this.Descripcion=a("#"+d+"-Caption");this.Wrapper.css({"z-index":this.options.zIndex,display:"none"}).hide();this.Background.css({"z-index":this.options.zIndex+1});this.Contenedor.css({position:"absolute",width:this.options.BoxStyles["width"],"z-index":this.options.zIndex+2});this.Contenido.css({height:this.options.BoxStyles["height"],"border-left-color":this.options.Skin[this.options.color].hexcolor,"border-right-color":this.options.Skin[this.options.color].hexcolor});this.CloseButton.css({"background-image":"url("+this.options.dir+"/"+this.options.color+"/"+this.options.buttons+")"});this.Nav.css({color:this.options.Skin[this.options.color].captionColor});this.Descripcion.css({color:this.options.Skin[this.options.color].captionColor});this.CloseButton.bind("click",a.bind(this,function(){this.close();return false}));a(document).bind("keydown",a.bind(this,function(a,b){if(this.options.displayed==1){if(b.keyCode==27){this.close()}if(b.keyCode==37){if(this.prev){this.prev.trigger("click",b)}}if(b.keyCode==39){if(this.next){this.next.trigger("click",b)}}}}));a(window).bind("resize",a.bind(this,function(){if(this.options.displayed==1){this.replaceBox();this.overlay.resize()}}));a(window).bind("scroll",a.bind(this,function(){if(this.options.displayed==1){this.replaceBox()}}));this.refresh()},hook:function(b){b=a(b);b.blur();this.show(b.attr("title")||b.attr("name")||"",b.attr("href"),b.attr("rel")||false)},close:function(){this.animate(0)},refresh:function(){var b=this;this.anchors=[];a("a, area").each(function(){if(a(this).attr("rel")&&(new RegExp("^"+b.options.find)).test(a(this).attr("rel"))){a(this).click(function(a){a.preventDefault();b.hook(this)});if(!(a(this).attr("id")==b.options.name+"-Left"||a(this).attr("id")==b.options.name+"-Right")){b.anchors.push(this)}}})},animate:function(b){if(this.options.displayed==0&&b!=0||b==1){this.overlay.show();this.options.displayed=1;this.Wrapper.css({display:"block"})}else{this.Wrapper.css({display:"none",top:-(this.options.BoxStyles["height"]+280)}).hide();this.overlay.hide();this.overlay.element.bind("hide",a.bind(this,function(){if(this.options.displayed){if(this.Image)this.Image.remove();this.options.displayed=0}}))}},replaceBox:function(b){var c={x:a(window).width(),y:a(window).height()};var d={x:a(window).scrollLeft(),y:a(window).scrollTop()};var e=this.options.BoxStyles["width"];var f=this.options.BoxStyles["height"];if(this.options.displayed==0){var g=0;var h=0;h=d.x+(c.x-e)/2;if(this.options.emergefrom=="bottom"){g=d.y+c.y+80}else{g=d.y-f-80}this.Wrapper.css({display:"none",top:g,left:h});this.Contenedor.css({width:e});this.Contenido.css({height:f-80})}b=a.extend({},{width:this.lightbox.width,height:this.lightbox.height,resize:0},b);if(this.MoveBox)this.MoveBox.stop();this.MoveBox=this.Wrapper.animate({left:d.x+(c.x-b.width)/2,top:d.y+(c.y-(b.height+(this.navigator?80:48)))/2},{duration:this.options.moveDuration,easing:this.options.moveEffect});if(b.resize){if(this.ResizeBox2)this.ResizeBox2.stop();this.ResizeBox2=this.Contenido.animate({height:b.height},{duration:this.options.resizeDuration,easing:this.options.resizeEffect});if(this.ResizeBox)this.ResizeBox.stop();this.ResizeBox=this.Contenedor.animate({width:b.width},{duration:this.options.resizeDuration,easing:this.options.resizeEffect,complete:function(){a(this).trigger("complete")}})}},getInfo:function(b,c){b=a(b);IEuta=a('<a id="'+this.options.name+"-"+c+'" title="'+b.attr("title")+'" rel="'+b.attr("rel")+'"> </a>');IEuta.css({"background-image":"url("+this.options.dir+"/"+this.options.color+"/"+this.options.buttons+")"});IEuta.attr("href",b.attr("href"));return IEuta},display:function(a,b,c){return this.show(b,a,"",c)},show:function(b,c,d,e){this.showLoading();var f=c.match(/(.+)?/)[1]||c;var g=/\.(jpe?g|png|gif|bmp)/gi;var h=c.match(/\?(.+)/);if(h)h=h[1];var i=this.parseQuery(h);if(this.ResizeBox)this.ResizeBox.unbind("complete");i=a.extend({},{width:0,height:0,modal:0,background:"",title:b},i||{});i["width"]=parseInt(i["width"]);i["height"]=parseInt(i["height"]);i["modal"]=parseInt(i["modal"]);this.overlay.options.hideOnClick=!i["modal"];this.lightbox=a.extend({},i,{width:i["width"]+14});this.navigator=this.lightbox.title?true:false;if(e=="image"||f.match(g)){this.img=new Image;this.img.onload=a.bind(this,function(){this.img.onload=function(){};if(!i["width"]){var b=this.calculate(this.img.width,this.img.height);i["width"]=b.x;i["height"]=b.y;this.lightbox.width=i["width"]+14}this.lightbox.height=i["height"]-(this.navigator?21:35);this.replaceBox({resize:1});this.ResizeBox.bind("complete",a.bind(this,function(){this.showImage(this.img.src,i)}))});this.img.onerror=a.bind(this,function(){this.show("",this.options.imagesdir+"/"+this.options.color+"/404.png",this.options.find)});this.img.src=c}else{this.lightbox.height=i["height"]+(a.browser.opera?2:0);this.replaceBox({resize:1});if(c.indexOf("TB_inline")!=-1){this.ResizeBox.bind("complete",a.bind(this,function(){this.showContent(a("#"+i["inlineId"]).html(),this.lightbox)}))}else if(c.indexOf("TB_iframe")!=-1){var j=c.split("TB_");this.ResizeBox.bind("complete",a.bind(this,function(){this.showIframe(j[0],this.lightbox)}))}else{this.ResizeBox.bind("complete",a.bind(this,function(){a.ajax({url:c,type:"GET",cache:false,error:a.bind(this,function(){this.show("",this.options.imagesdir+"/"+this.options.color+"/404html.png",this.options.find)}),success:a.bind(this,this.handlerFunc)})}))}}this.next=false;this.prev=false;if(d.length>this.options.find.length){this.navigator=true;var k=false;var l=false;var m=this;a.each(this.anchors,function(b){if(a(this).attr("rel")==d&&!l){if(a(this).attr("href")==c){k=true}else{if(k){m.next=m.getInfo(this,"Right");l=true}else{m.prev=m.getInfo(this,"Left")}}}})}this.addButtons();this.showNavBar(b);this.animate(1)},calculate:function(b,c){var d=a(window).width()-100;var e=a(window).height()-100;if(b>d){c=c*(d/b);b=d;if(c>e){b=b*(e/c);c=e}}else if(c>e){b=b*(e/c);c=e;if(b>d){c=c*(d/b);b=d}}return{x:parseInt(b),y:parseInt(c)}},handlerFunc:function(a,b){this.showContent(b,this.lightbox)},addButtons:function(){if(this.prev)this.prev.bind("click",a.bind(this,function(a,b){b.preventDefault();this.hook(this.prev)}));if(this.next)this.next.bind("click",a.bind(this,function(a,b){b.preventDefault();this.hook(this.next)}))},showNavBar:function(){if(this.navigator){this.bb.addClass("SLB-bbnav");this.Nav.empty();this.innerbb.empty();this.innerbb.append(this.Nav);this.Descripcion.html(this.lightbox.title);this.Nav.append(this.prev);this.Nav.append(this.next);this.Nav.append(this.Descripcion)}else{this.bb.removeClass("SLB-bbnav");this.innerbb.empty()}},showImage:function(b,c){this.Background.empty().removeAttr("style").css({width:"auto",height:"auto"}).append('<img id="'+this.options.name+'-Image"/>');this.Image=a("#"+this.options.name+"-Image");this.Image.attr("src",b).css({width:c["width"],height:c["height"]});this.Contenedor.css({background:"none"});this.Contenido.empty().css({"background-color":"transparent",padding:"0px",width:"auto"})},showContent:function(b,c){this.Background.empty().css({width:c["width"]-14,height:c["height"]+35,"background-color":c["background"]||"#ffffff"});this.Contenido.empty().css({width:c["width"]-14,"background-color":c["background"]||"#ffffff"}).append('<div id="'+this.options.name+'-Image"/>');this.Image=a("#"+this.options.name+"-Image");this.Image.css({width:c["width"]-14,height:c["height"],overflow:"auto",background:c["height"]||"#ffffff"}).append(b);this.Contenedor.css({background:"none"})},showIframe:function(b,c,d){this.Background.empty().css({width:c["width"]-14,height:c["height"]+35,"background-color":c["background"]||"#ffffff"});var e="if_"+(new Date).getTime()+"-Image";this.Contenido.empty().css({width:c["width"]-14,"background-color":c["background"]||"#ffffff",padding:"0px"}).append('<iframe id="'+e+'" frameborder="0"></iframe>');this.Image=a("#"+e);this.Image.css({width:c["width"]-14,height:c["height"],background:c["background"]||"#ffffff"}).attr("src",b);this.Contenedor.css({background:"none"})},showLoading:function(){this.Background.empty().removeAttr("style").css({width:"auto",height:"auto"});this.Contenido.empty().css({"background-color":"transparent",padding:"0px",width:"auto"});this.Contenedor.css({background:"url("+this.options.imagesdir+"/"+this.options.color+"/loading.gif) no-repeat 50% 50%"});this.Contenido.empty().css({"background-color":"transparent",padding:"0px",width:"auto"});this.replaceBox(a.extend(this.options.BoxStyles,{resize:1}))},parseQuery:function(a){if(!a)return{};var b={};var c=a.split(/[;&]/);for(var d=0;d<c.length;d++){var e=c[d].split("=");if(!e||e.length!=2)continue;b[unescape(e[0])]=unescape(e[1]).replace(/\+/g," ")}return b},shake:function(){var a=this.options.shake.distance;var b=this.Wrapper.position();b=b.left;for(x=0;x<this.options.shake.loops;x++){this.Wrapper.animate({left:b+a},this.options.shake.duration,this.options.shake.transition).animate({left:b-a},this.options.shake.duration,this.options.shake.transition)}this.Wrapper.animate({left:b+a},this.options.shake.duration,this.options.shake.transition).animate({left:b},this.options.shake.duration,this.options.shake.transition)}}})(jQuery)
