// JavaScript Document

// common functions

function webStart() {
  //flipFlashForMSIE();
  var trs = document.getElementsByTagName('TR');
  for(var i = 0; i < trs.length; i++) {
    var tds = trs[i].getElementsByTagName('TD');
    for(var n = 0; n < tds.length; n++) {
        tds[n].className = tds[n].className + ' cell_index_' + n;
    }
  }
  var coll = document.getElementsByTagName('TD');
  for(var i = 0; i < coll.length; i++) {
    var patt = /.*cell_index_.*/;
    if(!coll[i].className.match(patt))
        continue;
    coll[i].onmouseover = function()
    {
        var myIndex = parseInt(this.className.replace(/^.* cell_index_/, '').charAt(0));
        var table = this.parentNode.parentNode.parentNode;
        var rows = table.getElementsByTagName('TR');
        for(var i = 0; i < rows.length; i++) {
            var cells = rows[i].getElementsByTagName('TD');
            for(var x = 0; x < cells.length; x++) {
                if(cells[x].className.match('cell_index_' + myIndex)) {
                    cells[x].className = cells[x].className + ' colhover';
                }
            }
        }
    };
    coll[i].onmouseout = function()
    {
        var myIndex = parseInt(this.className.replace(/^.* cell_index_/, '').charAt(0));
        var table = this.parentNode.parentNode.parentNode;
        var rows = table.getElementsByTagName('TR');
        for(var i = 0; i < rows.length; i++) {
            var cells = rows[i].getElementsByTagName('TD');
            for(var x = 0; x < cells.length; x++) {
                if(cells[x].className.match('cell_index_' + myIndex)) {
                    cells[x].className = cells[x].className.replace(' colhover', '');
                }
            }
        }
    };
  }
}

function flipFlashForMSIE() { // nepouzito
  var objects = document.getElementsByTagName("object");
  for (i=0;i<objects.length;i++)
  {
    objects[i].outerHTML = objects[i].outerHTML;
  }
  var objects = document.getElementsByTagName("embed");
  for (i=0;i<objects.length;i++)
  {
    objects[i].outerHTML = objects[i].outerHTML;
  }
}

function freeElemsRemover(parentElem) {
  var elems = parentElem.childNodes;
  if (parentElem.childNodes.length<2) return true;
  for (var i=0;i<elems.length;i++) {
    if (elems[i].nodeType == 3) {
      var removenode = parentElem.removeChild(elems[i]);
      freeElemsRemover(parentElem);
      break;
    } else {
      freeElemsRemover(elems[i]);
    }
  }
}

function positionInChildren(subitem) {
  var position = 1;
  var tempsubitem = subitem;
  while (tempsubitem.previousSibling) {
    position++;
    tempsubitem = tempsubitem.previousSibling;
  }
  return position;
}

function returnFalse()
{
	return false;
}

// functions for list

function actionListMouseOver() {
  var actualelem = this.parentNode.parentNode;
  if (actualelem.className=='one') {
    actualelem.className = 'one-active';
  } else
  if (actualelem.className=='two') {
    actualelem.className = 'two-active';
  } else
  actualelem.className = 'active';
}

function actionListMouseOut() {
  var actualelem = this.parentNode.parentNode;
  if (actualelem.className=='one-active') {
    actualelem.className = 'one';
  } else
  if (actualelem.className=='two-active') {
    actualelem.className = 'two';
  } else
  actualelem.className = '';
}

function actionListGenMouseActions(parentElem) {
  actionListA = parentElem.getElementsByTagName('a');
  for (var i=0;i<actionListA.length;i++) {
    actionListA[i].onmouseover = actionListMouseOver;
    actionListA[i].onmouseout = actionListMouseOut;
  }
}

// functions for simulation of tags select

