var sCalendar1;
var sCalendar2;
var MONTH_ARRAY = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
var DATE_ARRAY = new Array("00","01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");

//var selDate1 = document.getElementById('selDate1');
//var selDate2 = document.getElementById('selDate2');
	//fix for internet explorer 6.0 z-index bug
var hideIframe = function(e,obj){
   var iFrameID =obj.id + "In";
   var iFrame = document.getElementById(iFrameID);
 iFrame.style.display = 'none';
   //alert (''+obj.id+'In');
}

function getDelay(delay)
{
	delay.setDate(delay.getDate()+days_delay);
	return delay;
}

function init_BG(min_d)
			{
				this.today = new Date();
				var lThisMonth = this.today.getMonth()+1;
				var lThisDay = this.today.getDate();
				var lThisYear = this.today.getFullYear();
				if(arguments[1])
				{
					this.delayed = true;
					this.days_delay = arguments[1];
				}
				else 
				{
					this.delayed = false;
					this.days_delay = 0;	
				}
				this.func = "";

				sCalendar1 = new YAHOO.widget.Calendar2up_BG("sCalendar1","calendarContainer1",lThisMonth+"/"+lThisYear,lThisMonth+"/"+lThisDay+"/"+lThisYear);
				sCalendar1.title = "Изберете начална дата:";
				sCalendar1.setChildFunction("onSelect",setDate1);
		if (min_d==1) sCalendar1.pages[0].minDate = today;
		if (min_d==1) sCalendar1.pages[1].minDate = today;
					sCalendar1.render();

				sCalendar2 = new YAHOO.widget.Calendar2up_BG("sCalendar2","calendarContainer2",lThisMonth+"/"+lThisYear,lThisMonth+"/"+lThisDay+"/"+lThisYear);
				sCalendar2.title = "Изберете крайна дата:";
				sCalendar2.setChildFunction("onSelect",setDate2);
				
		//set second field some days after today
		if(arguments[1])
		{
			d = getDelay(today);
			sCalendar2.pages[0].minDate = d;
			sCalendar2.pages[1].minDate = d;
		//	alert("here");
		}
		else 
		{
			if (min_d==1) sCalendar2.pages[0].minDate = today;
			if (min_d==1) sCalendar2.pages[1].minDate = today;
		}
			sCalendar2.render();
			}
			
