function lpad(value)
{
	if(value.length == 1)
		value = "0" + value;
	return value;
}

function findCoin(id)
{
	for(var i = 0; i < coinArr.length; i++)
		if(coinArr[i].kod == id)
			return coinArr[i];
	return new Coin(id, "unknown", "unknown", 1);
}

function setValue(value)
{
	if(value =="" || value == "0.0")
		return "&nbsp;";
	else
		return value;
}

function setDecimal(OrgNum)
{
	pointNum = OrgNum.indexOf(".");
	if(pointNum != -1)
	{
		startNum = OrgNum.substr(0,pointNum);
		lastNum	 = OrgNum.substr(pointNum);
		OrgLastNum= lastNum;

		for(i = lastNum.length; i > 0; i--)
		{
			if(i == 1) lastNum = lastNum.replace(".",".0");
			removePoint = lastNum.lastIndexOf(0);
			if(removePoint == -1 || removePoint != i - 1) return (startNum + lastNum);
			lastNum = OrgLastNum.substr(0, removePoint);
		}
	}
	else
	{
		return (OrgNum);
	}
}

function submitForm()
{
	document.all["currDateInput"].value = document.all["chooseYear"].options[document.all["chooseYear"].selectedIndex].value+"-"+
	document.all["chooseMonth"].options[document.all["chooseMonth"].selectedIndex].value+"-"+
	document.all["chooseDay"].options[document.all["chooseDay"].selectedIndex].value;
	document.all["asakotForm"].submit();
}

function OpenCal()
{
	cln.style.display=(isOpen)?'none':'inline';
	//e = event.srcElement.getBoundingClientRect();
	//cln.style.top = e.top-2;
	//cln.style.left = e.left-165;
	isOpen = (isOpen)?false:true;
}

function OnOver()
{
	var oSrc = event.srcElement;
	if ( oSrc.className == 'reg' )
		oSrc.className = 'over';
	return;
}

function OnOut()
{
	var oSrc = event.srcElement;
	if(oSrc.className == 'over')
		oSrc.className = 'reg';
	return;
}

function setDate()
{
	if(event.srcElement.className = 'reg')
	{
		str = event.srcElement.value;
		if (str != "")
		{
			mnth1 = trim(document.frmCalendar.month.value);
			mnth = mnth1;
			mnth++;
			// prepare the date
			date = trim(str);
			if(date < 10)
				date = "0" + date;
			// prepare the month
			month = mnth;
			if(mnth < 10)
				month = "0" + mnth;
			// prepare the year
			year = trim(document.frmCalendar.year.value);
			dateStr = date + "-" + month + "-" + year;
			document.frmCalendar.txtYesDate.value = dateStr;
			// window.close();
			// lastBtn.parentElement.className = 'regMain';
			document.all['cln'].style.display = 'none';
			isOpen = "false";
			document.all["currDateInput"].value = year + "-" + month + "-" + date;
			document.all["asakotForm"].submit();
		}
	}
	return;
}

function trim(str)
{
	res="";
	for(var i = 0; i < str.length; i++ )
	{
		if (str.charAt(i) != " ")
			res += str.charAt(i);
	}
	return res;
}

function getMonthName(mnth)
{
	return arrHebMonth[mnth];
}

/*** Get the number of days in the month based on the year. ***/
function getNoOfDaysInMnth(mnth,yr)
{
	rem = yr % 4;
	if ( rem == 0 )
		leap = 1;
	else
		leap = 0;
	noDays = 0;
	if ( (mnth == 1) || (mnth == 3) || (mnth == 5) || (mnth == 7) || (mnth == 8) || (mnth == 10) || (mnth == 12))
	{
		noDays = 31;
	}
	else if(mnth == 2)
	{
		noDays = 28 + leap;
	}
	else
	{
		noDays = 30;
	}
	return noDays;
}

/*** The function to reset the date values in the buttons of the slots.	***/
function fillDates(dayOfWeek1, noOfDaysInmnth)
{
	for(var i = 1 ; i < 43 ; i++)
	{
		str = "s" + i;
		oButton = document.all[str];
		if(oButton!=null && oButton!=undefined)
		{
			oButton.value = "";
			oButton.className = 'reg';
			oButton.onclick = setDate;
			oButton.disabled = false;
		}
	}
	startSlotIndx = dayOfWeek1;
	slotIndx = startSlotIndx;
	for(var i = 1 ; i < (noOfDaysInmnth + 1) ; i++ )
	{
		try
		{
			slotName = "s" + slotIndx;
			val = "";
			if(i < 10 ) val = " " + i + " ";
			else val = i;
			document.frmCalendar.elements[slotName].value = val;
			if(markedDay == i && markedMonth == document.frmCalendar.month.value && currYear == document.frmCalendar.year.value)
			{
				oButton = document.frmCalendar.elements[slotName];
				oButton.className = 'marked';
				lastBtn = oButton;
				oButton.parentElement.className='Markedmain';
				oButton.onmouseover = null;
				oButton.onmouseout = null;
			}
			else if(document.frmCalendar.currDate.value > i && document.frmCalendar.currMonth.value == document.frmCalendar.month.value)
			{
				oButton = document.frmCalendar.elements[slotName];
				//oButton.className = 'bad';
				//oButton.disabled = true;
			}
			else
			{
				oButton = document.frmCalendar.elements[slotName];
				oButton.className = 'reg';
				document.frmCalendar.elements[slotName].className = 'reg';
				oButton.onmouseover = OnOver;
				oButton.onmouseout = OnOut;
			}
		}
		catch(e){}
		slotIndx++;
	}
}

