function J2styl() {
	if (!document.styleSheets) return true;
	return !document.styleSheets[0].disabled;
}
/*-[ hover to all ]------------------------------------------*/
if(document.getElementById && J2styl()) window.onload=J2init;

function J2init() {
    J2goDOM(document.getElementById("j2").childNodes);
}

function J2goDOM(el){
    var i;
    for(i = 0; i<el.length; i++){
        if (el[i].className!=null && ( J2hasClassName(el[i], "clickable") || J2hasClassName(el[i], "overable") || J2hasClassName(el[i], "sbutton") || J2hasClassName(el[i], "button") )) {
            if (el[i].onmouseover==null) el[i].onmouseover=J2doOver;
            if (el[i].onmouseout==null) el[i].onmouseout=J2doOverOut;
        }
        if (el[i].childNodes.length>0){
            J2goDOM(el[i].childNodes);
        }
    }
}

function J2doOver(event) {
    J2addClassName(this, "hover");
}

function J2doOverOut(event) {
    J2removeClassName(this, "hover");
}
/*-----------------------------------------------------------*/



/*-[ class manage ]------------------------------------------*/

function J2hasClassName (el, name) {
	var i, list;

	list = el.className.split(" ");
	for (i = 0; i < list.length; i++)
	if (list[i] == name) return true;
	return false;
};

function J2removeClassName (el, name) {
	var i, j, curList, newList;
	if (el.className == "") return;

	newList = new Array();
	curList = el.className.split(" ");
	j=0;
	for (i = 0; i < curList.length; i++) 
		if (curList[i] != name) 
			newList[i-j]=curList[i];
	    else j++;
	el.className = newList.join(" ");
};


function J2addClassName (el, name) {
	if ((el.className == "") || (el.className == " ")) el.className = name;
	else el.className += " " + name;
};

/*-----------------------------------------------------------*/

/*-[ help ]--------------------------------------------------*/
function J2getHelpContainer(el) {
	if (hc = J2getParentByTagName(el,"tbody")) {
		do {
			if (helpContainer = J2getElementsByClassName(hc, "help", "div")[0])
				return helpContainer;
			else {
				hc = J2getPreviousTag(hc);
			}
		} while (hc);
	}
	return false;
}

function J2getPreviousTag(el) {
	x = el;
	do {
		if (!(x = x.previousSibling)) return false;
	} while (x.nodeType != 1);
	return x;
}

function J2help(el,event) {
	if (J2styl()) {

		if (helpContainer = J2getHelpContainer(el)) {
			helpContainer.innerHTML == ""

			if (p = J2getParentByClassName(el, "overable")) {
				if (!J2hasClassName(p,"hover")) J2addClassName(p,"hover");

				si = "";
				if (s = p.getElementsByTagName("select")[0]) {
					if (!window.event && event && event.target.tagName == "OPTION") 
						si = event.target.index;
					else
						si = s.selectedIndex;
				}

				if (hi = J2getElementsByClassName(p, "helpicon", "a"))
					href = hi[0].getAttribute("href");
				else href=el.href;
			}

			if (href) {
				helpId = href.substr(href.lastIndexOf("#")+1);
				if (helpText = document.getElementById(helpId)) {
					
					if (si!="" && (x = J2getElementsByClassName(helpText,"select","ul"))) {
						if (z = x[0].getElementsByTagName("li")) {
							if (z.length > si-1 && z[si-1].innerHTML!="") helpText = z[si-1];
						}
					}
					
					helpContainer.innerHTML = helpText.innerHTML;
					J2addClassName(helpContainer,"show");
				}
			}
			return false;
		}
		else return true;
	}
}

function J2hideHelp(el) {
	if (J2styl()) {
		if (hc = J2getParentByClassName(el,"box")) {
			helpContainer = J2getElementsByClassName(hc, "help", "div");
			for (i=0;i<helpContainer.length;i++) {
				J2removeClassName(helpContainer[i],"show");
				helpContainer[i].innerHTML = "";
			}
		}
		if (p = J2getParentByClassName(el, "overable")) {
			if (J2hasClassName(p,"hover")) J2removeClassName(p,"hover");			
		}
	}
}


function J2getParentByClassName(el,name) {
	while (el !=null && el.parentNode != null && !J2hasClassName(el,name)) {
		el = el.parentNode;
	}
	if (el !=null && el.parentNode != null)	return el;
	else return false;
}


