/*
function createCalendar()
{
	var currentDate = new Date((new Date()).getTime()-24*60*60*1000);
	var currentYear = currentDate.getFullYear();
	var currentMonth = currentDate.getMonth() + 1;
	var currentDay = currentDate.getDate();
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");
	for(var i = currentYear; i >= 1980; i--)
	{
		year.options.add(new Option(i, i));
	}	
	
	year.value = currentYear;
	month.value = currentMonth;
	onMonthOrYearChange();
	day.value = currentDay;
}

function onMonthOrYearChange()
{
	var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 
	var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");
	var selectedMonth = month.value;
	var selectedYear = year.value;
	var selectedDay = day.value;
	
	day.options.length=0;
	for(var i = 1; i <= monthDays[selectedMonth - 1]; i++)
	{
		day.options.add(new Option(i, i));
	}
	
	if ((selectedYear % 400 == 0) || ((selectedYear % 4 == 0) && (selectedYear % 100 != 0)))
	{ 
		if(selectedMonth == 2)
		{
			day.options.add(new Option(29, 29));
		}
	}
	day.value = selectedDay;
}
*/

function createCalendar()
{
	var currentDate = new Date((new Date()).getTime()-24*60*60*1000);
	var currentYear = currentDate.getFullYear();
	var currentMonth = currentDate.getMonth() + 1;
	var currentDay = currentDate.getDate();
	
	var month = document.getElementById("month");
	
	var yearLabel = document.getElementById("yearsel");
	var ytext = 'Year: <select name="year" id="year" onchange="onMonthOrYearChange()" class="list_menu_calc">';
	ytext += '<option value="' + currentYear +'" selected="selected">' + currentYear + '</option>';
	for(var i = currentYear - 1; i >= 1980; i--)
	{
		ytext += '<option value="' + i +'">' + i + '</option>';
	}	
	ytext += '</select>';
	yearLabel.innerHTML += ytext;
	
	for (var i = 0; i < month.options.length; i++)
	{
		if (month.options[i].value == currentMonth)
		{
			month.selectedIndex = i;
		}
	}
	onMonthOrYearChange();
	var day = document.getElementById("day");
	for (var i = 0; i < day.options.length; i++)
	{
		if (day.options[i].value == currentDay)
		{
			day.selectedIndex = i;
			break;
		}
	}
}

function onMonthOrYearChange()
{
	var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 
	var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");
	var dayprv = day == null ? 1 : day.value;
	var selectedMonth = month.value;
	var selectedYear = year.value;
	
	var dayLabel = document.getElementById("daysel");
	var dtext = 'Day:<select name="day" id="day" class="list_menu_calc">';
	//dayLabel.innerHTML = 'Day:<select name="day" id="day" class="list_menu_calc">';
	for(var i = 1; i <= monthDays[selectedMonth - 1]; i++)
	{
		if (i != dayprv)
		{
			dtext += '<option value="' + i +'">' + i + '</option>';
		}
		else
		{
			dtext += '<option value="' + i +'" selected="selected">' + i + '</option>';
		}
	}
	
	if ((selectedYear % 400 == 0) || ((selectedYear % 4 == 0) && (selectedYear % 100 != 0)))
	{ 
		if(selectedMonth == 2)
		{			
			if (dayprv == 29)
			{
				dtext += '<option value="' + 29 +'" selected="selected">' + 29 + '</option>';
			}
			else
			{
				dtext += '<option value="' + 29 +'">' + 29 + '</option>';
			}
		}
	}
	dtext += '</select>';
	dayLabel.innerHTML = dtext;
	var day = document.getElementById("day");
	var selectedDay = day.value;
	for (var i = 0; i < day.options.length; i++)
	{
		if (day.options[i].value == selectedDay)
		{
			day.selectedIndex = i;
			break;
		}
	}
}

function validateMoney()
{
}

function validateShares()
{
}

