function selectItemByValue(ddl, valueToMatch)
{
	var i = 0;
	var selIndex = -1;
	for (i = 0; i < ddl.options.length; i++)
	{
		if (ddl.options[i].value == valueToMatch)
		{
			selIndex = i;
			break;
		}
	}
	ddl.selectedIndex = selIndex;
}

  function getRealLeft(element)
  	{
  	var position = element.offsetLeft;
  	var parent = element.offsetParent;
  	while (parent != null)
  		{
  		position += parent.offsetLeft;
  		parent = parent.offsetParent
  		}
  	return position;
  	}
  function getRealTop(element)
  	{
  	var position = element.offsetTop;
  	var parent = element.offsetParent;
  	while (parent != null)
  		{
  		position += parent.offsetTop;
  		parent = parent.offsetParent
  		}
  	return position;
  	}
	function getElement(id)
		{
		if (document.layers)            // Netscape 4
			return eval("document." + id);
		if (document.getElementById)    // Netscape 6
			return eval("document.getElementById('" + id + "')");
		if (document.all)               // IE4+
			return eval("document.all." + id);
		}
  function showStoreLocator(element)
    {
    var divNewDisplay;
    var elNewVisibility;

    var x = getRealLeft(element);    
    var y = getRealTop(element) + element.offsetHeight - 5;
       
    getElement("StoreLocatorDIV").style.left = x;
    getElement("StoreLocatorDIV").style.top = y;
    getElement("StoreLocatorDIV").style.width = element.offsetWidth + 579;
    
    //if (getElement("StoreLocatorDIV").style.display == 'none')
	//	{
		getElement("StoreLocatorDIV").style.display = "block";
	    divNewDisplay = "block";
		elNewVisibility = "hidden";
	//	}
	//else
	//	{
		//hideStoreLocator(element);
		//return;
		//getElement("StoreLocatorDIV").style.display = "none";
		//divNewDisplay = "none";
	//	elNewVisibility = "hidden";
	//	}
    /////////////////////////////////////////////
    //getElement("StoreLocatorDIV").style.display = divNewDisplay;
    var divX1 = getRealLeft(getElement("StoreLocatorDIV"));
    var divX2 = divX1 + getElement("StoreLocatorDIV").offsetWidth;
    var divY1 = getRealTop(getElement("StoreLocatorDIV"));
    var divY2 = divY1 + getElement("StoreLocatorDIV").offsetHeight;
    var i;
    var el, elX1, elX2, elY1, elY2;
    var elements = document.forms[0].elements;
    var numberOfElements = elements.length;
    
    for (i=0; i<numberOfElements; i++)
      {
      el = elements[i];
      if (el.tagName.toLowerCase() == "select")
        {
        if(el.id == "Header1_ddlDistance" || el.id == "Header1_ddlCountryZip" || el.id == "Header1_ddlStateProvince" )
			continue;
			
        elX1 = getRealLeft(el);
        elX2 = elX1 + el.offsetWidth;
        elY1 = getRealTop(el);
        elY2 = elY1 + el.offsetHeight;
        
        if ((navigator.appName.toLowerCase().indexOf("explorer")>=0 && el.StoreLocatorElement == null) || (el && el.attributes && el.attributes.item("StoreLocatorElement") == null))
					{
						
					if (
							(elX1 >= divX1 && elX1 <= divX2 && elY1 >= divY1 && elY1 <= divY2) ||
							(elX2 >= divX1 && elX2 <= divX2 && elY2 >= divY1 && elY2 <= divY2)
							)
						el.style.visibility = elNewVisibility;
					}
        }
      }
      hideLeftBanner();
    /////////////////////////////////////////////
    }
  function hideStoreLocator()
    {
    var divNewDisplay;
    var elNewVisibility;

    if (getElement("StoreLocatorDIV").style.display == 'none')
		{
		getElement("StoreLocatorDIV").style.display = "block";
    divNewDisplay = "block";
		elNewVisibility = "hidden";
		}
	else
		{
		getElement("StoreLocatorDIV").style.display = "none";
		divNewDisplay = "none";
		elNewVisibility = "visible";
		}
    /////////////////////////////////////////////
    getElement("StoreLocatorDIV").style.display = divNewDisplay;
    var divX1 = getRealLeft(getElement("StoreLocatorDIV"));
    var divX2 = divX1 + getElement("StoreLocatorDIV").offsetWidth;
    var divY1 = getRealTop(getElement("StoreLocatorDIV"));
    var divY2 = divY1 + getElement("StoreLocatorDIV").offsetHeight;
    var i;
    var el, elX1, elX2, elY1, elY2;
    var elements = document.forms[0].elements;
    var numberOfElements = elements.length;
    for (i=0; i<numberOfElements; i++)
      {
      el = elements[i];
      if (el.tagName.toLowerCase() == "select")
        {
        elX1 = getRealLeft(el);
        elX2 = elX1 + el.offsetWidth;
        elY1 = getRealTop(el);
        elY2 = elY1 + el.offsetHeight;
        if (el.StoreLocatorElement == null)
					{
					
					el.style.visibility = elNewVisibility;
					}
        }
      }
      showLeftBanner();
    /////////////////////////////////////////////
    }
