function reloadYearValues(elem) {
	var index = elem.value;	
	if (index != '' || index != 'NaN') {
		var currValues = period(elem);
		var obj = elem.nextSibling;
		obj.length = 0;
		for (var i = 0; i < currValues.length; i++) {
			var curr = currValues[i];
			if(curr) {
				if (document.createElement) {
					var newListOption = document.createElement("OPTION");
	   				newListOption.text = (i > 9) ? i : '0' + i;
   					newListOption.value = i - 1;
   					(obj.options.add) ? obj.options.add(newListOption) : obj.add(newListOption, null);
		  		} else {
   					obj.options[i] = new Option(i, i, false, false);
  				}
			}
		}
	}
	createDates (document.forms['parm_plot'].elements['dateTo'], parseInt(document.forms['parm_plot'].elements['monthTo'].options[document.parm_plot.monthTo.selectedIndex].value) + 1,  parseInt(document.forms['parm_plot'].elements['yearTo'].options[document.parm_plot.yearTo.selectedIndex].value));
	createDates (document.forms['parm_plot'].elements['dateFrom'], parseInt(document.forms['parm_plot'].elements['monthFrom'].options[document.parm_plot.monthFrom.selectedIndex].value) + 1,  parseInt(document.forms['parm_plot'].elements['yearFrom'].options[document.parm_plot.yearFrom.selectedIndex].value));
}
function reloadMonthValues(elem) {
	var index = elem.value;	
	if (index != '' || index != 'NaN') {
		var currValues = period(elem);
		var obj = elem.nextSibling;
		obj.length = 0;
		for (var i = 1; i <= currValues.length; i++) {
			var curr = currValues[i - 1];
			if (document.createElement) {
				var newListOption = document.createElement("OPTION");
	   			newListOption.text = (curr > 9) ? curr : '0' + curr;
   				newListOption.value = curr;
   				(obj.options.add) ? obj.options.add(newListOption) : obj.add(newListOption, null);
	  		} else {
   				obj.options[i] = new Option(curr, curr, false, false);
  			}
		}
	}	
}

function period (obj) {
	var name= obj.name;
	if (name.split('year').length > 1) {
		var year = parseInt(obj.value);
		return yearValues[year];
	}
	else if (name.split('month').length > 1) {
		var year = obj.previousSibling.value;
		var month = parseInt(obj.value) + 1;
		return yearValues[year][month];
	}
	else return null;
}

