//-------------------------------------

var WIDTH_PX				= 250;
var HEIGHT_PX				= 20;

//-------------------------------------

var m_sProgBarURL;

//-------------------------------------

function StartProgressBar(_sProgURL,_sKey)
{
	try
	{
		$(function() {$('#scroll-panel').jScrollPane();});
	}
	catch (err)
	{
	}

	//DBG.Print("ProgURL = " + _sProgURL);
	//DBG.Print("Key = " + _sKey);
	
	grayOut(true,{'opacity':'60','zindex':'50'});
	
	m_sProgBarURL = _sProgURL + "?Key=" + _sKey;

	var Elements = document.getElementsByTagName("*");
	for (var i = 0; i < Elements.length; i++)
	{
		var ControlID = Elements[i].getAttribute("ID");
		if (ControlID != null)
		{
			var Control = Elements[i];

			if (ControlID == "ProgressBar")
			{	
				Control.style.display = "block";	
			}
			else if (ControlID == "ProgressBarSlider")
			{
				Control.style.width = WIDTH_PX + 'px';
				Control.style.height = HEIGHT_PX + 'px';
			}
			else if (ControlID == "ProgressBarSliderButton")
			{
				Control.style.height = (HEIGHT_PX - 1) + 'px';
			}
		}
	}

	SendAjaxRequest(m_sProgBarURL);
}

//-------------------------------------

function GetProgressBarResponse(_ResponseText)
{
	try
	{
		$(function() {$('#scroll-panel').jScrollPane();});
	}
	catch (err)
	{
	}

	var ID = _ResponseText.charAt(0);
	var Data = _ResponseText.slice(1);

	var PixelWidthPcnt = 100;
	if (ID == 'v')
	{
		PixelWidthPcnt = parseInt(Data);
		if (PixelWidthPcnt < 0)
		{
			PixelWidthPcnt = 0;
		}
	}

	var Elements = document.getElementsByTagName("*");
	for (var i = 0; i < Elements.length; i++)
	{
		if (Elements[i].getAttribute("ID") == "ProgressBarSliderButton")
		{
			Elements[i].style.width = ((WIDTH_PX * PixelWidthPcnt) / 100).toString() + 'px';
			break;
		}
	}

	if (ID == 'v')
	{
		SendTimedAjaxRequest("m_sProgBarURL");
	}
	else
	{
		//DBG.Print('Response = ' + _ResponseText);
		if (ID == 'r')
		{
			window.location = Data;
		}
		else if (ID == 'd')
		{
			// Used as a counter to allow .pdf to be downloaded.
			// Set to 2 because IE may require 2nd pass for download confirmation.
			// And this still works otherwise, 'cos 2nd call is away from download page.
			window.name = "2"; 

			window.location = Data;
		}
	}
}

//-------------------------------------
//-------------------------------------

function grayOut(vis, options) 
{
	options = options || {}; 
	var zindex = options.zindex || 50;
	var opacity = options.opacity || 70;
	var opaque = (opacity / 100);
	var bgcolor = options.bgcolor || '#000000';
	var dark=document.getElementById('BlackOut');

	if (!dark) 
	{
		var tbody = document.getElementsByTagName("body")[0];
		var tnode = document.createElement('div');           
		tnode.style.position='absolute';                 
		tnode.style.top='0px';                           
		tnode.style.left='0px';                         
		tnode.style.overflow='hidden';                           
		tnode.style.display='none'; 
		tnode.style.zIndex = 999;                     
		tnode.id='BlackOut';
		tbody.appendChild(tnode);
		dark=document.getElementById('BlackOut');
	}

	if (vis) 
	{
		var pageWidth='100%';
		var pageHeight='100%';

		if ( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) 
		{
			pageWidth = document.body.scrollWidth+'px';
			pageHeight = document.body.scrollHeight+'px';
		} 
		else if ( document.body.offsetWidth ) 
		{
			pageWidth = document.body.offsetWidth+'px';
			pageHeight = document.body.offsetHeight+'px';
		} 

		dark.style.opacity=opaque;                      
		dark.style.MozOpacity=opaque;                   
		dark.style.filter='alpha(opacity='+opacity+')'; 
		dark.style.zIndex= 999;        
		dark.style.backgroundColor=bgcolor;  
		dark.style.width= pageWidth;
		dark.style.height= pageHeight;
		dark.style.display='block';                          
	} 
	else 
	{
		dark.style.display='none';
	}
}

//-------------------------------------

