<!--
/***************************************************************************
*
* @Version 1.0
* Copyright: The International Financial Center & Exchange (IFCE)
* Designed by: Brygid Technologies Corp.
* Author: Minh Van Le VKA, BSc Computer Engineering @ University of Alberta
* Email: Minh.Le@Brygid.com
*/
//-->
function new_window725(url)
{ 
window.open(url,'','toolbar=0,scrollbars=yes,menubar=0,resizable=1,dependent=0,status=0,width=725,left=25,top=25');
} 



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_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_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 isLeapYear(year) {
    return((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)));
}
function y2kYear(number) { 
	return (number < 1000) ? number + 1900 : number; 
}
function padout(number) { return (number < 10) ? '0' + number : number; }
function today()
{
	var now = new Date();
	var day = padout(now.getDate());
	var month = padout(now.getMonth()+1);
	var year = y2kYear(now.getYear());
	return month+"/"+day+"/"+year;
}
function isDigitString(s) {
	for(var i = 0; i < s.length; i++) {
		var ch = s.charAt(i);
		if(!isDigit(ch)) {
			return false;
		}
	}
	return true;
}
function isDigit(ch) {
	return ( ch >= "0" && ch <= "9");
}
function isValidDate(dateString) {
	if(dateString.length != 10)
	    return false;
	if(dateString == "mm/dd/yyyy")
	return false;
	var month = dateString.substring(0, 2);
	var separator1 = dateString.substring(2, 3);
	var day = dateString.substring(3, 5);
	var separator2 = dateString.substring(5, 6);
	var year = dateString.substring(6, 10);
	if(month < 1 || month > 12 || !isDigitString(month))
	    return false;
	if(separator1 != '-' && separator1 != '/')
	    return false;
	if(day < 1 || day > 31 || !isDigitString(day))
	    return false;
	if(separator2 != '-' && separator2 != '/')
	    return false;	
	if(year <= 0 || year > 2099 || !isDigitString(year))
	    return false;	
	if((month == 9 || month == 4 || month == 6 || month == 11) && (day == 31))
	        return false;
	if(month == 2) {
        if(!isLeapYear(year)) {
            if(day > 28) {
                return false;
            }
        } else {
            if(day > 29) {
                return false;
            }
        }
	}
	return true;
}
function removeBlanks(str) {
    var reg = /\s/gi;
    return str.replace(reg, "");
}
function validateDate(id,defaultOut) {
    document.getElementById(id).value = removeBlanks(document.getElementById(id).value);
    if(document.getElementById(id).value==defaultOut)
        return;
    if(!isValidDate(document.getElementById(id).value)) {
	    alert("The date entered is either not valid or not in the right format.\n" + 
	          "Please enter a valid date in the following format:\n\n" +
	          "Date format: mm/dd/yyyy e.g. 02/28/1951\n");		
		document.getElementById(id).value= defaultOut;
		document.getElementById(id).blur();
    }
    var reg = /-/g;
    document.getElementById(id).value = document.getElementById(id).value.replace(reg, "/");    
}
function dateHelper(id,defaultOut)
{
	var dateString=document.getElementById(id).value;
	if(dateString==defaultOut)
	{
		document.getElementById(id).value="";
	}
}
function numberHelper(id,defaultOut)
{
	var numberString=document.getElementById(id).value;
	if(numberString==defaultOut)
	{
		document.getElementById(id).value="";
	}
}

function validateNumber(id,defaultOut)
{
	var numberString=document.getElementById(id).value;
	if(!isDigitString(numberString))
	{
		alert("Not a valid number, please re-enter a valid number");
		document.getElementById(id).value=defaultOut;
	}
}

var aryRequired = new Array();
var intArrayCount = 0;    
function defineRequired(strElementName, strDisplayMessage, blnIsEmail, blnIsNumber, blnIsDate)
{
        var objRequired = new Object();
        objRequired.ElementName = strElementName;
        objRequired.DisplayMessage = strDisplayMessage;
        objRequired.IsEmail = blnIsEmail;
        objRequired.IsNumber = blnIsNumber;
		objRequired.IsDate = blnIsDate;
        aryRequired[intArrayCount] = objRequired;
        intArrayCount++;
}
function clearDefineRequired()
{
	intArrayCount = 0;
}
function checkForm(objForm)
{
        //web tv bug fix
        if (navigator.userAgent.indexOf("WebTV") == -1) {
          for (var i = 0; i < intArrayCount; i++) {
            var blnFail = true; 
            var objElement = eval("objForm." + aryRequired[i].ElementName);
           
            if (objElement.length && !objElement.type && document.images) {
              //looping through element array
              for (var x = 0; x < objElement.length; x++) {
                if (objElement[x].checked && objElement[x].value != "") blnFail = false;
              } 
            } 
            else {
              if (objElement.value != "") {
                if (aryRequired[i].IsEmail) { if (CheckEmail(objElement.value)) blnFail = false; }
                else if (aryRequired[i].IsNumber) { if (!isNaN(objElement.value)) blnFail = false; }
				else if (aryRequired[i].IsDate) { if (isValidDate(objElement.value)) blnFail = false; }
                else blnFail = false;
              }
            }
            if (blnFail) {  
              alert(aryRequired[i].DisplayMessage);
              if (objElement.length && !objElement.type) objElement[0].focus();
              else objElement.focus();
              return false;
            } 
          }
        // all elements passed, submit form
        }
        return true;    
}    
function CheckEmail(strData) 
{
        var posAt = strData.indexOf("@")
        var strName = strData.substring(0, posAt)
        var strDomain = strData.substring(posAt+1, strData.length)
        var posDot = strDomain.indexOf(".")
        var strSubDomain = strDomain.substring(posDot+1,strDomain.length)
        
        if ( strName=="" || strDomain=="" || posDot < 1 || strSubDomain =="") return false;
        else return true;
}


/************************************************************
* @verstion 1.0
*/
function ZZ_doSubmit(formName, valFunction, layerName) {
    // Determine browser
	var browserName = navigator.appName;
	var version = parseFloat(navigator.appVersion);
    
    if(layerName != "null") { // We have layers
	    if(browserName == "Microsoft Internet Explorer") {
		    formName = "document." + formName;
	    } else if(browserName == "Netscape") {
		    if(version >= 4 && version < 5)
			    formName = "document.layers['" + layerName + "'].document." + formName;
		    else if(version == 5)
			    formName = "document." + formName;
		    else {
			    alert("Unsupported Netscape Browser.");
			    return false;
			}
	    } else {
		    alert("Unsupported Browser.");
		    return false;
	    }
    } else {
        formName = "document." + formName;   
    }
    
	if(valFunction != "null") {
		if(eval(valFunction + "('" + layerName +"')") == true) {
			eval(formName + ".submit()");
		} else {
			return false;
		}


	} else {
		eval(formName + ".submit()");
	}

	return true;	
}

function toggleLayer(whichLayer)
{
	var obj;
	if (document.getElementById)
	{
		// this is the way the standards work
		obj = document.getElementById(whichLayer);
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		obj = document.all[whichLayer];
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		obj = document.layers[whichLayer];
	}
	obj.style.display = (obj.style.display == "none") ? "block" : "none";
}
function setLayer(whichLayer, iState) // 1 visible, 0 hidden
{
	var obj;
	if (document.getElementById)
	{
		// this is the way the standards work
		obj = document.getElementById(whichLayer);
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		obj = document.all[whichLayer];
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		obj = document.layers[whichLayer];
	}
	obj.style.display = iState ? "block" : "none";
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

