// menu

function show(obj){
  ul = obj.childNodes[2];
  ul.style.visibility='visible';
  ul.onmouseout = function(){this.style.visibility='hidden';};
  obj.onmouseout = function(){this.childNodes[2].style.visibility='hidden';};
}



//------------------------------------------------------------------------------
// cleary inputů

function clearField(obj, str){
  if(obj.value == str) obj.value='';
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages(img, source) {
		getObj(img).src = source;
}



// --------------------------

function wrong_mail_address(adresa){
  var re = /^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$/;
  return re.test(adresa) == 0;
}

function getObj(id){
   if(Boolean(document.getElementById))
      return document.getElementById(id);
   else if(Boolean(document.all))
      return eval('document.all.'+id);
   else
      return eval('document.'+id);
}



//-----------------------------------------------------------------------------
// kontrola formulare (inputy oznacene rel="required")

var styleNormal='btn';
var styleDisabled='btn-dis';

function validateForm(form, relValue){
  var submit;
  var dis=false;
  var inputs = form.getElementsByTagName('input');
  for(var i=0; i < inputs.length; i++) {
    if(inputs[i].type=='submit') submit=inputs[i];
    if(inputs[i].getAttribute('rel')==relValue){
      if(inputs[i].value==''){
        dis=true;
      }
      if(inputs[i].type == 'checkbox' && inputs[i].checked == false){
          dis=true;
      }
    } 
  }

  inputs = form.getElementsByTagName('textarea');
  for(i=0; i < inputs.length; i++) {
    if(inputs[i].getAttribute('rel')=='required'){
      if(inputs[i].value==''){
        dis=true;
      }
    }
  }
  
  submit.disabled=dis;
  if(dis) 
    submit.className=styleDisabled;
  else
    submit.className=styleNormal;
}


function send_xmlhttprequest(obsluha, method, url, content, headers) {
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp) {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function() {
        obsluha(xmlhttp);
    };
    if (headers) {
        for (var key in headers) {
            xmlhttp.setRequestHeader(key, headers[key]);
        }
    }
    xmlhttp.send(content);
    return true;
}

//-----------------------------------------------------------------------------
// kontrola formulare (inputy oznacene rel="required")

var styleNormal='btn';
var styleDisabled='btn-dis';

function validateReservation(form){
  
  if(form.res_count.value == '' || 
     (form.email.value != '' && wrong_mail_address(form.email.value)) ||
     form.name.value == '') dis = true;
  else dis = false;  
  
  form.reservation_submit.disabled=dis;
  if(dis) 
    form.reservation_submit.className=styleDisabled;
  else
    form.reservation_submit.className=styleNormal;
}


//------------------------------------------------------------------------------
// zobrazeni hlasky o vyprodanem predstaveni a skryti formu

function updateForm(){
  var programID = getObj('programID').value;
  var form = getObj('form');
  var sellout = getObj('sellout');
  
  if(programID != '0'){
    form.style.display = 'block';
    sellout.style.display = 'none';
  }
  else{
    form.style.display = 'none';
    sellout.style.display = 'block';
  }
  validateForm($('ad_form'),'required');
}

//------------------------------------------------------------------------------
// prepinani sheetu

function sheet(id){
  var sheets = getElementsByClassName('tabs-div');
  for(var i = 0; i<sheets.length; i++){
    if(sheets[i].id == id){
      sheets[i].style.display = 'block';
      getObj('tab-'+sheets[i].id).className = 'active';  
    }
    else{
      sheets[i].style.display = 'none';
      getObj('tab-'+sheets[i].id).className = ''; 
    }
  }
}

//------------------------------------------------------------------------------
// getElementsByClassName

function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
  var arrClass = strClass.split(delim);
  for (var i = 0, j = objColl.length; i < j; i++) {
    var arrObjClass = objColl[i].className.split(' ');
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]);
          break comparisonLoop;
        }
      }
    }
  }
  return arr;
}

function showDescription(btn, id){
    $('desc_'+id).style.display = 'table-row';
    btn.innerHTML = 'skrýt zadání';
    btn.onclick = function(){hideDescription(btn, id);};
}

function hideDescription(btn, id){
    $('desc_'+id).style.display = 'none';
    btn.innerHTML = 'zobrazit zadání';
    btn.onclick = function(){showDescription(btn, id);};
}


