﻿// IDOS JScript File

/*
Utils region - start
*/
/* vrati kod klavesy bez kontrol */
function GetKeyCodeBase(e){
    try{
	    var keyCode = -1;
	    if (window.event) {
		    keyCode = window.event.keyCode;
		    if (keyCode >-1 ) return keyCode;
	    }
	    keyCode = -1;
	    if (e && keyCode <= 0) {
		    keyCode = e.charCode;
		    if (keyCode <= 0){
		        keyCode = e.keyCode;
		    }
		    if (keyCode >-1 ) return keyCode;
	    }
	    return -1;
    } catch (err) {
    }
}

/* disable vstupniho prvku */
function DisInput(sInputID){
    try{
        var oEl = document.getElementById(sInputID);
        if (oEl){
            oEl.disabled = true;
        }
    } catch(err){
    }
}

/* enable vstupniho prvku */
function EnInput(sInputID){
    try{
        var oEl = document.getElementById(sInputID);
        if (oEl){
            oEl.disabled = false;
        }
    } catch(err){
    }
}

/* prvek nastavi na display = "block" */
function SetDisplayBlock(sId){
    var oEl = document.getElementById(sId);
    if (oEl != null){
       oEl.style.display = "block";        
    }
}

/* prvek nastavi na display = "inline" */
function SetDisplayInline(sId){
    var oEl = document.getElementById(sId);
    if (oEl != null){
       oEl.style.display = "inline";        
    }
}

/* prvek nastavi na display = "none" */
function SetDisplayNone(sId){
    var oEl = document.getElementById(sId);
    if (oEl != null){
       oEl.style.display = "none";
    }
}

/* vykona JS svazany s odkazem na strance podle ID odkazu, urceno pro zkratkove klavesy */
function EvalHrefById(sID){
    var myEl;
    myEl = document.getElementById(sID);
    if (! myEl) {return false;}
	if (! myEl.href) {return false;}
	if (myEl.href.length == 0) {return false;}
	eval(myEl.href);
}

/* vrati priznak zda je skript spousten v dialogovem okne */
function IsPopUpWindow(){
    return (typeof(LoadPopupPage) != "undefined");
}

/* vyber jazyka */
function SetLng(lng){
 try{                
        oBaseParams.set_Lang(lng);             
        return true;
    } catch(err) {
        alert(err);
    }   
     return false;
}

/* vlozi/vyhodi sClassName, vrati true pokud vlozil a false pokud vyhodil */
function toggleClass(oEl, sClassName){
    var bRet;
    var sTmp = oEl.className;
    if (sTmp.indexOf(sClassName) >= 0){
        sTmp = sTmp.replace(sClassName, "");
        sTmp = sTmp.replace(/^[ ]*/, "");
        sTmp = sTmp.replace(/[ ]*$/, "");
        bRet = false;
    }
    else{
        sTmp = sTmp + " " + sClassName;
        bRet = true;
    }
    oEl.className = sTmp;
    return bRet;
}

/*
Utils region - end
*/

/*
Zobrazeni plovoucich divu - start
*/
var sActDiv = "";       // aktualne zobrazeny div


/* zjisteni pozive prvku k mother-inner */
function ItemToMotherInPos(sID){    
    oEl2 = document.getElementById(sID);      
    if (oEl2){                    
        var pos = getAbsolutePos(oEl2,"mother-inner");
        iItemX = pos.x;
        iItemY = pos.y;                     
    }
    else{
        iItemX = 0;
        iItemY = 0;
    }           
}

