﻿//SLEDUJEME!
//Roman Plischke, 12.12.2007, 6.5.2010

var ZAKONY_ALFA9_URL = 'http://zakony.alfa9.cz/zakony/dokumenty.aspx?id={0}';

//pokud najde styl, vraci objekt style, jinak null
function GetRuleByName(sSelectorText) {
	//s pomoci http://www.quirksmode.org/dom/changess.html
	var oRes = null;
	var oRules = new Array();
	for(var i=0;i<document.styleSheets.length;i++) {
		if (document.styleSheets[i].cssRules)
			oRules = document.styleSheets[i].cssRules //FireFox
		else 
		    if (document.styleSheets[i].rules)
			    oRules = document.styleSheets[i].rules //IE
		    else return(null);
		for(var j=0;j<oRules.length;j++)
			//alert(oRules[j].selectorText) //kontrolni vypis vsech stylu
			if(oRules[j].selectorText.toLowerCase()==sSelectorText.toLowerCase()) 
				oRes = oRules[j];
	}
	return(oRes);
}

function ZvyrazniObor(oChk) {
	var TEMPLATE_STYLE = ".stOboryTemplate";
	var sStPrefix = 'stObor';
	var sIdPrefix = 'idOboryChk'; //id ma prefix, za nim je cislo oboru
	
	//nazev stylu, ktere budu zvyraznovat
	var sStName = "." + sStPrefix + oChk.id.substring(sIdPrefix.length);

    //v souboru mam vzorovy styl
	var sCss = oChk.checked?GetRuleByName(TEMPLATE_STYLE).style.cssText:" "; //prevezmu cely jeho text nebo necham prazdny, podle checkboxu
    //projdu vsechny spany
    //je to sice prasarna, ale prace se styly je v kazdem browseu jina a nekde nelze vubec;
    oSpanCol = document.getElementsByTagName('SPAN');
    for(var i=0;i<oSpanCol.length;i++) 
        if ("."+oSpanCol[i].className==sStName)
            //tem, ktere maji spravny styl, priradim CSS
            oSpanCol[i].style.cssText=sCss;

	//ULOZENI COOKIE
	//v cookie mam hodnoty "true"/"false" pro kazde id checkboxu

    // Počet dnů, po které platí cookie
    var nDnu = 365;
    var oDatum = new Date(); // získá aktuální datum v milisekundách
    oDatum.setTime(oDatum.getTime() + 1000 * 60 * 60 * 24 * nDnu); // k datu přidá počet dnů

    // samotný zápis cookie
    document.cookie = oChk.id + '=' + oChk.checked + ';expires=' + oDatum.toGMTString();
}

	
//vytvori a realizuje select, a to za dvou podminek
// - dokument je v referencni databazi (bIsInDb)
// - stranka je zobrazena v Alfa CD nebo Alfa9
function AlfaCdLink(nIdFile, bIsInDb) {
    if(document.getElementsByName('[IniProtocol]Version').length) {
        //dokument je v Alfa CD
        if(bIsInDb) {
            window.location ='select:id=' + nIdFile;
        }
        else {
            alert('Dokument je nově zařazen a nebyl dosud v Alfa CD publikován.');
        }
    }
    else {
    	//smeruji do Alfa9
        if(bIsInDb) {
            window.location = ZAKONY_ALFA9_URL.replace('{0}', nIdFile.toString(10));
        }
        else {
            alert('Dokument je nově zařazen a nebyl dosud v Alfa9 publikován.');
        }
    }
}	
	

//Precte cookie a zaskrta checkboxy oboru
function PrectiSledujemeCookie() {
    oKukx = document.cookie.replace(/; /g,';').split(';'); // rozřezávám řetězec kukin do pole; nejdriv nahradim "; " za ";" - nektere browsery tam davaji automaticky mezeru
    for (i in oKukx){ // procházím pole kukin
        oKuk1 = oKukx[i].split('='); // rozřezávám kukinu do dvouprvkového pole
        oChk = document.getElementById(oKuk1[0]); //ziskam pozadovany input
        if(oChk) {
            //checkbox existuje
            if(oKuk1[1].toLowerCase()=='true') {
                oChk.checked = true; //priradim hodnotu
                ZvyrazniObor(oChk); //zvyraznim obor (zapise znovu cookie, ale to nevadi)
            }
        } 
        else {
            //nejaky obor byl od minule zrusen a checkbox neexistuje - nevadi
        }
    }
}
