var filaMonth;

function tickCheckBox(el)
	{
	if (document.getElementById)
		{
		if (document.getElementById(el))
			{
			document.getElementById(el).checked=true;
			}
		}
	return true;
	}

function bbb()
	{
	alert("hahaha");
	}
function showCalendar (img, cal, dt, f_day, f_month, frm,m,y,d)
	{
    if (document.getElementById)
    	{
        var c = document.getElementById(cal);
        var i = document.getElementById(img);
        var f = document.getElementById(frm);

        calendar.calfrm = frm;
        calendar.cal = c;
        calendar.caldt = dt;
        calendar.day = f_day;
        calendar.month = f_month;
        calendar.calf = f;

        var my = f[ f_month].value.split("-");

        d=my[0];
        m=my[1];
        y=my[2];

//        d=f[ f_day].value;

        buildCal(y,m,d);

        var l=0; var t=0;
        aTag = i;
        do
        	{
            aTag = aTag.offsetParent;
            l += aTag.offsetLeft;
            t += aTag.offsetTop;
        	}

        while (aTag.offsetParent && aTag.tagName != 'BODY');
        var left =  i.offsetLeft + l;
        var top = i.offsetTop + t + i.offsetHeight + 2;
        c.style.left = left+'px';
        c.style.top = top+'px';
        c.style.display="block";
		}
	}

function closeCal()
	{
    calendar.cal.style.display='none';
	}

function buildCal(y,m,d)
	{

    var daysInMonth=[31,0,31,30,31,30,31,31,30,31,30,31];
    td=new Date();
    if (!y) y = td.getFullYear();
    if (!m) m = td.getMonth()+1;
    if (!d) d = td.getDate;
	var frm = calendar.calfrm;
    var dt = calendar.caldt;

    var mDate = new Date(y, m-1, 1);
    var firstMonthDay = mDate.getDay();
    daysInMonth[1]=(((mDate.getFullYear()%100!=0)
        &&(mDate.getFullYear()%4==0)) || (mDate.getFullYear()%400==0))?29:28;

    var today = (y==td.getFullYear() && m==td.getMonth()+1)? td.getDate() : 0;

    var t='<table border=0 class="caltable" cellspacing="0"><tr>';


    var flm=td.getMonth()+1;var flyr=td.getFullYear();

    for(p=0;p<=10;p++)
    	{
        if (flm == m)
        	{
            filaMonth = p;
        	}
        flm++; if (flm>12) { flm=1;flyr++ }
    	}

// ---------------------------------
// previvous month
// ---------------------------------

    t+='<td class="calheader" colspan="7" class="monthYear">';
    if (filaMonth == 0)
    	{
        t+='<img class="calNoPrevMonth" src="' + tr.icons + '/transparent.gif" width="24" height="24" alt="'+tr.prevMonth+'">';
    	}
    else
    	{
        t+='<a class="calPrevMonth" href="" onclick="prevMonth('+y+','+m+'); return false;" title="'+tr.prevMonth+'"><img src="' + tr.icons + '/transparent.gif" width="24" height="24" alt="'+tr.prevMonth+'"></a>';
    	}

    t+='&nbsp;<select name="ym" onchange="goMonth(this.options[this.selectedIndex].value)">';

    var mn=td.getMonth()+1;var yr=td.getFullYear();

    for(n=0;n<=11;n++)
    	{
        t+='<option value="' + mn + '"';
        if (mn == m)
        	{
            t+=' selected="selected"';
        	}
        t+='>' + months[mn-1] + ' ' + yr +'</option>';
        mn++; if (mn>12) { mn=1;yr++ }
    	}

    t+= ' </select>&nbsp;';

// ---------------------------------
// next month
// ---------------------------------

    if (filaMonth == 11) {
        t+='<img class="calNoNextMonth" src="' + tr.icons + '/transparent.gif" width="24" height="24" alt="' + tr.nextMonth + '">';
    }
    else {
        t+='<a class="calNextMonth" href="" onclick="nextMonth('+y+','+m+'); return false;" title="' + tr.nextMonth +'"><img src="' + tr.icons + '/transparent.gif" width="24" height="24" alt="' + tr.nextMonth + '"></a>';
    }
    t+='</td></tr>';
    t+='<tr class="dayNames">';
    for(dn=0;dn<7;dn++){
        var cl = '';
        if ((dn%7==5) || (dn%7 == 6)) cl += ' weekend';
        t+='<td class="'+cl+'">'+days[dn]+'</td>';
    }
    t+='</tr><tr class="days">';
    for(i=1;i<=42;i++){
        var x = i - (firstMonthDay+6)%7;
        if (x > daysInMonth[m-1] || x <1) x = '&nbsp;';
        var cl = '';
        var href = 0;
        if ((i%7==0) || (i%7 == 6)) cl += ' weekend';
        if (x>0){
            var xDay = new Date(y, m-1, x);
            if ((xDay.getFullYear() == y) && (xDay.getMonth()+1 == m)
                && (xDay.getDate() == d))
                { cl += ' selected' ; href=1}
            if ((xDay.getFullYear() == td.getFullYear())
                && (xDay.getMonth() == td.getMonth())
                && (xDay.getDate() == td.getDate()))
                { cl += ' today'; href=1;}
            else {
                if (xDay > td){ cl += ' future'; href=1; }
                else {
                    if (xDay < td) { cl += ' past'}
                }
            }
        };
        t+='<td class="'+cl+'">';
        if (href){
            t+='<a href="#" onclick="pickDate('+y+','+m+','+x+',\''+dt+'\',\''+frm+'\'); document.search.submit();return false;">'+x+'</a>';
        } else {
            t+=x;
        }
        t+='</td>';
        if(((i)%7==0)&&(i<36)) {
            t+='</tr><tr class="days">';
        }
    }
    t+='</tr><tr><td colspan="7"><a href="#" onclick="closeCal();return false;">' + tr.closeCalendar + '</a></td></tr></table>';
    document.getElementById("calendar").innerHTML= t;
}

