var ENTER_KEY_CODE = "13" ;
var ERR_FUTURE_DATE="Reports can not be generated for a date in future, please select a past/current date.";

// validates the input on submit
function Validate()
{	
	var currentDate = new Date() ;
	var selectedDate = new Date(Form1.txtDate.value) ;
	if (selectedDate > currentDate)
	{
		alert(ERR_FUTURE_DATE);
		Form1.txtDate.focus();
		Form1.txtDate.select();
		var s = Form1.txtPassedDate.value;	
		if (s != "0") 
		{
			var dataGrid = document.getElementById("reportDataGrid");
			if (dataGrid != null)
			{
				dataGrid.style.visibility = "hidden" ;
			}
			var labelCheck = document.getElementById("lblCheck");
			if (labelCheck != null)
			{
				labelCheck.style.display = "none" ;
			}
		}
		return false;
	}
	Form1.txtPassedDate.value = Form1.txtDate.value;
	//Form1.txtTopRows.value  = Form1.selTopRows.value;	
	return true ;		
}
// handles the keypressed event for enter key
function keypressed()
{
	if (event.keyCode==ENTER_KEY_CODE)
	{
		Form1.hidEnterkey.value = "y" ; 
	}
}	
// displays the help
function TopMovementsHelp()
{
	var sFeatures = "height=500px, width=600px, scrollbars=1, help=0;"
	window.open("/GddReports/help/TopMovementsHelp.htm","",sFeatures);
}
// opens the drill down for help
function openTopMovements( fromdate,  todate)
{	
	var s = Form1.txtPassedDate.value;	
	window.location = "DomainMovements.aspx?Date="+s+"&NameServerFrom="+fromdate+"&NameServerTo="+todate;

}
// displays the calendar
function DisplayCalendar()
{
	var s = Form1.txtPassedDate.value;	
	if (s == "0") 
	{
		DateInput('txtDate', true, 'MM/DD/YYYY',null,true);
	}
	else
	{
		DateInput('txtDate', true, 'MM/DD/YYYY', s,true);
	}
	
}
function onLoad()
{
	//Form1.selTopRows.value = Form1.txtTopRows.value ;
}
// displays the numbers with commas
function DisplayinThousands(value)
{
	var stringValue = "" ;
	var remainder ; 
	var remainderString = "" ;
	var i ; 
	var count ;
	
	var numericValue = value;
	if (isNaN(numericValue))
	{
		document.writeln(value) ;
		return;
	}
	
	if (numericValue < 0) 
	{
		numericValue = (-1) * numericValue ;
	}
	
	while (numericValue >= 1000)
	{
		remainder = numericValue % 1000 ;
		numericValue = Math.floor(numericValue / 1000) ;
		remainderString = "" + remainder;
		count = 3-remainderString.length ;
		for (i = 0 ; i < count ; i++)
		{
			remainderString = "0" + remainderString ;
		}		
		stringValue =  "," + remainderString + stringValue; 	
	}
	stringValue = numericValue + stringValue  ;
	document.writeln(stringValue) ;
}

function DisplayNumeric(value,fromdate,todate)
{
	if (value != 0)
	{
		DisplayLink(fromdate,todate) ;	
		DisplayinThousands(value) ;
		document.writeln("</a>") ;
	}
	else
	{
		document.writeln(value) ;
	}
}

function DisplayLink(fromdate,todate)
{
	var fromDateStr = "'" + fromdate + "'" ;
	var toDateStr = "'" + todate + "'" ;
	var link = '<a href="javascript:openTopMovements(' + fromDateStr +',' + toDateStr + ');" title ="Click to view the domain movements.">' ;
	document.writeln(link) ;
}
