// Error Variable
var hasSQLError = false;

// Cascade Navigation menu variables
var strFunction;
var timerID = null;
var timerOn = false;
var TIMER_DELAY = 400;
var outTimerID = null;
var outTimerOn = false;
var itemSelected = null;
var menuShown = null;

// Flash Movie Global Variables
var global_TotalMovieFrames;
var isMoviePlaying = true;

//Site URL
var WEB_SITE_URL = "charlottestarz.com";

// Pop-Up Window Variable
var newWindow = '';

// Constant colors used for navigation bars
var COLOR_NORMAL = "#660099";
var COLOR_REVERSE = "#ffff33";

// Starting X & Y coordinates for Pop-Up Windows
var newWinX = 30;
var newWinY = 20;

// Text Date Formatting Variables - Used in add Vendor PO's
var leadTime = 0;
var ONE_DAY = 1000*60*60*24;
var strOrderDate = "";
var dteOrderDate;	
var strSchedDate;				 
var dteSchedDate;

// Table Heading MouseOver style
function tableLinkIn()
{
   event.srcElement.style.backgroundColor = COLOR_NORMAL;
   event.srcElement.style.color = COLOR_REVERSE;
	 event.srcElement.style.cursor = "pointer";
}  // End Function tableLinkIn()

// Table Heading Normal Style
function tableLinkOut()
{
   event.srcElement.style.backgroundColor = COLOR_REVERSE;
   event.srcElement.style.color = COLOR_NORMAL;
}  // End Function tableLinkOut()

function btnMouseInOut(btnObj, strOverOut)
{
   if(strOverOut == 'in')
   {
      btnObj.style.backgroundColor = COLOR_REVERSE;
      btnObj.style.color = COLOR_NORMAL;
   }
   else if(strOverOut == 'out')
   {
      btnObj.style.backgroundColor = COLOR_NORMAL;
      btnObj.style.color = COLOR_REVERSE;
   }
}  // End Function btnMouseInOut()

// Simple navigation bar and button highlighting
function reverse()
{
  event.srcElement.style.backgroundColor = COLOR_REVERSE;
	event.srcElement.style.color = COLOR_NORMAL;	
	event.srcElement.style.cursor = "pointer";	 		 
}  // End Function reverse()

// Simple navigation bar and button "unhighlighting" 
function normal()
{
  event.srcElement.style.backgroundColor = COLOR_NORMAL;
	event.srcElement.style.color = COLOR_REVERSE;
}  // End Function normal()

// Initialize z-Index values and arrows for cascading menu
function initMenu()
{
 	 // Set the maximum number of menu levels supported
 	 var MAX_LEVELS = 10;
	 
	 // Create a menu level array
   var menuLevels = new Array(MAX_LEVELS);
	 var cntr;
	 
	 // Set the starting value for each menu level
	 for(cntr = 0; cntr < MAX_LEVELS; cntr++)
	 {
	    menuLevels[cntr] = 10*10;
			for(var exponent = 0; exponent < cntr; exponent++)
			{
			   menuLevels[cntr] = menuLevels[cntr] * 10;
		  }
			menuLevels[cntr] = menuLevels[cntr] -1;			
	 }
	   
	 var tempStr, numToUse, span, position;
	    
	 // Set the zIndex for the navigation bar   
	 for(cntr = 0; cntr < document.getElementsByTagName("DIV").length; cntr ++)
	 {	    
   	  if(document.getElementsByTagName("DIV")[cntr].className == "menuBar" ||
         document.getElementsByTagName("DIV")[cntr].className == "mainMenu")
      {
         document.getElementsByTagName("DIV")[cntr].style.zIndex = menuLevels[0];
         menuLevels[0] -= 1;
         
         if(document.getElementsByTagName("DIV")[cntr].className == "mainMenu")
         {
            // Add event handler
            document.getElementsByTagName("DIV")[cntr].onmouseover = hNavIn;
            document.getElementsByTagName("DIV")[cntr].onmouseout = hNavOut;
         }
      }						   
      else if(document.getElementsByTagName("DIV")[cntr].className == "menuItem" &&
         document.getElementsByTagName("DIV")[cntr].parentNode.className == "mainMenu")				 
      {
         document.getElementsByTagName("DIV")[cntr].style.zIndex = menuLevels[1];
         menuLevels[1] -= 1;
      }		
      else if(document.getElementsByTagName("DIV")[cntr].className == "menuItem")
      {
         tempStr = "" + document.getElementsByTagName("DIV")[cntr].parentNode.style.zIndex;
         numToUse = parseInt(tempStr.length,10) -1;
         document.getElementsByTagName("DIV")[cntr].style.zIndex = menuLevels[numToUse];	
         menuLevels[numToUse] -= 1;
      }									
      	             	
      if((document.getElementsByTagName("DIV")[cntr].className == "mainMenu" ||
   	     document.getElementsByTagName("DIV")[cntr].className == "menuItem") &&
   		   document.getElementsByTagName("DIV")[cntr].children.length != 0)
   	  {				     												 		 						 
   		   //Add Arrows if needed				 
         span = '<span class="arrow" ' + 
            'id = "arrow_' + document.getElementsByTagName("DIV")[cntr].id + 
         	'" style="position:absolute; left:';
         
         // Set position for arrow
         if(document.getElementsByTagName("DIV")[cntr].className == "mainMenu")
         {
            position = (document.getElementsByTagName("DIV")[cntr].getBoundingClientRect().right - 
      	      document.getElementsByTagName("DIV")[cntr].getBoundingClientRect().left - 15);
         }
         else
         {
            position = (document.getElementsByTagName("DIV")[cntr].getBoundingClientRect().right - 
      	      document.getElementsByTagName("DIV")[cntr].getBoundingClientRect().left - 15);
         }
   			 
   		   // Add position to arrow element	
   		   span += position + 'px"><img src="/Images/WebGraphics/Icons/menuArrowGold.gif" width="10px" height="10px" style="margin-top:4px" /></span>';							
   		   document.getElementsByTagName("DIV")[cntr].innerHTML += span;	
         
         // Add event handler
         document.getElementById('arrow_' + document.getElementsByTagName("DIV")[cntr].id).onmouseover = hNavIn;
         document.getElementById('arrow_' + document.getElementsByTagName("DIV")[cntr].id).onmouseout = hNavOut;	
         																									 
   	  }				 				  				 					   			  
	 }
}  // End Function initMenu()

// Cascade navigation bar highlighting
function hNavReverse(obj)
{   
  if(obj.className == "arrow")
	{	  
     // Reverse menu item
		 obj.parentNode.style.backgroundColor = COLOR_REVERSE;
	   obj.parentNode.style.color = COLOR_NORMAL;		
		 if(obj.id.indexOf("_href") != -1) 
	      obj.parentNode.style.cursor = "pointer";	
	   else
	      obj.parentNode.style.cursor = "default";			 	
	}  
  else if(obj.tagName.toLowerCase() == 'img')
  {          
     // Reverse arrow
     obj.src = '/Images/WebGraphics/Icons/menuArrowPurple.gif';	
      
     // Reverse menu item
		 obj.parentNode.parentNode.style.backgroundColor = COLOR_REVERSE;
	   obj.parentNode.parentNode.style.color = COLOR_NORMAL;	
     	
		 if(obj.id.indexOf("_href") != -1) 
	      obj.parentNode.parentNode.style.cursor = "pointer";	
	   else
	      obj.parentNode.parentNode.style.cursor = "default";	
  }	
	else
	{
	   // Reverse arrow
	   if (obj.children.length != 0)
		 {
		    var childNum = (obj.children.length-1);
			  if(obj.children[childNum].className == "arrow")
			  {			      			 
	      	  //obj.children[childNum].style.cursor = "default";           
           obj.children[childNum].children[0].src = '/Images/WebGraphics/Icons/menuArrowPurple.gif';	   		   	
			  }
		 } 
     
     // Set the DIV Colors
     obj.style.backgroundColor = COLOR_REVERSE;
		 obj.style.color = COLOR_NORMAL;  	
	}
	
	if(obj.id.indexOf("_href") != -1) 
	   obj.style.cursor = "pointer";	
	else
	   obj.style.cursor = "default";			
}  // End Function hNavReverse(obj)

