    var days = new Array();
    
    var min = max = null;
    var mind = maxd = null;
    var minCls = maxCls = null;
    window.onload = function (){
        cldr = document.getElementById('calendar');
        days = cldr.getElementsByTagName('td');
    }
    
    function sortit(a,b){
        return(a-b)
    }
    
    function isNumeric(mystr){
        if ( mystr == null )
            return false;
        if ( mystr - mystr == 0 )
            return true;
        else
            return false;
    }
    
    function usedate(azi,zz)
    {
        min = min != null ? min : zz;
        max = max != null ? max : zz;
        
        mind = mind != null ? mind : azi;
        maxd = maxd != null ? maxd : azi;
        
        var asd=new Array( min, max, zz);
        
        asd.sort(sortit);  
        
        var ziua = new Array( mind, maxd, azi );
        ziua.sort();
        
        min = asd[0]; max = asd[2];
        mind = ziua[0]; maxd = ziua[2];
        
        minCls = days[min].className.indexOf('sel') != 0 ? days[min].className : minCls;
        maxCls = days[max].className.indexOf('sel') != 0 ? days[max].className : maxCls;
        
		for( i = min; i <= max; i++ )
		{
			if ( isNumeric( days[i].innerHTML ) == true )
			{
				if ( days[i].className.indexOf('2') < 0 ) 
					days[i].className = "sel";
				else
					days[i].className = "sel2";
			}
		}
    }
    
    function ClearSelection(hid)
    {
        ExecuteA( 'AJAX/getcalendar.php', 'hid='+hid, RenewCalendar );
    }
    
    function Reset(hid)
    {
        ExecuteA( 'AJAX/resetcalendar.php', 'hid='+hid, RenewCalendar );
    }
    
    function RenewCalendar()
    {
     	if (xhReq.readyState != 4) 
	    { 
	        return; 
	    }
	    var serverResponse = xhReq.responseText;
	    
	    if ( serverResponse != null )
	    {
	    	oTd = document.getElementById("calendarholder");
	    	oTd.innerHTML = serverResponse;
	    	
	    	cldr = document.getElementById('calendar');
        	days = cldr.getElementsByTagName('td');	
        	
        	min = max = mind = maxd = null;    	
		}
    }
    
	function newClass( oldClas, ne , mima )
	{
		if ( mima == 1 )
		{
			if( oldClas.length == 2 )
				return oldClas.charAt(0) + ne;
			else
				return oldClas.charAt(0) + ne + '2';
		}
		else
		{
			if( oldClas.length == 2 )
				return ne + oldClas.charAt(1);
			else
				return ne + oldClas.charAt(1) + '2';
		}
	}

	function Available(hid)
	{
		days[min].className = newClass( minCls, 'a', 1 );
		
		for( i = min+1; i < max; i++ )
		{
			if ( isNumeric( days[i].innerHTML ) == true )
			{
				if ( days[i].className.indexOf('2') < 0 ) 
					days[i].className = "aa";
				else
					days[i].className = "aa2";
			}
		}

		days[max].className = newClass( maxCls, 'a', 2 );

		ExecuteA('AJAX/saveperiod.php', 'date_in='+mind+'&date_out='+maxd+'&type=1&hid='+hid, ClearData );
	}

	function Unavailable(hid)
	{
		days[min].className = newClass( minCls, 'u', 1 );

		for( i = min+1; i < max; i++ )
		{
			if ( isNumeric( days[i].innerHTML ) == true )
			{
				if ( days[i].className.indexOf('2') < 0 ) 
					days[i].className = "uu";
				else
					days[i].className = "uu2";
			}
		}

		days[max].className = newClass( maxCls, 'u', 2 );

		ExecuteA('AJAX/saveperiod.php', 'date_in='+mind+'&date_out='+maxd+'&type=2&hid='+hid, ClearData );
	}

	function Unknown(hid)
	{
		days[min].className = newClass( minCls, 'n', 1 ); 

		for( i = min+1; i < max; i++ )
		{
			if ( isNumeric( days[i].innerHTML ) == true )
			{
				if ( days[i].className.indexOf('2') < 0 ) 
					days[i].className = "nn";
				else
					days[i].className = "nn2";
			}
		}

		days[max].className = newClass( maxCls, 'n', 2 );
		
		ExecuteA('AJAX/saveperiod.php', 'date_in='+mind+'&date_out='+maxd+'&type=0&hid='+hid, ClearData );
	}

	function ClearData()
	{
		if (xhReq.readyState != 4) 
		{ 
			return; 
		}
		var serverResponse = xhReq.responseText;

		//alert(serverResponse);

		if ( serverResponse == 1 )
		{
			mind = maxd = null;
			min = max = null;
		}
	}

