function WindowHelper(){}

    WindowHelper.PopupNames =
    {
        FullSize : "FullSize",
	    Help : "Help",
	    ShowPolls : "ShowPolls",
	    PreviewSlide : "PreviewSlide"
    }

	WindowHelper.IsOpen = function (wnd)
	{
		if (!wnd)
		{
			return false;
		}
		if (wnd == null)
		{
			return false;
		}
		if (wnd.closed == true)
		{
			return false;
		}
		return true;
	}

	WindowHelper.CreateNamedPopup=function(popupName, name, width, height, scrollbars, resizeable)
	{
		return this.CreatePopup(WindowHelper.GetPopupURL(popupName), name, width, height, scrollbars, resizeable);
	}

	WindowHelper.CreatePopup=function(sUrl,sName,nWidth,nHeight,fScrollbars,fResizeable)
	{
		// extra offset for mac
		var offsetX = 0;
		var offsetY = 0;

		nWidth=Math.floor(nWidth) + offsetX;
		nHeight=Math.floor(nHeight) + offsetY;

		var sFeatures = "width=" + nWidth + ",height=" + nHeight;
	       
		if (fScrollbars)
		{
			sFeatures += ",scrollbars=yes";
		}
		else
		{
			sFeatures += ",scrollbars=no";
		}
	        
		if (fResizeable)
		{
			sFeatures += ",resizable=yes";
		}
		else
		{
			sFeatures += ",resizable=no";
		}
	        
		var popup = window.open(sUrl,sName,sFeatures);
		if(popup)
		{
		    this.Center(popup, nWidth, nHeight);
		}		
		return popup;
	}

	WindowHelper.Center=function(wnd,nWidth,nHeight)
	{
		var posX = Math.round((screen.availWidth-nWidth)/2);
		var posY=  Math.round((screen.availHeight-nHeight)/2);
		wnd.moveTo(posX,posY);
	}

	WindowHelper.PopupHelp=function(sUrl,nWidth,nHeight)
	{
		window.popuphelp = this.CreatePopup(sUrl,"__help",nWidth,nHeight,true,true);
		WindowHelper.Center(window.popuphelp,nWidth,nHeight);
		window.popuphelp.focus();
	}

	WindowHelper.MaximizeOrCenter = function(wnd, width, height)
	{
		if (WindowHelper.IsWidthOrHeightGreater(width, height))
		{
			WindowHelper.Maximize(wnd);
		}
		else
		{
			WindowHelper.Center(wnd, width, height);
		}
	}

	WindowHelper.Maximize = function(wnd)
	{
		wnd.resizeTo(screen.availWidth, screen.availHeight);
		wnd.moveTo(0, 0);
	}

	WindowHelper.IsWidthOrHeightGreater = function(width, height)
	{
		var screenWidth = screen.availWidth;
		var screenHeight = screen.availHeight;
		
		if (width > screenWidth || height > screenHeight)
		{
			return true;
			
		}
		else
		{
			return false;
		}
	}
	
    WindowHelper.GetPopupURL = function(popupName)
    {
	    switch (popupName)
	    {
		    case WindowHelper.PopupNames.Help:
		        if(Manifest.IsStandAlone)
		        {
		            return GlobalOptions.AppRoot + "/Players/Popups/Help/Overview.htm";
		        }
		        else
		        {
			        return GlobalOptions.AppRoot + "/Popups/Help/OverviewFullVersion.htm";
			    }
		    case WindowHelper.PopupNames.ShowPolls:
			    return GlobalOptions.AppRoot + "/Popups/Polls/PollList.aspx?" + SfKernel.RequestVariables.PlaybackTicketId + "=" + Manifest.PlaybackTicketId;
		    case WindowHelper.PopupNames.PreviewSlide:
			    return GlobalOptions.AppRoot + "/" + LayoutOptions.PreviewViewer;
		    case WindowHelper.PopupNames.FullSize:
			    return GlobalOptions.AppRoot + "/" + LayoutOptions.FullSizeViewer;
	    }
    }