// Cascade navigation bar "unhighlighting"
function hNavNormal(obj)
{  
	if(obj.className == "arrow")
	{
	   // Reverse menu item		 
	   obj.parentNode.style.color = COLOR_REVERSE;
		 		
		 if(obj.parentNode.className != "mainMenu")
		    obj.parentNode.style.backgroundColor = COLOR_NORMAL;
		 else
		    obj.parentNode.style.backgroundColor = "transparent";				    
	}
  else if(obj.tagName.toLowerCase() == 'img')
  {          
     // Reverse arrow
     obj.src = '/Images/WebGraphics/Icons/menuArrowGold.gif';	
      
     // Reverse Menu Item		 
	   obj.parentNode.parentNode.style.color = COLOR_REVERSE;
		           
		 if(obj.parentNode.parentNode.className != "mainMenu")
		    obj.parentNode.parentNode.style.backgroundColor = COLOR_NORMAL;
		 else
		    obj.parentNode.parentNode.style.backgroundColor = "transparent";	
  }	
	else
	{
	   // Reverse arrow
	   if (obj.children.length != 0)
		 {
		    var childNum = (obj.children.length-1);
			  if(obj.children[childNum].className == "arrow")			 
			     obj.children[childNum].children[0].src = '/Images/WebGraphics/Icons/menuArrowGold.gif';					   
		 }   	
     
     // Reverse Menu Item
     obj.style.color = COLOR_REVERSE;
     
     if(obj.className != "mainMenu")
		    obj.style.backgroundColor = COLOR_NORMAL;
		 else
		    obj.style.backgroundColor = "transparent";     
   }		
}  // End Function hNavNormal(obj)

// Displays sub menus on cascade navigation bar 
function showSubMenu(obj)
{  	    
   // Highlight parent element
	 hNavReverse(obj);
	 
	 // Horizontal and vertical offset for sub menus
	 var vOffset = 20;
	 var hOffset = 5;	 
	 
	 // Obtain raw positioning for sub menus based on higher menu level		 		 		 		 				 			 		 		 		 				 			 	 
	 var top = obj.getBoundingClientRect().bottom - obj.getBoundingClientRect().top - vOffset;     
   var left = obj.getBoundingClientRect().right - obj.getBoundingClientRect().left - hOffset;		 			 		 		 										 	 
	 	 
	 //Display the submenu elements
	 for(var cntr = 0; cntr < obj.children.length; cntr++)
   {									 		      
			if(obj.children[cntr].className != "arrow")
			{
			   obj.children[cntr].style.top = top + "px";		 		 
         obj.children[cntr].style.left = left + "px";						 										 		  						
			   obj.children[cntr].style.visibility = "visible";
				 
				 // Show the arrow
				 if(obj.children[cntr].children.length != 0)
				    if(obj.children[cntr].children[obj.children[cntr].children.length-1].className == "arrow")
						   obj.children[cntr].children[obj.children[cntr].children.length-1].style.visibility = "visible";
			
			   // Set next vertical position
 			   top += 23;
			}
			else
			{			   
				 obj.children[cntr].style.visibility = "visible";				 
			}					 		
 	 }
	 
	 // Update the value of the menu being displayed
	 menuShown = obj;	
	 
}  // End Function showSubMenu ()

// Hide sub menu(s) on mouse out with cascade navigation bar
function hideSubMenu(obj)
{   	 	 	 
	 for(var cntr = 0; cntr < obj.children.length; cntr++)
   {									 		 	 	 		 		 	 	  
	    // Restore non-mouse over color for each child
      hNavNormal(obj.children[cntr]);
			
			// Hide each child element
			if(obj.children[cntr].className != "arrow")
			   obj.children[cntr].style.visibility = "hidden";
				 // Hide the child's arrow if applicable
				 if(obj.children[cntr].children.length !=0)
				    if(obj.children[cntr].children[obj.children[cntr].children.length-1].className == "arrow") 
						   obj.children[cntr].children[obj.children[cntr].children.length-1].style.visibility = "hidden";
			else
			{   		     
				 if(obj.className != "mainMenu")
				 {				   
						if(obj != menuShown)
						   obj.children[cntr].style.visibility = "hidden";  
				 }				 				     
			}	 			   				 				
	 } 	 
}  // End Function hideSubMenu(obj)

// Cascade navigation mouse in function
function hNavIn(e)
{         
   // Cross-Browser Script
   var srcObj, targObj;
   
   if (!e) 
   {     
      var e = window.event;
      
      if(e.srcElement)
   		   srcObj = e.srcElement;
      
      if(e.toElement)
         targObj = e.toElement;     
   }
   else
   {     
      if(e.target)
         srcObj = e.target;
         
      if(e.relatedTarget)   
         targObj = e.relatedTarget;     
   }
   
   // Highlight source element	 
	 hNavReverse(srcObj);	 	  		 
	 
	 // Turn off the default out of menu timer
	 if (outTimerOn) 
	 {  
	    clearTimeout(outTimerID);  
			outTimerID = null;  
			outTimerOn = false; 
	 }  
	 
	 if (timerOn == false) 
	 {  
	    if(srcObj.className == "arrow")     
         strFunction = "hNavHighlight(" + srcObj.parentNode.id + ")";
      else if(srcObj.tagName.toLowerCase() == "img")
         strFunction = "hNavHighlight(" + srcObj.parentNode.parentNode.id + ")";
      else     
         strFunction = "hNavHighlight(" + srcObj.id + ")";
          
			timerID=setTimeout(strFunction, TIMER_DELAY);  
			timerOn = true;  
	 } 		 	
}  // End Function hNavIn()

// Cascade navigation mouse in highlight
function hNavHighlight(src)
{   		 							
  //Clear previously highlighted item
	if(itemSelected != null)
	   hNavClearHighlight(itemSelected, src);		 	
 
	itemSelected = src;	
	
	// Show sub menu elements, if applicable
	if(src.children.length != 0)	  
		 showSubMenu(src);		 
}  // End Function hNavHighlight(src)

