


/*====================================================
 * Window Functions
 * 
====================================================*/

	function viewport_height(){return "innerHeight" in window? window.innerHeight: document.documentElement.offsetHeight;}
	function viewport_width(){return "innerWidth" in window? window.innerWidth: document.documentElement.offsetWidth;}
	
	
	function center_win(value)
	{
		if(!value)
			value = '800x600';
		
		my_array = value.split('x')
		w = my_array[0];
		h = my_array[1];
		//alert('w: ' + w + ', h: ' + h);
		
		winW = viewport_width();
		winH = viewport_height();
		//alert('winW: ' + winW + ', winH: ' + winH);
		
		var posLeft = (winW/2)-(w/2);
		var posTop = (winH/2)-(h/2);
		//alert('posLeft: ' + parseInt(posLeft) + ', posTop: ' + parseInt(posTop));
		
		return{left: parseInt(posLeft), top: parseInt(posTop)}
	}
	
	
	function ImgWin(url)
	{
//		alert('open window');
		ImageWin = window.open(url, 'ImageWin', 'toolbar=0, scrollbars=1, location=0, statusbar=0, menubar=0, resizable=1, width=' + parseInt(screen.width-30) + ', height=' + (screen.height-70) + ', left=0,top=0'); ImageWin.focus();
	}
	
	
	function JobWin(url)
	{
		JobWindow = window.open(url, 'JobWindow', 'toolbar=0, scrollbars=0, location=0, statusbar=0, menubar=0, resizable=1, width=' + screen.width + ', height=' + parseInt(screen.height-30) + ', left=0, top=0');
		JobWindow.moveTo(0,0);
		JobWindow.resizeTo(screen.width,screen.height-30);
		JobWindow.focus();
	}
	
	
	function PopupWin(url, w, h)
	{
		if (document.body)
		{
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
		else
		{
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		//alert ('winW: ' + winW + ', winH: ' + winH);
		var posLeft = (winW/2)-(w/2);
		var posTop = (winH/2)-(h/2);
		//alert ('posLeft: ' + posLeft + ', posTop: ' + posTop);


		PopupWindow = window.open(url, 'PopupWindow', 'toolbar=0, scrollbars=1, location=0, statusbar=0, menubar=0, resizable=1, width=' + w + ', height=' + h + ', left=' + posLeft + 'px, top=' + posTop + 'px'); PopupWindow.focus();
	}
	
	
	function reload_window()
	{
		alert('reload window');
		window.location.reload();
	}
	


/*====================================================
 * General Functions
 * 
====================================================*/

//	[ Cookies ]
	function setCookie(object, value, days)
		{
//		alert('value: ' + value);
		if(days)
			{
			time = new Date();
			time.setTime(time.getTime()+days*24*60*60*1000);
			var exp = '; expires='+time.toGMTString();
			}
		else
			{
			var exp='';
			}
//		alert(object + "=" + value + exp);
		document.cookie = object + "=" + value + exp + ";path=/";
//		alert(document.cookie);
		}

	function getCookie(object)
		{
		var SearchString = object + "=";
		var ReturnValue = "";
		if (document.cookie.length > 0)
			{
			offset = document.cookie.indexOf(SearchString);
			if (offset != -1)
				{
				offset += SearchString.length;
				end = document.cookie.indexOf(";", offset);
				if (end == -1) end = document.cookie.length;
				ReturnValue=unescape(document.cookie.substring(offset, end));
				}
			}
		return ReturnValue;
		}


//	[ start mOver / mOut ]
	function mOverRow(Item, color)
		{
//		alert(Item);
		if(!color)
			{var color = '#D6D6D6'}
//		Item.style.backgroundColor="#D6D6D6";
		Item.style.backgroundColor=color;
		Item.style.cursor="pointer";
		}

	function mOutRow(Item)
		{
		Item.style.backgroundColor="";
		}


	function mOverTab(obj)
		{
		obj.style.cursor = 'pointer';
		obj.style.backgroundColor="#D1D1D1";
		obj.style.color = '#000000';
		}

	function mOutTab(obj)
		{
/*		obj.style.cursor = 'pointer';*/
		obj.style.backgroundColor="";
		obj.style.color = '';
		}



	function CaptureError(eCode)
		{
		alert(eCode);
		}


	function ActiveCategoryTab(obj)
		{
//		alert(obj.id);

		if(obj.id == 'SelectTab')
			{
			document.getElementById('AddTab').className = 'FormTab FormTabInactive';
			document.getElementById('CategorySelectForm').style.display='block'
			document.getElementById('CategoryAddForm').style.display='none'
			}
		if(obj.id == 'AddTab')
			{
			document.getElementById('SelectTab').className = 'FormTab FormTabInactive';
			document.getElementById('CategoryAddForm').style.display='block'
			document.getElementById('CategorySelectForm').style.display='none'
			}

		obj.className = 'FormTab FormTabActive';
		}




/*====================================================
 * Navigation Functions
 * 
====================================================*/
/*
//	[ start page navigation ]
	function BuildPageNav2(pg)
		{
		//alert(pg);
		//alert('Build Page Nav');
		document.getElementById('divPageNav2').style.display = 'none';

		//alert('tRecords: ' + getCookie('tRecords'));
		var tRecords = getCookie('tRecords');
		//alert('tRecords: ' + tRecords);

		//var pSize = 10; // page size;
		//var pSize = getCookie('PageSize');
		var pSize = getCookie('pSize');
		//alert('pSize: ' + pSize);

		var nSize = 20; // nav size;
		//alert('nSize: ' + nSize);

		var tPages = Math.ceil(tRecords/pSize); // total pages
		//alert('tPages: ' + tPages);

		var nString = '';  // nav string;

	if(getCookie('tRecords') > '0')
		{
		//alert('trace');

		if(nSize > tPages)	// if nav size > total page then nav size = total pages
			{
			nSize = tPages
			}
		var sNum = 1; // start number;
		if(pg > nSize)
			{
			sNum = (((pg*1)-nSize)+1);
			}
//		  var nString = '';  // nav string;

//		-- start opening of navigation bar --
		nString = nString + "Result Pages: ";
		//alert('tPages: ' + tPages);
		if(tPages > 1)
			{
			if(pg == 1)
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"color: #A6A6A6; cursor:default;\">|< First Page</span>";
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"color: #A6A6A6; cursor:default;\"><< Prev</span>";
				}
			else
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:pointer;\" onmouseover=\"StyleNav(this, 'i');\" onmouseout=\"StyleNav(this, 'o');\" onclick=\"BuildPageNav('1'); InitResults('1');\">|<u>< First Page</u></span>";
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:pointer;\" onmouseover=\"StyleNav(this, 'i');\" onmouseout=\"StyleNav(this, 'o');\" onclick=\"BuildPageNav('" + ((pg*1)-1) + "'); InitResults('" + ((pg*1)-1) + "')\"><u><< Prev</u></span>";
				}
			}

//		-- start loop of page numbers --
		for(var n = sNum; n <= ((sNum+nSize)-1); n++)
			{
			if(n == pg)
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:default;\">" + n;
				}
			else
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:pointer;\" onmouseover=\"StyleNav(this, 'i');\" onmouseout=\"StyleNav(this, 'o');\" onclick=\"BuildPageNav('" + n + "');  InitResults('" + n + "')\"><u>" + n + "</u>";
				}

		if(n < (sNum+nSize) || n < tPages)
			{
//			nString = nString  + " "
			}
		nString = nString + "</span>";
		}
 
//		-- start closing of navigation bar --
		if(tPages > 1)
			{
			if(pg == tPages)
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"color: #A6A6A6; cursor:default;\"><u>Next >></u></span>";
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"color: #A6A6A6; cursor:default;\"><u>Last Page ></u>|</span>";
				}
			else
				{
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:pointer;\" onmouseover=\"StyleNav(this, 'i');\" onmouseout=\"StyleNav(this, 'o');\" onclick=\"BuildPageNav('" + ((pg*1)+1) + "'); InitResults('" + ((pg*1)+1) + "')\"><u>Next >></u></span>";
				nString = nString + "<span class=\"pNavItem pNavItemBorder\" style=\"cursor:pointer;\" onmouseover=\"StyleNav(this, 'i');\" onmouseout=\"StyleNav(this, 'o');\" onclick=\"BuildPageNav('" + tPages + "'); InitResults('" + tPages + "')\"><u>Last Page ></u>|</span>";
				}
			}

		}
	else
		{
		nString = nString + ""
		}

//	[ end page navigation ]
 
// 	alert(nString);
 
	document.getElementById('divPageNav1').innerHTML = nString;
	document.getElementById('divPageNav2').innerHTML = nString;
	document.getElementById('divPageNav2').style.display='block';
//	setTimeout(RetrieveResults(),500);
	}


	function StyleNav(item, act)
		{
//		border: solid 1px #555555; padding-bottom: 1; 
//		alert(item + ', ' + act);
		if(act == 'i')
			{
			item.style.borderColor = '#555555';
			item.style.backgroundColor = '#EEECE3'
			}
		else
			{
			item.style.borderColor = '';
			item.style.backgroundColor = '';
			}
		}

*/



/*
//	if(document.images)
//		{
		BackImage1 = new Image; 
		BackImage1.src = "/Images/Formatting/TabBgColor.jpg";
		BackImage2 = new Image; 
		BackImage2.src = "/Images/Formatting/TabBgColor2.jpg";
//		}

	function TabOver(item)
		{
//		alert(item);
//		document.getElementById(item).className = 'tabs2'
//		document.getElementById(item + 'Back').style.-moz-opacity='1.0';
		document.getElementById(item + 'Back').style.opacity = '1.0';
		document.getElementById(item + 'Back').style.filter = 'alpha(opacity="100")';
		}

	function TabOut(item)
		{
//		alert(item);
//		document.getElementById(item).className = 'tabs'
		document.getElementById(item + 'Back').style.opacity = '0.0';
		document.getElementById(item + 'Back').style.filter = 'alpha(opacity="0")';
//		document.getElementById(item).style.cursor = '';
		}
*/

/*====================================================
	Page Functions
====================================================*/

	function InitPage()
		{
//		alert('test');

		}


	function InitResults(pg)
	{
	//alert('InitResults');
	//alert(pg);
	//alert('ck_rView: ' + getCookie('rView'));
	if(!pg)pg=1;
	setCookie('pg', pg);
	BuildPageNav(pg);
//	alert('Trace');
	LoadResults();
	}


	function SetPageSize(value)
	{
//	alert(value);
	setCookie('pSize', value, '30');
//	alert('PageSize: ' + getCookie('iCount'));
//	LoadResults();
	InitResults();
	}


/*====================================================
	Ajax Functions
====================================================*/

//	[ Create Objects ]
	if (window.XMLHttpRequest)
		{
		xError = new XMLHttpRequest();
		xFile = new XMLHttpRequest();
		xProductList = new XMLHttpRequest();
		}
	else if (window.ActiveXObject)
		{
		xError = new ActiveXObject('Microsoft.XMLHTTP');
		xFile = new ActiveXObject('Microsoft.XMLHTTP');
		xProductList = new ActiveXObject('Microsoft.XMLHTTP');
		}


	function LoadResults()
	{
//	alert('LoadResults');

	var StandBy = "<div class=\"StandBy\" style=\"position: relative; top: 80px; width: 100%;\"><div style=\"position: relative; left: 50%; margin-left: -125px; width: 250px; border: solid 1px #CCC; background-color: #EEE; text-align: center; padding: 20px;\"><font face='Arial' size='2'>Processing!<br>Please Stand By.</font><br><br><img border='0' src='/images/icons/Progress.gif' width='16' height='16'></div></div>";
	document.getElementById('ProductResults').innerHTML = StandBy;
	if(xProductList)
		{
		xProductList.open('GET', '/products/grid_01.php');
		xProductList.onreadystatechange = function()
			{
			try
				{
				if (xProductList.readyState == 4 && xProductList.status == 200)
					{
					document.getElementById('ProductResults').innerHTML = xProductList.responseText;
					document.getElementById('divPageNav2').style.display='block';
					}
				}
			catch(err){}
			}
		try
			{
			xProductList.send(null);
			}
		catch(err){}
		}
	}






	function LoadPage(src, div)
		{
		//alert('LoadProducts: ' + src + ', ' + div);

		if(xProductList)
			{
			xProductList.open('GET', src);
			xProductList.onreadystatechange = function()
				{
				//alert('test');
				try
					{
					if (xProductList.readyState == 4 && xProductList.status == 200)
						{
						document.getElementById(div).innerHTML = xProductList.responseText;
						}
					}
				catch(err){}
				}
			try
				{
				xProductList.send(null);
				}
			catch(err){}
			}

		}


	function InitError(eCode)
		{
//		alert('InitError');

		if(xError)
			{
			xError.open('GET', '/CommonFiles/Error.asp?eCode=' + eCode);
			xError.onreadystatechange = function()
				{
//				alert('test');
				try
					{
					if (xError.readyState == 4 && xError.status == 200)
						{
						document.getElementById('ErrorDiv').innerHTML = xError.responseText;
						}
					}
				catch(err){}
				}
			try
				{
				xError.send(null);
				}
			catch(err){}
			}

		}



	function get_file(src, div)
	{
	//alert('get_file: ' + src + ', ' + div);

		if(xFile)
		{
			xFile.open('GET', src);
			xFile.onreadystatechange = function()
			{
				//alert('test');
				try
				{
					if (xFile.readyState == 4 && xFile.status == 200)
					{
						document.getElementById(div).innerHTML = xFile.responseText;
					}
				}
				catch(err){}
			}
			try
			{
				xFile.send(null);
			}
			catch(err){}
		}

	}

