var ie 			= (document.all) ? true : false;
var cookiePath	= '/';

function changeElems(t,c,f){
	var i,node,elems;
	if(t=='*')
		elems = (ie) ? document.all : document.getElementsByTagName('*'); // '*' not supported by IE/Win <=5.5
	else
		elems = document.getElementsByTagName(t);
	c = c.split(' ').sort().join(' ');
	for(i=0; i<elems.length; i++){
		node = elems.item(i);
		for(var j=0; j<node.attributes.length; j++){
			if(node.attributes.item(j).nodeName=='class'&&node.attributes.item(j).nodeValue.split(' ').sort().join(' ')==c)
				f(node,j);
		}
	}
}

function changeClass(t,c,d){
	changeElems(t,c, function(node,j){ node.attributes.item(j).nodeValue = d } );
}

/** cookies **/
function getCookie(c_name){
	var i,x,y,ARRcookies=document.cookie.split(";");
	for(i=0;i<ARRcookies.length;i++){
	  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('='));
	  y=ARRcookies[i].substr(ARRcookies[i].indexOf('=')+1);
	  x=x.replace(/^\s+|\s+$/g,'');
	  if(x==c_name)
	  	return unescape(y);
	}
}
function setCookie(c_name,c_value,exdays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + exdays);
	c_value = escape(c_value)+((exdays==null) ? '' : ';expires='+exdate.toUTCString())+';path='+cookiePath+';';
	document.cookie = c_name+"="+c_value;
}



/** language switching **/
function switchClassLangEnabled(cls,lang,isOn){
	var clslang	= cls+' '+lang;
	if(isOn)
		changeClass('*',clslang+' disabled',clslang);
	else
		changeClass('*',clslang,clslang+' disabled');
}

function updateLang(disableLangInput){
	var lang = disableLangInput.name;
	var isOn = ! disableLangInput.checked;
	setCookie('no'+lang,(isOn)?'0':'1',366);
	switchClassLangEnabled('article',lang,isOn);
	switchClassLangEnabled('excerpt',lang,isOn);
	switchClassLangEnabled('datelabel',lang,isOn);
	switchClassLangEnabled('langdisabler',lang,isOn);
	if(!(document.getElementById('ldenglish').checked || document.getElementById('ldczech').checked ))
		changeClass('*','langform onelang','langform twolang');
	else
		changeClass('*','langform twolang','langform onelang');
}


/** height adjustments for text areas **/
function adjustHeightForElementsOfClass(t,c,d){
	changeElems(t,c, function(node,j){
		node.style.height=(node.scrollHeight+d)+'px';
		if(t=='textarea' && window.opera)
			node.style.overflow='hidden'; // hide scroll bar in Opera
	} );
}

/** map links **/
function addMapLinks(){
	changeElems('span','address', function(node,j){
		node.innerHTML+=' <a href="http://maps.google.com/maps?q='+encodeURIComponent(node.innerHTML)+'">&#x261B;</a>';
	} );
}


function myOnLoad(){
	adjustHeightForElementsOfClass('textarea','code',(window.opera)?0:-2);
	addMapLinks();
	var lde = document.getElementById('ldenglish');
	var ldc = document.getElementById('ldczech');
	if(getCookie('noenglish')=='1')
		lde.checked = true;
	else if(getCookie('noczech')=='1')
		ldc.checked = true;
	updateLang(lde);
	updateLang(ldc);	
	lde.onchange=function(){updateLang(lde)}
	ldc.onchange=function(){updateLang(ldc)}
}

if(document.addEventListener)
	document.addEventListener("DOMContentLoaded", function(){didMyOnLoad=1; myOnLoad()}, false)
else if(document.all && !window.opera){	// MSIE
	document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>');
	document.getElementById("contentloadtag").onreadystatechange=function(){ if(this.readyState=="complete"){ didMyOnLoad=1; myOnLoad(); } }
}
window.onload=function(){ setTimeout("if(!didMyOnLoad) myOnLoad()", 0) } // fallback