// Cascading Menu Mouse out function
function hNavOut(e)
{        	                            
    // Cross-Browser Script
    var srcObj, targObj;
   
    if (!e) 
    {
       var e = window.event;
   	 	 srcObj = e.srcElement;
       targObj = e.toElement;
    }
    else
    {      
       srcObj = e.target;
       targObj = e.relatedTarget;
    }
    
    // Check for click event
	  if(targObj == null && itemSelected != null)
	  {       
       closeAllSubMenus(itemSelected);			
	  }
	  else
	  {			
       // Conditionally reverse the highlighting	     			
       if(srcObj.className == "arrow")
			 {
			    if(targObj != srcObj.parentNode && targObj != srcObj.children[0] && 
             targObj.parentNode != srcObj.parentNode)
				 {				    
				    hNavNormal(srcObj);
				 }
			 }
       else if(srcObj.tagName.toLowerCase() == "img")
       {
          if(targObj != srcObj.parentNode && targObj != srcObj.parentNode.parentNode && 
             targObj.parentNode != srcObj.parentNode.parentNode)
				 {				    
				    hNavNormal(srcObj);
				 }
       }
       else
       {
			    if(targObj.parentNode != srcObj && 
	           menuShown != srcObj)							    	       				 				 
				    hNavNormal(srcObj);	
			 }
						
	     if (timerOn) 
	     {  
	        clearTimeout(timerID);  
			    timerID = null;  
			    timerOn = false; 
	     }
			 
	     // Start timer to close all menus on complete mouseout	     
       if (itemSelected != null)
	     {
	        if (outTimerOn == false) 
	        {  	           
             strFunction = "closeAllSubMenus(" + itemSelected.id + ")";						
			       outTimerID=setTimeout(strFunction, TIMER_DELAY);  
			       outTimerOn = true;  
	        }
	     }
   }    
}  // End Function hNavOut()

// Cascade menu mouse out unhighlighting
function hNavClearHighlight(fromElem, toElem)
{	  	  	    		
  if(toElem.parentNode == fromElem)
  {
     // Moused into child element
     // Nothing to do - hNavNormal() handles highlighting	
  }
  else if (toElem.parentNode == fromElem.parentNode)
  {
     // Moused into sibling
     // Unhighlight source element
		 hNavNormal(fromElem);
    		 		
     // Hide children if applicable
     if(fromElem.children.length != 0)
     {
		    hideSubMenu(fromElem);			
     }
    	
  }
  else if (toElem == fromElem.parentNode ||
  	       toElem.parentNode == fromElem.parentNode.parentNode)
  {     		 		
		 // Moused into parent		 		 		 
     if(fromElem.children.length != 0)
     {
        // Hide children if applicable
    		hideSubMenu(fromElem);					
     }
    	   
     // Hide siblings		 
     hideSubMenu(fromElem.parentNode);		 
    		 
     // Moused into parent sibling
     if(toElem.parentNode == fromElem.parentNode.parentNode &&
		    fromElem.parentNode != toElem)
     {		              				
				// Unhighlight source element
    		hNavNormal(fromElem);				
				hNavNormal(fromElem.parentNode);
     }		 
	}	
	else
	{   		 		
		 closeAllSubMenus(fromElem);
		 
		 // Redisplay menus if moused back several levels
		 // hideLevel tracks our progress back up the navigation tree
		 var hideLevel = toElem;		 
		 
		 while(hideLevel.className != "mainMenu")
		 {		    
		    // Hide parent elements up to Main Navigation bar and increment tracking
		 		hNavReverse(hideLevel.parentNode);
				showSubMenu(hideLevel.parentNode);
				hideLevel = hideLevel.parentNode;
		 }		 		 
	}	 						
}  // End function hNavOut()

// Hide all submenus on click or total mouse out
function closeAllSubMenus(obj)
{   		 		 		 				               
   // Complete mouse out of Navigation bar
   // hideLevel tracks our progress back up the navigation tree
   var hideLevel;
 
   if(obj.children.length != 0)
      hideLevel = obj.children[0];
   else
      hideLevel = obj;
	
   while(hideLevel.className != "mainMenu")
   {		    
      // Hide parent elements up to Main Navigation bar and increment tracking
   		hideSubMenu(hideLevel.parentNode);
   	  hideLevel = hideLevel.parentNode;
   }

   // Unhighlight master parent element on Main Navigation Bar
   hNavNormal(hideLevel);
   
   // Reset variables
   timerID = null;
   timerOn = false;
   outTimerID = null;
   outTimerOn = false;
   itemSelected = null;		 
   menuShown = null;
}  // End function closeAllSubMenus()

function jump(url)
{
  document.location = url;
}  // End Function jump(url)

function employeeJump(url, rights)
{
	document.location = url;
}  // End Function employeeJump(url, rights)

function jumpNewWin(url, width, height, setFeatures)
{  	      
  // Set window parameter
  var tempWidth, tempHeight;
  var MIN_HEIGHT = 600, MIN_WIDTH = 800;
  
  if(!width)
     tempWidth = MIN_WIDTH;
  else
     tempWidth = width;
  
  if(!height)
     tempHeight = MIN_HEIGHT;
  else
     tempHeight = height;
     
  var features = "width=" + tempWidth + "px," + " height=" + tempHeight + 'px';
  
  if(setFeatures == "yes")
  {
     features += ", Scrollbars=yes, Resizable=yes, left=" + newWinX + 
        "px, top=" + newWinY + "px";			
  }  
	
  // Open window
  newWindow = window.open(url,"newWin",features); 
  newWindow.focus();
	
	// Increment screen location
	if(newWinX >= 60)
	   newWinX = 30;
	else
	   newWinX += 10;
		 
	if(newWinY >= 40)
	   newWinY = 20;
	else
	   newWinY += 5; 
     
  return(newWindow);
}  // End Function jumpNewWin()

function calCheckForPopWin(obj)
{
   if(!isPopWinOpen())
      obj.focus();
}  // End Function calCheckForPopWin()

function isPopWinOpen()
{
   // Check to see if the pop-up window is open
   if (!newWindow.closed && newWindow.location)
      return(true);
   else

      return(false);
}  // End Function isPopWinOpen()

function randomImage(pictureID, aspect)
{
  // Image and path
	var imageToUse;
	var imagePath = "Images/SCC/Completed Designs/";
	var aspectRatio;											// Tall or Wide
	var imageType;												// Kitchen, Bath, or Other
	
  // Folder Contents - Last Updated 04/19/2004	
	var WIDE = new Array(3);
	var TALL = new Array(3);	
	// Baths
	WIDE[0] = 3;
  TALL[0] = 1;
	// Kitchens
	WIDE[1] = 38;
	TALL[1] = 10;
	// Other
	WIDE[2] = 9;
	TALL[2] = 10;	

	// Set Aspect Ratio
	aspectRatio = aspect;
	
	// Generate a random number from 1 to 3 for image folder (Type)
  var folderNum = Math.floor(Math.random()*3);

	// Set Image Folder (View Type)
	switch(folderNum)
	{
	   case 0:
		    imageType = "Baths"
				break
		 case 1:
		    imageType = "Kitchens"
				break
		 case 2:
		    imageType = "Other"
				break
		 default:
		    imageType = "Kitchens"
	}
	
	// Update File Path
	imagePath = imagePath + imageType + "/" + aspectRatio + "/webSizeSm/";				
	
	// Select Image	
	if (aspectRatio == "Wide")
	{
	   imageToUse = Math.floor(Math.random()* WIDE[(folderNum)] + 1);
	}
	else
	{
	   imageToUse = Math.floor(Math.random()* TALL[(folderNum)] + 1);	
	}	
		
	// Set Image Filename
	if(imageToUse < 10)
	{
	   imagePath = imagePath + "Image_0" + imageToUse + ".jpg";
	}		
	else
	{
	   imagePath = imagePath + "Image_" + imageToUse + ".jpg";	
	}
	
	pictureID.src = imagePath;		
}  // End Function randomImage(pictureID, aspect)

function closeWindow()
{
  window.close();
}  // End Function closeWindow()

function printWindow()
{
  window.print();
}  // End Function printWindow()

