// Function to validate a date

function IsDate( Day, Month, Year )
{
	var StartDate = new Date();

	if ( Day == null || Month == null || Year == null )
	{
		return false;
	}

	if ( Day == "" || Month == "" || Year == "" )
	{
		return false;
	}
		
//	The month array is actually zero based where as the day array is actually 1 based!

	var NewMonth  = Month - 1;
		
	StartDate.setFullYear(Year,NewMonth,Day);
	
	if ( StartDate.getDate()     != Day      ||
	     StartDate.getMonth() 	 != NewMonth ||
		 StartDate.getFullYear() != Year        )
	{

		return false;
	}
	
	return true;

}
// Function to validate if a field is entered
function IsEmpty( Value )
{
    var myString = new String(Value);
    var notEmpty = 0;	
	for (var i=0;i<=myString.length-1;i++){
		if (myString.substr(i,1)!=" "){
		   notEmpty=1;
		}
	}
	if (notEmpty==0){
	   return true;
	}
	
	 
	if ( Value == null || Value == "" )
		{
			return true;
		}
	
	return false;
}

// Function to validate an integer

function IsInteger( Value )
{

	if ( Value == null || Value == "" )
	{
		return false;
	}
	
	var IntValue = parseInt( Value );
	var StrValue = new String( Value);
		
	if ( isNaN( IntValue ) )
	{
		return false;
	}
	
	if ( StrValue.search(".") )
	{
		return false;
	}
	
	return true;
}

// Function to validate a number

function IsNumber( Value )
{

	if ( Value == null || Value == "" )
	{
		return false;
	}
	
	// There is a bug for this : value=124we it returns true
	//var FloatValue = parseFloat( Value );
	var FloatValue=Number(Value);
		
	if ( isNaN( FloatValue ) )
	{
		return false;
	}
	
	return true;
}

// Function to validate a range

function IsInRange( Value, Min, Max )
{
	if ( Min == null )
	{
		alert( "Invalid minimum value specified" );
		return false;
	}
	
	if ( Max == null )
	{
		alert( "Invalid maximum value specified" );
		return false;
	}

	if ( Value == null || Value == "" )
	{
		return false;
	}
	
	if ( Value < Min || Value > Max )
	{
		return false;
	}
	
	return true;
}

// Function to validate a float

function IsFloat( Value )
{
	if ( Value == null || Value == "" )
	{
		return false;
	}
	
	if ( isNaN(parseFloat( Value )) )
	{
		return false;
	}
	
	return true;
	
}

function OpenWin( HelpFile,HelpWidth,HelpHeight)
	{
		var Height = window.outerHeight;
		var Width = window.outerWidth;
		var top = window.screenX;
		var left = window.screenY;
		var helpwin;
	
		HelpX = (( Width - HelpWidth ) / 2) + top;
		HelpY = (( Height - HelpHeight ) / 2 ) + left;
		
		Options = 'resizable=0,' + 
				  'width=' + HelpWidth + ',' +
				  'height=' + HelpHeight + ',' +
				  'scrollbars=no,' + 
				  'screenX=' + HelpX + ','+ //NS use screenX,y
				  'screenY=' + HelpY + ',' +
				  'left=' + HelpX + ','+    //IE use left,top
				  'top=' + HelpY + ',' +
				  'dependant=yes,' +
				  'alwaysraised=yes';
				  
		helpwin = window.open( HelpFile, 'helpwindow', Options);
		
	}	
	
function format(expr,decplaces){
    var str="" + Math.round(eval(expr)*Math.pow(10,decplaces));
	while (str.length<=decplaces) {
	  str="0"+str;
	}
    var decpoint=str.length - decplaces;
	if (decplaces==0){
	    return str.substring(0,decpoint)
	}
	else
	{
		return str.substring(0,decpoint)+"."+str.substring(decpoint,str.length);
	}

   }	