function ReplaceInnerHtml(id, innerHtml)
{
    if(document.getElementById && document.getElementById(id))
    {
        document.getElementById(id).innerHTML = innerHtml; 
    }
}

function KeyDownHandler(controlName)
{
    // process only the Enter key
    if (event.keyCode == 13)
    {
        // cancel the default submit
        event.returnValue=false;
        event.cancel = true;
        // submit the form by programmatically clicking the specified button
       controlName.click();
    }
}

function SetFocus(defaultControlID)
{
    if(document.getElementById && document.getElementById(defaultControlID))
        if(document.getElementById(defaultControlID).disabled==false)
            document.getElementById(defaultControlID).focus();
}

function ReplaceImage(id, src)
{
    if(document.getElementById && document.getElementById(id))
    {
        document.getElementById(id).src = src; 
    }
}

/* vairables for Nav */
var NavInitialized = false;
var Navmn='NavMain';
var Navmd='NavMainDefault';
var Navms='NavMainSelected';
var Navsh='NavSub';
var Navss='NavSubSelectedUL';
var Navse='NavSubSelected';
var Navsd='NavSubDefault';
var Navrbid='NavRaised';
var Navrbprefix='NavRaised';
var NavSelectedMain,NavSelectedSub,NavPageStateMain,NavPageStateSub;
var Navd,NavULs,NavLIs;
var NavIntervalSpeed = 240;
var NavIntervalPageReset = 6000;
var NavRB;
/* end variables for Nav */

/* initialization function needs to be executed onload */
function Nav_init() {

    if (NavInitialized == true) {return true;}
    
	if(!document.getElementById && !document.createTextNode) 
	{
    NavInitialized = false;
	} 
	else 
	{
    Navd=document.getElementById('NavMainUL');
    /* if no nav, then stop */
    if (!Navd) 
    {
    	NavInitialized = false;
        }
        else
    {
    	NavRB=document.getElementById(Navrbid);
    	NavULs=Navd.getElementsByTagName('ul');
    	for (i=0;i<NavULs.length;i++) {
        if(Nav_checkCurrent(NavULs[i])) {
        	NavSelectedMain = NavULs[i];
        	NavPageStateMain = NavULs[i];
        	NavLIs=NavULs[i].getElementsByTagName('li');
        	for(j=0;j<NavLIs.length;j++) {
            if(Nav_checkCurrentSub(NavLIs[j])) {
            	NavSelectedSub = NavLIs[j];
            	NavPageStateSub = NavLIs[j];
            }
        	}
        }
    	}
    	
    	NavInitialized = true;
    }        
	}
    return NavInitialized;
}

/* function used to reset the nav, called from "pageResetTimeout" */
function Nav_reset()
{
	if(NavPageStateMain) {
    Nav_changeCurrentMain(NavPageStateMain);
    if(Nav_checkChildren(NavPageStateMain)) {
    	if(NavPageStateSub) { Nav_changeCurrentSub(NavPageStateSub); }
    	NavLIs=NavPageStateMain.getElementsByTagName('li');
    	for(j=0;j<NavLIs.length;j++) {
        if(Nav_checkCurrentSub(NavLIs[j])) {
        	NavSelectedSub = NavLIs[j];
        }
    	}
    }
	} else {
    Nav_hideCurrentMain();
    NavSelectedMain=null;
    NavSelectedSub=null;
    if(NavRB)
    {
        NavRB.className = Navrbprefix+(0);
    }
	}
}

function Nav_changeCurrentMain(o)
{
	if(NavSelectedMain) { Nav_hideCurrentMain(); }
	Nav_showCurrentMain(o);
}

function Nav_changeCurrentSub(o)
{
	if(NavSelectedSub) { Nav_swapclass(NavSelectedSub,Navse,Navsd); }
	Nav_swapclass(o,Navse,Navsd);
}

function Nav_hideCurrentMain()
{
	if(NavSelectedMain) {
    Nav_swapclass(NavSelectedMain.parentNode,Navms,Navmd);
    if(Nav_checkChildren(NavSelectedMain)) { Nav_swapclass(NavSelectedMain,Navsh,Navss); }
    if(NavSelectedSub) Nav_swapclass(NavSelectedSub,Navse,Navsd);
	}
}

function Nav_showCurrentMain(o) {
	Nav_swapclass(o.parentNode,Navmd,Navms);
	if(Nav_checkChildren(o)) { Nav_swapclass(o,Navss,Navsh); }
	NavSelectedMain = o;
	NavSelectedSub = null;
	if(NavULs)
	{
	    for(i=0;i<NavULs.length;i++) { 
        if(NavULs[i]==o) {
    	    NavRB = Navrbprefix+(i+1);
        }
	    }
	}
}

/* function used to check if a UL has LI children */
function Nav_checkChildren(o)
{
	childLis = o.getElementsByTagName('li');
	if(childLis.length>0) {	return true; } else { return false; }
}

/* function for checking if this is the currently up UL */
function Nav_checkCurrent(o)
{
	if(Nav_check(o.parentNode,Navms)){return true;} else { return false; }
}

/* function for checking if this is the currently up SUB LI */
function Nav_checkCurrentSub(o){
	if(Nav_check(o,Navse)){return true;} else { return false; }
}

/* function for testing for and then swaping two classes "c1" and "c2" on an object "o" */
function Nav_swapclass(o,c1,c2)
{
	var cn=o.className
	o.className=!Nav_check(o,c1)?cn.replace(c2,c1):cn.replace(c1,c2);
}

