
var sAlert;
function ShowCalendar(oCaller, sOutputName, sCalendarAlert){
	//alert(sOutputName);
	sAlert = sCalendarAlert;
	
    window.sOutputName = sOutputName; 
    //alert(sAlert);
	var oCalendar = document.getElementById("Calendar");

	if(oCalendar.style.display == ""){
		oCalendar.style.display = "none";
		return;
	}
	
	oCalendar.style.display = "";
	oCalendar.style.top = (oCaller.offsetTop + oCaller.offsetHeight) + "px";
	oCalendar.style.left = (oCaller.offsetLeft - 109) + "px";
	
	var sOutputDate = document.getElementById(sOutputName).value;
      
	if(sOutputDate != ""){
	    arDateparts = sOutputDate.split(" ");
	   // alert(sOutputDate);
	   
	    for (var i=0; i < arMonths.length; i++) {
	   //alert(arMonths[i]+"---"+ arDateparts[1]);
	        if(arMonths[i].toLowerCase() == arDateparts[1].toLowerCase()){
	            var nMonthInt = i;
	           break; 
	        } 
        }
        // alert( arDateparts[2]+"--"+arDateparts[2]);
	    ListBoxItemSelect("YearPicker", arDateparts[2], arDateparts[2]);
	    ListBoxItemSelect("MonthPicker", arMonths[nMonthInt], nMonthInt);
	}
	
    var nMonth = document.getElementById("MonthPicker_Hidden").value;
    var nYear = document.getElementById("YearPicker_Hidden").value;
	//alert(123);
	
	RedrawTable(new Date(nYear, nMonth, 1));
}

function RedrawTable(CurrentDate){
	document.getElementById("Row6").style.display="none";
	//alert(sAlert);
	var Year = CurrentDate.getFullYear();
	var Month = CurrentDate.getMonth();
	var Day = CurrentDate.getDate();
	var DateString = CurrentDate.toLocaleString();
	var DaysInMonth = new Date(Year, Month, 31).getDate();
	var LastDay = (DaysInMonth < 31) ? (31 - DaysInMonth) : 31;  
	CurrentDate.setDate(1);
	var DayOfWeek = CurrentDate.getDay();
	var StartTD = document.getElementById("Day"+ DayOfWeek);

	if((DayOfWeek == 6 && LastDay > 30) || (DayOfWeek == 0 && LastDay > 29))
		document.getElementById("Row6").style.display="";
	
	CreateLink(StartTD, 1, Month , Year);
	//StartTD.innerHTML = "<a href='javascript:void(0)' class='CalendarLink' onclick='document.getElementById(\""+ sOutputName +"\").value =\"1-" + parseInt(Month+1) +"-"+ Year +"\"; document.getElementById(\"Calendar\").style.display=\"none\";'>1</a>";;
	CurrentTD = StartTD;
	var nDay;
	var TRCount = 2;

	for(nDay = 2; nDay < LastDay + 1; nDay++){
		if(CurrentTD.id == "Day0" || CurrentTD.id == "RowEnd"){
			CurrentTD = document.getElementById("Row" + TRCount).firstChild;
			TRCount++;
		}else{
			CurrentTD  = CurrentTD.nextSibling;
		}
		
		if(CurrentTD.tagName != 'TD')
			CurrentTD = CurrentTD.nextSibling;
		
		CreateLink(CurrentTD, nDay, Month, Year);
		
	}

}

function ClearTable(){
	CurrentTD = document.getElementById("Row1").firstChild;
	nRow = 2;
	for(nCount = 1; nCount < 41; nCount++){
		if(CurrentTD.tagName != 'TD')
			CurrentTD = CurrentTD.nextSibling;
		CurrentTD.innerHTML = "&nbsp;";
		if(CurrentTD.id == "Day0" || CurrentTD.id == "RowEnd"){
			CurrentTD = document.getElementById("Row" + nRow).firstChild;
			nRow++;
		}else{
			CurrentTD = CurrentTD.nextSibling;
		}
	}
}

function CreateLink(CurrentTD, nDay, nMonth, nYear){
	//alert(sAlert);
	var CurrentDate=new Date();
	CurrentDate.setFullYear(nYear, nMonth, nDay);
    var sDate = nDay +" " + arMonths[nMonth] +" "+ nYear;
	
	if(typeof(nMinYear) != "undefined" && typeof(nMinMonth) != "undefined" && typeof(nMinDay) != "undefined" && typeof(nMaxYear) != "undefined" && typeof(nMaxMonth) != "undefined" && typeof(nMaxDay) != "undefined"){
		var MinDate = new Date();
		MinDate.setFullYear(nMinYear, nMinMonth-1, nMinDay);
		var MaxDate = new Date();
		MaxDate.setFullYear(nMaxYear, nMaxMonth-1, nMaxDay);
		//alert(MinDate);
		//alert(sAlert);
		if(sAlert != undefined){
			var sAlertMessage = sAlert;
		}else{
			var sAlertMessage = 'Няма въведена стойност за тази дата!';
		}
		 //= ( && sAlert != '') ? sAlert : ;
		//alert(CurrentDate +">>>"+ MaxDate +" -----"+ CurrentDate +"<<<"+MinDate);
		if(CurrentDate > MaxDate || CurrentDate < MinDate){
			CurrentTD.innerHTML = "<span class='CalendarNA' onclick='alert(\""+	sAlertMessage  +"\");' onmouseover='this.style.cursor = \"default\"; this.parentNode.style.cursor = \"default\";' title='"+ sDate +"'>" + nDay +"</a>";
		}else{
			CurrentTD.innerHTML = "<div name='"+ sOutputName +"' style='display: none;'>"+ sDate +"</div><a href='javascript:void(0);' class='CalendarLink' onclick='document.getElementById(\""+ sOutputName +"\").value=\""+ sDate +"\"; document.getElementById(\""+ sOutputName +"\").fireEvent(\"onchange\"); document.getElementById(\"Calendar\").style.display=\"none\";' title='"+ sDate +"'>" + nDay +"</a>";
		}
	}else{
		CurrentTD.innerHTML = "<div name='"+ sOutputName +"' style='display: none;'>"+ sDate +"</div><a href='javascript:void(0);' class='CalendarLink' onclick='document.getElementById(\""+ sOutputName +"\").value=\""+ sDate +"\"; document.getElementById(\""+ sOutputName +"\").fireEvent(\"onchange\"); document.getElementById(\"Calendar\").style.display=\"none\";' title='"+ sDate +"'>" + nDay +"</a>";
	}
}

function CalendarPickDate(Object){
	if(document.getElementById(Object.firstChild.name)){
		document.getElementById(Object.firstChild.name).value = Object.firstChild.innerHTML; 
		document.getElementById("Calendar").style.display = "none";
	}
}