function isValid(display, fld, fldType, required)
{
	//field type string, numeric
	if(required==1 && fld.value=="")
		return warnInvalid(fld, display, fldType);
	if(fldType=="numeric" && isNaN(fld.value))
		return warnInvalid(fld, display, fldType);
	if(fldType=="email")
	{ 
		atPos = fld.value.indexOf('@');
        if (atPos < 1 || atPos == (fld.value.length - 1))	
		{
			return warnInvalid(fld, display, fldType);
		}
    }
    if(fldType=="date" && fld.value != "")
	{
		if(!isDate(fld))
			return warnInvalid(fld, display, fldType);
	}	
	return true;
	
}

function isLenValid(display, fld, fldlen)
{
	nStr = String(fld.value)
	nLen = nStr.length;
	if(nLen > fldlen)
		return warnInvalidLen(fld, display, fldlen);
	else
		return true;
}

function warnInvalidLen(fld, fldDisplay, fldlen)
{
	alert("'" + fldDisplay + "' contains too many characters. The maximum character length is " + fldlen);
	fld.focus();
	return false;
}

function isDate(fld)
{
	var vLen = fld.value
	var val = new String(fld.value);
	valArray = val.split("/");
	mm = valArray[0];
	dd = valArray[1];
	yy = valArray[2];
	
	
	
	if(isNaN(mm))return false;
	if(isNaN(dd))return false;
	if(isNaN(yy))return false;
	if(yy.length!=4)
	{
		alert("Enter 4 digits for the year.");
		return false;
	}
	if(mm<10 && mm.length==1) 
	{
		var m = new String();
		m = "0" + mm;
		mm = m;
	}
	if(dd<10 && dd.length==1)
	{
		var d = new String();
		d = "0" + dd;
		dd = d;
	}
	
	
	if(mm.length!=2 || dd.length!=2 || yy.length!=4) alert("Enter 2 digits for the month and day and 4 digits for year. Ex: 01/01/2001")
	if(mm>12)return false;
	if(!CheckDay(mm, dd, yy))return false;
	
	return true;
		

}

function CheckDay(mm, dd, yy)
{
	var badDay = 0
	switch (mm)
	{
		case "01":
			if(dd>31)badDay=1;
			break;
		case "02":
			if(yy % 4 == 0)
				{if(dd>29)badDay=1;	}
			else
				{if(dd>28)badDay=1;}
			break;
		case "03":
			if(dd>31)badDay=1;;
			break;
		case "04":
			if(dd>30)badDay=1;;
			break;
		case "05":
			if(dd>31)badDay=1;;
			break;
		case "06":
			if(dd>30)badDay=1;;
			break;
		case "07":
			if(dd>31)badDay=1;;
			break;
		case "08":
			if(dd>31)badDay=1;;
			break;
		case "09":
			if(dd>30)badDay=1;;
			break;
		case "10":
			if(dd>31)badDay=1;;
			break;
		case "11":
			if(dd>30)badDay=1;;
			break;
		case "12":
			if(dd>31)badDay=1;;
			break;
	}	
	
	if(badDay==1)
		return false;
	else
		return true;
	
}


function warnInvalid(fld, fldDisplay, fldType)
{
	alert("'" + fldDisplay + "' field is of wrong type or required. It is a(n) " + fldType + " field.");
	fld.focus();
	return false;
}

function BackPage()
{
	history.back()
}


function GetDays(fld, MM, YY)
{
	var gDay
	fld.options.length = 31
			
	switch (MM)
	{
		case "1":
			gDay = 31;
			break;
		case "2":
			if(YY % 4 == 0)
				gDay = 29;
			else
				gDay = 28;
			break;
		case "3":
			gDay = 31;
			break;
		case "4":
			gDay = 30;
			break;
		case "5":
			gDay = 31;
			break;
		case "6":
			gDay = 30;
			break;
		case "7":
			gDay = 31;
			break;
		case "8":
			gDay = 31;
			break;
		case "9":
			gDay = 30;
			break;
		case "10":
			gDay = 31;
			break;
		case "11":
			gDay = 30;
			break;
		case "12":
			gDay = 31;
			break;
	}	
		for(var i=0;i<gDay;i++)
		 {
			fld.options[i].value = i + 1
			fld.options[i].text = i + 1
		 }
		 for(var i = gDay; i<31; i++)
		 {
			fld.options[i].value = ""
			fld.options[i].text = ""
		 }
		 fld.options.length = gDay
	
}

function ConfirmContinue(msg,page)
{
	if(confirm(msg)==true) 
	{
		location.href = page
	}
}

function OpenWindow(theURL,winName,features) 
{ //v2.0
 window.open(theURL,winName,features);
 //features toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=350,height=300'
}

function redirect(val)
{
	if(val!="")
			location.href=val;
}

function ClosePopUp()
{
 if (typeof(myNewWindow) == "object")
 {
   // myNewWindow.focus();
   myNewWindow.close();
 }
}
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		nav_subsidiaries_over = newImage("images/header/nav_subsidiaries-over.gif");
		nav_aboutus_over = newImage("images/header/nav_aboutus-over.gif");
		nav_what_over = newImage("images/header/nav_what-over.gif");
		nav_news_over = newImage("images/header/nav_news-over.gif");
		nav_investor_over = newImage("images/header/nav_investor-over.gif");
		subs_solution2 = newImage("images/pulldowns/subs_solution2.gif");
		subs_data2 = newImage("images/pulldowns/subs_data2.gif");
		subs_olympic2 = newImage("images/pulldowns/subs_olympic2.gif");
		subs_ddd2 = newImage("images/pulldowns/subs_ddd2.gif");
		subs_matrix2 = newImage("images/pulldowns/subs_matrix2.gif");
		preloadFlag = true;
	}
}





