(function($){jQuery.fn.onImagesLoaded=function(_cb){return this.each(function(){var $imgs=(this.tagName.toLowerCase()==='img')?$(this):$('img',this),_cont=this,i=0,_done=function(){if(typeof _cb==='function')_cb(_cont);};if($imgs.length){$imgs.each(function(){var _img=this,_checki=function(e){if((_img.complete)||(_img.readyState=='complete'&&e.type=='readystatechange'))
{if(++i===$imgs.length)_done();}
else if(_img.readyState===undefined)
{$(_img).attr('src',$(_img).attr('src'));}};$(_img).bind('load readystatechange',function(e){_checki(e);});_checki({type:'readystatechange'});});}else _done();});};$('body').append('<span id="body_loader"></span>');$('#body_loader').fadeIn();$.extend($.fn.disableTextSelect=function(){return this.each(function(){if($.browser.mozilla){$(this).css('MozUserSelect','none');}else if($.browser.msie){$(this).bind('selectstart',function(){return false;});}else{$(this).mousedown(function(){return false;});}});});$('.noSelect').disableTextSelect();var $tf_bg=$('#tf_bg'),$tf_bg_images=$tf_bg.find('img'),$tf_bg_img=$tf_bg_images.eq(0),total=$tf_bg_images.length,current=0,$tf_next=$('#tf_next'),$tf_prev=$('#tf_prev'),$tf_loading=$('#tf_loading');$('#tf_bg').onImagesLoaded(function(_this){$('#body_loader').fadeOut('fast',function(){init();}).remove();});function init(){var dim=getImageDim($tf_bg_img);$tf_bg_img.css({width:dim.width,height:dim.height,left:dim.left,top:dim.top}).fadeIn('normal',function(){if($('body').hasClass('home')&&$('#tf_bg').hasClass('slider')){var slideTimer=setInterval(function(){scroll(dir);},sliderTime);}});if(!$('body').hasClass('body_home')){$('.grid_overlay, #tf_bg').fadeTo('fast',.8).append('<div class="grid"></div>');}
$(window).bind('resize',function(){var dim=getImageDim($tf_bg_img);$tf_bg_img.css({width:dim.width,height:dim.height,left:dim.left,top:dim.top});});}
function scroll(dir){if(slideDirection=='vertical'){current=(dir=='tb')?current+ 1:current- 1;if(current==total)current=0;else if(current<0)current=total- 1;var $tf_bg_img_next=$tf_bg_images.eq(current),dim=getImageDim($tf_bg_img_next),top=(dir=='tb')?$(window).height()+'px':-parseFloat(dim.height,10)+'px';$tf_bg_img_next.css({width:dim.width,height:dim.height,left:dim.left,top:top}).show();$tf_bg_img_next.stop().animate({top:dim.top},1000);var slideTo=(dir=='tb')?-$tf_bg_img.height()+'px':$(window).height()+'px';$tf_bg_img.stop().animate({top:slideTo},1000,function(){$(this).hide();$tf_bg_img=$tf_bg_img_next;});}
if(slideDirection=='horizontal')
{current=(dir=='tb')?current+ 1:current- 1;if(current==total)current=0;else if(current<0)current=total- 1;var $tf_bg_img_next=$tf_bg_images.eq(current),dim=getImageDim($tf_bg_img_next),left=(dir=='tb')?$(window).width()+'px':-parseFloat(dim.width,10)+'px';$tf_bg_img_next.css({width:dim.width,height:dim.height,top:dim.top,left:left}).show();$tf_bg_img_next.stop().animate({left:dim.left},1000);var slideTo=(dir=='tb')?-$tf_bg_img.width()+'px':$(window).width()+'px';$tf_bg_img.stop().animate({left:slideTo},1000,function(){$(this).hide();$tf_bg_img=$tf_bg_img_next;});}
if(slideDirection=='fade')
{current=(dir=='tb')?current+ 1:current- 1;if(current==total)current=0;else if(current<0)current=total- 1;var $tf_bg_img_next=$tf_bg_images.eq(current),dim=getImageDim($tf_bg_img_next);$tf_bg_img_next.css({width:dim.width,height:dim.height,top:dim.top,left:dim.left}).fadeIn(1500);$tf_bg_img.stop().fadeOut(1500,function(){$tf_bg_img=$tf_bg_img_next;});}}
function resize($img){var w_w=$(window).width(),w_h=$(window).height(),i_w=$img.width(),i_h=$img.height(),r_i=i_h/i_w,new_w,new_h;if(i_w>i_h){new_w=w_w;new_h=w_w*r_i;if(new_h>w_h){new_h=w_h;new_w=w_h/r_i;}}
else{new_h=w_w*r_i;new_w=w_w;}
$img.animate({width:new_w+'px',height:new_h+'px',top:'0px',left:'0px'},350);}
function getImageDim($img){var w_w=$(window).width(),w_h=$(window).height(),r_w=w_h/w_w,i_w=$img.width(),i_h=$img.height(),r_i=i_h/i_w,new_w,new_h,new_left,new_top;if(r_w>r_i){new_h=w_h;new_w=w_h/r_i;}
else{new_h=w_w*r_i;new_w=w_w;}
return{width:new_w+'px',height:new_h+'px',left:(w_w- new_w)/2+'px',top:(w_h- new_h)/2+'px'};}})(jQuery);