var imgPrevious = '<img src="'+REL_LINK+'images/arrow_left_off.gif" alt="" %%MOUSE%% />';
var imgNext = '<img src="'+REL_LINK+'images/arrow_right_off.gif" alt="" %%MOUSE%% />';
var linkSelect = 'images/select_arrow_off.gif';
var imgSelect = '<img src="'+REL_LINK+linkSelect+'" alt="" />';
var mouseAction = ' onmouseover="this.src=this.src.replace(\'_off\',\'_on\')" onmouseout="this.src=this.src.replace(\'_on\',\'_off\')"';

function generImgToList(parentElem)
{
	monthAct = parseInt(monthAct,10);
	yearAct = parseInt(yearAct,10);
	monthFirst = parseInt(monthFirst,10);
	yearFirst = parseInt(yearFirst,10);
	var elems = parentElem.childNodes;
	for (var i=0;i<elems.length;i++)
	{
		if(parentElem.innerHTML.indexOf('«')!=-1) // month
		{
			//parentElem.innerHTML = imgPrevious;
			var datum = new Date();
			var imgPreviousMonth = imgPrevious;
			if(yearFirst==yearAct && monthAct<=monthFirst)
			{
				parentElem.href = '#';
				parentElem.onclick = returnFalse;
				imgPreviousMonth = imgPrevious.replace(/%%MOUSE%%/g,'');
			}
			else
			{
				imgPreviousMonth = imgPrevious.replace(/%%MOUSE%%/g,mouseAction);
			}
			parentElem.innerHTML = imgPreviousMonth;
		}
		if(parentElem.innerHTML.indexOf('‹‹')!=-1) // year
		{
			var datum = new Date();
			var imgPreviousYear = imgPrevious;
			if(yearFirst==yearAct)
			{
				parentElem.href = '#';
				parentElem.onclick = returnFalse;
				imgPreviousYear = imgPrevious.replace(/%%MOUSE%%/g,'');
			}
			else
			{
				imgPreviousYear = imgPrevious.replace(/%%MOUSE%%/g,mouseAction);
			}
			parentElem.innerHTML = imgPreviousYear;
		}
		if(parentElem.innerHTML.indexOf('»')!=-1) //month
		{
			var datum = new Date();
			var imgNextMonth = imgNext;
			if(monthAct==(datum.getMonth()+1) && yearAct==datum.getYear())
			{
				parentElem.href = '#';
				parentElem.onclick = returnFalse;
				imgNextMonth = imgNext.replace(/%%MOUSE%%/g,'');
			}
			else
			{
				imgNextMonth = imgNext.replace(/%%MOUSE%%/g,mouseAction);
			}
			parentElem.innerHTML = imgNextMonth;
		}
		if(parentElem.innerHTML.indexOf('››')!=-1) // year
		{
			var datum = new Date();
			var imgNextYear = imgNext;
			if(yearAct==datum.getYear())
			{
				parentElem.href = '#';
				parentElem.onclick = returnFalse;
				imgNextYear = imgNext.replace(/%%MOUSE%%/g,'');
			}
			else
			{
				imgNextYear = imgNext.replace(/%%MOUSE%%/g,mouseAction);
			}
			parentElem.innerHTML = imgNextYear;
		}
	}
}

function simulSelectReplaceElems(parentElem) {
  var elems = parentElem.childNodes;
  if (parentElem.childNodes.length<2) return true;
  for (var i=0;i<elems.length;i++) {
  	if(elems[i].nodeName=="A")
  	{
  		generImgToList(elems[i]);
  	}
  	if(elems[i].nodeName=="SPAN")
  	{
  		if(elems[i].innerHTML.indexOf(linkSelect)==-1)
  		{
  			elems[i].innerHTML = imgSelect + elems[i].innerHTML;
  		}
  	}
    simulSelectReplaceElems(elems[i]);
  }
}

