var busy=0; function popup_show(src,w,h){ document.getElementById('popup_loading').style.visibility='hidden'; document.getElementById('popup_pic').style.marginLeft='0px'; document.getElementById('popup_pic').style.marginTop='0px'; if(src!=''){ document.getElementById('popup_pic').style.backgroundImage='url('+src+')'; } else { document.getElementById('popup_pic').style.backgroundImage='none'; }; if((w+50)<=document.body.clientWidth){ document.getElementById('popup_wrap').style.width=w+'px'; document.getElementById('popup_next').style.marginLeft=w-80+'px'; } else { document.getElementById('popup_wrap').style.width=document.body.clientWidth-50+'px'; document.getElementById('popup_next').style.marginLeft=document.body.clientWidth-50-80+'px'; }; if((h+50)<=document.body.clientHeight){ document.getElementById('popup_wrap').style.height=h+'px'; document.getElementById('popup_next').style.marginTop=Math.floor(h/2)-80+'px'; document.getElementById('popup_prev').style.marginTop=Math.floor(h/2)-80+'px'; } else { document.getElementById('popup_wrap').style.height=document.body.clientHeight-50+'px'; document.getElementById('popup_next').style.marginTop=Math.floor(document.body.clientHeight/2)-80+'px'; document.getElementById('popup_prev').style.marginTop=Math.floor(document.body.clientHeight/2)-80+'px'; }; document.getElementById('popup_pic').style.width=w+'px'; document.getElementById('popup_pic').style.height=h+'px'; if((w+50)>document.body.clientWidth || (h+50)>document.body.clientHeight){ document.getElementById('popup_pic').style.cursor='move'; document.getElementById('popup_pic').title='Перетащите картинку'; }; if(document.getElementById('popup_frame').style.visibility=='hidden'){ busy=1; document.getElementById('popup_frame').style.visibility='visible'; t=new OpacityTween(document.getElementById('popup_frame'),Tween.strongEaseOut, 0, 100, 1); var a = new Object(); a.onMotionFinished = function(){ busy=0; }; t.addListener(a) t.start(); }; }; function popup(src,slide,w,h){ document.getElementById('popup_loading').style.visibility='visible'; xajax_popup(src,slide,w,h); if(busy!=1 && document.getElementById('popup').style.visibility=='hidden'){ busy=1; document.getElementById('popup').style.visibility='visible'; t=new OpacityTween(document.getElementById('popup'),Tween.strongEaseOut, 0, 100, 1); var a = new Object(); a.onMotionFinished = function(){ busy=0; }; t.addListener(a) t.start(); }; }; function popup_hide(){ if(busy!=1){ prev_url=''; next_url=''; busy=1; t=new OpacityTween(document.getElementById('popup'),Tween.strongEaseOut, 100, 0, 1); var a = new Object(); a.onMotionFinished = function(){ document.getElementById('popup_content').innerHTML=''; document.getElementById('popup').style.visibility='hidden'; busy=0; }; t.addListener(a) t.start(); }; }; var x=null; var y=null; var e=null; function popup_drag_start(event){ if(event.srcElement){e=event.srcElement;} else {e=event.target;}; if(e.id!='popup_pic'){return false;}; x=event.clientX-(e.parentNode.offsetLeft+e.offsetLeft); y=event.clientY-(e.parentNode.offsetTop+e.offsetTop); return false; }; function popup_drag(event){ if(e==null || x==null || y==null || e.id!='popup_pic'){return false;}; if((event.clientX-e.parentNode.offsetLeft-x)>0){ e.style.marginLeft='0px'; } else if((event.clientX-e.parentNode.offsetLeft-x)<(e.parentNode.offsetWidth-e.offsetWidth)){ e.style.marginLeft=e.parentNode.offsetWidth-e.offsetWidth+'px'; } else { e.style.marginLeft=event.clientX-e.parentNode.offsetLeft-x+'px'; }; if((event.clientY-e.parentNode.offsetTop-y)>0){ e.style.marginTop='0px'; } else if((event.clientY-e.parentNode.offsetTop-y)<(e.parentNode.offsetHeight-e.offsetHeight)){ e.style.marginTop=e.parentNode.offsetHeight-e.offsetHeight+'px'; } else { e.style.marginTop=event.clientY-e.parentNode.offsetTop-y+'px'; }; return false; }; function popup_drag_end(){ x=null; y=null; e=null; return false; }; var prev_url=''; var next_url=''; document.onkeydown = function(event){ event = event || window.event; var keycode = event.charCode || event.keyCode; if(keycode === 27){ popup_hide(); } else if(keycode === 37 && prev_url!=''){ popup(prev_url,1); } else if(keycode === 39 && next_url!=''){ popup(next_url,1); }; };