function checkNumber()
{  
/*
	var userAgent = window.navigator.userAgent.toLowerCase();
    var AppName = "";
    var Version = "";
    var Sys = "";
    if(userAgent.indexOf("msie")>-1)
	{
        AppName   = "msie";    
        Version    = userAgent.replace(/.+msie/gi,"").replace(/;.+/gi,"") - 0;    
    }
	else if(userAgent.toUpperCase().indexOf("firefox")>-1)
	{
        AppName = "firefox";
        Version = userAgent.replace(/.+firefox//gi,"").replace(/(.*)/g,"") - 0;
    }
	else if(userAgent.toUpperCase().indexOf("netscape")>-1)
	{
        AppName = "netscape";
        Version = userAgent.replace(/.+netscape//gi,"").replace(/(.*)/g,"") - 0;
    } 
	if((AppName == "msie" && Version < 5) || (AppName == "firefox" && Version <1) || (AppName == "netscape" && Version<7.2) || userAgent.indexOf("macintosh") != -1 || userAgent.indexOf("konqueror") != -1 || userAgent.indexOf("safari") != -1 || userAgent.indexOf("camino") != -1)
	{
		return true;
    }
*/	
	var amountInvested = document.getElementById("amountInvested");
	var sharesPurchased = document.getElementById("sharesPurchased");
	if (amountInvested.value == "" && sharesPurchased.value == "")
	{
		alert("Please enter valid data.");
		return false;
	}
	else
	{
		/*
		var  patrn=/^[\d|.]*$/;  
		if (patrn.test(amountInvested.value) && patrn.test(sharesPurchased.value))
		{
			return true;
		}
		else
		{
			alert("Please enter valid data.");
			return false;
		}
		*/
		var testStr = "";
		if (amountInvested.value != "")
		{
			testStr = amountInvested.value;
		}
		if (testStr == "")
		{
			testStr = sharesPurchased.value;
		}
		
		//alert(testStr + (testStr == "0") + (testStr == 0) + 'ddfff');
		if (testStr == "0")
		{
			alert("Please enter valid data.");
			return false;
		}
		
		var dotNum = 0;
		for (var i = 0; i < testStr.length; i++)
		{
			//alert(testStr.charAt(i) + (testStr.charAt(i) == "." ) + dotNum);
			if (testStr.charAt(i) < "0" || testStr.charAt(i) > "9")
			{
				if (testStr.charAt(i) != "," && testStr.charAt(i) != ".")
				{
					alert("Please enter valid data.");
					return false;
				}
				else if (testStr.charAt(i) == ".")
				{
					dotNum++;
					if (dotNum > 1)
					{
						alert("Please enter valid data.");
						return false;
					}
				}
			}
		}
		return true;
	}
}

function checkData()
{
	if (checkDate())
	{
		if (checkNumber())
		{
			return true;
		}
	}
	return false;
}

function checkDate()
{
	var currentDate = new Date((new Date()).getTime()-24*60*60*1000);
	var currentYear = currentDate.getFullYear();
	var currentMonth = currentDate.getMonth() + 1;
	var currentDay = currentDate.getDate();
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");
	var selectedDate = new Date(year.value, month.value - 1, day.value, 0, 0, 0, 0);
	if (selectedDate > currentDate)
	{
		alert("Please select a correct date.");
		return false;
	}
	else
	{
		return true;
	}
}

function resetForm()
{
	var currentDate = new Date((new Date()).getTime() - 24*60*60*1000);
	var currentYear = currentDate.getFullYear();
	var currentMonth = currentDate.getMonth() + 1;
	var currentDay = currentDate.getDate();	
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");	
	year.value = currentYear;
	month.value = currentMonth;
	//onMonthOrYearChange();
	day.value = currentDay;
	
	
	var amountInvested = document.getElementById("amountInvested");
	var sharesPurchased = document.getElementById("sharesPurchased");
	var adjustmentFactor = document.getElementById("adjustmentFactor");
	var purchasePrice = document.getElementById("purchasePrice");
	var adjustmentFactor = document.getElementById("adjustmentFactor");
	var sharesOwned = document.getElementById("sharesOwned");
	var investment = document.getElementById("investment");
	var percentChange = document.getElementById("percentChange");
	
	amountInvested.value = "";
	sharesPurchased.value = "";
	adjustmentFactor.innerHTML = "";
	purchasePrice.innerHTML = "";
	adjustmentFactor.innerHTML = "";
	sharesOwned.innerHTML = "";
	investment.innerHTML = "";
	percentChange.innerHTML = "";
	return false;
}