function loadImage(company, planName)
{	
	var imageType = 
	   document.forms[0].vbViewType.options[document.forms[0].vbViewType.selectedIndex].name;
	
	var imageFileName = 
	   event.srcElement.options[event.srcElement.selectedIndex].value;
 	
	var planOption = event.srcElement.options[event.srcElement.selectedIndex].innerText;
					
  // Build Image Path
	var imagePath = "Images/Clients/" + company + "/" + planName + "/" + 
    								 imageType + "/FullSize/" + imageFileName;	
		
	//Update Image Source
  document.PixPlaceHolder.src = imagePath;
	document.PixPlaceHolder.alt = planOption;	
  document.PixPlaceHolder.style.visibility = "visible";	    					 				 										         				
}  // End Function loadImage(company, planName)

function loadVirtual(company, planName, fileName)
{									
  // Build Image Path
	var imagePath = "Images/Clients/" + company + "/" + planName +
     "/Virtual/" + fileName;							 
		
	//Update Image Source
  document.getElementByName("swfMovie").setAttribute( "SRC", imagePath);
	document.getElementByName("swfMovie2").setAttribute( "SRC", imagePath);	  	    					 				 										         				
}  // End Function loadVirtual(company, planName, fileName)

function mailLink()
{
   return("@" + WEB_SITE_URL);
}  // End Function mailLink()

function getIDNum(formNum, selectNum, destNum)
{        		 	    
   document.forms[formNum].elements[destNum].value = 
	    document.forms[formNum].elements[selectNum].options[document.forms[formNum].elements[selectNum].selectedIndex].name;	 
}  // End Function getIDNum(formNum, selectNum, destNum)

function getIDNum_id(formNum, selectNum, destNum)
{        		 
	 document.forms[formNum].elements[destNum].value = 
	    document.forms[formNum].elements[selectNum].options[document.forms[formNum].elements[selectNum].selectedIndex].id;	 
}  // End Function getIDNum_id(formNum, selectNum, destNum)

function reCalc(firstElement, lastElement)
{
	 var sum;										// Total of review element scores
	 var count;									// Number of review elements entered
	 var fe;	 									// First element in list to be summed
	 var le;										// Last element in list to be summed
	 var valid;									// Boolean Flag
	 sum = 0;
	 count = 0;
	 fe = firstElement;
	 le = lastElement;
	 valid = true;		 					// Assume an valid entry
	 
	 // Check for data entry
	 if(event.srcElement.value != "")
	 {
	    // Check for a valid number
			if(isNaN(parseFloat(event.srcElement.value)))
			{
				 valid = false;
			}
			else
			{

			   if(parseFloat(event.srcElement.value) < 0)
			   {
			      valid = false;
		     }
			
			   if(parseFloat(event.srcElement.value) > 5)
				 {
				    valid = false;
				 }
			}
			
			if (valid == false)
			{					
			   // If invalid, clear field and reset focus
				 event.srcElement.value = "";
				 event.srcElement.focus();
			}
			else
			{
			   // Valid Number - Recalculate total
				 for (var cntr = fe; cntr <= le; cntr++)
				 {
				    if(document.forms[0].elements[cntr].value != "")
						{						   
							 count += 1;
							 sum += parseFloat(document.forms[0].elements[cntr].value);
						} 
				 }
				 // Update display and format to 2 decimal places		
				 			
				 event.srcElement.value = (parseFloat(event.srcElement.value)).toFixed(2);
				 document.forms[0].totalRank.value = (sum/count).toFixed(2);				 				 
			} 
	 }
}  // End Function reCalc(firstElement, lastElement)

function updateDayPicker(formNum, monthElementNum, dayElementNum)
{   	 	  
	 var cntr;
	 var dayNum;										// Number of Days in the selected month	 							       	 	
	 var optionSize = (parseInt(document.forms[formNum].elements[dayElementNum].options.length)-1,10);
	    	 	 	 				 
	 dayNum = getNumberOfDays(formNum, monthElementNum);	 
	 
	 // Need to add day(s) to the day Dropdown
	 if(optionSize < dayNum)
	 {	 			    			
			for (cntr = (optionSize+1); cntr <= dayNum; cntr++)
			{
			   // Add Dropdown Items								
			   var newOption = document.createElement("Option");
			   newOption.text = "" + cntr;
			   newOption.value = cntr;
				 document.forms[formNum].elements[dayElementNum].options.add(newOption);			
			}
	 }
	 // Need to remove dropdown items
   else if(optionSize > dayNum)
	 {
			// A day to be removed has been selected - reset selection to nothing
			if(parseInt(document.forms[formNum].elements[dayElementNum].selectedIndex,10) > dayNum)
			   document.forms[formNum].elements[dayElementNum].selectedIndex = 0;
			   			
			for(cntr = optionSize; cntr > dayNum; cntr--)
			{
			   document.forms[formNum].elements[dayElementNum].options.remove(cntr);
			}
	 }		 			 	 
}  // End Function updateDayPicker(formNum, monthElementNum, dayElementNum)

function getNumberOfDays(formNum, monthElementNum)
{
   var dayNum;
	 var month;	
	 
	 if(document.forms[formNum].elements[monthElementNum].options[document.forms[formNum].elements[monthElementNum].selectedIndex].value != "")
	 {
	    month = parseInt(document.forms[formNum].elements[monthElementNum].options[document.forms[formNum].elements[monthElementNum].selectedIndex].value,10);
	 
	    if(isNaN(month))
	 		{
	       // Default value
			   dayNum = 31;
	    }	    
	 		else
	 		{
	       switch(month)
      	 {
            case 2:
               dayNum = 29;
               break;
            case 4:
         		case 6:
         		case 9:
         		case 11:
               dayNum = 30;
               break;
         	  default:
               dayNum = 31;											 
   		   }
	    }
   }
	 else
	 {
	    // Default value if Month has not yet been entered
			dayNum = 31;
	 }
	 
	 // Return Number of Days	 
	 return dayNum; 		
}  // End Function getNumberOfDays(formNum, monthElementNum)

function cancelButton()
{
   document.forms[0].secondPass.value = "false";
	 window.close();
}  // End Function cancelButton()

function hiddenString(formNum, elementNum, stringVal)
{
   document.forms[formNum].elements[elementNum].value = stringVal;
}  // End Function hiddenString(formNum, elementNum, stringVal)

function deleteRecord(pageName, tableName, keyName, recordNum, localRecord)
{ 	 	 
	 if(!localRecord)
	 {	    
			for(var cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children.length-2); cntr++)
	    {	    
			   // Highlight record to be deleted			
			   event.srcElement.parentNode.parentNode.parentNode.children[cntr].style.color = "red";
	    }
	 }	 
	  
	 var deleteRecord = confirm("Delete selected record?");
	 
	 if (deleteRecord)
	 {	    	 		
			var cmdString;
			
			cmdString = "/_Utilities/deleteRecord.asp?sourcePage= " + pageName + "&tableName= " + 
			   tableName + "&keyName=" + keyName + "&recordNumber=" + recordNum + 
			   "&localRecord= " + localRecord;                  
				       
			// Check for an update status deletion			
      if(arguments.length == 6)
			{			  
				 cmdString += "&deleteGalleryPhotos= " + arguments[5];									 		 
			}    
      else if(arguments.length == 7)
			{			  
				 cmdString += "&upRecord= " + arguments[5] + "&upValue= " + arguments[6];									 		 
			}            
			
		  if(localRecord)
			{
			   jump(cmdString);				 
			}
			else
			{
			    // Restore original color in the event the delete is unsuccessful
	       for(var cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children.length-2); cntr++)
	       {	    					
		        event.srcElement.parentNode.parentNode.parentNode.children[cntr].style.color = COLOR_NORMAL;
	 		   }
				 
				 jumpNewWin(cmdString, 1, 1);
			}
	 }
	 else
	 {
	    if(!localRecord)
			{
			   // Restore original color
	       for(cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children.length-2); cntr++)
	       {	    					
		        event.srcElement.parentNode.parentNode.parentNode.children[cntr].style.color = COLOR_NORMAL;
	 		   }
		  }
	 }
}  // End Function deleteRecord(pageName, tableName, keyName, recordNum, localRecord)