/* zjisti absolutni pozici prvku vzhledem k prvku sStopId*/
function getAbsolutePos (el, sStopID) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;			
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };	    
	if (el.offsetParent && el.offsetParent.id != sStopID) {
		var tmp = this.getAbsolutePos(el.offsetParent, sStopID);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

/*invertuje zobrazeni prvku*/
function ShowHideDiv(event, sCmd, sParams){    
    try {
        Add_Invoke();
        var oEl1 = document.getElementById(sBalloonDiv);
        if (oEl1 != null){
            if (sCmd != sActDiv){
                // pokud neni videt, tak je zviditelni
                // nejprve ale znevidilelni viditelny prvek pokud nejaky byl           
                HideDiv(sActDiv);
                sActDiv = sCmd;               
                // zjisteni souradnic prvku, na ktery se kliklo, vzhledem k mother-inner
                ItemToMotherInPos("anch_" + sCmd);
                // naplneni ajaxem
                DoDivAjax(oEl1.id, sCmd, sParams);                           
                if (IsMSIE7() ){
                    // pokud je IE7, tak si zjisti leftmargin a pripocte k pozici
                    oEl1.style.left = GetAbsLeftMarginMSIE7(oEl1) + "px";
                }
            }
            else{
                // pokud je prvek videt, tak jej zneviditelni
                oEl1.style.display = "none";
                if (IsMSIE6older()){                
                    HideIframe.Discard(sBalloonDiv, 'mother-inner');
                }
                sActDiv = "";
            }
        }        
    } catch (err){
    }    
    if (NS && event) return stopEvent(event);
}

/*invertuje zobrazeni prvku pro trvaly odkaz*/
function ShowHideDiv_Fix(sParams){    
    try {
        sId = sResultPrefix + sParams;
        var oEl1 = document.getElementById(sBalloonDiv);
        if (oEl1 != null){
            if (sId + "div" != sActDiv){
                // pokud neni videt, tak jej zviditelni
                // nejprve ale znevidilelni viditelny prvek pokud nejaky byl           
                HideDiv(sActDiv);
                sActDiv = sId  + "div";               
                // zjisteni souradnic prvku, na ktery se kliklo, vzhledem k mother-inner                                   
                ItemToMotherInPos(sId);
                // naplneni obsahem
                DoDivAjax(oEl1.id, "fixlink", "");               
                if (IsMSIE7()){
                    // pokud je IE7, tak si zjisti leftmargin a pripocte k pozici
                    oEl1.style.left = GetAbsLeftMarginMSIE7(oEl1) + "px";
                }
            }
            else{
                // pokud je prvek videt, tak jej zneviditelni
                oEl1.style.display = "none";
                if (IsMSIE6older()){                
                    HideIframe.Discard(sBalloonDiv, 'mother-inner');
                }
                sActDiv = "";
            }
        }        
    } catch (err){
    }    
}

/*skryti prvku*/
function HideDiv(sDiv){
     try{
         oEl = document.getElementById(sDiv);
         if (oEl){
             oEl.style.display = "none";
             sActDiv = "";
         }
        HideIframe.Discard(sDiv, 'mother-inner');
     } catch(e) {}
}

/* vrati celkovy margin-left rodicovskych prvku, urceno pro IE7*/
function GetAbsLeftMarginMSIE7(el) {
    try{
	    var sMarginLeft;
	    var iMarginLeft = 0;
	    sMarginLeft = el.currentStyle.marginLeft;
        iMarginLeft = parseInt(sMarginLeft.substring(0,sMarginLeft.indexOf("px")));
	    if (el.offsetParent) {
		    iMarginLeft += GetAbsLeftMarginMSIE7(el.offsetParent);
	    }
	    return iMarginLeft;
    } catch (err){
    }
}

/*
Zobrazeni plovoucich divu - end
*/

/*
Verze prohlizece - start
*/

/* vrati true pokud je MSIE 7.0*/
function IsMSIE7(){
    return ( IsMSIE() && navigator.appVersion.indexOf("MSIE 7.0;") >=0 );
}

// vrati true pokud je MSIE 6 nebo starsi
function IsMSIE6older(){  
    return ( IsMSIE() && (navigator.appVersion.indexOf("MSIE 6.0;") >= 0 || navigator.appVersion.indexOf("MSIE 5.5;") >= 0 ));
}

// vrati true pokud je IE
function IsMSIE(){
    return  navigator.appName === "Microsoft Internet Explorer";
}
/*
Verze prohlizece - end
*/








