/*
 * Trida pro praci s premennymi bannery
 * 4 obrazky v banneru se meni
 */

var http_request = false;

function createRequest(method, url, parameters, callback) // request
{
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    return false;
  }

  http_request.onreadystatechange = callback;
  http_request.open(method, url + parameters, true);
}

function bannerChange(idA, idB, i, k)
{
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {

      i = (Number(i)-9);
      k = (Number(k)+9);

      setOpacity(idA, i);
      setOpacity(idB, k);

      if(i>0){
        setTimeout("bannerChange('" +idA+ "', '" +idB+ "', '" +i+ "', '" +k+ "')", 50);
      } else {
        if((getOpacity(idA) == 0)&&(getOpacity(idB) == 0)){
          //alert('err');
        } else if((getOpacity(idA) <= 0)&&(getOpacity(idB) > 0)){
          document.getElementById(idA).src = http_request.responseText;
        } else if((getOpacity(idB) <= 0)&&(getOpacity(idA) > 0)){
          document.getElementById(idB).src = http_request.responseText;
        }


        var time = ((Math.ceil(Math.random()*4)+0) * 1000);
       var bannerNr = Math.ceil(Math.random()*4);
       var opacityA = getOpacity('banner' +bannerNr+ 'a');
       var opacityB = getOpacity('banner' +bannerNr+ 'b');

       if((opacityA==0)&&(opacityB==1)){
         window.setTimeout("changeSrc('banner" +bannerNr+ "b', 'banner" +bannerNr+ "a')", time);
       } else if((opacityA==1)&&(opacityB==0)){
         window.setTimeout("changeSrc('banner" +bannerNr+ "a', 'banner" +bannerNr+ "b')", time);
       } else {
         window.setTimeout("changeSrc('banner" +bannerNr+ "a', 'banner" +bannerNr+ "b')", time);
       }
      }
    }
  }
}


function setOpacity(id, opacity){

  var obj = document.getElementById(id);
  /*
  element.style.filter="alpha(opacity='" + i + "')";
  element.style.opacity = (i/100);
  */
  opacity = (opacity == 100)?99.999:opacity;

  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";

  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;

  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;

  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function getOpacity(id){
  var element = document.getElementById(id);
  if(!element.style.opacity){
    return 0;
  } else if(element.style.opacity<0) {
    return 0;
  } else if (element.style.opacity>1){
    return 1;
  } else {
    return element.style.opacity;
  }
}


function changeSrc(idA, idB)
{
  createRequest('GET', 'banner.inc.php', '?getImage=1', function () {bannerChange(idA, idB, '100', '0');});
  http_request.send(null);

}


/********** START *************/

function start(){
  var time = ((Math.ceil(Math.random()*2)+1) * 1000);
  var bannerNr = Math.ceil(Math.random()*4);
  window.setTimeout("changeSrc('banner" +bannerNr+ "a', 'banner" +bannerNr+ "b')", time);

}

function getActiveImageName(id){
  if(getOpacity(id+'a') == 0){
    return document.getElementById(id+'a').src;
  } else {
    return document.getElementById(id+'b').src;
  }
}


function switchWindow(path){

  createRequest('GET', 'banner.inc.php', '?path='+path, function () {switchWindowCall();});
  http_request.send(null);

}

function switchWindowCall(){
  if (http_request.readyState == 4) {
    if (http_request.status == 200) {
      //window.location.href=http_request.responseText;
      window.open(http_request.responseText, '_self');
    }
  }
}