/* AJAX - CALENDAR */
var xmlHttp
var parentObj

/* AJAX - CALENDAR */
function stateChanged() {
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
        var ca = document.getElementById("ajaxcalendararea")
        ca.style.border = 'none'
        ca.style.padding = '0'
        ca.style.background = 'transparent'
        ca.innerHTML=xmlHttp.responseText
    }
    /* po prichodu kalendare se nastavi event onclick na body, kvuli zavirani */
    document.body.onclick=clickEvent;
    window.onresize = ajaxcalendarclose;
}

/* AJAX - clickEvent - funkce prirazena BODY po otevreni kalendare, hlida, kam uzivatel klikl.
    pokud klikne mimo kalendar, kalendar se zavre
*/
function clickEvent(e){
	var mouseX = 0;
	var mouseY = 0;
    if (!e) var e = window.event;
    div = document.getElementById("ajaxcalendararea");
    var objX = findPosX(div);
    var objY = findPosY(div);
    var objW = div.offsetWidth;
    var objH = div.offsetHeight;
    if(div!=null){
    	if (e.pageX || e.pageY) {
            mouseX = e.pageX;
            mouseY = e.pageY;
        } else if (e.clientX || e.clientY) {
            mouseX = e.clientX + document.body.scrollLeft
                + document.documentElement.scrollLeft;
            mouseY = e.clientY + document.body.scrollTop
                + document.documentElement.scrollTop;
    	}
        if(mouseX<objX || mouseX > objX+objW || mouseY<objY || mouseY>objY+objH){
            ajaxcalendarclose();
        }
    }
}

/* AJAX - CALENDAR */
function GetXmlHttpObject() {
    var objXMLHttp=null
    if (window.XMLHttpRequest) {
        objXMLHttp=new XMLHttpRequest()
    } else if (window.ActiveXObject) {
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }

    return objXMLHttp
}

/* AJAX - CALENDAR */
function showAjaxCalendar(obj) {

    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null) {
        alert ("Browser does not support HTTP Request")
        return
    }
    
    parentObj = obj
    var div = document.getElementById("ajaxcalendararea")
    if(div==null){
        var div = document.createElement('DIV');
	    div.id = 'ajaxcalendararea';
	    //div.className='monthYearPicker';
        div.style.position = 'absolute'
        div.style.zIndex = 1000;
        document.body.appendChild(div);
    }
    div.style.left = (findPosX(obj)-115)+'px'
    div.style.top = findPosY(obj)+20+'px'
    div.style.border = '1px solid #999'
    div.style.padding = '5px'
    div.style.background = '#fefefe'
    div.innerHTML= retL("Pracuji...","Werke...","Working...","Pracujem...");
    
    var url= root + "_rsrc/ajax-calendar/ajax-calendar.php"
    url+='?datum='+obj.value
    url+='&root='+root
    url+='&lang='+lang
    url+='&sid='+Math.random()

    xmlHttp.onreadystatechange=stateChanged
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

/* AJAX - CALENDAR */
function ajaxcalclick(datum){
    parentObj.value = datum;
    document.getElementById("ajaxcalendararea").innerHTML='';
    parentObj.className = 'calendarCombo';
}

/* AJAX - CALENDAR */
function ajaxchangemonthoeyear(datum){
    //box.options[box.selectedIndex].value;
    xmlHttp=GetXmlHttpObject()
    var div = document.getElementById("ajaxcalendararea")
    div.style.border = '1px solid #999'
    div.style.padding = '5px'
    div.style.background = '#fefefe'
    div.innerHTML= retL("Pracuji...","Werke...","Working...","Working...");

    var url= root + "_rsrc/ajax-calendar/ajax-calendar.php"
    url+='?datum='+datum
    url+='&root='+root
    url+='&lang='+lang
    url+='&sid='+Math.random()

    xmlHttp.onreadystatechange=stateChanged
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function ajaxcalendarclose(){
   document.getElementById("ajaxcalendararea").innerHTML='';
   document.body.onclick=null;
}
/* AJAX - CALENDAR */
function findPosX(obj) {
    var curleft = 0;

    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    } else if (obj.x)
        curleft += obj.x;

    return curleft;
}

/* AJAX - CALENDAR */
function findPosY(obj) {
	var curtop = 0;

    if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y)
		curtop += obj.y;

    return curtop;
}

function retL(){
    switch(lang){
        case 'cs' : return arguments[0]; break;
        case 'de' : return arguments[1]; break;
        case 'en' : return arguments[2]; break;
        case 'pl' : return arguments[3]; break;
        default   : return arguments[0];
    }
}
// End JavaScript Document

