(function(a){a.fn.jTeaser=function(G){var r={name:"jTeaser",author:"Philippe Jean",version:"1.0.2"};var ad=a.extend(true,{debug:false,mode:"display",speed:500,orientation:"horizontal",teasers:null,layout:{nbButtons:4,buttonWidth:150,buttonHeight:63,imageWidth:350,magnifierOffset:50},loop:"once",loopPause:5000,showText:true,intro:true,message:null,target:"_blank",style:{border:"1px solid silver",separatorColor:"#FFFFFF",buttons:{background:"#F7F3EC",title:{fontFamily:"Arial, Verdana, Helvetica",fontSize:"11px",lineHeight:"12px",fontWeight:"bold",color:"#997755"},text:{fontFamily:"Arial, Verdana, Helvetica",fontSize:"9px",lineHeight:"10px",color:"#997755"}},magnifier:{background:"#F7F3EC",title:{fontFamily:"Arial, Verdana, Helvetica",fontSize:"11px",lineHeight:"12px",fontWeight:"bold",color:"#997755"},text:{fontFamily:"Arial, Verdana, Helvetica",fontSize:"9px",lineHeight:"10px",color:"#997755"}}}},G);var I=ad.debug;var m=2;var t=-1;var e=false;var P=a(this),v=null,R=null,w=null;var Z={$url:null,$image:null,$image_view:null};var l={$viewport:null,$slider:null,currentIndex:0};var o=ad.mode;var af=ad.teasers;var A=null;var C=0;var aa=0;var ai=0;var U=5;var q=0.5;var y=0;var x=0;var j=0;var c=0;var f=0;var ah=0;var O=0;var M=ad.intro;var b=ad.target;T();return this;function g(){return P.attr("id")}function Q(){return"["+g()+"] "}function L(aj){return a("<"+aj+"></"+aj+">")}function z(aj){return(typeof aj==="undefined")}function W(aj){return(aj===null)}function Y(aj,ak){return(ak in aj)}function V(ak,aj){if(W(ak)||W(aj)){return false}if(z(ak)||z(aj)){return false}if(aj.length==0){return false}for(i=0;i<aj.length;i++){if(aj[i].toLowerCase()==ak.toLowerCase()){return true}}return false}function B(aj,ak){var al=ak.css(aj).match(/^-?\d+(?:px)?$/i);if(W(al)||z(al)){return 0}if(al instanceof Array){if(al.length>=1){return parseFloat(al[0])}else{return 0}}else{return 0}}function H(aj,ak){switch(ak){case"height":return B("height",aj);case"width":return B("width",aj);default:return -1}}function h(al,ap,an){var ak=0,aj=0;switch(ap){case"height":var ao=B("height",al);ak=B("borderTopWidth",al)+B("borderBottomWidth",al);aj=(an)?(B("marginTop",al)+B("marginBottom",al)):0;return ao+ak+aj;case"width":var am=B("width",al);ak=B("borderLeftWidth",al)+B("borderRightWidth",al);aj=(an)?(B("marginLeft",al)+B("marginRight",al)):0;return am+ak+aj;default:return -1}}function S(){if(I){D("Calculating dimensions...")}C=ad.layout.buttonWidth;aa=ad.layout.buttonHeight;ai=ad.layout.nbButtons;j=ad.layout.magnifierOffset;y=C+j;x=aa;c=ad.layout.imageWidth+C;f=W(A)?((ai*aa)-1):(ai*aa);ah=ad.layout.imageWidth;O=f;if(I){D("Component width: "+c);D("Component height: "+f);D("Image width: "+ah);D("Image height: "+O);D("Button width: "+C);D("Button height: "+aa);D("magnifier width: "+y);D("magnifier height: "+x);D("magnifier offset: "+j);D("paddings: "+W(A)?U:0)}}function F(){if(I){D("Sniffing up the HTML markup data...")}var ak=P.find("#teasers").detach(),aj=[],al=[];ak.find("div[id='teaser'] > div[id='button']").each(function(){aj.push(a(a(this).clone()))});ak.find("div[id='teaser'] > div[id='magnifier']").each(function(){al.push(a(a(this).clone()))});if(z(aj)||W(aj)||!Y(aj,"length")||aj.length<ai){return null}if(z(al)||W(al)||!Y(al,"length")||al.length<ai){return null}if(aj.length!=al.length){if(I){D("Mismatch between button count and teaser count !")}return null}ak=null;return{buttons:aj,magnifiers:al}}function s(aj){if(I){D("Getting HTML markup data for element "+aj)}if(aj>=A.buttons.lenght){return null}if(aj>=A.magnifiers.lenght){return null}if(z(A.buttons[aj])||W(A.buttons[aj])){return null}return{button:A.buttons[aj],magnifier:A.magnifiers[aj],getMagnifierHtml:function(){return this.magnifier.children(":first-child")},getButtonHtml:function(){return this.button.children(":first-child").children(":first-child")},getButtonData:function(){if(arguments.length==0){return{src:this.button.attr("data-image"),href:this.button.attr("data-url")}}else{if((arguments.length==1)&&(arguments[0] instanceof string)){switch(arguments[0]){case"src":return this.button.attr("data-image");case"href":return this.button.attr("data-url");default:return null}}else{return null}}}}}function K(am,ak,al){var aj=L("div").attr({id:am});if(W(al)){aj.append(L("div").attr({id:"title"}).css({padding:"0px",margin:"0px"}));if(ak){aj.append(L("div").attr({id:"text"}).css({padding:"0px",margin:"0px"}))}}return aj}function d(aj){return L("div").attr({id:aj}).append(L("a").attr({id:"url",href:"#",target:b}).append(L("img").attr({id:"image_view",src:"#",border:0,alt:""})))}function ac(){var al=L("div").attr({id:"viewport"});var ak=L("div").attr({id:"slider"});for(var aj=0;aj<ai;aj++){ak.append(d("image-"+aj))}al.append(ak);return al}function ae(aj){aj.$image.css({position:"absolute",display:"block",top:"0px",left:"0px",width:ah+"px",height:O+"px",zIndex:"10",overflow:"hidden",padding:"0px",margin:"0px"});aj.$image_view.attr({width:ah,height:O}).css({padding:"0px",margin:"0px",border:"0px"});aj.$url.css({padding:"0px",margin:"0px",border:"0px"})}function u(al){al.$viewport.css({display:"block",width:ah+"px",height:O+"px",left:"0px",top:"0px",position:"relative",padding:"0px",margin:"0px",overflow:"hidden"});al.$slider.css({width:(ah*ai)+"px",height:O+"px",left:0+"px",top:0+"px",padding:"0px",margin:"0px",display:"block",position:"absolute",overflow:"hidden"});var am={display:"block",width:ah+"px",height:O+"px",left:"0px",top:"0px",position:"absolute",padding:"0px",margin:"0px",overflow:"hidden",zIndex:10};var an=null;var aj=null;for(var ak=0;ak<ai;ak++){aj=al.$slider.find("#image-"+ak);aj.css(am);aj.css({left:(ak*ah)+"px"});if(W(A)){an=af[ak];aj.find("#url").attr("href",an.url);aj.find("#image_view").attr({src:an.image,width:ah,height:O,border:"0px"})}else{md=s(ak);aj.find("#url").attr("href",md.getButtonData().href);aj.find("#image_view").attr({src:md.getButtonData().src,width:ah,height:O,border:"0px"})}}am=null;an=null;aj=null}function ag(aj,al){if(I){D("Creating jTeaser HTML markup...")}if(o=="display"){P.append(d("image"))}else{if(o=="slide"){P.append(ac())}}for(var ak=0;ak<ai;ak++){P.append(K("button"+(ak+1),aj,al))}P.append(K("magnifier",aj,al));if(o=="display"){return{$image:P.find("#image"),$image_view:P.find("#image").find("#image_view"),$url:P.find("#image").find("#url")}}else{if(o=="slide"){return{$viewport:P.find("#viewport"),$slider:P.find("#viewport").find("#slider")}}}return null}function T(){if(I){D("Initializing jTeaser...")}if(z(af)||W(af)||!a.isArray(af)){A=F();if(!W(A)){U=0;q=0}}S();if(W(af)&&W(A)){if(I){D("There is no teasers data (options) and no HTML markup data")}}var ak=ag(ad.showText,A);P.css({position:"relative",display:"block",width:c+"px",height:f+"px",overflow:"hidden",border:ad.style.border});if(o=="display"){ae(Z=a.extend(true,Z,ak))}else{if(o=="slide"){u(l=a.extend(true,l,ak))}}w=P.children("div[id^='button']");var aj={background:ad.style.buttons.background,margin:"0px 0px",padding:U+"px",position:"absolute",width:(C-(U*2))+"px",height:(aa-(U*2)-(q*2))+"px",left:ah+"px",zIndex:"10",cursor:"pointer",textAlign:"left",overflow:"hidden"};if(!a.isArray(ad.style.buttons)){w.each(function(al){var an=a(this);an.css(aj);an.css({top:(aa*al)+"px"});if(W(A)){an.css({borderBottom:"1px solid "+ad.style.separatorColor});an.children("#title").css(ad.style.buttons.title);if(ad.showText){an.children("#text").css(ad.style.buttons.text);an.children("#separation").css({margin:"0px 0px 5px 0px"})}an.children("#title").html(af[al].title);if(ad.showText){an.children("#text").html(af[al].text)}}else{var am=s(al);an.append(am.getButtonHtml())}an.click(function(){clearInterval(t);t=-1;m=al+2;N(al+1)})})}v=P.find("#magnifier");v.css({background:ad.style.magnifier.background,position:"absolute",top:"0px",width:(y-(U*2))+"px",height:(x-(U*2)-(q*2))+"px",left:(c-y)+"px",margin:"0px 0px",padding:U+"px",zIndex:"15",visibility:"hidden",display:"none",cursor:"pointer",textAlign:"left",overflow:"hidden"});if(W(A)){v.find("#title").css(ad.style.magnifier.title);if(ad.showText){v.find("#text").css(ad.style.magnifier.text)}}v.click(function(){if(o=="display"){window.open(Z.$url.attr("href"),Z.$url.attr("target"));if(I){D("href: "+Z.$url.attr("href")+", target: "+Z.$url.attr("target"))}}else{var al=(l.$slider.find("#image-"+l.currentIndex)).find("#url");window.open(al.attr("href"),al.attr("target"));if(I){D("href: "+al.attr("href")+", target: "+al.attr("target"))}}});v.mouseleave(function(){if((t==-1)&&(ad.loop=="infinite")){t=window.setInterval(k,ad.loopPause)}});if(M){p()}N(1);if((ad.loop=="once")||(ad.loop=="infinite")){t=window.setInterval(k,ad.loopPause)}if(!W(ad.message)){J(1750,10000)}}function p(){v.css({top:"0px",left:"-"+y+"px",display:"block",visibility:"visible",opacity:0.25});var aj={left:"+="+(y+(c-y))+"px",opacity:1};v.animate(aj,2500,"swing");aj=null}function E(ak){var al=ak-1;v.css({visibility:"visible",display:"block"});if(W(A)){v.find("#title").text(af[al].title);if((ad.showText)&&(!z(af[al].textMagnifier))){v.find("#text").text(af[al].textMagnifier)}else{if(ad.showText){v.find("#text").text(af[al].text)}}}else{var am=s(al);var aj=v.children("*").remove();aj=null;v.append(am.getMagnifierHtml().clone(true))}}function X(aj){var ak=aj-1;if(o=="display"){Z.$image_view.fadeOut("fast",function(){if(W(A)){Z.$image_view.attr("src",af[ak].image);Z.$image_view.fadeIn("fast")}else{var am=s(ak);Z.$image_view.attr("src",am.getButtonData().src);Z.$image_view.fadeIn()}});if(W(A)){Z.$url.attr("href",af[ak].url)}else{var al=s(ak);Z.$url.attr("href",al.getButtonData().href)}}else{if(o=="slide"){l.$slider.animate({left:"-"+(ak*ah)+"px"},ad.speed,"linear",a.noop);l.currentIndex=ak}}}function N(aj,al){var ak=aj-1;v.animate({top:(aa*ak)+"px"},ad.speed,"swing",function(){E(aj);if(!z(al)&&!W(al)){al()}a(this).dequeue()});X(aj)}function J(an,al){var ak=P.find("#message");var aj=(ak.length==0)?L("div"):ak;var am=5;aj.css({display:"block",visibility:"visible",width:(ah-(am*2))+"px",height:(30-(am*2))+"px",left:"0px",top:f+"px",position:"absolute",padding:am+"px",margin:"0px",overflow:"hidden",zIndex:12,backgroundColor:"#000000",color:"#FFFFFF",fontFamily:"Arial",fontWeight:"bold",fontSize:"10px",lineHeight:"12px",filter:"alpha(opacity=50)","-moz-opacity":"0.5","-khtml-opacity":"0.5",opacity:"0.5"}).attr({id:"message"});aj.text(ad.message);if(ak.length==0){P.append(aj)}aj.animate({top:"-="+30+"px"},an,"linear").delay(al).animate({top:"+="+30+"px"},an,"linear")}function k(){if(m<=ai){N(m++);e=true}else{m=1;N(m++);if(ad.loop=="once"){clearInterval(t)}e=false}}function D(aj){if(window.console&&window.console.debug){window.console.debug(aj)}}function n(aj){if(window.console&&window.console.log){window.console.log(aj)}}function ab(aj){if(window.console&&window.console.info){window.console.info(aj)}}};a.fn.jTeaser.defaults={}})(jQuery);