function simulSelectOn() {
  this.firstChild.firstChild.src = this.firstChild.firstChild.src.replace('_off','_on');
  var elems = this.getElementsByTagName('a');
  for (z=0;z<elems.length;z++) {
    elems[z].className = '';
  }
}
function simulSelectOff() {
  this.firstChild.firstChild.src = this.firstChild.firstChild.src.replace('_on','_off');
  var elems = this.getElementsByTagName('a');
  for (z=0;z<elems.length;z++) {
    elems[z].className = 'hidden';
  }
}
function simulSelectLinkTransform(elemFrom) {
  elemFrom.className = 'simul-select';
  elemFrom.onmouseover = simulSelectOn;
  elemFrom.onmouseout = simulSelectOff;
  var elemsInFrom = elemFrom.getElementsByTagName('a');
  for (z=0;z<elemsInFrom.length;z++) {
    elemsInFrom[z].className = 'hidden';
  }
}

// functions for map in contacts

function contactmapAreaActionOn(pos) {
  contactmap.firstChild.src = REL_LINK+'images_map/d1_'+pos+'_'+JAZYK+'.gif';
}

function contactmapAreaActionOff() {
  contactmap.firstChild.src = REL_LINK+'images_map/free.gif';
}

function contactmapListActionOn() {
  contactmap.firstChild.src = REL_LINK+'images_map/d1_'+positionInChildren(this.parentNode)+'_'+JAZYK+'.gif';
}

function contactmapListActionOff() {
  contactmap.firstChild.src = REL_LINK+'images_map/free.gif';
}

function contactmapListActionGener(elemFrom) {
  var lines = elemFrom.childNodes;
  for (z=0;z<lines.length;z++) {
    lines[z].firstChild.onmouseover = contactmapListActionOn;
    lines[z].firstChild.onmouseout = contactmapListActionOff;
  }
}

//

function winOpen(soub,w,h)
{
  var start=window.open(soub,'open','width='+ w +',height=' + h +',top=10,left=10');
	start.focus();
}

function strom_mouseOver(elem) {
  if (elem.className != 'active' && elem.parentNode.parentNode.className == 'tree-level-1') {
    elem.className = 'over';
  }
}

function strom_mouseOut(elem) {
  if (elem.className != 'active' && elem.parentNode.parentNode.className == 'tree-level-1') {
    elem.className = '';
  }
}

// functions for color replacing

function convertdectohex(number) {
  var t1 = Math.floor(number/16);
  var t2 = (number%16);
  var st1 = '';
  var st2 = '';
  if (t1>9) {
    switch (t1) {
      case 10: st1 = 'A'; break;
      case 11: st1 = 'B'; break;
      case 12: st1 = 'C'; break;
      case 13: st1 = 'D'; break;
      case 14: st1 = 'E'; break;
      case 15: st1 = 'F'; break;
    }
  } else {
    st1 = t1;
  }
  if (t2>9) {
    switch (t2) {
      case 10: st2 = 'A'; break;
      case 11: st2 = 'B'; break;
      case 12: st2 = 'C'; break;
      case 13: st2 = 'D'; break;
      case 14: st2 = 'E'; break;
      case 15: st2 = 'F'; break;
    }
  } else {
    st2 = t2;
  }
  var out1 = new String(st1);
  var out2 = new String(st2);
  var out = new String(out1+out2);
  return out;
}

function converthextodec(number) {
  var regnumber = '^[0-9]{1}$';
  var st1 = number.substr(0,1);
  var st2 = number.substr(1,1);
  var t1 = 0;
  var t2 = 0;
  if (st1.match(regnumber)) {
    t1 = 16*st1;
  } else {
    switch (st1) {
      case 'A': t1 = 10; break;
      case 'B': t1 = 11; break;
      case 'C': t1 = 12; break;
      case 'D': t1 = 13; break;
      case 'E': t1 = 14; break;
      case 'F': t1 = 15; break;
    }
    t1 = 16*t1;
  }
  if (st2.match(regnumber)) {
    t2 = 1*st2;
  } else {
    switch (st2) {
      case 'A': t2 = 10; break;
      case 'B': t2 = 11; break;
      case 'C': t2 = 12; break;
      case 'D': t2 = 13; break;
      case 'E': t2 = 14; break;
      case 'F': t2 = 15; break;
    }
    t2 = 1*t2;
  }
  return (t1+t2);
}

