// Edu-Performance Canada

	// BOI, followed by one digit, followed by EOI.
var reDigit = /^\d/ ;
	// BOI, followed by one or more digits, followed by EOI.
var reInteger = /^\d+$/ ;
	// BOI, followed by one or more characters, followed by @,
	// followed by one or more characters, followed by ., 
	// followed by one or more characters, followed by EOI.
var reEmail = /^.+\@.+\..+$/ ;
var reContainDoubleQuote = /"/ ;
var reContainSingleQuote = /'/ ;
var reValidURI = /[^$A-Za-z0-9_.:\-\/]/

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isDigit (c)
{
	return reDigit.test(c) ;
}

function isInteger (s)
{
	return reInteger.test(s) ;
}

function isEmail (s)
{
	return reEmail.test(s) ;
}

function containDoubleQuote (s)
{
	return reContainDoubleQuote.test(s) ;
}

function containSingleQuote (s)
{
	return reContainSingleQuote.test(s) ;
}

function isValidURI (s)
{
   var i;

    if (isEmpty(s)) 
       if (isValidURI.arguments.length == 1) return defaultEmptyOK;
       else return (isValidURI.arguments[1] == true);

    else {
       return reValidURI.test(s)
    }
    
}

function checkForCorrectBrowser(stringToDisplay)
{
	// convert all characters to lowercase to simplify testing 
	var agt=navigator.userAgent.toLowerCase(); 
	var is_major=parseInt(navigator.appVersion); 
	var is_minor=parseFloat(navigator.appVersion); 

	// Note: Opera and WebTV spoof Navigator.  We do strict client detection. 
	// If you want to allow spoofing, take out the tests for opera and webtv. 
	var is_nav =((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) 
              && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) 
              && (agt.indexOf('webtv')==-1)); 
	is_nav4up=(is_nav && ((is_minor>=4.04))); 
	is_nav5up=(is_nav && (is_major>=5)); 

	var is_ie=(agt.indexOf("msie")!=-1); 
	is_ie4up=(is_ie  && (is_major>=4)); 
	is_ie4=(is_ie && (is_major==4));
	if(!is_ie4up && !is_nav4up)
		document.write('<CENTER><H1>'+stringToDisplay+'</H1></CENTER>');
}

function ChangeImage(id, name){
	id.src=name;
}

function ie4show(obj){
	if (parent.parent.is_ie4up)
		obj.style.visibility='visible';
	else
		obj.visibility='visible';
}

function ie4hide(obj){
	if (parent.parent.is_ie4up)
		obj.style.visibility='hidden';
	else
		obj.visibility='hidden';	
}

function ns4show(obj){
	if (parent.parent.is_nav4up)
		obj.visibility='show';	
	else
		obj.style.visibility='visible';
}

function ns4hide(obj){
	if (parent.parent.is_nav4up)
		obj.visibility='hide';	
	else
		obj.style.visibility='hidden';
}

function convertWhiteSpace(strLocation)
{
	var str=new String();
	str=strLocation;
	regExpr=/ /g ;
	strLocationWithoutBlanks=str.replace(regExpr, "%20");

	return strLocationWithoutBlanks;	
}

function isURL(argvalue)
{
	if(argvalue.indexOf(" ")!=-1)
		return false;
	else if(argvalue.indexOf("http://")==-1)
		return false;
	else if(argvalue=="http://")
		return false;
	else if(argvalue.indexOf("http://")>0)
		return false;

	argvalue=argvalue.substring(7, argvalue.length);
	if(argvalue.indexOf(".")==-1)
		return false;
	else if(argvalue.indexOf(".")==0)
		return false;
	else if(argvalue.charAt(argvalue.length-1)==".")
		return false;

	if (argvalue.indexOf("/")!=-1){
		argvalue = argvalue.substring(0, argvalue.indexOf("/"));
		if(argvalue.charAt(argvalue.length - 1)==".")
			return false;
	}

	if (argvalue.indexOf(":")!=-1){
		if(argvalue.indexOf(":")==(argvalue.length-1))
			return false;
		else if (argvalue.charAt(argvalue.indexOf(":")+1)==".")
			return false;
		argvalue=argvalue.substring(0, argvalue.indexOf(":"));
		if(argvalue.charAt(argvalue.length - 1)==".")
			return false;
	}

	return true;
}

String.prototype.trim=function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function ltrim(s)
{
	return s.replace(/^\s*/, "");
}

function rtrim(s)
{
	for(var i=s.length-1; s.charAt(i)==" "; i--);
	return s.substring(0,i+1);
}

function trim(s)
{
	return rtrim(ltrim(s));
}

function GetStrDate(inDate, lang)
{
	var strDate="",	tmpVar;

	if(lang=='en'){
		tmpVar=inDate.getMonth()+1;
		if (tmpVar<10)
			strDate+="0"+ tmpVar;
		else
			strDate+=tmpVar;
		tmpVar=inDate.getDate();
		if (tmpVar<10)
			strDate+="/0"+ tmpVar;
		else
			strDate+="/"+ tmpVar;
	}
	else{
		tmpVar=inDate.getDate();
		if (tmpVar<10)
			strDate+="0"+ tmpVar;
		else
			strDate+=tmpVar;
		tmpVar=inDate.getMonth()+1;
		if (tmpVar<10)
			strDate+="/0"+ tmpVar;
		else
			strDate+="/"+ tmpVar;
	}
	strDate+="/"+ inDate.getFullYear();

	return strDate;
}

function GetISODate(inDate)
{
	var strDate=inDate.getFullYear(),
		tmpVar;

	tmpVar=inDate.getMonth()+1;
	if (tmpVar<10)
		strDate+="/0"+ tmpVar;
	else
		strDate+="/"+ tmpVar;
	tmpVar=inDate.getDate();
	if (tmpVar<10)
		strDate+="/0"+ tmpVar;
	else
		strDate+="/"+ tmpVar;

	return strDate;
}

function Navigate(url, item, action)
{
	objForm.action=url;
	objForm.target='Navbar';
	objForm.ItemId.value=item;
	objForm.Action.value=action;
	objForm.submit();
}

