;(function($){$.fn.wtRotator=function(params){var TOP_LEFT="TL";var TOP_RIGHT="TR";var TOP_CENTER="TC";var BOTTOM_LEFT="BL";var BOTTOM_RIGHT="BR";var BOTTOM_CENTER="BC";var EFFECTS=new Array(42);EFFECTS["fade"]=0;EFFECTS["block.top"]=1;EFFECTS["block.right"]=2;EFFECTS["block.bottom"]=3;EFFECTS["block.left"]=4;EFFECTS["block.drop"]=5;EFFECTS["diag.fade"]=6;EFFECTS["diag.exp"]=7;EFFECTS["rev.diag.fade"]=8;EFFECTS["rev.diag.exp"]=9;EFFECTS["block.fade"]=10;EFFECTS["block.exp"]=11;EFFECTS["block.top.zz"]=12;EFFECTS["block.bottom.zz"]=13;EFFECTS["block.left.zz"]=14;EFFECTS["block.right.zz"]=15;EFFECTS["spiral.in"]=16;EFFECTS["spiral.out"]=17;EFFECTS["vert.tl"]=18;EFFECTS["vert.tr"]=19;EFFECTS["vert.bl"]=20;EFFECTS["vert.br"]=21;EFFECTS["fade.left"]=22;EFFECTS["fade.right"]=23;EFFECTS["alt.left"]=24;EFFECTS["alt.right"]=25;EFFECTS["blinds.left"]=26;EFFECTS["blinds.right"]=27;EFFECTS["vert.random.fade"]=28;EFFECTS["horz.tl"]=29;EFFECTS["horz.tr"]=30;EFFECTS["horz.bl"]=31;EFFECTS["horz.br"]=32;EFFECTS["fade.top"]=33;EFFECTS["fade.bottom"]=34;EFFECTS["alt.top"]=35;EFFECTS["alt.bottom"]=36;EFFECTS["blinds.top"]=37;EFFECTS["blinds.bottom"]=38;EFFECTS["horz.random.fade"]=39;EFFECTS["none"]=40;EFFECTS["random"]=41;var TEXT_EFFECTS=new Array(4);TEXT_EFFECTS["fade"]=0;TEXT_EFFECTS["down"]=1;TEXT_EFFECTS["right"]=2;TEXT_EFFECTS["none"]=3;var DEFAULT_DELAY=5000;var INTERVAL_DELAY=100;var DURATION=800;var ANIMATE_SPEED=600;var TOOLTIP_DELAY=600;var BAR_OPACITY=0.5;var TEXT_EVENT="update_text";function VertStripes(rotator,areaWidth,areaHeight,stripeSize,bgColor,duration,delay){var $stripes;var total;var intervalId=null;var init=function(){total=Math.ceil(areaWidth/stripeSize);var divs="";for(var i=0;i<total;i++){divs+="<div class='vpiece' id='"+i+"'></div>";}
rotator.addToScreen(divs);$stripes=$("div.vpiece",rotator.$el);$stripes.each(function(n){$(this).css({left:(n*stripeSize),height:areaHeight});});}
this.clear=function(){clearInterval(intervalId);$stripes.stop(true).css({"z-index":2,opacity:0});}
this.displayContent=function($img,effect){setPieces($img,effect);if(effect==EFFECTS["vert.random.fade"]){animateRandom($img);}
else{animate($img,effect);}}
var setPieces=function($img,effect){switch(effect){case EFFECTS["vert.tl"]:case EFFECTS["vert.tr"]:setVertPieces($img,-areaHeight,0,stripeSize,false);break;case EFFECTS["vert.bl"]:case EFFECTS["vert.br"]:setVertPieces($img,areaHeight,0,stripeSize,false);break;case EFFECTS["alt.left"]:case EFFECTS["alt.right"]:setVertPieces($img,0,0,stripeSize,true);break;case EFFECTS["blinds.left"]:case EFFECTS["blinds.right"]:setVertPieces($img,0,1,0,false);break;default:setVertPieces($img,0,0,stripeSize,false);}}
var setVertPieces=function($img,topPos,opacity,width,alt){var imgSrc=$img.attr("src");var tOffset=(areaHeight-$img.height())/2;var lOffset=(areaWidth-$img.width())/2;for(var i=0;i<total;i++){var xPos=((-i*stripeSize)+lOffset);if(alt){topPos=(i%2)==0?-areaHeight:areaHeight;}
$($stripes.get(i)).css({"background":bgColor+" url('"+imgSrc+"') "+xPos+"px "+tOffset+"px no-repeat","backgroundPositionX":xPos+"px","backgroundPositionY":tOffset+"px",opacity:opacity,top:topPos,width:width,"z-index":3});}}
var animate=function($img,effect){var start,end,incr,limit;switch(effect){case EFFECTS["vert.tl"]:case EFFECTS["vert.bl"]:case EFFECTS["fade.left"]:case EFFECTS["blinds.left"]:case EFFECTS["alt.left"]:start=0;end=total-1;incr=1;break;default:start=total-1;end=0;incr=-1;}
intervalId=setInterval(function(){$($stripes.get(start)).animate({top:0,opacity:1,width:stripeSize},duration,"",function(){if($(this).attr("id")==end){rotator.setComplete($img);}});if(start==end){clearInterval(intervalId);}
start+=incr;},delay);}
var animateRandom=function($img){var count=0;for(var i=0;i<total;i++){$($stripes.get(i)).delay(Math.random()*duration).animate({opacity:1},duration,"",function(){count++;if(count==total){rotator.setComplete($img);}});}}
init();}
function HorzStripes(rotator,areaWidth,areaHeight,stripeSize,bgColor,duration,delay){var $stripes;var total;var intervalId=null;var init=function(){total=Math.ceil(areaHeight/stripeSize);var divs="";for(var j=0;j<total;j++){divs+="<div class='hpiece' id='"+j+"'></div>";}
rotator.addToScreen(divs);$stripes=$("div.hpiece",rotator.$el);$stripes.each(function(n){$(this).css({top:(n*stripeSize),width:areaWidth});});}
this.clear=function(){clearInterval(intervalId);$stripes.stop(true).css({"z-index":2,opacity:0});}
this.displayContent=function($img,effect){setPieces($img,effect);if(effect==EFFECTS["horz.random.fade"]){animateRandom($img);}
else{animate($img,effect);}}
var setPieces=function($img,effect){switch(effect){case EFFECTS["horz.tr"]:case EFFECTS["horz.br"]:setHorzPieces($img,areaWidth,0,stripeSize,false);break;case EFFECTS["horz.tl"]:case EFFECTS["horz.bl"]:setHorzPieces($img,-areaWidth,0,stripeSize,false);break;case EFFECTS["alt.top"]:case EFFECTS["alt.bottom"]:setHorzPieces($img,0,0,stripeSize,true);break;case EFFECTS["blinds.top"]:case EFFECTS["blinds.bottom"]:setHorzPieces($img,0,1,0,false);break;default:setHorzPieces($img,0,0,stripeSize,false);}}
var setHorzPieces=function($img,leftPos,opacity,height,alt){var imgSrc=$img.attr("src");var tOffset=(areaHeight-$img.height())/2;var lOffset=(areaWidth-$img.width())/2;for(var i=0;i<total;i++){var yPos=((-i*stripeSize)+tOffset);if(alt){leftPos=(i%2)==0?-areaWidth:areaWidth;}
$($stripes.get(i)).css({"background":bgColor+" url('"+imgSrc+"') "+lOffset+"px "+yPos+"px no-repeat","backgroundPositionX":lOffset+"px","backgroundPositionY":yPos+"px",opacity:opacity,left:leftPos,height:height,"z-index":3});}}
var animate=function($img,effect){var start,end,incr;switch(effect){case EFFECTS["horz.tl"]:case EFFECTS["horz.tr"]:case EFFECTS["fade.top"]:case EFFECTS["blinds.top"]:case EFFECTS["alt.top"]:start=0;end=total-1;incr=1;break;default:start=total-1;end=0;incr=-1;}
intervalId=setInterval(function(){$($stripes.get(start)).animate({left:0,opacity:1,height:stripeSize},duration,"",function(){if($(this).attr("id")==end){rotator.setComplete($img);}});if(start==end){clearInterval(intervalId);}
start+=incr;},delay);}
var animateRandom=function($img){var count=0;for(var i=0;i<total;i++){$($stripes.get(i)).delay(Math.random()*duration).animate({opacity:1},duration,"",function(){count++;if(count==total){rotator.setComplete($img);}});}}
init();}
function Blocks(rotator,areaWidth,areaHeight,blockSize,bgColor,duration,delay){var $blockArr;var $blocks;var numRows;var numCols;var intervalId;var init=function(){numRows=Math.ceil(areaHeight/blockSize);numCols=Math.ceil(areaWidth/blockSize);var divs="";for(var i=0;i<numRows;i++){for(var j=0;j<numCols;j++){divs+="<div class='block' id='"+i+"-"+j+"'></div>";}}
rotator.addToScreen(divs);$blockArr=new Array(numRows);for(var i=0;i<numRows;i++){$blockArr[i]=new Array(numCols);for(var j=0;j<numCols;j++){$blockArr[i][j]=$("div#"+(i+"-"+j),rotator.$el);}}
$blocks=$("div.block",rotator.$el);$blocks.data({tlId:"0-0",trId:"0-"+(numCols-1),blId:(numRows-1)+"-0",brId:(numRows-1)+"-"+(numCols-1)});}
this.clear=function(){clearInterval(intervalId);$blocks.stop(true).css({"z-index":2,opacity:0});}
this.displayContent=function($img,effect){switch(effect){case EFFECTS["diag.fade"]:setBlocks($img,0,blockSize,0);diagAnimate($img,{opacity:1},false);break;case EFFECTS["diag.exp"]:setBlocks($img,0,0,0);diagAnimate($img,{opacity:1,width:blockSize,height:blockSize},false);break;case EFFECTS["rev.diag.fade"]:setBlocks($img,0,blockSize,0);diagAnimate($img,{opacity:1},true);break;case EFFECTS["rev.diag.exp"]:setBlocks($img,0,0,0);diagAnimate($img,{opacity:1,width:blockSize,height:blockSize},true);break;case EFFECTS["block.fade"]:setBlocks($img,0,blockSize,0);randomAnimate($img);break;case EFFECTS["block.exp"]:setBlocks($img,1,0,0);randomAnimate($img);break;case EFFECTS["block.drop"]:setBlocks($img,1,blockSize,-(numRows*blockSize));randomAnimate($img);break;case EFFECTS["block.top.zz"]:case EFFECTS["block.bottom.zz"]:setBlocks($img,0,blockSize,0);horzZigZag($img,effect);break;case EFFECTS["block.left.zz"]:case EFFECTS["block.right.zz"]:setBlocks($img,0,blockSize,0);vertZigZag($img,effect);break;case EFFECTS["spiral.in"]:setBlocks($img,0,blockSize,0);spiral($img,false);break;case EFFECTS["spiral.out"]:setBlocks($img,0,blockSize,0);spiral($img,true);break;case EFFECTS["block.top"]:case EFFECTS["block.bottom"]:setBlocks($img,1,0,0);horzAnimate($img,effect);break;default:setBlocks($img,1,0,0);vertAnimate($img,effect);}}
var setBlocks=function($img,opacity,size,tPos){var tOffset=(areaHeight-$img.height())/2;var lOffset=(areaWidth-$img.width())/2;var imgSrc=$img.attr("src");for(var i=0;i<numRows;i++){for(var j=0;j<numCols;j++){var tVal=((-i*blockSize)+tOffset);var lVal=((-j*blockSize)+lOffset);$blockArr[i][j].css({"background":bgColor+" url('"+imgSrc+"') "+lVal+"px "+tVal+"px no-repeat","backgroundPositionX":lVal+"px","backgroundPositionY":tVal+"px",opacity:opacity,top:(i*blockSize)+tPos,left:(j*blockSize),width:size,height:size,"z-index":3});}}}
var diagAnimate=function($img,props,rev){var start,end,incr,lastId;var diagSpan=(numRows-1)+(numCols-1);if(rev){start=diagSpan;end=0;incr=-1;lastId=$blocks.data("tlId");}
else{start=0;end=diagSpan;incr=1;lastId=$blocks.data("brId");}
var i,j;intervalId=setInterval(function(){i=Math.min(numRows-1,start);while(i>=0){j=Math.abs(i-start);if(j>=numCols){break;}
$blockArr[i][j].animate(props,duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});i--;}
if(start==end){clearInterval(intervalId);}
start+=incr;},delay);}
var vertZigZag=function($img,effect){var fwd=true;var i=0,j,incr,lastId;if(effect==EFFECTS["block.left.zz"]){lastId=(numCols%2==0)?$blocks.data("trId"):$blocks.data("brId");j=0;incr=1;}
else{lastId=(numCols%2==0)?$blocks.data("tlId"):$blocks.data("blId");j=numCols-1;incr=-1;}
intervalId=setInterval(function(){$blockArr[i][j].animate({opacity:1},duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});if($blockArr[i][j].attr("id")==lastId){clearInterval(intervalId);}
(fwd?i++:i--);if(i==numRows||i<0){fwd=!fwd;i=(fwd?0:numRows-1);j+=incr;}},delay);}
var horzZigZag=function($img,effect){var fwd=true;var i,j=0,incr,lastId;if(effect==EFFECTS["block.top.zz"]){lastId=(numRows%2==0)?$blocks.data("blId"):$blocks.data("brId");i=0;incr=1;}
else{lastId=(numRows%2==0)?$blocks.data("tlId"):$blocks.data("trId");i=numRows-1;incr=-1;}
intervalId=setInterval(function(){$blockArr[i][j].animate({opacity:1},duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});if($blockArr[i][j].attr("id")==lastId){clearInterval(intervalId);}
(fwd?j++:j--);if(j==numCols||j<0){fwd=!fwd;j=(fwd?0:numCols-1);i+=incr;}},delay);}
var vertAnimate=function($img,effect){var j,incr,end,lastId;if(effect==EFFECTS["block.left"]){j=0;end=numCols-1;incr=1;lastId=$blocks.data("brId");}
else{j=numCols-1;end=0;incr=-1;lastId=$blocks.data("tlId");}
intervalId=setInterval(function(){for(var i=0;i<numRows;i++){$blockArr[i][j].animate({opacity:1,width:blockSize,height:blockSize},duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});}
if(j==end){clearInterval(intervalId);}
j+=incr;},delay);}
var horzAnimate=function($img,effect){var i,incr,end,lastId;if(effect==EFFECTS["block.top"]){i=0;incr=1;end=numRows-1;lastId=$blocks.data("brId");}
else{i=numRows-1;incr=-1;end=0;lastId=$blocks.data("tlId");}
intervalId=setInterval(function(){for(var j=0;j<numCols;j++){$blockArr[i][j].animate({opacity:1,width:blockSize,height:blockSize},duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});}
if(i==end){clearInterval(intervalId);}
i+=incr;},delay);}
var randomAnimate=function($img){var count=0;var total=(numRows*numCols);for(var i=0;i<numRows;i++){for(var j=0;j<numCols;j++){$blockArr[i][j].delay(Math.random()*duration).animate({top:(i*blockSize),width:blockSize,height:blockSize,opacity:1},duration,"",function(){count++;if(count==total){rotator.setComplete($img);}});}}}
var spiral=function($img,spiralOut){var $arr=new Array();var i=0,j=0;var rowCount=numRows-1;var colCount=numCols-1;var dir=0;var limit=colCount;while(rowCount>=0&&colCount>=0){var count=0;while(true){$arr[$arr.length]=$blockArr[i][j];if((++count)>limit){break;}
switch(dir){case 0:j++;break;case 1:i++;break;case 2:j--;break;case 3:i--;}}
switch(dir){case 0:dir=1;limit=(--rowCount);i++;break;case 1:dir=2;limit=(--colCount);j--;break;case 2:dir=3;limit=(--rowCount);i--;break;case 3:dir=0;limit=(--colCount);j++;}}
if($arr.length>0){if(spiralOut){$arr.reverse();}
var end=$arr.length-1;var lastId=$arr[end].attr("id");var k=0;intervalId=setInterval(function(){$arr[k].animate({opacity:1},duration,"",function(){if($(this).attr("id")==lastId){rotator.setComplete($img);}});if(k==end){clearInterval(intervalId);}
k++;},delay);}}
init();}
function Rotator($obj,opts){var screenWidth=getPosNumber(opts.width,800);var screenHeight=getPosNumber(opts.height,300);var margin=getNonNegNumber(opts.button_margin,0);var globalEffect=opts.transition.toLowerCase();var duration=getPosNumber(opts.transition_speed,DURATION);var globalDelay=getPosNumber(opts.delay,DEFAULT_DELAY);var rotate=opts.auto_start;var cpAlign=opts.cpanel_align.toUpperCase();var buttonWidth=getPosNumber(opts.button_width,24);var buttonHeight=getPosNumber(opts.button_height,24);var displayThumbs=opts.display_thumbs;var displayDBtns=opts.display_dbuttons;var displayPlayBtn=opts.display_playbutton;var displayTooltip=opts.display_tooltip;var displayNumber=opts.display_numbers;var displayTimer=opts.display_timer;var cpMouseover=opts.cpanel_mouseover;var textMousover=opts.text_mouseover;var mouseoverPause=opts.mouseover_pause;var textEffect=opts.text_effect.toLowerCase();var shuffle=opts.shuffle;var numItems;var currIndex;var delay;var vStripes;var hStripes;var blocks;var timerId=null;var msie=(jQuery.browser.msie)?true:false;var $mainScreen=$(".wt-rotator",$obj);var $mainLink=$mainScreen.find(">a:first");var $textBox=$mainScreen.find("div.desc");var $preloader=$mainScreen.find("div.preloader");var $cPanel=$mainScreen.find("div.c-panel");var $thumbPanel=$mainScreen.find("div.thumbnails");var $thumbList=$thumbPanel.find("ul>li");var $buttonPanel=$mainScreen.find("div.buttons");var $playBtn=$buttonPanel.find("div.play-btn");var $prevBtn=$buttonPanel.find("div.prev-btn");var $nextBtn=$buttonPanel.find("div.next-btn");var $timer;var $tooltip;var $items;var $innerText;this.$el=$obj;this.init=function(){currIndex=0;numItems=$thumbList.size();$items=new Array(numItems);var bgColor=$mainScreen.css("background-color");$mainScreen.css({width:screenWidth,height:screenHeight});$preloader.css({top:Math.round((screenHeight-$preloader.outerHeight())/2),left:Math.round((screenWidth-$preloader.outerWidth())/2)}).show();initTextBox();initItems();initButtons();initCPanel();initTimerBar();vStripes=new VertStripes(this,screenWidth,screenHeight,getPosNumber(opts.vert_size,50),bgColor,duration,getPosNumber(opts.vstripe_delay,INTERVAL_DELAY));hStripes=new HorzStripes(this,screenWidth,screenHeight,getPosNumber(opts.horz_size,50),bgColor,duration,getPosNumber(opts.hstripe_delay,INTERVAL_DELAY));blocks=new Blocks(this,screenWidth,screenHeight,getPosNumber(opts.block_size,100),bgColor,duration,getPosNumber(opts.block_delay,INTERVAL_DELAY));loadImg(0);loadContent(currIndex);}
this.setComplete=function($img){showContent($img);}
this.addToScreen=function(content){$mainLink.append(content);}
var initTextBox=function(){$textBox.append("<div class='inner-text'></div>");$innerText=$textBox.find("div.inner-text");if(textMousover){$mainScreen.hover(displayText,hideText);}
else{$mainScreen.bind(TEXT_EVENT,updateText);}}
var initCPanel=function(){if(displayThumbs||displayDBtns||displayPlayBtn){$cPanel.css({width:$buttonPanel.outerWidth(true)+$thumbPanel.outerWidth(true),"margin-top":margin,"margin-right":0,"margin-bottom":margin,"margin-left":margin});var cpWidth=$cPanel.outerWidth(true);var cpHeight=$cPanel.outerHeight(true);switch(cpAlign){case TOP_LEFT:setCPanel(0,0,-cpHeight,"left");break;case TOP_CENTER:setCPanel(0,Math.round((screenWidth-cpWidth)/2),-cpHeight,"right");break;case TOP_RIGHT:setCPanel(0,(screenWidth-cpWidth),-cpHeight,"right");break;case BOTTOM_LEFT:setCPanel((screenHeight-cpHeight),0,screenHeight,"left");break;case BOTTOM_CENTER:setCPanel((screenHeight-cpHeight),Math.round((screenWidth-cpWidth)/2),screenHeight,"right");break;default:setCPanel((screenHeight-cpHeight),(screenWidth-cpWidth),screenHeight,"right");}
if(cpMouseover){$mainScreen.hover(displayCPanel,hideCPanel);}
$cPanel.css("visibility","visible");}}
var setCPanel=function(yPos,xPos,offset,align){$cPanel.data({offset:offset,pos:yPos}).css({top:(cpMouseover?offset:yPos),left:xPos});$thumbPanel.css("float",align);$buttonPanel.css("float",align);}
var initButtons=function(){var props={"margin-right":margin,width:buttonWidth,height:buttonHeight};if(displayDBtns){$prevBtn.css(props).click(prevImg).mouseover(buttonOver).mouseout(buttonOut).mousedown(preventDefault);$nextBtn.css(props).click(nextImg).mouseover(buttonOver).mouseout(buttonOut).mousedown(preventDefault);}
else{$prevBtn.hide();$nextBtn.hide();}
if(displayPlayBtn){if(rotate){$playBtn.addClass("pause");}
$playBtn.css(props).click(togglePlay).mouseover(buttonOver).mouseout(buttonOut).mousedown(preventDefault);}
else{$playBtn.hide();}
if(mouseoverPause){$mainScreen.hover(pause,play);}}
var initTimerBar=function(){$mainScreen.append("<div id='timer'></div>");$timer=$mainScreen.find("#timer").data("pct",1);if(displayTimer){$timer.css({opacity:BAR_OPACITY,visibility:"visible"});switch(cpAlign){case TOP_LEFT:case TOP_CENTER:case TOP_RIGHT:$timer.css("top",screenHeight-$timer.height());break;default:$timer.css("top",0);}}
else{$timer.hide();}}
var initItems=function(){var padding=$innerText.outerHeight()-$innerText.height();$thumbList.each(function(n){var $imgLink=$(this).find(">a:first");$(this).data({imgurl:$imgLink.attr("href"),caption:$imgLink.attr("title"),effect:EFFECTS[$(this).attr("effect")]!=undefined?EFFECTS[$(this).attr("effect")]:EFFECTS[globalEffect],delay:getPosNumber($(this).attr("delay"),globalDelay)});initTextData($(this),padding);$items[n]=$(this);if(displayNumber){$(this).append(n+1);}});$innerText.css({width:"auto",height:"auto"}).html("");$textBox.css("visibility","visible");if(shuffle){shuffleItems();}
if(displayThumbs){$thumbList.css({width:buttonWidth,height:buttonHeight,"line-height":buttonHeight+"px","margin-right":margin}).click(itemClick).mouseover(itemOver).mouseout(itemOut).mousedown(preventDefault);initTooltip();}
else{$thumbList.hide();}}
var initTextData=function($item,padding){var $p=$item.find(">p:first");var textWidth=getPosNumber(parseInt($p.css("width")),280);var textHeight=getPosNumber(parseInt($p.css("height")),0);$innerText.width(textWidth).html($p.html());if(textHeight<$innerText.height()){textHeight=$innerText.height();}
$item.data("textbox",{x:$p.css("left"),y:$p.css("top"),w:(textWidth+padding),h:(textHeight+padding)});}
var initTooltip=function(){if(displayTooltip){$tooltip=$("<div id='tool-tip'></div>");$mainScreen.after($tooltip);switch(cpAlign){case TOP_LEFT:case TOP_CENTER:case TOP_RIGHT:$tooltip.data({bottom:true,yOffset:23});break;default:$tooltip.data({bottom:false,yOffset:5});}
for(var i=0;i<$items.length;i++){var caption=$items[i].data("caption");if(caption!=""){$items[i].mouseover(showTooltip).mouseout(hideTooltip).bind("mousemove",moveTooltip);}}}}
var showTooltip=function(e){$tooltip.html($items[$(this).index()].data("caption"));var yOffset=$tooltip.data("bottom")?$tooltip.data("yOffset"):-($tooltip.outerHeight()+$tooltip.data("yOffset"));$tooltip.css({top:e.pageY+yOffset,left:e.pageX-8}).stop(true,true).delay(TOOLTIP_DELAY).fadeIn(300);}
var hideTooltip=function(){$tooltip.stop(true,true).fadeOut(0);}
var moveTooltip=function(e){var yOffset=$tooltip.data("bottom")?$tooltip.data("yOffset"):-($tooltip.outerHeight()+$tooltip.data("yOffset"));$tooltip.css({top:e.pageY+yOffset,left:e.pageX-8});}
var displayCPanel=function(){$cPanel.stop(true).animate({top:$cPanel.data("pos"),opacity:1},ANIMATE_SPEED);}
var hideCPanel=function(){$cPanel.stop(true).animate({top:$cPanel.data("offset"),opacity:0},ANIMATE_SPEED);}
var itemClick=function(){resetTimer();currIndex=$(this).index();loadContent(currIndex);return false;}
var itemOver=function(){$(this).addClass("thumb-over");}
var itemOut=function(){$(this).removeClass("thumb-over");}
var prevImg=function(){resetTimer();currIndex=(currIndex>0)?(currIndex-1):(numItems-1);loadContent(currIndex);return false;}
var nextImg=function(){resetTimer();currIndex=(currIndex<numItems-1)?(currIndex+1):0;loadContent(currIndex);return false;}
var togglePlay=function(){rotate=!rotate;$(this).toggleClass("pause",rotate);rotate?startTimer():pauseTimer();return false;}
var play=function(){rotate=true;$playBtn.toggleClass("pause",rotate);startTimer();}
var pause=function(){rotate=false;$playBtn.toggleClass("pause",rotate);pauseTimer();}
var buttonOver=function(){$(this).addClass("button-over");}
var buttonOut=function(){$(this).removeClass("button-over");}
var updateText=function(e){if(!$textBox.data("visible")){$textBox.data("visible",true);var text=$items[currIndex].find(">p:first").html();if(text&&text.length>0){var data=$items[currIndex].data("textbox");switch(TEXT_EFFECTS[textEffect]){case TEXT_EFFECTS["fade"]:fadeInText(text,data);break;case TEXT_EFFECTS["down"]:expandText(text,{opacity:1,top:data.y,left:data.x,width:data.w,height:0},{height:data.h});break;case TEXT_EFFECTS["right"]:expandText(text,{opacity:1,top:data.y,left:data.x,width:0,height:data.h},{width:data.w});break;default:showText(text,data);}}}}
var resetText=function(){$textBox.data("visible",false).stop(true).css({opacity:0});}
var expandText=function(text,props1,props2){$innerText.html("");$textBox.stop(true).css(props1).animate(props2,ANIMATE_SPEED,function(){$innerText.html(text);if(msie){this.style.removeAttribute('filter');}});}
var fadeInText=function(text,data){$innerText.html(text);$textBox.stop(true).css({top:data.y,left:data.x,width:data.w,height:data.h}).animate({opacity:1},ANIMATE_SPEED,function(){if(msie){this.style.removeAttribute('filter');}});}
var showText=function(text,data){if($.trim(text)!=''){$textBox.stop(true).css({opacity:1,top:data.y,left:data.x,width:data.w,height:data.h});$innerText.html(text);}}
var displayText=function(){$mainScreen.unbind(TEXT_EVENT).bind(TEXT_EVENT,updateText).trigger(TEXT_EVENT);}
var hideText=function(){$mainScreen.unbind(TEXT_EVENT);resetText();}
var loadContent=function(i){$thumbList.filter(".curr-thumb").removeClass("curr-thumb");$($thumbList.get(i)).addClass("curr-thumb");delay=$items[i].data("delay");resetText();var $currLink=$items[i].find(">a:nth-child(2)");var href=$currLink.attr("href");if(href){$mainLink.unbind("click").css({cursor:"pointer"}).attr({href:href,target:$currLink.attr("target")});}
else{$mainLink.click(preventDefault).css({cursor:"default"});}
if($items[i].data("img")){$preloader.hide();displayContent($items[i].data("img"));}
else{var $img=$("<img class='main-img'/>");$img.attr("src",$items[i].data("imgurl"));if(!$img[0].complete){$preloader.show();$img.load(function(){$preloader.hide();storeImg($items[i],$(this));displayContent($(this));}).error(function(){alert("Error loading image");});}
else{$preloader.hide();storeImg($items[i],$img);displayContent($img);}}}
var displayContent=function($img){vStripes.clear();hStripes.clear();blocks.clear();var effect=$items[currIndex].data("effect");if(effect==EFFECTS["random"]){effect=Math.floor(Math.random()*(EFFECTS.length-2));}
if(effect==EFFECTS["none"]){showContent($img);}
else if(effect==EFFECTS["fade"]){fadeInContent($img);}
else if(effect<EFFECTS["vert.tl"]){blocks.displayContent($img,effect);}
else if(effect<EFFECTS["horz.tl"]){vStripes.displayContent($img,effect);}
else{hStripes.displayContent($img,effect);}}
var showContent=function($img){$mainScreen.trigger(TEXT_EVENT);$("img.main-img",$mainLink).removeAttr("id").hide();$img.attr("id","curr-img").show();startTimer();}
var fadeInContent=function($img){$("img#curr-img",$mainLink).stop(true,true);$("img.main-img",$mainLink).removeAttr("id").css("z-index",0);$img.attr("id","curr-img").css("z-index",1).stop(true,true).fadeIn(duration,function(){$("img.main-img:not('#curr-img')",$mainLink).hide();$mainScreen.trigger(TEXT_EVENT);startTimer();});}
var loadImg=function(loadIndex){var $item=$items[loadIndex];var $img=$("<img class='main-img'/>");$img.attr("src",$item.data("imgurl"));$img.load(function(){if(!$item.data("img")){storeImg($item,$(this));}
loadIndex++
if(loadIndex<$items.length){loadImg(loadIndex);}}).error(function(){loadIndex++
if(loadIndex<$items.length){loadImg(loadIndex);}});}
var storeImg=function($item,$img){$mainLink.append($img);var tDiff=(screenHeight-$img.height())/2;var lDiff=(screenWidth-$img.width())/2
var top=0,left=0,vPad=0,hPad=0;if(tDiff>0){vPad=tDiff;}
else if(tDiff<0){top=tDiff;}
if(lDiff>0){hPad=lDiff;}
else if(lDiff<0){left=lDiff;}
$img.css({top:top,left:left,"padding-top":vPad,"padding-bottom":vPad,"padding-left":hPad,"padding-right":hPad});$item.data("img",$img);}
var startTimer=function(){if(rotate&&timerId==null){var duration=Math.round($timer.data("pct")*delay);$timer.animate({width:(screenWidth+2)},duration);timerId=setTimeout(nextImg,duration);}}
var resetTimer=function(){clearTimeout(timerId);timerId=null;$timer.stop(true).width(0).data("pct",1);}
var pauseTimer=function(){clearTimeout(timerId);timerId=null;var pct=1-($timer.width()/(screenWidth+2));$timer.stop(true).data("pct",pct);}
var shuffleItems=function(){var num=$items.length-1;for(var i=0;i<$items.length;i++){var ri=Math.floor(Math.random()*num);var temp=$items[i];$items[i]=$items[ri];$items[ri]=temp;}}
var preventDefault=function(){return false;}}
var getPosNumber=function(val,defaultVal){if(!isNaN(val)&&val>0){return val;}
return defaultVal;}
var getNonNegNumber=function(val,defaultVal){if(!isNaN(val)&&val>=0){return val;}
return defaultVal;}
var defaults={width:800,height:300,button_width:24,button_height:24,button_margin:4,auto_start:true,delay:DEFAULT_DELAY,transition:"fade",transition_speed:DURATION,cpanel_align:BOTTOM_RIGHT,display_thumbs:true,display_dbuttons:true,display_playbutton:true,display_tooltip:true,display_numbers:true,display_timer:true,mouseover_pause:false,cpanel_mouseover:false,text_mouseover:false,text_effect:"fade",shuffle:false,block_size:100,vert_size:50,horz_size:50,block_delay:INTERVAL_DELAY,vstripe_delay:INTERVAL_DELAY,hstripe_delay:INTERVAL_DELAY};var opts=$.extend({},defaults,params);return this.each(function(){var rotator=new Rotator($(this),opts);rotator.init();});}})(jQuery);
