
$.window=function(options){return $.Window.getInstance(null,options);};$.fn.window=function(options){return $.Window.getInstance($(this),options);}
$.Window=(function(){var VERSION="4.06";var ICON_WH=16;var ICON_MARGIN=4;var ICON_OFFSET=ICON_WH+ICON_MARGIN;var OPACITY_MINIMIZED=0.7;var ua=navigator.userAgent.toLowerCase();var animationSpeed=400;var windowIndex=0;var lastSelectedWindow=null;var windowStorage=[];var minWindowStorage=[];var handleScrollbar=true;function selectWindow(wnd){if(lastSelectedWindow!=null){lastSelectedWindow.unselect();}
if(typeof wnd=='object'){lastSelectedWindow=wnd;}else if(typeof wnd=='string'){lastSelectedWindow=$("#"+wnd).get(0).windowInstance;}
lastSelectedWindow.select();}
function getWindow(windowId){for(var i=0;i<windowStorage.length;i++){var wnd=windowStorage[i];if(wnd.getWindowId()==windowId){return wnd;}}}
function pushWindow(wnd){if(typeof wnd=='object'){windowStorage.push(wnd);}else if(typeof wnd=='string'){windowStorage($("#"+wnd).get(0).windowInstance);}}
function popWindow(windowId){for(var i=0;i<windowStorage.length;i++){var wnd=windowStorage[i];if(wnd.getWindowId()==windowId){windowStorage.splice(i--,1);break;}}}
function pushMinWindow(windowId){minWindowStorage.push($("#"+windowId).get(0).windowInstance);}
function popMinWindow(windowId){var doAdjust=false;for(var i=0;i<minWindowStorage.length;i++){var wnd=minWindowStorage[i];if(wnd.getWindowId()==windowId){minWindowStorage.splice(i--,1);doAdjust=true;continue;}
if(doAdjust){var position=wnd.getContainer().position();var top=i*120;wnd.getContainer().animate({top:top},animationSpeed);wnd.getTargetCssStyle().top=top;}}}
function hideBrowserScrollbar(){if(handleScrollbar){if(ua.indexOf("msie 7")>=0){$("body").attr("scroll","no");}else{document.body.style.overflow="hidden";}}}
function showBrowserScrollbar(){if(handleScrollbar){if(ua.indexOf("msie 7")>=0){$("body").removeAttr("scroll");}else{document.body.style.overflow="auto";}}}
function getBrowserScreenWH(){var width=document.documentElement.clientWidth;var height=document.documentElement.clientHeight;return{width:width,height:height};}
function getBrowserScrollXY(){var scrOfX=0,scrOfY=0;if(typeof(window.pageYOffset)=='number'){scrOfY=window.pageYOffset;scrOfX=window.pageXOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){scrOfY=document.body.scrollTop;scrOfX=document.body.scrollLeft;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){scrOfY=document.documentElement.scrollTop;scrOfX=document.documentElement.scrollLeft;}
return{left:scrOfX,top:scrOfY};}
function constructor(caller,options){var me=null;var windowId="window_"+(windowIndex++);var absolute=true;var minimized=false;var maximized=false;var redirectCheck=false;var pos=new Object();var wh=new Object();var orgPos=new Object();var orgWh=new Object();var targetCssStyle={};var funcBarWidth=0;var container=null;var header=null;var frame=null;var footer=null;var options=$.extend({title:"",url:"",content:"",footerContent:"",containerClass:"",headerClass:"",frameClass:"",footerClass:"",x:-1,y:-1,z:2000,width:400,height:300,minWidth:200,minHeight:150,maxWidth:800,maxHeight:600,showFooter:true,showRoundCorner:false,closable:true,minimizable:true,maximizable:true,bookmarkable:true,draggable:true,resizable:true,scrollable:true,checkBoundary:false,custBtns:null,onOpen:null,onShow:null,onClose:null,onMinimize:null,afterMinimize:null,onMaximize:null,afterMaximize:null,onCascade:null,afterCascade:null,onIframeStart:null,onIframeEnd:null,iframeRedirectCheckMsg:null,createRandomOffset:{x:0,y:0},showLog:false},options);function initialize(instance){me=instance;var realCaller=caller!=null?caller:$("body");var cornerClass=options.showRoundCorner?"ui-corner-all ":"";realCaller.append("<div id='"+windowId+"' class='window_panel "+cornerClass+options.containerClass+"'></div>");container=realCaller.children("div#"+windowId);if($.isFunction(options.onOpen)){options.onOpen(me);}
wh.w=options.width;wh.h=options.height;container.width(options.width);container.height(options.height);container.css("position",absolute?'absolute':'fixed');container.css("z-index",options.z);if(options.x>=0||options.y>=0){if(options.x>=0){var pLeft=0;if(caller!=null){pLeft=options.x+caller.offset().left;}else{pLeft=options.x+jQuery(window).scrollLeft();}
container.css("left",pLeft);}else{alignHorizontalCenter();}
if(options.y>=0){var pTop=0;if(caller!=null){pTop=options.y+caller.offset().top;}else{pTop=options.y+jQuery(window).scrollTop();}
container.css("top",pTop);}else{alignVerticalCenter();}}else{alignCenter();}
var currPos=container.position();container.css({left:currPos.left,top:currPos.top});cornerClass=options.showRoundCorner?"ui-corner-top ":"";var headerHtml="<div class='window_header window_header_normal ui-widget-header "+cornerClass+"no-resizable "+options.headerClass+"'>"+"<div class='window_title_text'>"+options.title+"</div>"+"<div class='window_function_bar'></div>"+"</div>";container.append(headerHtml);header=container.children("div.window_header");if(options.maximizable){header.dblclick(function(){if(maximized){restore();}else{maximize();}});}
var headerFuncPanel=header.children("div.window_function_bar");if(options.closable){headerFuncPanel.append("<div title='Zamknij okno' class='closeImg window_icon_button no-draggable'></div>");headerFuncPanel.children(".closeImg").click(function(){close();});funcBarWidth+=ICON_OFFSET;}
if(options.maximizable){headerFuncPanel.append("<div title='Maksymalizuj okno' class='maximizeImg window_icon_button no-draggable'></div>");headerFuncPanel.append("<div title='cascade window' class='cascadeImg window_icon_button no-draggable' style='display:none;'></div>");headerFuncPanel.children(".maximizeImg").click(function(){maximize();});headerFuncPanel.children(".cascadeImg").click(function(){restore();});funcBarWidth+=ICON_OFFSET;}
if(options.minimizable){headerFuncPanel.append("<div title='Minimalizuj okno' class='minimizeImg window_icon_button no-draggable'></div>");headerFuncPanel.children(".minimizeImg").click(function(){minimize();});funcBarWidth+=ICON_OFFSET;}
if(options.bookmarkable&&options.url!=null&&$.trim(options.url)!=""){headerFuncPanel.append("<div title='bookmark this' class='bookmarkImg window_icon_button no-draggable'></div>");headerFuncPanel.children(".bookmarkImg").click(function(){doBookmark(options.title,options.url);});funcBarWidth+=ICON_OFFSET;}
addCustomizedButtns(headerFuncPanel);$(".window_icon_button").dblclick(function(){return false;});adjustHeaderTextPanelWidth();headerFuncPanel.width(funcBarWidth);var frameHeight=getFrameHeight(wh.h);if(options.url!=null&&$.trim(options.url)!=""){if($.isFunction(options.onIframeStart)){log("start connecting iframe: "+options.url);options.onIframeStart(me,options.url);}
if(options.iframeRedirectCheckMsg){redirectCheck=true;window.onbeforeunload=function(){if(redirectCheck){var msg=options.iframeRedirectCheckMsg.replace("{url}",options.url);return msg;}}}
container.append("<div class='frame_loading'>Loading...</div>");var loading=container.children(".frame_loading");loading.css("marginLeft",'-'+(loading.outerWidth()/2)-20+'px');loading.click(function(){loading.remove();});var scrollingHtml=options.scrollable?"yes":"no";container.append("<iframe style='display:none;' class='window_frame ui-widget-content no-draggable no-resizable "+options.frameClass+"' scrolling='"+scrollingHtml+"' src='"+options.url+"' width='100%' height='"+frameHeight+"px' frameborder='0'></iframe>");frame=container.children(".window_frame");frame.ready(function(){frame.show();});frame.load(function(){redirectCheck=false;loading.remove();log("load iframe finished: "+options.url);if($.isFunction(options.onIframeEnd)){options.onIframeEnd(me,options.url);}});}else{container.append("<div class='window_frame ui-widget-content no-draggable no-resizable "+options.frameClass+"' style='width:100%; height:"+frameHeight+"px;'></div>");frame=container.children(".window_frame");if(options.content!=null){setContent(options.content);frame.children().show();}
frame.css({overflow:options.scrollable?"auto":"hidden"});}
if(options.showFooter){cornerClass=options.showRoundCorner?"ui-corner-bottom ":"";container.append("<div class='window_footer ui-widget-content "+cornerClass+"no-draggable "+options.footerClass+"'><div></div></div>");footer=container.children("div.window_footer");if(options.footerContent!=null){setFooterContent(options.footerContent);footer.children("div").children().show();}}else{cornerClass=options.showRoundCorner?"ui-corner-bottom ":"";frame.addClass(cornerClass);}
container.mousedown(function(){selectWindow(windowId);});if(options.draggable){container.draggable({cancel:".no-draggable",start:function(){log("drag start");if(minimized||maximized){container.css("position","fixed");container.css(targetCssStyle);}
showOverlay();hideContent();},stop:function(){log("drag stop");if(minimized||maximized){container.css("position","fixed");container.css(targetCssStyle);}
hideOverlay();showContent();}});if(options.checkBoundary){container.draggable('option','containment','parent');}}
if(options.resizable){container.resizable({cancel:".no-resizable",alsoResize:frame,start:function(){log("resize start");if(minimized||maximized){container.css("position","fixed");container.css(targetCssStyle);}
showOverlay();hideContent();},stop:function(){log("resize stop");if(minimized||maximized){container.css("position","fixed");container.css(targetCssStyle);}
hideOverlay();adjustHeaderTextPanelWidth();showContent();}});if(options.checkBoundary){}
if(options.maxWidth>=0){container.resizable('option','maxWidth',options.maxWidth);}
if(options.maxHeight>=0){container.resizable('option','maxHeight',options.maxHeight);}
if(options.minWidth>=0){container.resizable('option','minWidth',options.minWidth);}
if(options.minHeight>=0){container.resizable('option','minHeight',options.minHeight);}}
$(window).resize(function(){if(maximized){if(minimized){var screenWH=getBrowserScreenWH();orgWh.w=screenWH.width;orgWh.h=screenWH.height;}else{maximize(true,true);}}});if($.isFunction(options.onShow)){options.onShow(me);}}
function log(msg){if(options!=null&&options.showLog&&window.console!=null){console.log(msg);}}
function setTitle(title){options.title=title;header.children(".window_title_text").text(title);if(minimized){transformTitleText();}}
function getTitle(){return options.title;}
function setUrl(url){options.url=url;frame.attr("src",url);}
function getUrl(){return options.url;}
function setContent(content){options.content=content;if(typeof content=='object'){content=$(content).clone(true);}else if(typeof content=='string'){}
frame.empty();frame.append(content);}
function getContent(){return frame.html();}
function setFooterContent(content){if(options.showFooter){options.footerContent=content;if(typeof content=='object'){content=$(content).clone(true);}else if(typeof content=='string'){}
footer.children("div").empty();footer.children("div").append(content);}}
function getFooterContent(){return footer.children("div").html();}
function showOverlay(){var overlay=$("#window_overlay");if(overlay.get(0)==null){$("body").append("<div id='window_overlay'>&nbsp;</div>");overlay=$("#window_overlay");overlay.css({zIndex:options.z+1});}
overlay.show();}
function hideOverlay(){$("#window_overlay").hide();}
function transferToFixed(){var currPos=container.offset();var scrollPos=getBrowserScrollXY();container.css({position:"fixed",left:currPos.left-scrollPos.left,top:currPos.top-scrollPos.top,marginLeft:0,marginTop:0});}
function transferToAbsolute(){var currPos=container.offset();container.css({position:"absolute",left:currPos.left,top:currPos.top});}
function addCustomizedButtns(headerFuncPanel){if(options.custBtns!=null&&typeof options.custBtns=='object'){for(var i=0;i<options.custBtns.length;i++){var btnData=options.custBtns[i];if(btnData!=null&&typeof btnData=='object'){if(btnData.id!=null&&btnData.image!=null&&btnData.callback!=null){var id=btnData.id!=null?btnData.id:"";var clazz=btnData.clazz!=null?btnData.clazz:"";var title=btnData.title!=null?btnData.title:"";var style=btnData.style!=null?btnData.style:"";var image=btnData.image!=null?btnData.image:"";var callback=btnData.callback!=null?btnData.callback:"";headerFuncPanel.append("<img id='"+id+"' src='"+image+"' title='"+title+"' class='"+clazz+" window_icon_button no-draggable' style='"+style+"'/>");var btn=headerFuncPanel.children("img[id="+id+"]");btn.get(0).clickCb=callback;if($.isFunction(callback)){btn.click(function(){this.clickCb($(this),me);});}}else{var btn=$(btnData).clone(true);btn.addClass("window_icon_button no-draggable cust_button");headerFuncPanel.append(btn);btn.show();}}
funcBarWidth+=ICON_OFFSET;}}}
function adjustHeaderTextPanelWidth(){header.children("div.window_title_text").width(header.width()-funcBarWidth-10);}
function adjustFrameWH(){var width=container.width();var height=container.height();var frameHeight=getFrameHeight(height);frame.width(width);frame.height(frameHeight);}
function doBookmark(title,url){if($.browser.mozilla&&window.sidebar){window.sidebar.addPanel(title,url,"");}else if($.browser.msie&&window.external){window.external.AddFavorite(url,title);}else if(ua.indexOf("chrome")>=0){alert("Sorry! Chrome doesn't support bookmark function currently.");}else if($.browser.safari||ua.indexOf("safari")>=0){alert("Sorry! Safari doesn't support bookmark function currently.");}else if($.browser.opera||ua.indexOf("opera")>=0){alert("Sorry! Opera doesn't support bookmark function currently.");}}
function hideContent(){var bgColor=frame.css("backgroundColor");if(bgColor!=null&&bgColor!="transparent"){container.css("backgroundColor",bgColor);}
frame.hide();if(options.showFooter){footer.hide();}
container.css("opacity",OPACITY_MINIMIZED);}
function showContent(){frame.show();if(options.showFooter){footer.show();}
container.css("opacity",1);}
function getFrameHeight(windowHeight){var footerHeight=options.showFooter?16:0;return windowHeight-20-footerHeight-4;}
function transformTitleText(){var textBlock=header.children("div.window_title_text");var text=textBlock.text();var buf="";var limitHeight=120-7-13;for(var i=0;i<text.length;i++){var c=text.charAt(i);if(c=="-"||c=="_"){c="|";}
if(c==" "){c="<div style='height:5px; line-height:5px;'>&nbsp;</div>";buf+=c;}else{buf+=c+"<br>";}
textBlock.html(buf);if(textBlock.outerHeight()+13>limitHeight){buf+=":";textBlock.html(buf);break;}}}
function restoreTitleText(){var textBlock=header.children("div.window_title_text");textBlock.text(options.title);}
function select(){container.css("z-index",options.z+2);}
function unselect(){container.css("z-index",options.z);}
function getContainer(){return container;}
function getHeader(){return header;}
function getFrame(){return frame;}
function getFooter(){return footer;}
function getTargetCssStyle(){return targetCssStyle;}
function alignCenter(){if(caller!=null){var pLeft=(caller.width()-container.width())/2;var pTop=(caller.height()-container.height())/2;if(options.createRandomOffset.x>0){pLeft+=((Math.random()-0.5)*options.createRandomOffset.x);}
if(options.createRandomOffset.y>0){pTop+=((Math.random()-0.5)*options.createRandomOffset.y);}
container.css({left:pLeft,top:pTop});}else{container.css({left:'50%',top:'50%'}).css({marginLeft:'-'+(container.outerWidth()/2)+'px',marginTop:'-'+(container.outerHeight()/2)+'px'});if(absolute){var marginLeft=parseInt(container.css('marginLeft'),10)+jQuery(window).scrollLeft();var marginTop=parseInt(container.css('marginTop'),10)+jQuery(window).scrollTop();if(options.createRandomOffset.x>0){marginLeft+=((Math.random()-0.5)*options.createRandomOffset.x);}
if(options.createRandomOffset.y>0){marginTop+=((Math.random()-0.5)*options.createRandomOffset.y);}
container.css({marginLeft:marginLeft,marginTop:marginTop});}};}
function alignHorizontalCenter(){if(caller!=null){var pLeft=(caller.width()-container.width())/2+caller.offset().left;container.css({left:pLeft});}else{container.css({left:'50%'}).css({marginLeft:'-'+(container.outerWidth()/2)+'px'});if(absolute){container.css({marginLeft:parseInt(container.css('marginLeft'),10)+jQuery(window).scrollLeft()});}}}
function alignVerticalCenter(){if(caller!=null){var pTop=(caller.height()-container.height())/2+caller.offset().top;container.css({top:pTop});}else{container.css({top:'50%'}).css({marginTop:'-'+(container.outerHeight()/2)+'px'});if(absolute){container.css({marginTop:parseInt(container.css('marginTop'),10)+jQuery(window).scrollTop()});}}}
function maximize(bImmediately,bNoSaveDisplay){if(!$.browser.msie){hideBrowserScrollbar();}
maximized=true;container.draggable('disable');container.resizable('disable');if(bNoSaveDisplay!=true){pos.left=container.css("left");pos.top=container.css("top");pos.marginLeft=container.css("marginLeft");pos.marginTop=container.css("marginTop");wh.w=container.width();wh.h=container.height();}
var scrollPos=getBrowserScrollXY();var screenWH=getBrowserScreenWH();targetCssStyle={left:0,top:0,marginLeft:scrollPos.left,marginTop:scrollPos.top,width:screenWH.width,height:screenWH.height,opacity:1};if(bImmediately){container.css(targetCssStyle);adjustHeaderTextPanelWidth();adjustFrameWH();header.removeClass('window_header_normal');header.addClass('window_header_maximize');var headerFuncPanel=header.children("div.window_function_bar");headerFuncPanel.children(".maximizeImg").hide();headerFuncPanel.children(".cascadeImg").show();}else{hideContent();container.animate(targetCssStyle,animationSpeed,'swing',function(){if($.browser.msie){hideBrowserScrollbar();}
showContent();adjustHeaderTextPanelWidth();adjustFrameWH();header.removeClass('window_header_normal');header.addClass('window_header_maximize');var headerFuncPanel=header.children("div.window_function_bar");headerFuncPanel.children(".maximizeImg").hide();headerFuncPanel.children(".cascadeImg").show();if($.isFunction(options.afterMaximize)){options.afterMaximize(me);}});}
if($.isFunction(options.onMaximize)){options.onMaximize(me);}}
function minimize(){showBrowserScrollbar();minimized=true;container.draggable('disable');container.resizable('disable');orgPos.left=container.css("left");orgPos.top=container.css("top");orgPos.marginLeft=container.css("marginLeft");orgPos.marginTop=container.css("marginTop");orgWh.w=container.width();orgWh.h=container.height();var top=(minWindowStorage.length*120)+"px";targetCssStyle={left:0,top:top,marginLeft:0,marginTop:0,width:24,height:120,opacity:OPACITY_MINIMIZED};transferToFixed();hideContent();container.animate(targetCssStyle,animationSpeed,'swing',function(){header.children("div.window_title_text").width("100%");header.attr("title",options.title);header.removeClass('window_header_normal');header.removeClass('window_header_maximize');header.addClass('window_header_minimize');if(options.showRoundCorner){header.removeClass('ui-corner-top');header.addClass('ui-corner-all');}
header.children(".window_function_bar").hide();transformTitleText();header.click(function(){restore();});if($.isFunction(options.afterMinimize)){options.afterMinimize(me);}});container.mouseover(function(){$(this).css("opacity",1);});container.mouseout(function(){$(this).css("opacity",OPACITY_MINIMIZED);});if($.isFunction(options.onMinimize)){options.onMinimize(me);}
pushMinWindow(windowId);}
function restore(){var rpos=null;var rwh=null;if(minimized){minimized=false;rpos=orgPos;rwh=orgWh;transferToAbsolute();header.removeClass('window_header_minimize');if(maximized){var scrollPos=getBrowserScrollXY();rpos={left:0,top:0,marginLeft:scrollPos.left,marginTop:scrollPos.top};header.addClass('window_header_maximize');}else{header.addClass('window_header_normal');}}else if(maximized){maximized=false;rpos=pos;rwh=wh;header.removeClass('window_header_maximize');header.addClass('window_header_normal');}
restoreTitleText();header.removeAttr("title");header.removeClass('window_header_minimize');if(options.showRoundCorner){header.removeClass('ui-corner-all');header.addClass('ui-corner-top');}
header.children(".window_function_bar").show();container.unbind("mouseover");container.unbind("mouseout");targetCssStyle={left:rpos.left,top:rpos.top,marginLeft:rpos.marginLeft,marginTop:rpos.marginTop,width:rwh.w,height:rwh.h,opacity:1};hideContent();container.animate(targetCssStyle,animationSpeed,'swing',function(){showContent();header.unbind('click');adjustHeaderTextPanelWidth();adjustFrameWH();var headerFuncPanel=header.children("div.window_function_bar");if(maximized){hideBrowserScrollbar();headerFuncPanel.children(".maximizeImg").hide();headerFuncPanel.children(".cascadeImg").show();}else{showBrowserScrollbar();container.draggable('enable');container.resizable('enable');headerFuncPanel.children(".maximizeImg").show();headerFuncPanel.children(".cascadeImg").hide();}
if($.isFunction(options.afterCascade)){options.afterCascade(me);}});if($.isFunction(options.onCascade)){options.onCascade(me);}
popMinWindow(windowId);}
function close(quiet){if(!quiet&&$.isFunction(options.onClose)){options.onClose(me);}
destroy();}
function destroy(){redirectCheck=false;if(maximized){showBrowserScrollbar();}
popWindow(windowId);container.remove();}
return{initialize:initialize,getTargetCssStyle:getTargetCssStyle,getWindowId:function(){return windowId;},select:select,unselect:unselect,getContainer:getContainer,getHeader:getHeader,getFrame:getFrame,getFooter:getFooter,alignCenter:alignCenter,alignHorizontalCenter:alignHorizontalCenter,alignVerticalCenter:alignVerticalCenter,maximize:maximize,minimize:minimize,restore:restore,close:close,setTitle:setTitle,setUrl:setUrl,setContent:setContent,setFooterContent:setFooterContent,getTitle:getTitle,getUrl:getUrl,getContent:getContent,getFooterContent:getFooterContent};}
return{getInstance:function(caller,options){var instance=constructor(caller,options);instance.initialize(instance);selectWindow(instance);instance.getContainer().get(0).windowInstance=instance;pushWindow(instance);return instance;},getVersion:function(){return VERSION;},setAnimationSpeed:function(speed){animationSpeed=speed;},closeAll:function(quiet){var count=windowStorage.length;for(var i=0;i<count;i++){var wnd=windowStorage[0];wnd.close(quiet);}
windowStorage=[];minWindowStorage=[];},hideAll:function(){for(var i=0;i<windowStorage.length;i++){windowStorage[i].getContainer().hide();}},showAll:function(){for(var i=0;i<windowStorage.length;i++){windowStorage[i].getContainer().show();}},getAll:function(){return windowStorage;},getWindow:getWindow,skipHandleScroll:function(){handleScrollbar=false;}}})();$.window.getVersion=$.Window.getVersion;$.window.setAnimationSpeed=$.Window.setAnimationSpeed;$.window.closeAll=$.Window.closeAll;$.window.hideAll=$.Window.hideAll;$.window.showAll=$.Window.showAll;$.window.getAll=$.Window.getAll;$.window.getWindow=$.Window.getWindow;$.window.skipHandleScroll=$.Window.skipHandleScroll;