/**
	* The function that is called at the time of loading the page.
	* This function displays Today's date and also displays the
	* the calendar of the current month.
**/
function thisMonth()
{
	var currDate = trim(document.frmCalendar.txtYesDate.value);
	var dt = new Date ();
	if(currDate != "")
	{
		var tmpArr = currDate.split('/');
		currDate = tmpArr[0];
		currMonth = tmpArr[1];
		currMonth--;
		currYear = tmpArr[2];
		dt = new Date(currYear, currMonth, currDate);
	}
	var mnth  = dt.getMonth(); /* 0-11*/
	var dayOfMnth = dt.getDate(); /* 1-31*/
	var dayOfWeek = dt.getDay(); /*0-6*/
	var yr = dt.getFullYear(); /*4-digit year*/
	var mnthName = getMonthName(mnth)+ " ";
	document.frmCalendar.month.value = mnth;
	document.frmCalendar.year.value = yr;
	document.frmCalendar.monthYear.value = mnthName + "  " + yr;
	if(currDate == "" )
	{
		document.frmCalendar.currDate.value = dayOfMnth;
		document.frmCalendar.currMonth.value = mnth;
		document.frmCalendar.currYear.value = yr;
	}
	else
	{
		currDate = new Date();
		document.frmCalendar.currDate.value = currDate.getDate();
		document.frmCalendar.currMonth.value = currDate.getMonth();
		document.frmCalendar.currYear.value = currDate.getFullYear();
	}

	markedDay = dayOfMnth;
	markedMonth = mnth;
	startStr = (mnth + 1) + "/1/" + yr;
	dt1 = new Date(startStr);
	dayOfWeek1 = dt1.getDay(); /*0-6*/
	noOfDaysInMnth = getNoOfDaysInMnth(mnth + 1, yr);
	fillDates(dayOfWeek1 + 1, noOfDaysInMnth);
	return;
}

function nextMonth()
{
	var currMnth = document.frmCalendar.month.value;
	currYr = document.frmCalendar.year.value;
	if ( currMnth == "11" )
	{
		nextMnth = 0;
		nextYr = currYr;
		nextYr++;
	}
	else
	{
		nextMnth = currMnth;
		nextMnth++;
		nextYr = currYr;
	}
	str = (nextMnth + 1) + "/1/" + nextYr;
	dt = new Date(str);
	dayOfWeek = dt.getDay();
	mnthName = getMonthName(nextMnth);
	document.frmCalendar.month.value = nextMnth;
	document.frmCalendar.year.value = nextYr;
	document.frmCalendar.monthYear.value = mnthName + "  " + nextYr;
	noOfDays = getNoOfDaysInMnth(nextMnth + 1, nextYr);
	fillDates(dayOfWeek + 1, noOfDays);
	return;
}

/*** The method to display the calendar of the previous month. ***/
function prevMonth()
{
	var currMnth = document.frmCalendar.month.value;
	currYr = document.frmCalendar.year.value;
	if (currMnth == "0")
	{
		prevMnth = 11;
		prevYr = currYr;
		prevYr--;
	}
	else
	{
		prevMnth = currMnth;
		prevMnth--;
		prevYr = currYr;
	}
	str = (prevMnth + 1) + "/1/" + prevYr;
	dt = new Date(str);
	dayOfWeek = dt.getDay();
	/***********************************************
	* Remove the comment if do not want the user to
	* go to any previous month than this current month.
	*********************************************/
	runningMonth = document.frmCalendar.currMonth.value; //updated data month
	rMonth = runningMonth;
	rMonth++;

	runningYear = document.frmCalendar.currYear.value;
	rYear = runningYear;
	str = (rMonth) + "/1/" + rYear;

	dt1 = new Date(str);

	// data date begins at...
	beginDate = (1) + "/1/" + startYear;
	beginDate_obj = new Date(beginDate);
	beginDate_obj.valueOf();

	// no data found before the begin date
	if ((prevMnth == 11)&&(prevYr < startYear))
	{
		alert('<portletAPI:text key="noResults" bundle="asakotText"/>');
		return;
	}

	/**************************************************
	* End of comment
	**************************************************/
	mnthName = getMonthName(prevMnth);
	document.frmCalendar.month.value = prevMnth;
	document.frmCalendar.year.value = prevYr;
	document.frmCalendar.monthYear.value = mnthName + "  " + prevYr;
	noOfDays = getNoOfDaysInMnth(prevMnth + 1,prevYr);

	fillDates(dayOfWeek + 1, noOfDays); //drops error
}//prevMonth()

/**
* The method to display the calendar of the current
* month while marking the current date.
*/
function markToday()
{
	var today = new Date();
	markedDay = today.getDate();
	markedMonth = today.getMonth();
	currYear = today.getFullYear();
	str = (markedMonth + 1) + "/1/" + currYear;
	dt = new Date(str);
	dayOfWeek = dt.getDay();
	mnthName = getMonthName(markedMonth);
	document.frmCalendar.month.value = markedMonth;
	document.frmCalendar.year.value = currYear;
	document.frmCalendar.monthYear.value = mnthName + "  " + currYear;
	noOfDays = getNoOfDaysInMnth(markedMonth + 1,currYear);
	fillDates(dayOfWeek + 1, noOfDays);
	return;
}//markToday()

function doNothing() {}