/* function for adding a class "c" to an object "o" */
function Nav_addclass(o,c)
{
	if(!Nav_check(o,c)){o.className+=o.className==''?c:' '+c;}
}

// name - name of the desired cookie, returns null if name is not a valid cookie.
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 unescape(dc.substring(begin + prefix.length, end));
}

/* function for testing if class "c" applies to an object "o" */
function Nav_check(o,c)
{
	return new RegExp('\\b'+c+'\\b').test(o.className);
}

/* mouseover event called from each main level a tag*/
function Nav_mainOver(o)
	{
	    if (!Nav_init()) {return;}
	    
    if(typeof(pageResetTimeout) != 'undefined') { clearTimeout(pageResetTimeout); }
    thisUL = o.parentNode.getElementsByTagName('ul')[0];
    if (thisUL!=NavSelectedMain) {
    	if(typeof(mainSelectTimeout) != 'undefined') { clearTimeout(mainSelectTimeout); }
        mainSelectTimeout = setTimeout( function(){ Nav_changeCurrentMain(thisUL); }, NavIntervalSpeed);
    	}
    return false; 
	}
/* mouseout event called from each main level a tag */
function Nav_mainOut(o)
	{
	    if (!Nav_init()) {return;}
	    
    if(typeof(mainSelectTimeout) != 'undefined') { clearTimeout(mainSelectTimeout);
    pageResetTimeout = setTimeout( function(){ Nav_reset(); }, NavIntervalPageReset); }
    return false;
	}
/* mouseover event called from each sub level a tag */
function Nav_subOver(o)
	{
	    if (!Nav_init()) {return;}
	    
    if(typeof(pageResetTimeout) != 'undefined') { clearTimeout(pageResetTimeout); }
    return false;
	}
function Nav_subOut(o)
	{
	    if (!Nav_init()) {return;}

    pageResetTimeout = setTimeout( function(){ Nav_reset(); }, NavIntervalPageReset);
    return false;
	}


function wpMenu_keydown(element, event)
{
	if (!document.getElementById) return;
	if ((event.keyCode == 13) || (event.keyCode == 32))
	{
    wpMenu_toggleMenu(element);
	}
}
function wpMenu_toggleMenu(element)
{
	if ((!document.getElementById) || (!element)) return;
	var liElement = element.parentNode;
	var ulElement = liElement.parentNode;
	var curClass = liElement.className;
	for (var i = 0; i < ulElement.childNodes.length; i++)
	{
    var curNode = ulElement.childNodes[i];
    if ((curNode.nodeType == 1) && (curNode.className == 'ExpandoMenuOpen'))
    {
    	curNode.className = 'ExpandoMenuClosed';
    }
	}
	liElement.className = 'ExpandoMenuOpen';
}
function OpenFriendsLinkFromFirstChildHref(element, bWebPart)
{
    if (arguments.length < 2)
    {
        bWebPart = false;
    }
    
	if ((!document.getElementsByTagName) || (!element)) return;
	As = element.getElementsByTagName('a');
	
	if (bWebPart)
	{
	    window.top.location = As[0].href;
	}
	else
	{
	    window.open(As[0].href);
	}
}

function GetFirstChildHref(element)
{
	if ((!document.getElementsByTagName) || (!element)) return;
	As = element.getElementsByTagName('a');
	
	window.location = As[0].href;
}

function CreateFlashControl(DivID, CODEBASE,
                       WIDTH, HEIGHT, MOVIE, QUALITY, BGCOLOR,
                       MENU, SALIGN, ALTLINK, OPENINNEWWINDOW,
                       ALTIMAGE, ALTIMAGEWIDTH, ALTIMAGEHEIGHT, ALTTEXT)
{
  var szInnerHTML = '';
  var d = document.getElementById(DivID);
  
  szInnerHTML = 
    '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="' + WIDTH + '" height="' + HEIGHT +'" codebase="' + CODEBASE + '">';

  szInnerHTML += '<param name="movie" value="' + MOVIE + '">';
  szInnerHTML += '<param name="quality" value="' + QUALITY + '">';

  if (BGCOLOR != '')
  {
      szInnerHTML += '<param name="bgcolor" value="' + BGCOLOR + '">';
  }
  
  szInnerHTML += '<param name="salign" value="' + MENU + '">';
  szInnerHTML += '<param name="menu" value="' + SALIGN + '">';

  if (ALTLINK != '')
  {
      szInnerHTML += '<a href="' + ALTLINK + '"';
      if (OPENINNEWWINDOW)
      {
          szInnerHTML += ' target="_blank"';
      }
      szInnerHTML += '>';
      if (ALTIMAGE != '')
      {
          szInnerHTML += '<img src="' + ALTIMAGE + '" alttext="' + ALTTEXT + '"';
          
          if (ALTIMAGEWIDTH != '')
          {
              szInnerHTML += ' WIDTH="' + ALTIMAGEWIDTH + '"';
          }

          if (ALTIMAGEHEIGHT != '')
          {
              szInnerHTML += ' HEIGHT="' + ALTIMAGEHEIGHT + '"';
          }
          
          szInnerHTML += '></img>';
      }
      else
      {
          szInnerHTML += '<span>' + ALTTEXT + '</span>';
      }
     
      szInnerHTML += '</a>';
  } 

  szInnerHTML += '</object>';
  
  d.innerHTML = szInnerHTML;
}

