// coolagent.cz, (c) fv.cz <devel@fv.cz>
// -- nabidka
// --
// -- rev.0.1, 08.08.2009, 05:09, smid :: revize: rc1


//preda argumenty - hook z php

// vytvori zakladni instanci pro praci s AJAXem
function ajax_instance() {
    var ajax = false;

    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    try {
        ajax = new ActiveXObject('Msxml2.XMLHTTP');

    } catch (e) {
        try {
            ajax = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (E) {
            ajax = false;
        }
    }
    @end @*/
    if (!ajax && typeof XMLHttpRequest != undefined) {
        ajax = new XMLHttpRequest();
    }

    return ajax;
}


// doc: provede pozadavek: GET a vraceny vysledek zobrazi do 'element_id'
// doc: -- element_id          = id elementu v HTML dokumentu
// doc: -- url                 = url adresa pro odeslani pozadavku
// doc: -- err_msg             = text chybove zpravy, pokud se pozadavek nevydari
// doc: -- async               = 0=false|1=true, zda se bude jednat o asynchronni pozadavek [default: true]
// doc: -- callback            = funkce, ktera se zavola pri stavu pozadavku (element_id, ajax, err_msg)
// doc: -- callback            =  {
// doc: -- callback            =    onLoad    (element_id, url)           ~ pred spustenim pozadavku
// doc: -- callback            =    onComplete(element_id, ajax)          ~ po kompletnim pozadavku
// doc: -- callback            =    onError   (element_id, ajax, err_msg) ~ v pripade chyby
// doc: -- callback            =  }
function ajax_GET(element_id, url, err_msg, async, callback) {
    if (!url) {
        document.getElementById(element_id).innerHTML = "";
        return false;
    }

    if (async == undefined) { async=true; }

    var ajax = ajax_instance();
    if (!ajax) { return false; }

    ajax.open('GET', url, async);

    if (callback == undefined) {
        callback=undefined;
        c_onLoad=undefined;
        c_onComp=undefined;
        c_onErr =undefined;

    } else {
        if (callback['onLoad'] != undefined) { c_onLoad=callback['onLoad']; }
        if (callback['onComp'] != undefined) { c_onComp=callback['onComp']; }
        if (callback['onErr']  != undefined) { c_onErr =callback['onErr']; }
    }

    if (c_onLoad == undefined && c_onComp == undefined && c_onErr == undefined && callback != undefined) {
        ajax.onreadystatechange=callback(element_id, ajax, err_msg);

    } else {
        ajax.onreadystatechange = function() {
            if (ajax.readyState == 4) {
                if (ajax.status == 200) {
            
                    r=false;
                    if (c_onComp != undefined) {
                        r=c_onComp(element_id, ajax);
                    }
                    
                    if (!r) {
                        var which_element = document.getElementById(element_id);
                        which_element.innerHTML = ajax.responseText;
                    }

                } else {
                    r=false;
                    if (c_onError != undefined) {
                        c_onError(element_id, ajax, err_msg);
                    }

                    if (!r) {
                        var which_element = document.getElementById(element_id);
  
                        if (!err_msg) { err_msg="ajax: error while GET url data!"; }
                        which_element.innerHTML = err_msg+"<br />\n("+ ajax.status +") "+ ajax.statusText;
                    }
                }

            }
        }
        // END of function()

        if (c_onLoad != undefined) {
            c_onLoad(element_id, url);
        }
    }

    ajax.send(null);
    if (async == false) { return ajax.responseText; }

    return true;
}


function tmiOver(sender) {
    sender.src = sender.src.replace(/0(\D)/, '1$1');
}
function tmiOut(sender) {
    sender.src = sender.src.replace(/1(\D)/, '0$1');
}


var menuObject = false;
var menuidlast = false;
var menuidlang = '';
function menuShow(e, menu, menuid) {
    if (menuObject = mtGetObject('topmenu_' + menu)) {
        ajax_GET('_mcnt', './ajax-cnt.php?menu='+menuid+(menuidlang != '' ? '&ln='+menuidlang : ''));

        if (!menuidlast || menuidlast != menuid) {
            //ajax_GET(element_id, url, err_msg, async, callback)
            ajax_GET('ajax-menu', './ajax-menu.php?menu='+menuid+(menuidlang != '' ? '&ln='+menuidlang : ''));
            menuidlast=menuid;

        } else if (menuidlast == menuid) {
            menuObject.style.display   ='block';
            menuObject.style.visibility='visible';
        
            o = mtGetEventElement(e);
            menuObject.style.left=o.offsetLeft + 'px';
            menuObject.style.top =(o.offsetTop + o.height) + 'px';
            menuidlast=menuid;
	    }
    }
}
function menuHide(e) {
    if (menuObject) {
        if (!mtFindNearestObject(mtGetEventElement(e), 'id', '^'+ menuObject.id +'$')) {
            menuObject.style.display = 'none';
            menuObject.style.visibility = 'hidden';
            menuObject = false;
        }
    }
}


function caPopupHide() {
    o = mtGetObject('popup');
    o.style.display = 'none';
    o.style.visibility = 'hidden';
}

// Pro zobrazeni videa z AuPair/USA

function popUp(URL, width, height, scrollbars) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars="+ (scrollbars ? 1 : 0) +",location=0,statusbar=1,menubar=0,resizable=0,width="+width+",height="+height+",left = 390,top = 249.5');");
}


/* End of file. */