function deleteRecordListPage(table, key, record, formNum)
{			          
   if(table != 'Documents')
   {   
      for(var cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children.length-2); cntr++)
      {	    
         // Highlight record to be deleted			
         event.srcElement.parentNode.parentNode.parentNode.children[cntr].style.color = "red";
      }	     
	 }
   else
   {
      for(var cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children[0].children[0].children.length); cntr++)
      {	    
         // Highlight record to be deleted			
         event.srcElement.parentNode.parentNode.parentNode.children[0].children[0].children[cntr].style.color = "red";
      }	 
   }   
   
   var deleteRecord = confirm("Delete selected record?");

   if (deleteRecord)
   {
      document.forms[formNum].tableName.value = table;
      document.forms[formNum].keyName.value = key;
      document.forms[formNum].recordNum.value = record;			
      document.forms[formNum].submit();
   }
   else
   {	    
      // Restore original color
      if(table != 'Documents')
      {          
         for(cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children.length-2); cntr++)
         {	    					
            event.srcElement.parentNode.parentNode.parentNode.children[cntr].style.color = COLOR_NORMAL;
         }
      }
      else
      {
         for(var cntr = 0; cntr < (event.srcElement.parentNode.parentNode.parentNode.children[0].children[0].children.length); cntr++)
         {	    
            // Highlight record to be deleted			
            event.srcElement.parentNode.parentNode.parentNode.children[0].children[0].children[cntr].style.color = COLOR_NORMAL;
         }	
      }
   }	 	 
}  // End Function deleteRecordListPage()

function updateStatus()
{
   for (var a = 0; a < arguments.length; a++)
      alert(arguments[a]);  
}  // End Function updateStatus()

function newCursor(obj, type)
{
   if(!(type))
   {
      if(window.opera)     
         obj.style.cursor = "pointer";   	 
      else if(document.getElementById('paraFooter').textContent)   
         obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/zoom_in.cur" + "), auto";   	    
    	else     
         obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/zoom_in.cur" + ")";   	
      
      window.status = "Click for detailed information on this line item"; 
   }
   else
   {
      if(type == "Camera")
      {
         if(window.opera)     
            obj.style.cursor = "pointer";   	 
         else if(document.getElementById('paraFooter').textContent)   
            obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/Camera.cur" + "), auto";   	    
       	else     
            obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/Camera.cur" + ")";   	
         
         window.status = "Click to view this gallery";       
      }
      else
      {
         if(window.opera)     
            obj.style.cursor = "pointer";   	 
         else if(document.getElementById('paraFooter').textContent)   
            obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/zoom_in.cur" + "), auto";   	    
       	else     
            obj.style.cursor = "url(" + "/Images/WebGraphics/Cursors/zoom_in.cur" + ")";   	
         
         window.status = "Click for detailed information on this line item";
      }
   } 
}  // End Function newCursor(obj, type)

function clearStatus()
{
   window.status = "Done";
}  // End Function clearStatus()

function refreshParent(anotherRecord)
{
   // Workaround for IE 5.5+	 
	 opener.opener = top;
	 opener.location.reload();
	 if(!anotherRecord)
	    closeWindow();	 	 	 
}  // End Function refreshParent(anotherRecord)

function parseDate(obj, strSubmit)
{   
	 // Check to see if valid date came in
	 var goodDate;	 							 			// Initial value in input box	 
   goodDate = obj.value;
			
	 var tempStr = new String(obj.value);	 
	 var tempStrArr = new Array();
	 var delimiter;	 
	 var valid;
	 var sentinel;
	 sentinel = true;										 // Looping sentinel value
	 valid = true;  										 // Assume a good date	 
	 
	 // Search for date M/D/Y seperator
	 if(tempStr.indexOf("/") != -1)
	    delimiter = "/";	
	 else if(tempStr.indexOf("-") != -1)
	    delimiter = "-";	  
	 else if(tempStr.indexOf(".") != -1)
	    delimiter = ".";	
	 else
	    delimiter = "";
		 			
	 if(delimiter != "")
	 {
	    tempStrArr = tempStr.split(delimiter);
			// Verify M/D/Y fields in the string
			if(tempStrArr.length == 2 || tempStrArr.length == 3)
			{			   				 
			   while(valid && sentinel)
				 {	 
    				 // Verify Month
    				 var month;
    				 month = parseInt(tempStrArr[0],10);
    				 if(isNaN(month))
    				    valid = false
    				 else
    				 {
    				    if(month > 0 && month <= 12)
    				       valid = true;
    						else
    						   valid = false;
    				 }
    										
    				 // Verify Year    				
    				 var year;
                
                if(tempStrArr.length == 2)
                {
                   var now = new Date();                   
                   year = now.getYear();
                }
                else
    				    year = parseInt(tempStrArr[2],10);
                   
    				 if(isNaN(year))
    				    valid = false;
    				 else
    				 {
    				    if(year > 1800 && year <= 9999)
    				       valid = true;
    						else if (year >= 00 && year <= 99 && tempStrArr[2].length == 2)
    						{   
    							 valid = true;
    							 // Set value for 2 digit years
    							 if (year < 10)
    							    year = "0" + year
    							 else
    							    year = "" + year;
    										 
    							 // Get current system year
    				 			 var yearNow = new Date().getFullYear();
    				 			 yearNow = "" + yearNow				 			 
    							 if(parseInt((yearNow.slice(2,4)),10) <= 20 && parseInt(year,10) >= 50)							     
    									year = "" + (yearNow.slice(0,2)-1) + year
    							 else
    							    year = "" + yearNow.slice(0,2) + year				 			    			     
    						}
    						else
    						   valid = false;
    				 }				 				 				 				 				 				 				 
    						
    				 // Verify Day
    				 var day;
    				 day = parseInt(tempStrArr[1],10);
    				 if(isNaN(day))
    				    valid = false;
    			   else
    				 {
    				    // Determine the maximum number of days for a given month and year
    				    var maxDay;				    
    
    						if(month == 2)
    						{
    						   // Check for leap year			 
    	             if (year%4 != 0 || year%100 != 0)
    							    maxDay = 28;							 
    						   else
    						      maxDay = 29;
    						}
    					  else
    						{																																																
    						   switch(month)
          	    	 {            
                      case 4:
             		   		case 6:
             		   		case 9:
             		   		case 11:
                         maxDay = 30;
                         break;
             	        default:
                         maxDay = 31;											 
       		         }
    	          }					 
    				    if(day >= 1 && day <= maxDay)
    				       valid = true;										     
    						else
    						   valid = false;
    				 }
				     sentinel = false;
				 }				 				   				 							 				 				 				  			
			}  // Complete M/D/Y date not found
			else
			   valid = false; 	    
	 } // No delimiter found
	 else
	    valid = false;
	 
   if(valid)
	 {
	    //Format form value
			if(month < 10)
			   month = "0" + month;
			if(day < 10)
			   day = "0" + day;
			obj.value = "" + month + "/" +  day + "/" + year;			
      return(true);	     
	 }
	 else
	 {	    	    			      
      // Clear the Date Field and Reset Focus
      obj.value = "";				 				 
      var strFunction = "document.forms[0]." + obj.name + ".focus()";
      var timerID = setTimeout(strFunction, 10);            
      
      return(false);	            
	 }
}  // End function parseDate()

