function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.id; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

// Close all <div class="close">
function classChange()
{
	for (i=0;i<document.getElementsByTagName("div").length; i++) 
	{
		if (document.getElementsByTagName("div").item(i).className == "close")
		{
			document.getElementsByTagName("div").item(i).style.display = "none";
		}
	}
}

/* Collapsable/Expandable Div Display Box */
function showDiv(ID, closeAll)
{
	/*
	Author:
		Another Tool by SBC 2005-12-05
	Usage:
		showDiv(ID)
	Purpose:
		Allows a "hidden" div to be placed in a HTML document and displayed when appropritate with
		the use of JavaScript event handlers: onClick, onMouseover and etc.
	Directions:
		Use the <div> statement below to establish your display box.
		
			<div id="Unique_ID_Name_Goes_Here" style="display:none;">
			
		If you want the display box visible when the page loads, change display:none to display:block.
		You can call this function using any JavaScript event handler method.  Below are some examples.
		
		Hyperlink:
			<a href="#" onclick="showDiv('Unique_ID_Name_Goes_Her'); return false">Display or Close Display Box</a>
			
		Input button:
			<input type="button" onclick="showDisplay('Unique_ID_Name_Goes_Her'); return false" value="Display or Close Display Box">
	*/
	// Should all open divs be closed?
	// If there is no div, don't throw a JavaScript error
	if(!document.getElementById(ID)){ return false; }
	
	// Evaluate the current visibility status of the display box.
	if(document.getElementById(ID).style.display == 'none')
	{
		if(closeAll == true)
		{
			classChange();
		}		
		// The display box is not visible, so we want to display the box
		document.getElementById(ID).style.display='block';
	}
	else
	{
		if(closeAll == true)
		{
			classChange();
		}				
		// The display box is visible, so we want to hide the display box
		document.getElementById(ID).style.display='none';
	}
}
// Preload Over and Down state images
Image1= new Image(10,12);
Image1.src = "images/alexButtonBgDown.gif";
Image2= new Image(10,12);
Image2.src = "images/alexButtonBgOn.gif";

function press(ID)
{
	document.getElementById(ID).style.backgroundImage='url(images/alexButtonBgDown.gif)';
	document.getElementById(ID).style.backgroundPosition='top';
}
function release(ID)
{
	document.getElementById(ID).style.backgroundPosition='bottom';
	document.getElementById(ID).style.backgroundImage='url(images/alexButtonBg.gif)';
}
function over(ID)
{
	document.getElementById(ID).style.backgroundPosition='bottom';
	document.getElementById(ID).style.backgroundImage='url(images/alexButtonBgOn.gif)';
}
	function linkify(URL,target, config)
{
	if(target != '')
	{
		// Open in a new window
		window.open(URL, target, config);
	}
	else
	{
		location.href=URL;
	}
}

function myCookie(name, value, expiry, path, domain)
{
	document.cookie= name + "=" + value + "; expires=" + expiry + "; " + " path=" + path + "; domain=" + domain + ";";
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return dc.substring(begin + prefix.length, end);
}

function activateForm(formName, checkBox, button)
{
	// formName is the name of the form
	// checkBox is the name of the checkbox to activate button
	// button is the name of the disabled button to be activated
	if(document.forms[formName].elements[checkBox].checked == true)
	{
		document.forms[formName].elements[button].disabled = false;
	}
	else
	{
		document.forms[formName].elements[button].disabled = true;
	}
}

function toggleDiv(divId)
{
	div = document.getElementById(divId);
	if(div.style.display == 'none')
	{
		div.style.display = 'block';
	}
	else
	{
		div.style.display = 'none';
	}
}

function alexButtonSteps(currentStep)
{	
	for(i=1;i <= 4; i++)
	{
		if(document.getElementById('step_' + i))
		{
			document.getElementById('step_' + i).style.display = 'none';
		} 
	}
	
	document.getElementById('step' + '_' + currentStep).style.display = 'block';
}

function changeBorderColor(divId, hexColor)
{
	document.getElementById(divId).style.backgroundColor = '#' + hexColor;
	
	alert(hexColor);
}