function confirmAction(task, query){
  if(confirm(task)){
      location.href=query;
  }
}

function showProjectDetail(projectID, complete, lang){
    showLoader();
    send_xmlhttprequest(displayProjectDetailModal, 'GET', '/inc/get_project_details.php?project_id='+projectID+'&lang='+lang+'&complete='+complete);
}

function displayProjectDetailModal(xmlhttp){
    if(xmlhttp.readyState == 4) {
        
        hideLoader();
        data = eval(xmlhttp.responseText);
        buildModalWindow(data[0], data[1]);
    }
}

function showLoader(){
    loader = document.createElement('div');
    loader.setAttribute('id', 'loader');
    document.body.appendChild(loader);
}

function hideLoader(){
    $('loader').remove();
}

function centerWindow(element) {
     if(element != null) {
          if(typeof window.innerHeight != 'undefined') {
              element.style.top =
                    Math.round(document.viewport.getScrollOffsets().top +
                    ((window.innerHeight - element.getHeight()))/2)+'px';
               element.style.left =
                    Math.round(document.viewport.getScrollOffsets().left +
                    ((window.innerWidth - element.getWidth()))/2)+'px';
          } else {
               element.style.top =
                    Math.round(document.body.scrollTop +
                    (($$('body')[0].clientHeight -element.getHeight()))/2)+'px';
               element.style.left =
                    Math.round(document.body.scrollLeft +
                    (($$('body')[0].clientWidth - element.getWidth()))/2)+'px';
          }
     }
}

function buildModalWindow(head, text){
    modal = Builder.node('div', {id: 'modal'});
    modal.style.display = 'none';

    modal.closer = Builder.node('a', {id: 'modalClose'});
    modal.appendChild(modal.closer);
    modal.closer.onclick = closeModalWindow;

    modal.header = Builder.node('div', {id: 'modalHeader'});
    modal.appendChild(modal.header);
    modal.header.innerHTML = head;

    modal.content = Builder.node('div', {id: 'modalContent'});
    modal.appendChild(modal.content);
    modal.content.innerHTML = text;

    document.body.appendChild(modal);
    centerWindow(modal);

    overlay = Builder.node('div', {id: 'ov'});
    overlay.style.display = 'none';
    document.body.appendChild(overlay);

    overlay.appear({duration: 0.5, from: 0, to: 0.3});
    modal.appear({duration: 0.5, from: 0, to: 1});

    return modal;
}

function closeModalWindow(){
    $('modal').remove();
    $('ov').remove();
}


function addFileField(){
    //$('file_fields').innerHTML += '<p>&nbsp; <input type="file" name="attachment_' + uid() + '" /></p>';
    var newP = document.createElement('p');
    var newInp = document.createElement('input');
    newInp.setAttribute('type', 'file');
    newInp.setAttribute('name', 'attachment[]');
    newP.innerHTML = '&nbsp;';
    newP.appendChild(newInp);
    $('file_fields').appendChild(newP);
}

function showAnswerForm(){
    Effect.SlideDown('answer_form', { duration: 0.5 });
    Effect.Fade('answer_btn', { duration: 0.5 });
}


function updateForm(){
        var adType = 0;
        if($('ad_type_input_0').checked) adType = 0;
        if($('ad_type_input_1').checked) adType = 1;
        if($('ad_type_input_2').checked) adType = 2;

        switch(adType){
            case 0 : $('hledam').style.display = 'block';
                     $('target_0').style.display = 'inline';
                     $('target_1').style.display = 'none';
                     $('nabizim').style.display = 'none';
                     break;
            case 1 : $('hledam').style.display = 'block';
                     $('target_0').style.display = 'none';
                     $('target_1').style.display = 'inline';
                     $('nabizim').style.display = 'none';
                     break;
            case 2 : $('hledam').style.display = 'none';
                     $('nabizim').style.display = 'block';
                     if($('sub_target_0').checked){
                         $('target_2').disabled = false;
                         $('target_3').disabled = true;
                     }
                     else{
                         $('target_2').disabled = true;
                         $('target_3').disabled = false;
                     }
                     break;
        }


    }

    function updateFilter(inp){
        if(inp.checked && inp.value == 0){
            $('hledam0').style.display = 'block';
            $('hledam1').style.display = 'none';
        }
        else{
            $('hledam1').style.display = 'block';
            $('hledam0').style.display = 'none';
        }
    }