function prevMonth(y,m)
	{
    if (new Date(y,m-1,1) < td) return;
    if (m > 1) {m--} else {m = 12; y--};
    buildCal(y,m);
	}

function nextMonth(y,m)
	{
//    if ((new Date(y,m-1,1) - td) > 1000*3600*24*300) return;

    if (m<12){m++;} else {m=1;y++;}
    if (y > td.getFullYear() && m >= td.getMonth() ) return;
    buildCal(y,m);
	}

function goMonth(m)
	{
    var y = td.getFullYear();
    if (m < td.getMonth()+1) y++;
    buildCal(y,m);
	}

function pickDate(y,m,d,dt,frm)
	{

// set form values

    var f = calendar.calf;
//    var dt = calendar.caldt;

    var dt = calendar.day;


//    f[calendar.day].value = d;
    f[calendar.month].value = d + "-" + m + "-"  + y;


	tickCheckBox('availcheck');


	if (dt == "v0_3")
		{
		checkDateOrder(calendar.calfrm, 'v0_3', 'v0_4');
		}
    closeCal();
	}

function checkDateOrder(frm, ci_day, ci_month_year, co_day, co_month_year)
	{
	if (document.getElementById)
		{

		var frm = document.getElementById(frm);


// create date object from checkin values
// set date to 12:00 to avoid problems with one
// date being wintertime and the other summertime

		var my = frm[ci_month_year].value.split("-");

	    var ci = new Date (my[0], my[1]-1, frm[ci_day].value, 12, 0, 0, 0);

// create date object from checkout values

//	    my = frm[co_month_year].value.split("-");

//	    var co = new Date (my[0], my[1]-1, frm[co_day].value, 12, 0, 0, 0);


// if checkin date is at or after checkout date,
// add a day full of milliseconds, and set the
// selectbox values for checkout date to new value

//	    if (ci >= co || isNaN(co))
//	    	{
//    	    co.setTime(ci.getTime() + 1000 * 60 * 60 * 24);
//	        frm[co_day].value =  co.getDate();
//    	    var com = co.getMonth()+1;
//	        frm[co_month_year].value = co.getFullYear() + "-" + com;
//    		}
		}
	}