function schedDateUpdate()
{				    
   var strMonth = "";
   var strDay = "";
   var strYear = "";
											
  // Get the order date
   if(document.forms[0].month.value != "" &&
      document.forms[0].day.value != "" && 
	    document.forms[0].year.value != "")
   {
      // Month value
	    if(document.forms[0].month.value.length == 1)
	       strMonth = "0" + document.forms[0].month.value;
	    else
	       strMonth = document.forms[0].month.value;
										
      // Get the day value						   
      if(document.forms[0].day.value.length == 1)
	       strDay = "0" + document.forms[0].day.value;
	    else
	       strDay = document.forms[0].day.value;
						
	    // Get the year value						
      strYear = document.forms[0].year.value;

      // Set the order date string
	    strOrderDate = strMonth + "/" + strDay + "/" + strYear ;	
      dteOrderDate = new Date(strOrderDate);
   
	    // Set the scheduled date
	    dteSchedDate = new Date((dteOrderDate.getTime() + (leadTime*ONE_DAY)));
	    strMonth = "" + (dteSchedDate.getMonth() + 1);
	    if(strMonth.length == 1)
	       strMonth = "0" + strMonth;
	    strDay = "" + 	dteSchedDate.getDate();
	    if(strDay.length == 1)
	       strDay = "0" + strDay;
	    strYear = dteSchedDate.getYear();
	    strSchedDate = strMonth + "/" + strDay + "/" + strYear ;								

      // Update Scheduled Delievery Display
	    document.forms[0].poExpectedDate.value = strSchedDate;
   }																																   																	
}  // End schedDateUpdate()		 		

function formatPhone(obj, label, blnRequired)
{   
	 if(obj.value != "")
	 {
	    // Get passed phone number
	    var strPhoneNumber = obj.value;
	 
	    // Remove any whitespace	 
	    var temp = "";	 
	    splitstring = strPhoneNumber.split(" ");
	    for(i = 0; i < splitstring.length; i++)
	    temp += splitstring[i];
	    strPhoneNumber = temp;	 
	
	    // Define acceptable values
	    var regExp1 = new RegExp("^[0-9]{10}$");	 
	    var regExp2 = new RegExp("^[0-9]{3}-[0-9]{3}-[0-9]{4}$");	
	    var regExp3 = new RegExp("^([(][0-9]{3}[)])([0-9]{3}-[0-9]{4})$");
      var regExp4 = new RegExp("^[0-9]{3}.[0-9]{3}.[0-9]{4}$");		
	 
	    // Parse the phone number
	    if(regExp1.test(strPhoneNumber))
	    {	      
         // 10 Consecutive Digits
			   temp = "(" + strPhoneNumber.substring(0,3) + ") " + 
			      strPhoneNumber.substring(3,6) + "-" + 
				    strPhoneNumber.substring(6,10);             	
	    }
	    else if(regExp2.test(strPhoneNumber))
	    {
	 	     // 3 Digits, Dash, 3 Digits, Dash, 4 Digits
	       temp = "(" + strPhoneNumber.substring(0,3) + ") " + 
			      strPhoneNumber.substring(4,7) + "-" + 
				    strPhoneNumber.substring(8,12); 			
	    }
	    else if(regExp3.test(strPhoneNumber))
	    {
	 	     // Parentheses, 3 Digits, Parentheses, 3 Digits, Dash, 4 Digits
	       temp = strPhoneNumber.substring(0,5) + " " + 
			      strPhoneNumber.substring(5,13);			
	    }
      else if(regExp4.test(strPhoneNumber))
	    {
	 	     // 3 Digits, Dot, 3 Digits, Dot, 4 Digits
	       temp = "(" + strPhoneNumber.substring(0,3) + ") " + 
			       strPhoneNumber.substring(4,7) + "-" + 
				    strPhoneNumber.substring(8,12); 			
	    }
	    else
	    {
	       temp = "";				 
			   //	document.getElementById(label).style.color = "Red";
			   alert("The phone number format is invalid");
	    }
			
			// Set the form value
			strPhoneNumber = temp;
      
      if(temp != "")
         document.getElementById(label).style.color = COLOR_NORMAL;
      else
      {
         if(blnRequired)
         {
            document.getElementById(label).style.color = "Red";
            
            // Reset Focus to Phone Number Field	 				 
				   var strFunction = "document.forms[0]." + obj.name + ".focus()";
			      var timerID=setTimeout(strFunction, 10);
         }
      }
       
			obj.value = strPhoneNumber;     
	 }
	 else
   {   		  
      document.getElementById(label).style.color = COLOR_NORMAL;
   }    
}  // End Function formatPhone(obj, label, blnRequired)

function formatPhoneExt(obj, label)
{
   if(obj.value != "")
	 {
	    // Get passed extension number
	    var strPhoneExtension = obj.value;
	 
	    // Remove any whitespace	 
	    var temp = "";	 
	    splitstring = strPhoneExtension.split(" ");
	    for(i = 0; i < splitstring.length; i++)
	    temp += splitstring[i];
	    strPhoneExtension = temp;	 
	 
	    // Define acceptable values
	    var regExp1 = new RegExp("^[0-9]{3,5}$");	 	
	 
	    // Parse the phone number
	    if(!regExp1.test(strPhoneExtension))
	    {
				 temp = "";
				 strPhoneExtension = temp;
				 obj.value = "";
				 document.getElementById(label).style.color = "Red";
				 alert("The phone extension format is invalid");			
	    }	
			else
				 document.getElementById(label).style.color = COLOR_NORMAL;    
	 }
	 else
	    document.getElementById(label).style.color = COLOR_NORMAL;    
}  // End Function formatPhoneExt(obj, label)

function validateEmail(emailObj, label, required)
{   	 
	 var emailStr = emailObj.value;
	 var strFunction, timerID;
	 
	 if(emailStr != "")
	 {	    
			// Test for one and only one @ Character
	    // Test for one or more dot characters
	    if(emailStr.indexOf("@") == -1 || 
	       emailStr.indexOf("@") != emailStr.lastIndexOf("@") ||
		 	   emailStr.indexOf(".") == -1)
	    {
	       if(required)
            document.getElementById(label).style.color = "Red";
         else 
					document.getElementById(label).style.color = COLOR_NORMAL;
            
			   // Clear the field
         emailObj.value = '';
         
			   // Reset Focus to Email Field				 				 
		     strFunction = "document.forms[0]." + emailObj.name + ".focus()";
			   timerID=setTimeout(strFunction, 10);
				 
			   alert("The email address format is invalid");
			   return false;	 
	    }
	    else
			{
			   document.getElementById(label).style.color = COLOR_NORMAL; 
			   return true;
			}
	 }
	 else
	 {
	    if(required)
			{   
		     document.getElementById(label).style.color = "Red"; 
         
         // Clear the field
         emailObj.value = '';
			
			   // Reset Focus to Email Field				 				 
		     strFunction = "document.forms[0]." + emailObj.name + ".focus()";
			   timerID=setTimeout(strFunction, 10);
				 
			   alert("You must specify a valid email address");
			   return false;						
			}
			else
			   return true;													  
	 }	    
}  // End Function validateEmail(emailObj, label, required)