// functions for smallBlockSwap

function calculateColor(myobj) {
  var rgb = '#';
  var full = Array(0,0,0);
  for (var i=0;i<3;i++) {
    if (myobj.direction=='-') {
      if (myobj.colorActual[i]>myobj.color2[i]) {
        myobj.colorActual[i] = myobj.colorActual[i]-myobj.step;
      } else {
        full[i] = 1;
      }
    }
    if (myobj.direction=='+') {
      if (myobj.colorActual[i]<myobj.color1[i]) {
        myobj.colorActual[i] = myobj.colorActual[i]+myobj.step;
      } else {
        full[i] = 1;
      }
    }
    rgb += convertdectohex(myobj.colorActual[i]);
  }
  if (full[0]==1&&full[1]==1&&full[2]==1) {
    myobj.full = 1;
  }
  return rgb;
}

function smallBlockSwapFlipping(myobj) {
  var elemBlock = document.getElementById(myobj.elemName);
  if (!elemBlock) return false;
  elemBlock.style.color = calculateColor(myobj);
  if (myobj.full==1 && myobj.direction=='+') {
    myobj.full = 0;
    myobj.direction = '-';
    clearInterval(myobj.timer);
    myobj.timer = setInterval("smallBlockSwapFlippingStart("+myobj.name+")",myobj.wait);
  }
  if (myobj.full==1 && myobj.direction=='-') {
    myobj.full = 0;
    myobj.direction = '+';
    myobj.textActual++;
    if (myobj.textActual>=myobj.texts.length) {
      myobj.textActual = 0;
    }
    if (myobj.texts[myobj.textActual]) {
      elemBlock.innerHTML = myobj.texts[myobj.textActual];
    }
    clearInterval(myobj.timer);
    myobj.timer = setInterval("smallBlockSwapFlipping("+myobj.name+")",myobj.speed);
  }
}

function smallBlockSwapFlippingStart(myobj) {
  clearInterval(myobj.timer);
  myobj.timer = setInterval("smallBlockSwapFlipping("+myobj.name+")",myobj.speed);
  myobj.direction = '-';
}

//

function searchElemRatioResize() { // nepouzito
  var topsearch = document.getElementById('topsearch');
  var elems = topsearch.childNodes;
  for (var i=0;i<elems.length;i++) {
    if (elems[i].className=='formtext') var input1 = elems[i];
    if (elems[i].className=='button') var input2 = elems[i];
  }
  input1.style.width = (181-input2.offsetWidth)+'px';
}

function nastavDatum(element,typ,dat,den,text,textElement)
{
	var obj = document.getElementById(element);
	var datFirst = document.getElementById(element).value;
	if(datFirst=='')
	{
		var date = new Date();
		datFirst = date.getDate() + '.' + parsujMesicZDatumu(date) + '.' + date.getFullYear();
	} 
	var datum = '';
	switch(typ)
	{
		case 'rok' :
			var mesic = datFirst.substring(3,5);
			datum = den + '.' + mesic + '.' + dat;
			document.getElementById(textElement).innerHTML = text;
			break;
		case 'mesic' :
			var rok = datFirst.substring(6,10);
			datum = den + '.' + dat + '.' + rok;
			document.getElementById(textElement).innerHTML = text;
			break;
	}
	obj.value = datum;
}

function parsujMesicZDatumu(date)
{
	var mesic = date.getMonth();
	mesic++;
	if(mesic<10)
	{
		mesic = '0' + mesic;
	}
	return mesic;
}