function hideLeftBanner()
{
	if(getElement("divLeftBanner") != null)
		getElement("divLeftBanner").style.display = "none";
}
function showLeftBanner()
{
	if(getElement("divLeftBanner") != null)
		getElement("divLeftBanner").style.display = "";
}
function setVisibility(divContents, elNewVisibility, bAllElements)
	{		
		var divX1 = getRealLeft(divContents);
		var divX2 = divX1 + divContents.offsetWidth;
		var divY1 = getRealTop(divContents);
		var divY2 = divY1 + divContents.offsetHeight;
		var i;
		var el, elX1, elX2, elY1, elY2;
		var elements = document.forms[0].elements;
		var numberOfElements = elements.length;
		for (i=0; i<numberOfElements; i++)
		{
		el = elements[i];
		if (el.tagName.toLowerCase() == "select")
			{
			elX1 = getRealLeft(el);
			elX2 = elX1 + el.offsetWidth;
			elY1 = getRealTop(el);
			elY2 = elY1 + el.offsetHeight;
				if(bAllElements == true)
					el.style.visibility = elNewVisibility;
				else
				{
					if ((elX1 >= divX1 && elX1 <= divX2 && elY1 >= divY1 && elY1 <= divY2) ||(elX2 >= divX1 && elX2 <= divX2 && elY2 >= divY1 && elY2 <= divY2))
						el.style.visibility = elNewVisibility;
				}
			}
		}
	}
	
function IsFlashInstalled()
{
	var flashinstalled = 0;
	var flashversion = 0;
	MSDetect = "false";

	if (navigator.plugins && navigator.plugins.length)
	{
		x = navigator.plugins["Shockwave Flash"];
		if (x)
		{
			flashinstalled = 2;
			if (x.description)
			{
				y = x.description;
				flashversion = y.charAt(y.indexOf('.')-1);
			}
		}
		else
			flashinstalled = 1;

		if (navigator.plugins["Shockwave Flash 2.0"])
		{
			flashinstalled = 2;
			flashversion = 2;
		}
	}
	else if (navigator.mimeTypes && navigator.mimeTypes.length)
	{
		x = navigator.mimeTypes['application/x-shockwave-flash'];
		if (x && x.enabledPlugin)
			flashinstalled = 2;
		else
			flashinstalled = 1;
	}
  else
     MSDetect = "true";
     
  return flashinstalled;  
}

function onColor(blah)
	{
		blah.style.backgroundColor='#FF9900';
	}

function offColor(blah)
	{
		blah.style.backgroundColor='#F27900';
	}

function setCaretToEnd (control) {
  if (control.createTextRange) {
    var range = control.createTextRange();
    range.collapse(false);
    range.select();
  }
  else if (control.setSelectionRange) {
    control.focus();
    var length = control.value.length;
    control.setSelectionRange(length, length);
  }
}

function setCaretToStart (control) {
  if (control.createTextRange) {
    var range = control.createTextRange();
    range.collapse(true);
    range.select();
  }
  else if (control.setSelectionRange) {
    control.focus();
    control.setSelectionRange(0, 0);
  }
}

