function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2 -200;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

//##############################################################
//
//##############################################################

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.0
  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 && document.getElementById) x=document.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];}
}

// whitespace characters

var whitespace = " \t\n\r";

/****************************************************************/

// Check whether string s is empty.

function isEmpty(s)

{ return ((s == null) || (s.length == 0)) }

/****************************************************************/
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;
}
/****************************************************************/
function ForceEntry(objField, FieldName)
{
    var strField = new String(objField.value);

    if (isWhitespace(strField)) {

                alert("Please fill in " + FieldName);

                objField.focus();

                objField.select();

                return false;
    }
    return true;
}

function isEmail (objField, FieldName)
{
    var s = new String(objField.value);
    
    if (isEmpty(s)) return true;

    if (isWhitespace(s)) return true;    

    // 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) != "@")) {

                        alert("Please enter a valid " + FieldName);

                        objField.focus();

                        return false;

            }           
    else i += 2;

    // look for .

    while ((i < sLength) && (s.charAt(i) != "."))

    { i++

    }
    
     //there must be no white space          
	 var pattern = /\s/g;
	 
	 if (pattern.test(s))
	 {
		alert("Please remove any spaces from " + FieldName);

              objField.focus();
              return false;
	 }     
    

    // there must be at least one character after the .

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) {

              alert("Please enter a valid " + FieldName);

              objField.focus();
              return false;

     }                     
    else return true;
}

 
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
 

function Verify() {
	var CanSubmit = false;   
			
	CanSubmit = ForceEntry(document.forms["contact"].txtEmail,"an email address");
	
        if (CanSubmit) {
          CanSubmit = isEmail(document.forms["contact"].txtEmail,"email address");
    	
          if (CanSubmit) {
			window.location = "/Investor-Centre/Subscribe-to-mailing-list.aspx?email=" + escape(document.forms["contact"].txtEmail.value);     
            return false;
          } else {
            return CanSubmit;
          }
        } else return CanSubmit;
}