//common

//pics what need to predownloaded
var pics_common = new Array(2);
pics_common['hledat-on'] = new Image();
pics_common['hledat-on'].src = "pics/web/button-search-on.png";
pics_common['hledat-off'] = new Image();
pics_common['hledat-off'].src = "pics/web/button-search-off.png";

/** set tag's property disabled to false, to editable input
 *@param element
 */
function accessBrowse(checkbox, id){
  var element = document.getElementById(id);
  if(element){
    if(checkbox.checked) element.disabled = false;
      else element.disabled = true;
  }
  return;
}

/** show confirm window
 *@param url - next location
 *@param text - text in window
 */
function confirmOperation(url, text){
  go = window.confirm(text);
  if(go) location.href = url;
  return;
}

function check_checkbox(id, mod){
  var ch = document.getElementById(id);
  switch(mod){
    case 0:  if(ch) ch.checked = !ch.checked; break; //invert value
    case 1:  if(ch) ch.checked = true; break; // checked always
    case 2:  if(ch) ch.checked = false; break; // unchecked always
    default :  if(ch) ch.checked = !ch.checked;
  }
  return;
}

function getEuro(kc, kurs){
  kc = kc.replace(" ","");
  var reg = new RegExp("^[0-9]+$");
  var euro = 0;
  if(!reg.test(kc)){
    alert("Cena obsahuje nepovolené znaky.");
  }else euro = kurs ? Math.round(kc / kurs) : 0;

  return euro;
}

/** change class of itself, it doesn't matter of element ID
 *@param elem - element
 *param newclass - required class for change
 */
function classChangeSelf(elem, newclass){
  elem.className = newclass;
}

/** e-mail control
 *@param email - input element
 *param alert_msg - alerting message
 */
function kontrola_emailu(email, alert_msg){
  if(window.RegExp){
    maska = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
    if(email){
      if (!maska.test(email.value)){
        if(alert_msg != ''){
          window.alert(alert_msg);
          email.focus();
        }
        return false;
      }else return true;
    }else return true;
  }else return true;
}

//image functions
/**show only image
 *@param text - headline
 *@param src
 *@param x
 *@param y
 */
function showImg(id, x, y){
  //window.open('fotografie.php?id=' + id + '&amp;x=' + x + '&amp;y=' + y + '','picture','width=' +  (x + 30) + ',height= ' + (y + 200) + ',left=50,top=50,screenX=0,screenY=100,resizable=yes,scrollbars=yes');
  window.open('fotografie.php?id=' + id + '&amp;x=' + x + '&amp;y=' + y + '','picture','width=' +  (x + 20) + ',height= ' + (y + 200) + ',left=50,top=50,screenX=0,screenY=100,resizable=yes');
}

//image functions
/**show only image
 *@param text - headline
 *@param src
 *@param x
 *@param y
 */
function showImg(fid, gid, x, y){
  window.open('fotografie.php?fid=' + fid + '&amp;gid=' + gid + '','picture','width=' + x + ',height=' + y + ',left=0,top=100,screenX=0,screenY=100,resizable=no');
}

//info function
/**show firm detail
 *@param id -  id firmy
 */
function showInfoFirmy(fid){
  window.open('policko-detail-firmy.php?fid=' + fid ,'info', 'width=400px,height=300px,left=0,top=100,screenX=0,screenY=100,resizable=no');
}

function hideShowClanek(id){
  var elem = document.getElementById(id);
  if(elem){
    elem.style.display = (elem.style.display == 'none') ? 'block' : 'none';
  }

  return;
}

function setDefault(object, defaultValue){
  if(object.value == defaultValue) object.value = "";
  return;
}

function limitText(limitField, limitNum){
  if(limitField.value.length > limitNum){
    limitField.value = limitField.value.substring(0, limitNum);
  }
  if(getCountChars(limitField.value, '\n') > 8){
    limitField.value = limitField.value.substring(0, limitField.value.length - 2);
  } 
}

function getCountChars(str, znak){
  var max = str.length;
  var pointer = 0;
  var num = 0;

  while(pointer < max -1){
    if((pointer = str.indexOf(znak)) != -1){
      num++;
      str = str.substr(pointer+1, max);
    }else pointer = max;
  }

  return num;
}
