function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
	   x.src=x.oSrc;
}

function MM_preloadImages() 
{ //v3.0
   var d=document; 
   if(d.images)
   {
	  if(!d.MM_p) 
		d.MM_p=new Array();
	  var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
	  for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0)
		{ 
			d.MM_p[j]=new Image; 
			d.MM_p[j++].src=a[i];
		}
	}
}

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_swapImage() 
{ //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; 
	document.MM_sr=new Array;
    for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null)
		{
			document.MM_sr[j++]=x; 
			if(!x.oSrc) 
				x.oSrc=x.src; 
			x.src=a[i+2];
		}
}

function LTrim(str)
{
    var i;
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="  ")break;
    }
    str=str.substring(i,str.length);
    return str;
}

function RTrim(str)
{
    var i;
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="  ")break;
    }
    str=str.substring(0,i+1);
    return str;
}

//Check email
function checkmail(mail) 
{	
	var CheckMail = LTrim(RTrim(mail));	
	return (new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(CheckMail)); 
} 

//Check phone
function CheckPhone(checkStr)
{
	return (new RegExp(/^(\([0-9]+\))?[0-9]+(#[0-9]+)?$/).test(checkStr));
}

//stringText is the "Member Center > TEXT" on top of the page header, if string text is null or is empty string the text will be only "Member Center",
//hideLogout is a boolean, indicate the logout link is shown or not, if the page is shown after logon, then this parameter must be false or omitted.
function ShowNavigation(stringText, hideLogout)
{
	var navigation = document.getElementById("SpanNextText");
	var arrow = document.getElementById("SpanArrow");
	var logout = document.getElementById("LinkLogout");
	if (stringText != null && stringText != "")
	{
		arrow.style.display = "inline";
		navigation.innerText = stringText;
	}
	logout.style.display = (hideLogout == true) ? "none" : "inline";
}

//this function is used for hightlight a menu item, if the page show menu after login ,then sub menu can be highlighted.
function HighlightMenu(menuIndex, subIndex)
{
	if (menuIndex == null)
	{
		return;
	}
	var menu = document.getElementById("DivRightMenu");
	var menuCount = 0;
	for(var i = 0; i < DivRightMenu.children.length; i++)
	{
		if (DivRightMenu.children[i].tagName == "A")
		{
			menuCount++;
			if (menuCount == menuIndex)
			{
				if (subIndex == null || subIndex == 0)
				{
					DivRightMenu.children[i].removeAttribute("href");
				}
				var img = DivRightMenu.children[i].getElementsByTagName("img")[0];
				img.src = img.src.replace(".gif", "a.gif");
				
			}
		}
	}
	menu = document.getElementById("DivRightSubMenu");
	if (menu == null)
	{
		return;
	}
	if (menuIndex == 1)
	{
		menu.style.display = "block";
		if (subIndex != null && subIndex != 0)
		{
			var menuLink = menu.getElementsByTagName("A");
			if (subIndex <= menuLink.length)
			{
				menuLink[subIndex - 1].className = "SubMenuSelected";
				menuLink[subIndex - 1].removeAttribute("href");
			}
		}
	}
	else
	{
		menu.style.display = "none";
	}
}