function validateZipCode(zipObj, label)
{	          
	 var zipStr = zipObj.value;
	 
	 if(zipStr != "")
	 {
	    // Set Test Patterns
	    // Accepted Values are a 5 Digit Number or a 9 Digit Number 
	    // in the Pattern DDDDD-DDDD or DDDDDDDDD
	    var pattern1 = /^\d{5}$/;
	    var pattern2 = /^\d{5}-\d{4}$/;
      var pattern3 = /^\d{9}$/;
				 
	    if(pattern1.test(zipStr) || pattern2.test(zipStr))
			{
	       document.getElementById(label).style.color = COLOR_NORMAL; 	
				return true;
			}
      else if(pattern3.test(zipStr))
			{
	       document.getElementById(label).style.color = COLOR_NORMAL; 
         //Reformat 9 Digit Zip Code
         zipObj.value = zipStr.substr(0,5) + '-' + zipStr.substr(5);	
				return true;
			}
	    else
	    {
	       zipObj.value = "";
				document.getElementById(label).style.color = "Red";
				 
				// Reset Focus to Zip Code Field				 				 
				var strFunction = "document.forms[0]." + zipObj.name + ".focus()";
			   var timerID=setTimeout(strFunction, 10);  
				 			
				 alert("The zip code format is invalid");				 				 
			    return false;
	    }
   }
	 else
	    document.getElementById(label).style.color = COLOR_NORMAL; 				
}  // End Function validateZipCode()

function hideButtons()
{
   if(document.getElementById('windowClose').style.visibility == "hidden")
	    document.getElementById('windowClose').style.visibility = "visible";
	 else
	    document.getElementById('windowClose').style.visibility = "hidden";
			
	 if(document.getElementById('windowPrint').style.visibility == "hidden")
	    document.getElementById('windowPrint').style.visibility = "visible";
	 else
	    document.getElementById('windowPrint').style.visibility = "hidden"; 
}  // End Function hideButtons()

// List Pages Pagination function
function recordPage(pageNum)
{			   			   								 
   if(!isNaN(parseInt(pageNum,10)))
      document.forms[0].hiddenPageNumber.value = parseInt(pageNum,10);   
   			 
	 filterBox.submit();				 
}  // End Function recordPage(pageNum)

function pageNavButton(inOut)
{
   var newObj, newObjTwo, colorOn, colorOff;

   //Get the mousing direction
   if(inOut == "in")
   {
      colorOn = COLOR_NORMAL;
      colorOff = COLOR_REVERSE;						
   }
   else
   {
      colorOn = COLOR_REVERSE;
      colorOff = COLOR_NORMAL;
   }		
	 
   // Determine if the source was a parent or child element
   if(event.srcElement.id == "next" || event.srcElement.id == "previous")
      newObj = event.srcElement.children[0];				 
   else if(event.srcElement.id == "forward" || event.srcElement.id == "back")
      newObj = event.srcElement.parentNode;				 
   else
      newObj = null;      

   // Highlight the item
   event.srcElement.style.backgroundColor = colorOff;
   event.srcElement.style.color = colorOn;	
   event.srcElement.style.cursor = "pointer";

   // Highlight the parent or child as appropriate				
   newObj.style.backgroundColor = colorOff;
   newObj.style.color = colorOn;	
   newObj.style.cursor = "pointer";
	 
	 // Highlight the super parent on previous	 
	 if(event.srcElement.id == "previous")
	    newObjTwo = event.srcElement.parentNode;
	 else if(event.srcElement.id == "back")
	    newObjTwo = event.srcElement.parentNode.parentNode;
	 else
      newObjTwo = null;   
	 if(newObjTwo != null)
	 {
	    newObjTwo.style.backgroundColor = colorOff;
      newObjTwo.style.color = colorOn;	
      newObjTwo.style.cursor = "pointer";
	 }	 
}  // End Function pageNavButton(inOut)

function complexPageNavButton(btnObj, strInOut)
{      
   if(strInOut == "in")
   {
      // Reverse the Button Color
      btnObj.style.color = COLOR_NORMAL;
      btnObj.style.backgroundColor = COLOR_REVERSE;
 
      if(btnObj.children.length > 0)
      {      
         // Reverse the Arrows
         if(btnObj.children[0].id == 'btnArrowLeft')         
            btnObj.children[0].src = '/Images/WebGraphics/Icons/menuArrowPurpleLeft.gif';       
         else if(btnObj.children[0].id == 'btnArrowRight')        
            btnObj.children[0].src = '/Images/WebGraphics/Icons/menuArrowPurple.gif';       
      }
   }
   else if(strInOut == "out")
   {
      // Reverse the Button Color      
      btnObj.style.color = COLOR_REVERSE;
      btnObj.style.backgroundColor = COLOR_NORMAL;
       
      if(btnObj.children.length > 0)
      {      
         // Reverse the Arrows
         if(btnObj.children[0].id == 'btnArrowLeft')         
            btnObj.children[0].src = '/Images/WebGraphics/Icons/menuArrowGoldLeft.gif';       
         else if(btnObj.children[0].id == 'btnArrowRight')        
            btnObj.children[0].src = '/Images/WebGraphics/Icons/menuArrowGold.gif';       
      }
   }   
}  // End Function complexPageNavButton()

function trimWhitespace(textStr)
{
   return(textStr.replace(/ /g,""));
}  // End Function trimWhitespace(textStr)

 
function replaceWS(textStr)
{
   var returnText = textStr;  
   
   // Removes all white space characters from a string   
   returnText = returnText.replace(/\s{1,}/g,"");
   
   // Remove &nbsp; characters
   returnText = returnText.replace(/&NBSP;/g,"");
   
   return(returnText);       
}   // End Function replaceWS(textStr)  

function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}  // End Function trim()

function ltrim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+/,"");
}  // End Function ltrim()

function rtrim(stringToTrim) 
{
	return stringToTrim.replace(/\s+$/,"");
}  // End Function rtrim()
  

function selectHiddenValFromName(srcObj, destObjName, intFormNumber)
{ 
   var destObj = document.getElementById(destObjName);
   
   destObj.value = srcObj.options[srcObj.selectedIndex].name;
}  // End Function selectHiddenValFromName(srcObj, destObjName, intFormNumber)   

function testSession(blnSessionTest, destURL)
{   
   alert(blnSessionTest);
   if(blnSessionTest == 'True')
   {
      var strAlertMsg = 'Your server session was timed out due to inactivity.\n' + 
         'You are being redirected to the Starz home page.';
      alert(strAlertMsg);   
      document.location = "/index.asp"; 
   }
   else
   {
      document.location = destURL; 
   }
}  // End Function testSession(blnSessionTest, destURL) 

function getPageWidth() 
{
   if(window.innerWidth != null)
      return(window.innerWidth);
	 else if(document.body != null)
			return(document.body.clientWidth)
	 else
	    return(null);
}  // End Function getPageWidth() 

function pageHeight() 
{
   if(window.innerHeight != null)
	    return(window.innerHeight)
	 else if(document.body != null)
	    return(document.body.clientHeight)
	 else
	    return(null);
}  // End Function pageHeight()