function setPeriod (chk) {
var yearFrom = document.forms['parm_plot'].elements['yearFrom'];
var monthFrom = document.forms['parm_plot'].elements['monthFrom'];
var dateFrom = document.forms['parm_plot'].elements['dateFrom'];

var yearTo = document.forms['parm_plot'].elements['yearTo'];
var monthTo = document.forms['parm_plot'].elements['monthTo'];
var dateTo = document.forms['parm_plot'].elements['dateTo'];

	switch (chk.value) {
		case "1d": 			
			createYears (yearTo);
			createYears (yearFrom);
			createMonths (monthTo);
			createMonths (monthFrom);
			monthTo.selectedIndex = monthTo.length - 1;
			monthFrom.selectedIndex = monthFrom.length - 1;
			createDates (dateTo);
			createDates (dateFrom);
			break;
		case "1m":
			yearFrom.selectedIndex = yearTo.selectedIndex;
			createMonths (monthFrom, parseInt(yearFrom.options[yearFrom.selectedIndex].value));
			monthFrom.selectedIndex = monthTo.selectedIndex;
			createDates (dateFrom, parseInt(monthFrom.options[monthFrom.selectedIndex].value) + 1, parseInt(yearFrom.options[yearFrom.selectedIndex].value));
			dateFrom.selectedIndex = 0;
			break;
		case "1k":
			yearFrom.selectedIndex = yearTo.selectedIndex;			
			createMonths (monthFrom, parseInt(yearFrom.options[yearFrom.selectedIndex].value));
			if(monthTo.selectedIndex < 1) {
				dateFrom.selectedIndex = 0;
				dateTo.selectedIndex = dateTo.length - 1;
				break;				
			}
			else if(monthTo.selectedIndex < 2) {				
				monthFrom.selectedIndex = monthTo.selectedIndex - 1;
				createDates (dateFrom, parseInt(monthFrom.options[monthFrom.selectedIndex].value) + 1);
			}
			else {
				monthFrom.selectedIndex = monthTo.selectedIndex - 2;			
				createDates (dateFrom, parseInt(monthFrom.options[monthFrom.selectedIndex].value) + 1);
			}			
			dateFrom.selectedIndex = 0;
			break;
		case "1y":
			yearFrom.selectedIndex = (yearTo.selectedIndex != yearTo.length - 1) ? yearTo.selectedIndex + 1 : yearTo.selectedIndex;			
			createMonths (monthFrom, parseInt(yearFrom.options[yearFrom.selectedIndex].value));			
			for (var i=0; i<monthFrom.length; i++) {
				if ((monthFrom.options[i].text == monthTo.options[monthTo.selectedIndex].text) && (yearFrom.value != yearTo.value)) {
					if (monthTo.selectedIndex == monthTo.length - 1) {
						monthFrom.selectedIndex = i;
					}
					else {
						monthFrom.selectedIndex = i + 1;
					}
				}
			}
			createDates (dateFrom, parseInt(monthFrom.options[monthFrom.selectedIndex].value)  + 1, parseInt(yearFrom.options[yearFrom.selectedIndex].value));
			dateFrom.selectedIndex = 0;
			break;
	}
}

function createYears (elem) {
	elem.length = 0;
	for(var i=0; i<=yearDiff; i++) {		
		var year = maxYear - i;
		if (document.createElement) {		
			var newListOption = document.createElement("OPTION");
			newListOption.text = year;
			newListOption.value = year;
			(elem.options.add) ? elem.options.add(newListOption) : elem.add(newListOption, null);
		 } else {
		 	elem.options[i] = new Option(year, year, false, false);
		 }
	}
}
function createMonths (elem, y) {
	elem.length = 0;
	var year = (y) ? y : maxYear;
	for(var i=0; i<=yearValues[year].length; i++) {	
		if (yearValues[year][i]) {			
			if (document.createElement) {		
				var newListOption = document.createElement("OPTION");
				newListOption.text = (i > 9) ? i : ('0' + i);
				newListOption.value = i - 1;
				(elem.options.add) ? elem.options.add(newListOption) : elem.add(newListOption, null);
			 } else {
		 		elem.options[i] = new Option((i > 9) ? i : ('0' + i), i - 1, false, false);
			 }
		}		
	}
}
function createDates (elem, m, y) {
	elem.length = 0;
	var month = (m) ? m : parseInt(document.forms['parm_plot'].elements['monthTo'].value) + 1;
	var year = (y) ? y : parseInt(elem.previousSibling.previousSibling.value);
	for(var i=1; i<=yearValues[year][month].length; i++) {	
		var curr = yearValues[year][month][i - 1];
		if (document.createElement) {		
			var newListOption = document.createElement("OPTION");
			newListOption.text = (curr > 9) ? curr : '0' + curr;
			newListOption.value = curr;
			(elem.options.add) ? elem.options.add(newListOption) : elem.add(newListOption, null);
		} else {
	 		elem.options[i] = new Option(curr, parseInt(curr), false, false);	 
		}
	}
	document.parm_plot.dateTo.selectedIndex = document.parm_plot.dateTo.length - 1;
	document.parm_plot.dateFrom.selectedIndex = document.parm_plot.dateFrom.length - 1;
}
function check (elem) {
	if(elem.elements['yearFrom'].length < 2) {
		elem.elements['period'][3].disabled = true;		
	}
	if(elem.elements['monthFrom'].length < 3) {
		elem.elements['period'][2].disabled = true;		
	}
}