function J2getParentByTagName(el,name) {
	while (el !=null && el.parentNode != null && el.tagName.toLowerCase() != name) {
		el = el.parentNode;
	}
	if (el !=null && el.parentNode != null)	return el;
	else return false;
}

function J2getElementsByClassName(el,class_name,tag_name) {
	var all_obj,ret_obj=new Array(),j=0;
	all_obj=el.getElementsByTagName(tag_name);
	for(i=0;i<all_obj.length;i++) {
	    if(J2hasClassName(all_obj[i],class_name)) {
	      ret_obj[j]=all_obj[i];
	      j++;
		}
	}
	if (ret_obj.length>0) return ret_obj; else return false;
}

/*-----------------------------------------------------------*/


/*-[ collapse ]----------------------------------------------*/
function J2collapse(el) {
	if (p = J2getParentByClassName(el,"box")) {
		if (!J2hasClassName(p, "collapsed"))
			J2addClassName(p, "collapsed");
		else
			J2removeClassName(p, "collapsed");
	}
}
/*-----------------------------------------------------------*/


/*-[ tree ]--------------------------------------------------*/

function J2treeOpen(el) {
	el.blur();
	ul = el.parentNode.getElementsByTagName("ul")[0];

	if (J2hasClassName(ul,"open")) {
		J2removeClassName(ul,"open");
		J2removeClassName(el,"open");
	}
	else {
		J2addClassName(ul,"open");
		J2addClassName(el,"open");
	}
}

/*-----------------------------------------------------------*/


/*-[ detail kurzu ]------------------------------------------*/

function J2detailkurzu(el) {
	if (a = el.getElementsByTagName("a"))
		href = a[0].getAttribute("href");

	window.location=href;
}

/*-----------------------------------------------------------*/

/*-[ select ]------------------------------------------*/
function J2check(ch) {
	el = document.getElementById("zamereni");
	if (ch.checked) el.selectedIndex = 13;
	else el.selectedIndex = 0;
	J2collapse(ch);
}

/*-----------------------------------------------------------*/

/*-----------------------------------------------------------*/
function J2kParamChange(obj) {
	if (document.getElementById) {
		index = obj.selectedIndex;
		var i=1;
		do {
			var j=1;
			do {
				el = document.getElementById("mv"+i+"kurz"+j);
				if (el != null) {
					el.firstChild.nodeValue = hodnoty[index][kurz[i-1][j-1][index]];
				}
				j++;
			} while (el != null);

			el = document.getElementById("mv"+i);
			if (el != null) {
				el.selectedIndex=index;
			}

			i++;
		} while (el != null);
	}
	else {
		obj.form.submit();
	}
}
/*-----------------------------------------------------------*/

/*-----------------------------------------------------------*/
function J2SwapColValues(obj) {
	if (document.getElementById) {
        
        index = obj.selectedIndex;
        
        num_courses = dynamic_cols.length;
        typ = obj.id.substring(0,1);
        set = parseInt(obj.id.substring(1,2), 10);
       
        // obyc. text
        if(set == 3)
        {
            for(i=0;i<num_courses;i++)
            {
                // dochazkove nebo pobytove
                if( dynamic_cols[i][0] == typ )
                {
                    el = document.getElementById(obj.id+dynamic_cols[i][1]);

                    if(! el.firstChild )
                        el.appendChild( document.createTextNode(''));

                    if( dynamic_cols[i][set][index].length > 25 )
                        el.firstChild.nodeValue = dynamic_cols[i][set][index].substring(0,17) + "...";
                    else
                        el.firstChild.nodeValue = dynamic_cols[i][set][index];
                }
            }
        }
        else // odkazy
        {
            for(i=0;i<num_courses;i++)
            {
                // dochazkove nebo pobytove
                if( dynamic_cols[i][0] == typ )
                {
                    el = document.getElementById(obj.id+dynamic_cols[i][1]);
                    
                    el.setAttribute("href", dynamic_cols[i][set][index*2+1]);
                    el.setAttribute('title', dynamic_cols[i][set][index*2]);
              
                    if( dynamic_cols[i][set][index*2].length > 25 )
                        el.firstChild.nodeValue = dynamic_cols[i][set][index*2].substring(0,17) + "...";
                    else
                        el.firstChild.nodeValue = dynamic_cols[i][set][index*2];
                }
            }
        }
	}
	else {
		obj.form.submit();
	}
}
/*-----------------------------------------------------------*/