function parseDate(str, fmt)
	{
	var y = 0;
	var m = -1;
	var d = 0;
	var a = str.split(/\W+/);
	var b = fmt.split(/\W+/);
	var i = 0, j = 0;
	for (i = 0; i < a.length; ++i)
		{
		if (b[i] == "ddd" || b[i] == "dddd")
			{
			continue;
			}
		if (b[i] == "d" || b[i] == "dd")
			{
			d = parseInt(a[i], 10);
			}
		if (b[i] == "M" || b[i] == "MM")
			{
			m = parseInt(a[i], 10) - 1;
			}
		if (b[i] == "y")
			{
			y = parseInt(a[i], 10);
			}
		if (b[i] == "yy")
			{
			y = parseInt(a[i], 10) + 1900;
			}
		if (b[i] == "yyyy")
			{
			y = parseInt(a[i], 10);
			}
		if (b[i] == "MMM" || b[i] == "MMMM")
			{
			for (j = 0; j < 12; ++j)
				{
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase())
					{
					m = j;
					break;
					}
				}
			}
		}
	if (y != 0 && m != -1 && d != 0)
		{
		return (new Date(y, m, d));
		}
	y = 0; m = -1; d = 0;
	for (i = 0; i < a.length; ++i)
		{
		if (a[i].search(/[a-zA-Z]+/) != -1)
			{
			var t = -1;
			for (j = 0; j < 12; ++j)
				{
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase())
					{
					t = j;
					break;
					}
				}
			if (t != -1)
				{
				if (m != -1)
					{
					d = m+1;
					}
				m = t;
				}
			}
		else if (parseInt(a[i], 10) <= 12 && m == -1)
			{
			m = a[i]-1;
			}
		else if (parseInt(a[i], 10) > 31 && y == 0)
			{
			y = a[i];
			}
		else if (d == 0)
			{
			d = a[i];
			}
		}
	if (y == 0)
		{
		var today = new Date();
		y = today.getFullYear();
		}
	if (m != -1 && d != 0)
		{
		return (new Date(y, m, d));
		}
	};
function trim(sInput)
	{
	return sInput.replace(/^ +/, "").replace(/ +$/, "");
	}
function trimTab(sInput)
	{
	return sInput.replace(/^\t+/, "").replace(/\t+$/, "");
	}

function htmlEncode(s)
	{
	var str = new String(s);
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	str = str.replace(/"/g, "&quot;");
	str = str.replace(/\(/g, "!***LEFTBRACK***!");
	str = str.replace(/\)/g, "!***RIGHTBRACK***!");
	str = str.replace(/=/g, "!***EQUALS***!");
	return str;
	}
	
function htmlDecode(s)
	{
	var str = new String(s);
	str = str.replace(/&amp;/g, '&');
	str = str.replace(/&lt;/g, '<');
	str = str.replace(/&gt;/g, '>');
	str = str.replace(/&quot;/g, '"');
	str = str.replace(/!\*\*\*LEFTBRACK\*\*\*!/g, "(");
	str = str.replace(/!\*\*\*RIGHTBRACK\*\*\*!/g, ")");
	str = str.replace(/!\*\*\*EQUALS\*\*\*!/g, "=");
	return str;
	}
	
function Combo_OnClientKeyPressing(comboBox, eventArgs)
	{
		var CurrentItem = null;
		var keyCode = eventArgs.keyCode;
		if(keyCode == 38 || keyCode == 40)
		{							
			var ItemIndex = 0;
			if(comboBox.GetValue() != "" && comboBox.GetText() != "")
			{
				var objItem = comboBox.FindItemByValue(comboBox.GetValue());
				if(objItem != null)
					ItemIndex = objItem.Index;
			}
			else if(comboBox.Items.length > 0 && keyCode == 40)
				ItemIndex = -1;							
									
			switch(keyCode)
			{
				case 38:
					if(ItemIndex > 0)
						CurrentItem = comboBox.Items[ItemIndex - 1]
					break;
				case 40:
					if(ItemIndex < comboBox.Items.length - 1)
						CurrentItem = comboBox.Items[ItemIndex + 1]
					break;
			}
		}					
		return CurrentItem;
	}