/*			
init_BG.prototype.setId = function(new_id)   					//Set ID Function
{
	this.selDate1  = new_id;	
	//this.object.id = new_id;
	alert("Hello");
}*/
			function setDate1()
			{
				var lDate1 = sCalendar1.getSelectedDates()[0];
				 var sCalendar1In = document.getElementById('sCalendar1In');
				selDate1.value=DATE_ARRAY[lDate1.getDate()] +"-" +MONTH_ARRAY[lDate1.getMonth()] + "-" + lDate1.getFullYear();
				reCreateCalendar2(lDate1)
				sCalendar1.hide();
				sCalendar1In.style.display = 'none';
				if(func!="")
					eval(func);
			}

			function reCreateCalendar2(pMinDate)
			{
				if(delayed)
				{
					pMinDate = getDelay(pMinDate);
				}
				var lThisMonth = pMinDate.getMonth()+1;
				var lThisDay = pMinDate.getDate();
				var lThisYear = pMinDate.getFullYear();
				var lThisDate = DATE_ARRAY[lThisDay] + "-"+MONTH_ARRAY[lThisMonth-1] + "-" + lThisYear;
				document.getElementById('calendarContainer2').innerHTML = '';
				this.selDate2.value = lThisDate;
				sCalendar2 = new YAHOO.widget.Calendar2up_BG("sCalendar2","calendarContainer2",lThisMonth+"/"+lThisYear,lThisMonth+"/"+lThisDay+"/"+lThisYear);
				sCalendar2.title = "Изберете крайна дата:";
				sCalendar2.setChildFunction("onSelect",setDate2);
				
				
				sCalendar2.pages[0].minDate = pMinDate;
				
				sCalendar2.render();
			}

			function changeDate1()
			{
				var lMonth = this.selMonth1.value;
				var lDay = this.selDay1.value + 1;
				var lYear = this.today.getFullYear();

				sCalendar1.select(lMonth + "/" + lDay + "/" + lYear);
				sCalendar1.setMonth(lMonth);
				sCalendar1.render();
			}

			function showCalendar1()
			{	
				//var lThisDate = "dd-mm-yyyy";
								
				if(arguments[0] && arguments[1]) 
				{
					this.selDate1 = document.getElementById(arguments[0]);
					this.selDate2 = document.getElementById(arguments[1]);
				}
				else
				{
					this.selDate1 = document.getElementById('from_date');
					this.selDate2 = document.getElementById('to_date');	
				}
				
				if(arguments[2])
				{
					func = arguments[2];
					//alert("func");
				}
				else 
					func = "";
				//this.selDate1.value = lThisDate;
				//this.selDate2.value = lThisDate;
				
				
				var DivRef = document.getElementById('calendarContainer1');
   				var sCalendar1In = document.getElementById('sCalendar1In');
			sCalendar2.hide();
				//sCalendar1.outerContainer.style.top = (link1.offsetTop+link1.offsetParent.offsetTop+link1.height-1) + "px";
				sCalendar1.outerContainer.style.top = findPosY(selDate1);
				//sCalendar1.outerContainer.style.left = (link1.offsetLeft+link1.offsetParent.offsetLeft) + "px";
				sCalendar1.outerContainer.style.left = findPosX(selDate1);
				
				sCalendar1.outerContainer.style.display='block';
					if (navigator.userAgent.indexOf('Opera')==-1)		
	{
				sCalendar1In.style.width = DivRef.offsetWidth;
    			sCalendar1In.style.height = DivRef.offsetHeight;
    			sCalendar1In.style.top = DivRef.style.top;
    			sCalendar1In.style.left = DivRef.style.left;
    			sCalendar1In.style.zIndex = DivRef.style.zIndex-1 ;
    			sCalendar1In.style.display = "block";
    			}
			}

			function setDate2()
			{
				var lDate2 = sCalendar2.getSelectedDates()[0];
				 var sCalendar2In = document.getElementById('sCalendar2In');
				selDate2.value=DATE_ARRAY[lDate2.getDate()] +"-" +MONTH_ARRAY[lDate2.getMonth()] + "-" + lDate2.getFullYear();
				sCalendar2.hide();
				sCalendar2In.style.display = 'none';
				if(func!="")
					eval(func);
			}

			function changeDate2()
			{
				var lMonth = this.selMonth2.value;
				var lDay = this.selDay2.value + 1;
				var lYear = this.today.getFullYear();
				sCalendar2.select(lMonth + "/" + lDay + "/" + lYear);
				sCalendar2.setMonth(lMonth);
				sCalendar2.render();
			}

			function showCalendar2()
			{	  
				//var lThisDate = "dd-mm-yyyy";
								
				if(arguments[0] && arguments[1]) 
				{
					this.selDate1 = document.getElementById(arguments[0]);
					this.selDate2 = document.getElementById(arguments[1]);
				}
				else
				{
					this.selDate1 = document.getElementById('from_date');
					this.selDate2 = document.getElementById('to_date');	
				}
				
				if(arguments[2])
				{
					func = arguments[2];
					//alert("func");
				}
				else 
					func = "";
				//this.selDate1.value = lThisDate;
				//this.selDate2.value = lThisDate;
				
				
   				var DivRef = document.getElementById('calendarContainer2');
   				var sCalendar2In = document.getElementById('sCalendar2In');
   
				sCalendar1.hide();
				//sCalendar2.outerContainer.style.top = (link2.offsetTop+link2.offsetParent.offsetTop+link2.height-1) + "px";
				sCalendar2.outerContainer.style.top = findPosY(selDate2);
				//sCalendar2.outerContainer.style.left = (link2.offsetLeft+link2.offsetParent.offsetLeft) + "px";
				sCalendar2.outerContainer.style.left = findPosX(selDate2);
				
				
				sCalendar2.outerContainer.style.display='block';
				
					if (navigator.userAgent.indexOf('Opera')==-1)		
					{
    					sCalendar2In.style.width = DivRef.offsetWidth;
    					sCalendar2In.style.height = DivRef.offsetHeight;
    					sCalendar2In.style.top = DivRef.style.top;
    					sCalendar2In.style.left = DivRef.style.left;
    					sCalendar2In.style.zIndex = DivRef.style.zIndex-1 ;
    					sCalendar2In.style.display = "block";
    				}
				
			}
