var offScreenOffset = ",left=100,top=50";

if(navigator.appName == 'Netscape')
	offScreenOffset = ",screenX=100,screenY=50";


function openWindow(theURL)
{
	MM_openBrWindow(theURL, null, null);
}

function openWindow(theURL, winName)
{
	MM_openBrWindow(theURL, winName, null);
}


function MM_openBrWindow(theURL,target,features) 
{ 
  // no target, so they want to switch url's in same window
  if (target == null)
  {
 	window.open(theURL,"_self");
  }
  else 
  {
	var theFeatures=features;
	if (theFeatures == null)
		theFeatures='HEIGHT=580,WIDTH=780,TOP=10,LEFT=10, resizable=yes,toolbar=no,location=no,directories=no,menubar=yes,statusbar=yes,scrollbars=yes';
	window.open(theURL,target,theFeatures);
  }
}


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_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;
}

var defaultEmptyOK = false;
var whitespace = " \t\n\r";


function isEmail (s)
{   if (isEmpty(s))
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);

    // is s whitespace?
    if (isWhitespace(s)) return false;

    // there must be >= 1 character before @, so we
    // start looking at character position 1
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

// Check whether string s is empty.

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// Returns true if string s is empty or
// whitespace characters only.

function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}