function posLeft() 
{
   if(typeof window.pageXOffset != 'undefined')
	    return(window.pageXOffset);
	 else if(document.documentElement.scrollLeft)
	    return(document.documentElement.scrollLeft);
	 else if(document.body.scrollLeft)
	    return(document.body.scrollLeft);
	 else
	    return(0);
}  // End Function posLeft() 

function posTop() 
{
   if(typeof window.pageYOffset != 'undefined')
	    return(window.pageYOffset);
	 else if(document.documentElement.scrollTop)
	    return(document.documentElement.scrollTop);
	 else if(document.body.scrollTop)
	    return(document.body.scrollTop);
	 else
	    return(0);
}  // End Function posTop() 

function posRight() 
{
   return posLeft()+pageWidth();
}  // End Function posRight() 

function posBottom() 
{
   return posTop()+pageHeight();
}  // End Function posBottom()      

function toProperCase(testStr,blnAcceptAllCaps)
{         
   var str, strArry;
   
   if(!blnAcceptAllCaps)
   {         
      var allLetters;      
      allLetters = testStr.split("");
      
      var strTempArry, intWordCount;
      strTempArry = testStr.split(" ");
      intWordCount = strTempArry.length;
     
      for(var cntr = 0; cntr < allLetters.length; cntr++)
      {         
         if(cntr == 0)
         {
            // Set the first letter to lower case
            if(allLetters[cntr+1] != '.')
               allLetters[cntr] = allLetters[cntr].toLowerCase();
         }
         else if(cntr == allLetters.length-1)
         {            
            // Last Character
            if(intWordCount > 1)
            {
               if(allLetters[cntr-1] != '-')
                  allLetters[cntr] = allLetters[cntr].toLowerCase();
            }
            else
            {
               // One Word - Try to handle abbreviations               
               if(allLetters.length > 2)
                  allLetters[cntr] = allLetters[cntr].toLowerCase();
            }           
         }
         else
         {
            if(allLetters[cntr-1] != '-' && allLetters[cntr-1] != '(' && allLetters[cntr+1] != '.' && allLetters[cntr+1] != '\\')
               allLetters[cntr] = allLetters[cntr].toLowerCase();
         }       
      }
           
      str = allLetters.join("");   
   }
   else
      str = testStr;
      
   strArry = str.split(" ");
   	 
   //this probably isn't a complete list of words that shouldn't be capitalized
	 var special_words = new Array('and', 'the', 'to', 'for', 'is', 'in', 'a', 'at', 'an', 'from', 'by', 'if', 'of');
      
	 for (var cntr = 0; cntr < strArry.length; cntr++)
   {
		  if(cntr == 0)
      {
		     // Always capitalize the first word
			   strArry[cntr] = (strArry[cntr].substring(0,1)).toUpperCase() + strArry[cntr].substring(1);
		  }
		  else
      { 
		     var blnFound = false, loopCntr = 0;
         
         // Perform Search for Special Words
         while(!blnFound && loopCntr < special_words.length)
         {
            if(strArry[cntr] == special_words[loopCntr])
               blnFound = true 
            
            loopCntr++;                          
         }
         
         if(!blnFound)
            strArry[cntr] = (strArry[cntr].substring(0,1)).toUpperCase() + strArry[cntr].substring(1);
		  }     
	 }
	 
   return(strArry.join(' '));	 
}  // End Function toProperCase(testStr,blnAcceptAllCaps)

function testForEnterSubmission()
{
   if (window.event.keyCode == 13)
      return(true);
   else
      return(false);
}  // End Function testForEnterSubmission()

function isObject(a) 
{
   return (typeof a == 'object' && !!a) || isFunction(a);
}  // End Function isObject()

function isNull(a) 
{
    return typeof a == 'object' && !a;
}  // End Function isNull()

function set_cookie(name, value, exp_y, exp_m, exp_d, path, domain, secure)
{
   var cookie_string = name + "=" + escape (value);

   if(exp_y)
   {
      var expires = new Date (exp_y, exp_m, exp_d);
      cookie_string += "; expires=" + expires.toGMTString();
   }

   if(path)
        cookie_string += "; path=" + escape (path);

   if(domain)
      cookie_string += "; domain=" + escape ( domain );
  
   if(secure)
      cookie_string += "; secure";
  
   document.cookie = cookie_string;
}  // End Function set_cookie()

function get_cookie(cookie_name)
{
  var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');

  if (results)
     return(unescape(results[1]));
  else
    return null;
}  // End Function get_cookie()

function getFlashMovieObject(movieName)
{
   if (window.document[movieName]) 
   {      
      return window.document[movieName];
   }
   if (navigator.appName.indexOf("Microsoft Internet")==-1)
   {   
      if (document.embeds && document.embeds[movieName])
         return document.embeds[movieName]; 
   }
   else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
   {     
      return document.getElementById(movieName);
   }
}  // End Function getFlashMovieObject()

function movieControls(strAction, strMovie)
{
  
   var oMovie = getFlashMovieObject(strMovie);
   
   if(strAction == 'playPause')
   {      
      if(oMovie.IsPlaying())
      {
         oMovie.StopPlay();
         document.getElementById('pausePlayButton').value = 'Play';         
      }
      else
      {
         oMovie.Play();
         document.getElementById('pausePlayButton').value = 'Pause'; 
      }
   }   
   else if(strAction == 'rewind')
   {
      oMovie.Rewind();
      oMovie.Play();
   }
   else if(strAction == 'nextFrame')
   {
      oMovie.StopPlay();      
      document.getElementById('pausePlayButton').value = 'Play'; 
          
      // 4 is the index of the property for _currentFrame
      var currentFrame = oMovie.TGetProperty("/", 4);	                      
      var nextFrame = parseInt(currentFrame);
      
     if(nextFrame >= global_TotalMovieFrames)
       nextFrame = 0;

     oMovie.GotoFrame(nextFrame);
     
     if(nextFrame == 0)
     {
        oMovie.Play();
        document.getElementById('pausePlayButton').value = 'Pause'; 
     }
   }
   else if(strAction == 'zoomIn') 
      oMovie.Zoom(90);      
   else if(strAction == 'zoomOut')
      oMovie.Zoom(110);
}  // End Function movieControls()

function submitFilteredForm()
{
   document.body.style.cursor = 'wait'; 
   filterBox.submit();
}  // End Function postFilteredForm()

function redirectFullSizeWin(pageURL)
{
   opener.location = pageURL;
   window.close();
   
}  // End Function postFilteredForm()


function changeLabelColor(strColor)
{
   for(cntr = 0; cntr < document.all.length; cntr ++)
   {
	    if(document.all[cntr].tagName == 'TD')
		  {		
		     if(document.all[cntr].id.indexOf('Label') != -1)
         {
            document.all[cntr].style.color = strColor;               
         }
      }
   }
}  // End Function changeLabelColor()       

function navBarTeamSelected(intTeamIndex)
{      
   if(document.formTeamNavigation)
   {      
      document.formTeamNavigation.vbHiddenTeamIndex.value = intTeamIndex;      
      document.formTeamNavigation.submit();
   }
   else 
      jump('/Divisions/Public/_Root/teamHomePage.asp');
}  // End Function navBarTeamSelected()

function setInnerTextProperty(strObjectID, strNewText)
{
   
   var obj = document.getElementById(strObjectID);
  
   if(obj.textContent)
      obj.textContent = strNewText;
   else
      obj.innerText = strNewText;
}  // End Function setInnerText()

