var timer;

function show_cal(){
    document.getElementById('calendar').style.display='block';
}
function hide_cal(){
    document.getElementById('calendar').style.display='none';
}
function foglal(szoba, date){
    if (date=='2008-1-5') alert(szoba+': '+date);
}
function noop(){
    alert('nincs mit tenni...');
}
function calendar_to_date(y,m,d, szines, szoba){
    //show_cal();
    day = new Date();
    day.setDate(d);
    day.setMonth(m-1);
    day.setFullYear(y);
    //elozo honap
    akt_ho=m-2;
    if(akt_ho==-1) {
        akt_ho=11;
        day.setFullYear(y-1);
    } else if(akt_ho==12) {
        akt_ho=0;
        ev=y;
        ev++;
        day.setFullYear(ev);
    } else {
        day.setFullYear(y);
    }
    day.setMonth(akt_ho);
    day.setDate(1);
    fejlec='<div style="float:left"><a style="cursor: pointer;" onclick="calendar_to_date('+day.getFullYear()+','+day.getMonth()+'+1,'+day.getDate()+', szines, '+szoba+');"><</a></div>';
    //aktualis honap
    akt_ho=m-1;
    if(akt_ho==-1) {
        akt_ho=11;
        day.setFullYear(y-1);
    } else if(akt_ho==12) {
        akt_ho=0;
        ev=y;
        ev++;
        day.setFullYear(ev);
    } else {
        day.setFullYear(y);
    }
    day.setMonth(akt_ho);
    day.setDate(1);
    fejlec=fejlec+'<div style="float:left;width:160px;text-align: center;">'+hoNev(day)+"<br/><br/>"+y+'</div>';
    //kovetkezo honap
    akt_ho=m;
    if(akt_ho==-1) {
        akt_ho=11;
        day.setFullYear(y-1);
    } else if(akt_ho==12) {
        akt_ho=0;
        ev=y;
        ev++;
        day.setFullYear(ev);
    } else {
        day.setFullYear(y);
    }
    day.setMonth(akt_ho);
    day.setDate(1);
    //fejlec kiirasa
    document.getElementById('cal_ev').innerHTML=fejlec+
    '<div style="float:left;"><a style="cursor: pointer;" onclick="calendar_to_date('+day.getFullYear()+','+day.getMonth()+'+1,'+day.getDate()+', szines, '+szoba+');">></a></div>';
    //akt honap napjainak kiirasa
    for(i=2; i<=2;i++){
        hovege=false;
        kovho=false;
        elozoho=false;

        //honap kezdonapja:
        akt_ho=m-3+i;
        if(akt_ho==-1) {
            akt_ho=11;
            day.setFullYear(y-1);
        } else if(akt_ho==12) {
            akt_ho=0;
            ev=y;
            ev++;
            day.setFullYear(ev);
        } else {
            day.setFullYear(y);
        }
        day.setMonth(akt_ho);
        day.setDate(1);
        //alert (day);
        kezdonap=day.getDay()-1;
        if (kezdonap==-1) kezdonap=6;
        if (kezdonap){
            emax = elozoHoNapNum(day);
            n = emax-kezdonap+1;
            elozoho=true;
        } else n=1;
        
        max=hoNapNum(day);
        //honapnev kiírása
        //document.getElementById('ho_'+i+'_nev').innerHTML='<a onclick="calendar_to_date('+day.getFullYear()+','+day.getMonth()+'+1,'+day.getDate()+', szines, '+szoba+');">'+hoNev(day)+'</a>';
        for(j=1; j<=6;j++){
            for(k=0; k<7;k++){
                if (elozoho && n>emax){
                    elozoho=false;
                    n=1;
                } 
                if (n>max && !elozoho) {
                    n=1;
                    kovho=true;
                }
                //Aktuális nap formázásai
                aktDiv=document.getElementById('nap_'+i+'_'+j+'_'+k);
                
                // Mai nap keretezése (ha kell)
                var today= new Date();
                aktDiv.style.border='none';
                if (!elozoho && !kovho){
                    if (today.getDate()==n){
                        if (today.getFullYear()==y){
                            if (today.getMonth()==m-1) {
                                aktDiv.style.border='1px solid black';
                            } else if (elozoho && today.getMonth()==m-2) {
                                aktDiv.style.border='1px solid black';
                            } else if (kovho && today.getMonth()==m) {
                                aktDiv.style.border='1px solid black';
                            }
                        }
                    }
                }
                // szinezések
                if (hovege) aktDiv.style.display='none';
                else {
                    aktDiv.style.display='block';
                    if (elozoho) {
                        szines_e_masik(aktDiv, szines, day, n, 0);
                    } else if (kovho) {
                        szines_e_masik(aktDiv, szines, day, n, 1);
                    } else {
                        szines_e(aktDiv, szines, day, n, szoba, k);
                    }
                }
                n++;
            }
            if (j>2 && (n < 10 || n>max)) hovege=true;
        }
    }
    
}
function isSzokoEv(y) {
    szokoev = false;
    if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) szokoev = true;
    return szokoev;
}
function hoNapNum(day){
    switch (day.getMonth()+1) {
        case 1: case 3: case 5: case 7: case 8: case 10: case 12: max=31; break;
        case 4: case 6: case 9: case 11: max=30; break;
        case 2: if (isSzokoEv(day.getYear())) max=29; else max=28; break;
        default: max=8;
    }
    return max;
}
function elozoHoNapNum(day){
    //alert (day);
    akt_ho=day.getMonth()-1;
    if(akt_ho==-1) {
        akt_ho=11;
        day.setFullYear(day.getFullYear()-1);
    } 
    day.setMonth(akt_ho);
    num = hoNapNum(day);
    
    akt_ho=day.getMonth()+1;
    if(akt_ho==12) {
        akt_ho=0;
        ev=day.getFullYear();
        ev++;
        day.setFullYear(ev);
    } 
    day.setMonth(akt_ho);
    return num;
}
function szines_e(nap, szines, day, n, szoba, k){
    sz = false;
    start=false;
    end=false;
    id=0;
    if (szines.length){
        for (m in szines){
            in_this=false;
            if (szines[m][0] == day.getFullYear()){
                if (szines[m][1] == day.getMonth()){
                    if (szines[m][2] == n ){
                        in_this=true;
                        start=true;
                    } else if (szines[m][2] < n ){
                        in_this=true;
                        start=false;
                    }
                } else if (szines[m][1] < day.getMonth()) {
                    in_this=true;
                }
            } else if (szines[m][0] < day.getFullYear()){
                in_this=true;
            }
            if (in_this){
                if (szines[m][3] == day.getFullYear()){
                    if (szines[m][4] == day.getMonth()){
                        if (szines[m][5] == n){
                            sz=true;
                            end=true;
                            id=szines[m][6];
                        } else if (szines[m][5] > n){
                            sz=true;
                            end=false;
                            id=szines[m][6];
                        }
                    } else if (szines[m][4] > day.getMonth()){
                        sz=true;
                        id=szines[m][6];
                    }
                } else if (szines[m][3] > day.getFullYear()){
                    sz=true;
                    id=szines[m][6];
                }
            }
        }
    }
    
    if (sz) {
        //javascript:window.open('getevent.php?eID=6','','scrollbars=yes,width=400,height=525');void('');
        //if (k==6) nap.innerHTML="<small><b>"+n+"</b></small>";
        //else nap.innerHTML="<small>"+n+"</small>";
        if (k==6) nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"&date="+day.getFullYear()+"-"+((day.getMonth()- - 1)<10?"0":"")+(day.getMonth()- - 1)+"-"+((n)<10?"0":"")+n+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'><b>"+n+"</b></a></small>";
        else nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"&date="+day.getFullYear()+"-"+((day.getMonth()- - 1)<10?"0":"")+(day.getMonth()- - 1)+"-"+((n)<10?"0":"")+n+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'>"+n+"</a></small>";
        nap.style.color='#ffffff';
        if (start && end) {
            nap.style.backgroundImage='url('+baseurl+'images/act_potty.gif)';
            nap.style.backgroundColor='#ffffff';
        } else if (start) {
            nap.style.backgroundImage='url('+baseurl+'images/act_el.gif)';
            nap.style.backgroundColor='#ffffff';
        } else if (end) {
            nap.style.backgroundImage='url('+baseurl+'images/act_veg.gif)';
            nap.style.backgroundColor='#ffffff';
        } else {
            nap.style.backgroundColor='0096F4';
            nap.style.backgroundImage='';
        }
    } else {
        if (k==6) nap.innerHTML="<small><b>"+n+"</b></small>";
        else nap.innerHTML="<small>"+n+"</small>";
        nap.style.backgroundColor='#e0e0e0';
        nap.style.backgroundImage='';
        nap.style.color='#0096F4';
    }
}
function szines_e_masik(nap, szines, day, n, kov){
    sz = false;
    start=false;
    end=false;
    id=0;
    if (szines.length){
        if (kov){
            if (day.getMonth()=='11'){
                dif_y=1;
                dif_m=-11;
            } else {
                dif_y=0;
                dif_m=1;
            }
        } else {
            if (day.getMonth()=='0'){
                dif_y=-1;
                dif_m=11;
            } else {
                dif_y=0;
                dif_m=-1;
            }
        }
        for (m in szines){
            in_this=false;
            if (szines[m][0]-dif_y == day.getFullYear()){
                if (szines[m][1]-dif_m == day.getMonth()){
                    if (szines[m][2] == n ){
                        in_this=true;
                        start=true;
                    } else if (szines[m][2] < n ){
                        in_this=true;
                        start=false;
                    }
                } else if (szines[m][1]-dif_m < day.getMonth()) {
                    in_this=true;
                }
            } else if (szines[m][0]-dif_y < day.getFullYear()){
                in_this=true;
            }
            if (in_this){
                if (szines[m][3]-dif_y == day.getFullYear()){
                    if (szines[m][4]-dif_m == day.getMonth()){
                        if (szines[m][5] == n){
                            sz=true;
                            end=true;
                            id=szines[m][6];
                        } else if (szines[m][5] > n){
                            sz=true;
                            end=false;
                        }
                    } else if (szines[m][4]-dif_m > day.getMonth()){
                        sz=true;
                    }
                } else if (szines[m][3]-dif_y > day.getFullYear()){
                    sz=true;
                }
            }
        }
    }
    if (sz) {
        if (k==6) nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"&date="+(day.getFullYear() - - dif_y)+"-"+((day.getMonth() - - dif_m - - 1)<10?"0":"")+(day.getMonth() - - dif_m - - 1)+"-"+((n)<10?"0":"")+n+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'><b>"+n+"</b></a></small>";
        else nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"&date="+(day.getFullYear() - - dif_y)+"-"+((day.getMonth() - - dif_m - - 1)<10?"0":"")+(day.getMonth() - - dif_m - - 1)+"-"+((n)<10?"0":"")+n+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'>"+n+"</a></small>";
        //if (k==6) nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'><b>"+n+"</b></a></small>";
        //else nap.innerHTML="<small><a style='color: inherit; text-decoration:none;' href='javascript:window.open(\""+baseurl+"getevent.php?eID="+id+"\",\"\",\"scrollbars=yes,width=400,height=525\");void(\"\");'>"+n+"</a></small>";
        if (start && end) {
            nap.style.backgroundImage='url('+baseurl+'images/inact_potty.gif)';
            nap.style.backgroundColor='#ffffff';
            nap.style.color='#40c6F4';
        } else if (start) {
            nap.style.backgroundImage='url('+baseurl+'images/inact_el.gif)';
            nap.style.backgroundColor='#ffffff';
            nap.style.color='#40c6F4';
        } else if (end) {
            nap.style.backgroundImage='url('+baseurl+'images/inact_veg.gif)';
            nap.style.backgroundColor='#ffffff';
            nap.style.color='#40c6F4';
        } else {
            nap.style.backgroundColor='#CCFFFF';
            nap.style.backgroundImage='';
            nap.style.color='#40c6F4';
        }
    } else {
        if (k==6) nap.innerHTML="<small><b>"+n+"</b></small>";
        else nap.innerHTML="<small>"+n+"</small>";
        nap.style.backgroundColor='#ffffff';
        nap.style.backgroundImage='';
        nap.style.color='#40c6F4';
    }
}

function getData(){
    cal=document.getElementById('calendar');
    var url = baseurl+"calendar_js.php";
    xmlHttp=GetXmlHttpObject(gotData);
    xmlHttp.open("GET", url , true);
    xmlHttp.send(null);
}
function gotData() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
        eval (xmlHttp.responseText);
	} 
} 

function GetXmlHttpObject(handler)
{

	var objXmlHttp=null

	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This feature doesn't work in Opera") 
		return 
	}
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler
			return objXmlHttp
		} 
		catch(e)
			{ 
				alert("Error. Scripting for ActiveX might be disabled") 
				return 
			} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
}
