
	String.prototype.trim  = _trim;

	function _trim ( )
	{
	   return this.replace(/^\s+|\s+$/g, "");
	}

    function isEmpty(strfield) {
	  field = strfield.trim();
      if (field == "" || field == null){
          return true;
      } else {
          return false;
      }
    }

	function checkAlphaNumeric(str) { return(("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(str.toUpperCase()))+1); }
	
	function isAlphaNumeric(str) {
		for(z=0; z<str.length;++z) {
			if(!checkAlphaNumeric(str.charAt(z))) {
				return false;
			}
		}
		return true;
	}

	function checkPassword(str) { return(("!@#$%&*()-_+?<>,.:;|0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(str.toUpperCase()))+1); }
	
	function isPassword(str) {
		for(z=0; z<str.length;++z) {
			if(!checkPassword(str.charAt(z))) {
				return false;
			}
		}
		return true;
	}

    function isEmail(field) {
      var pattern = /^([a-zA-Z0-9_\.-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
      return pattern.test(field);
    }

	function isPhoneNumber(field) {
      var pattern = /^\+([0-9])*\.([0-9])*$/;
      return pattern.test(field);
    }
	function isPhoneNumber2(field) {
      var pattern = /^[0-9]+$/;
      return pattern.test(field);
    }
	
	function isIPaddress(field) {
      var pattern = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;
      return pattern.test(field);
    }

	function isNameserver(field) {
      var pattern = /^([a-zA-Z0-9_-])+\.([a-zA-Z0-9_-])+(\.[a-zA-Z0-9-_]+)+$/;
      return pattern.test(field);
    }

	function isLongDomainName(field) {
      var pattern = /^([a-zA-Z0-9_-])+\.([a-zA-Z0-9_-])+(\.[a-zA-Z0-9-_]+){0,}$/;
      return pattern.test(field);
    }

	function isDomainName(field) {
      var pattern = /^([a-zA-Z0-9_-])+\.([a-zA-Z0-9_-])+$/;
      return pattern.test(field);
    }

	function isSubDomainName(field) {
		var pattern = /^([a-zA-Z0-9_-])+(@){0,1}$/;
		return pattern.test(field);
    }

	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_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_showHideLayers() { //v6.0
	  var i,p,v,obj,args=MM_showHideLayers.arguments;
	  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
		obj.visibility=v; }
	}

	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 MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}

	function findDiv(n, d) 
{ 
	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=findDiv(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function toggleImg(img, status)
{
	if(document.images) document.images [img].src = eval(img+status+".src");
	
}

function toggleNav() 
{ 
	var i,p,v,obj,args=toggleNav.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=findDiv(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }    
}

function hideAllDDs(sect) 
{

	toggleNav('domainDiv','','hide');
	toggleNav('hostDiv','','hide');


	toggleImg('domainDiv_Img','OFF');
	toggleImg('hostDiv_Img','OFF');


	//showElement('SELECT');
}

function hideDD(sect) 
{
	//alert(sect);
	toggleNav(sect,'','hide');
	toggleImg(sect+'_Img','OFF');
	//hideAllDDs(sect);
}

var sectionSetting = null;
var activeTimer = null;
var bHover = '';
function setDDactive(sect, windowStatusVal, bshow) 
{
	//activeTimer = window.setTimeout("toggleNav('"+sect+"','','show')",500);
	//no timeout code
	//hideAllDDs(sect);
	if ((bHover==windowStatusVal)||(bshow))
	{
		toggleNav(sect,'','show');
		if (sectionSetting != null)
		{
				window.clearTimeout(sectionSetting);
		}
		toggleImg(sect+'_Img','ON');		
		//hideElement('SELECT', document.all[sect]); 
	}
}

function setDDTimeout(sect)
{
	if (sectionSetting != null) 
	{
		window.clearTimeout(sectionSetting);
	}
	sectionSetting = window.setTimeout('hideDD("' + sect + '")',500);
}


// written by Vincent Fiduccia

// Usage:
// by passing OverLappingObject (the actual object, not a string), 
//    you will only hide the select boxes that are in the way

/* hides <select> and <applet> objects (for IE only) */
  function hideElement( elmID, overDiv ) {
    if(document.all) {
      for(i = 0; i < document.all.tags( elmID ).length; i++) {
        obj = document.all.tags( elmID )[i];
        if(!obj || !obj.offsetParent) continue;

        // Find the element's offsetTop and offsetLeft relative to the BODY tag.
        objLeft   = obj.offsetLeft;
        objTop    = obj.offsetTop;
        objParent = obj.offsetParent;

        while(objParent.tagName.toUpperCase() != 'BODY') {
          objLeft  += objParent.offsetLeft;
          objTop   += objParent.offsetTop;
          objParent = objParent.offsetParent;
        }

        objHeight = obj.offsetHeight;
        objWidth  = obj.offsetWidth;

        if((overDiv.offsetLeft + overDiv.offsetWidth) <= objLeft);
        else if((overDiv.offsetParent.offsetTop + overDiv.offsetHeight + 20) <= objTop);
        else if(overDiv.offsetTop >= eval(objTop + objHeight));
        else if(overDiv.offsetLeft >= eval(objLeft + objWidth));
        else {
          obj.style.visibility = 'hidden';
        }
      }
    }
  }

 /*
  * unhides <select> and <applet> objects (for IE only)
  */
  function showElement(elmID) {
    if(document.all) {
      for(i = 0; i < document.all.tags( elmID ).length; i++) {
        obj = document.all.tags(elmID)[i];
        if(!obj || !obj.offsetParent) continue;
        obj.style.visibility = '';
      }
    }
  }

function ChangeLang(from_lang,to_lang)
{
	tempurl = window.location.href
	if (tempurl.search("/"+from_lang+"/") != -1)
	{
		tempurl = tempurl.replace("/"+from_lang+"/", "/"+to_lang+"/") ;
		//alert(tempurl);
		window.location.href = tempurl
	}
}