/*
 * hipic.web.app
 * Copyright(c) 2010, FeiKan.
 * 
 * This code is licensed under BSD license. Use it as you wish, 
 * but keep this copyright intact.
 */


$(function()
{app.ui.slider=function(elem)
{var _elem;var _scr;var _loading;var _scrSize=[];var _imgSize=[];var _toolsHoldTime,_timerRunning;var tools,arrow,bhipic,bFull;var _mask,_foot
var _wHipicScreen=WORD('p0006');var _wFullScreen=WORD('p0007');var _inited=false;var _proxy;var _imgIndex=-1;var _init=function()
{_proxy=DB2();_scr=_elem.children('.screen');_mask=_elem.children('.mask');if(!_mask.length)
{_scr=$('<div class="screen"></div>').appendTo(_elem).resize(_fitImgSize);_mask=$('<div class="mask"></div>').appendTo(_elem).css('opacity',.9);var elpos=_elem.offset();tools=$('<div class="tools"></div>').appendTo(_mask);arrow=$('<div class="arrow"></div>').appendTo(tools)
bhipic=$('<em>'+WORD('p0006')+'</em>').appendTo(tools).mouseover(_tmover).mouseout(_tmout).click(_bhipicClick).hide();bFull=$('<em style="margin-top:10px;height:40px;line-height:40px;font-size:15px;">'+WORD('p0007')+'</em>').appendTo(tools).mouseover(_tmover).mouseout(_tmout).click(_bFullClick);_foot=$('<div class="foot"><span style="float:right;margin-right:10px;color:#748284;line-height:40px;font-size:15px;">www.hipic.org</span></div>').appendTo(_mask);}
else
{_scr=_mask.children('.screen').resize(_fitImgSize);tools=_mask.children('.tools');_foot=_mask.children('.foot');arrow=tools.children('.arrow');bhipic=tools.children('.bhipic').mouseover(_tmover).mouseout(_tmout).click(_bhipicClick);bFull=tools.children('.bFull').mouseover(_tmover).mouseout(_tmout).click(_bFullClick);}
_scrSize=[_scr.width(),_scr.height()];_foot.css({'top':_mask.height()-50+'px'});_mask.css({'width':'520px','height':'420px'});_elem.mouseover(_mover).mouseout(_mout).mousemove(_mmove);};var _ontimer=function()
{if(_toolsHoldTime&&TYPE.isDate(_toolsHoldTime))
{if(new Date()-_toolsHoldTime>=3000)
{_mout();clearInterval(_timerRunning);}}};var _tmover=function()
{var fullsize=_elem.hasClass('fullscreen');var t=$(this).css({'background':'#5f5f5f',color:'#fff'}).text();arrow.css('background-position','-19px 0');};var _tmout=function()
{var fullsize=_elem.hasClass('fullscreen');var t=$(this).css({'background':'#393838',color:'#748284'}).text();arrow.css('background-position','0 0');};var _mmove=function()
{if(tools.css('top')=='-60px')
{_mover();}};var _mover=function(e)
{_toolsHoldTime=new Date();if(!_timerRunning)
{_timerRunning=setInterval(_ontimer,1000);}
var full=_elem.hasClass('fullscreen');var y=full?WIN.scrollTop():0;tools.animate({'top':y-10+'px'},{'queue':false,'duration':300});y=full?WIN.height():_mask.height();if(!e)
{_foot.css({'top':y+'px'});}
_foot.show().animate({'top':(y-90)+'px'},{'queue':false,'duration':300});};var _mout=function()
{tools.animate({'top':'-60px'},{'queue':false,'duration':300});_foot.animate({'top':_mask.height()-50+'px'},{'queue':false,'duration':300});if(_timerRunning)
{clearInterval(_timerRunning);}};var _bhipicClick=function()
{$('#trashbox, #trendsbox, #supportbox, #activitiesbox, #footer').show();if(_elem.hasClass('fullscreen'))
{tools.css('top','0px');_elem.removeClass('fullscreen');_fitSize();}};var _bFullClick=function()
{var src='Hipic.aspx';if(LANGID()!='zh-cn')
{src='en/Hipic.aspx';}
window.location=src;};var _fitSize=function()
{_foot.hide();_fitImgSize();if(_loading)
{_loading.center();}
var fullsize=_elem.hasClass('fullscreen');if(fullsize)
{arrow.addClass('arrow2');var x,y;if(!BODY.hasClass('noscroll'))
{BODY.addClass('noscroll');x=-_elem.offset().left+'px';y=-_elem.offset().top+'px';}
else
{x=_elem.css('left');y=_elem.css('top');}
var w=WIN.width();var h=WIN.height();_elem.css({'left':x,'top':y,'width':w+'px','height':h+'px'});_mover();}
else
{arrow.removeClass('arrow2');_elem.css({'left':'0px','top':'0px','width':_scrSize[0]+'px','height':_scrSize[1]+'px'});_elem.removeAttr('style');BODY.removeClass('noscroll');}};var _fitLocation=function()
{if(_elem.hasClass('fullscreen'))
{var y=WIN.scrollTop();_elem.css({'left':-_elem.offset().left+'px','top':-_elem.offset().top+'px'});}};var _load=function()
{_loading=UI_LOADING(_scr);_loading.show();_proxy.reset().bind(ENUM.ASNY.COMPLETE,_ondata).run({'cmd':'getRecentImg'});};var _ondata=function(data)
{if(_loading)
{_loading.hide();_loading=null;}
var rf=5000;if(data&&data.id)
{var url='file.aspx?id={0}'.toString(data&&data.id);var img=$('<img src="{0}" />'.toString(url)).bind('load',{'refresh':data.refresh},_onImageLoad).hide().appendTo(_scr.empty()).hide();img.data('width',data.w).data('height',data.h);}};var _onImageLoad=function(e)
{var img=$(this);img.unbind('load');var w=img.width(),h=img.height();img.data('width',w).data('height',h);_fitImgSize(w,h);setTimeout(function(){_load();},e.data.refresh);if(_inited)
{_elem.trigger('ondataload');}
else
{_inited=true;}};var _fitImgSize=function(width,height)
{var img=_scr.children('img');var full=_elem.hasClass('fullscreen');var wp=full?WIN.width():_scrSize[0];var hp=full?WIN.height():_scrSize[1];_imgSize=[width||img.data('width'),height||img.data('height')];if(!TYPE.isInteger(_imgSize[0])||!TYPE.isInteger(_imgSize[1]))
{return;}
var w=wp,h=w/_imgSize[0]*_imgSize[1];if(h>hp)
{w*=hp/h;h=hp;}
var x=w<wp?(wp-w)/2:0;var y=h<hp?(hp-h)/2:0;img.css({'width':w+'px','height':h+'px','left':x+'px','top':y+'px'});img.hide().fadeIn();};return{ready:function(elem)
{_elem=elem;_init();return this;},load:function()
{_load();return this;},translate:function()
{bhipic.text(WORD('p0006'));bFull.text(WORD('p0007'));return this;}}}
$.extend(window,{UI_SLIDER:app.ui.slider});});