function calculate()
{	
	if (window.location.href.indexOf("&month") == -1 || window.location.href.indexOf("&day") == -1 || window.location.href.indexOf("&year") == -1)
	{
		return;
	}
	
	var year = document.getElementById("year");
	var month = document.getElementById("month");
	var day = document.getElementById("day");
	
	var amountInvested = document.getElementById("amountInvested");
	var sharesPurchased = document.getElementById("sharesPurchased");
	var adjustmentFactor = document.getElementById("adjustmentFactor");
	var purchasePrice = document.getElementById("purchasePrice");
	var adjustmentFactor = document.getElementById("adjustmentFactor");
	var sharesOwned = document.getElementById("sharesOwned");
	var investment = document.getElementById("investment");
	var percentChange = document.getElementById("percentChange");
	var cp = document.getElementById("currentPriceHidden").value;
	var pp = document.getElementById("purchasePriceHidden").value;	
	
	amountInvested.value = document.getElementById("amountInvestedHidden").value;
	sharesPurchased.value = document.getElementById("sharesPurchasedHidden").value;
	adjustmentFactor.innerHTML = document.getElementById("adjustmentFactorHidden").value;
	purchasePrice.innerHTML = pp * adjustmentFactor.innerHTML;
	
	if (document.getElementById("hasDataHidden").value == "no")
	{
		//year.value = document.getElementById("yearHidden").value;
		//month.value = document.getElementById("monthHidden").value;
		//day.value = document.getElementById("dayHidden").value;
		
		for (var i = 0; i < year.options.length; i++)
		{
			if (year.options[i].value == document.getElementById("yearHidden").value)
			{
				year.selectedIndex = i;
				break;
			}
		}	
		for (var i = 0; i < month.options.length; i++)
		{
			if (month.options[i].value == document.getElementById("monthHidden").value)
			{
				month.selectedIndex = i;
				break;
			}
		}	
		for (var i = 0; i < day.options.length; i++)
		{
			if (day.options[i].value == document.getElementById("dayHidden").value)
			{
				day.selectedIndex = i;
				break;
			}
		}
		if (document.getElementById("inputTabHidden").value == "1")
		{
			sharesPurchased.value = "";
		}
		else
		{
			amountInvested.value = "";
		}
		purchasePrice.innerHTML = "";
		return;
	}
	if (purchasePrice.innerHTML == "" || purchasePrice.innerHTML == "0")
	{
		sharesPurchased.value = "";
		adjustmentFactor.innerHTML = "";
		purchasePrice.innerHTML = "";
		return;
	}
	
	if(amountInvested.value == "")
	{
		//amountInvested.value = parseFloat(sharesPurchased.value * purchasePrice.innerHTML).toFixed(2);
		amountInvested.value = formatNumber(sharesPurchased.value * purchasePrice.innerHTML);
	}
	else
	{
		//sharesPurchased.value = parseFloat(amountInvested.value / purchasePrice.innerHTML).toFixed(2);
		sharesPurchased.value = formatNumber(amountInvested.value / purchasePrice.innerHTML);
	}

	//sharesOwned.innerHTML = parseFloat(sharesPurchased.value * adjustmentFactor.innerHTML).toFixed(2);
	sharesOwned.innerHTML = formatNumber(sharesPurchased.value * adjustmentFactor.innerHTML);
	//investment.innerHTML = "$" + parseFloat(sharesOwned.innerHTML * cp).toFixed(2);
	investment.innerHTML = "$" + formatNumber(sharesOwned.innerHTML * cp);
	//percentChange.innerHTML = parseFloat((1 / purchasePrice.innerHTML * adjustmentFactor.innerHTML * cp - 1)* 100).toFixed(2) + "%";
	percentChange.innerHTML = formatNumber((1 / purchasePrice.innerHTML * adjustmentFactor.innerHTML * cp - 1)* 100) + "%";

	//year.value = document.getElementById("yearHidden").value;
	//month.value = document.getElementById("monthHidden").value;
	//day.value = document.getElementById("dayHidden").value;
	for (var i = 0; i < year.options.length; i++)
	{
		if (year.options[i].value == document.getElementById("yearHidden").value)
		{
			year.selectedIndex = i;
			break;
		}
	}	
	for (var i = 0; i < month.options.length; i++)
	{
		if (month.options[i].value == document.getElementById("monthHidden").value)
		{
			month.selectedIndex = i;
			break;
		}
	}	
	for (var i = 0; i < day.options.length; i++)
	{
		if (day.options[i].value == document.getElementById("dayHidden").value)
		{
			day.selectedIndex = i;
			break;
		}
	}
	//purchasePrice.innerHTML = parseFloat(purchasePrice.innerHTML).toFixed(2);
	purchasePrice.innerHTML = formatNumber(purchasePrice.innerHTML);
	adjustmentFactor.innerHTML = adjustmentFactor.innerHTML + ":1";
}

function formatNumber(num)
{
	num = "" + num;
	var dot = num.indexOf(".");
	if (dot > 0 && dot < num.length - 3)
	{
		return num.substring(0, dot + 3);
	}
	else
	{
		return num;
	}
}

