// #####################################################################
// ###### Všetky práva vyhradené © Mojelinky.com - Online záložky ######
// #####################################################################

var name_running = false;
var desc_running = false;

function createRequestObject() {
  var object;
  var browser = navigator.appName;
  if(browser == "Microsoft Internet Explorer"){
    object = new ActiveXObject("Msxml2.XMLHTTP");
    if(object == null) {
      object = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  else {
    object = new XMLHttpRequest();
  }
  if(object == null) {
    return false;
  }
  else {
    return object;
  }
}

var http = createRequestObject();

function requestVerify(action, param1, param2) {
  http.abort();
  http.open('get', baseurl+'/ajax/ajax.php?action='+action+'&param1='+param1+'&param2='+param2);
  http.onreadystatechange = function() {
    if(http.readyState == 4 && http.responseText != 'null') {
      wizard.innerHTML = http.responseText;
      countdown();
    }
  }
  http.send(null);
}

function requestFavicon(url, design, mx_text) {
  if (url != 'http://' && url != '') {
    http.abort();
    execute = document.getElementById('favicon');
    http.open('get', baseurl+'/ajax/ajax.php?action=get_favicon&param1='+url);
    execute.innerHTML = '<span class="spannt">'+mx_text+'</span><br><img src="'+baseurl+'/bilder/icons/load-'+design+'.gif">';
    http.onreadystatechange = function() {
      if(http.readyState == 4) {
        execute.innerHTML = http.responseText;
      }
    }
    http.send(null);
  }
}

function requestBookmarks(action, folderid, expand, design, mx_text) {
  http.abort();
  execute = document.getElementById('ml_frame_right');
  http.open('get', baseurl+'/ajax/ajax.php?action='+action+'&param1='+folderid+'&param2='+expand);
  execute.innerHTML = '<span class="spannt">'+mx_text+'</span><br><img src="'+baseurl+'/bilder/icons/load-'+design+'.gif">';
  http.onreadystatechange = function() { 
    if(http.readyState == 4) {
      execute.innerHTML = http.responseText;
    }
  }
  http.send(null);
}

function requestSearchBookmarks(action, search, title, url, desc, design, mx_text) {
  param2 = (title.checked) ? 'Y' : 'N';
  param2 += (url.checked) ? 'Y' : 'N';
  param2 += (desc.checked) ? 'Y' : 'N';
  http.abort();
  execute = document.getElementById('ml_frame_right');
  http.open('get', baseurl+'/ajax/ajax.php?action='+action+'&param1='+search+'&param2='+param2);
  execute.innerHTML = '<span class="spannt">'+mx_text+'</span><br><img src="'+baseurl+'/bilder/icons/load-'+design+'.gif">';
  http.onreadystatechange = function() {
    if(http.readyState == 4) {
      if (http.responseText.substr(0, 18) == '<div class="wizard') {
        execute.innerHTML = '';
        wizard.innerHTML = http.responseText;
        countdown();
      }
      else {
        execute.innerHTML = http.responseText;
      }
    }
  }
  http.send(null);
}

function requestEntires(action, mx_fill_in_address, mx_loading) {
  url = document.getElementById('new_bmk_url').value;
  result = (action == 'get_name') ? document.getElementById('name_result_info') : document.getElementById('desc_result_info');
  max_length = (action == 'get_name') ? 70 : 250;
  if (url == 'http://' || url == '') {
    result.innerHTML = mx_fill_in_address;
  }
  else {
    result.innerHTML = mx_loading;
    if (action == 'get_name')
      getName(url, result, max_length);
    else if (action == 'get_description')
      getDescription(url, result, max_length);
  }
}

function getName(url, result, max_length) {
  koma_name = 0;
  koma_diw_name = document.getElementById('koma_effect_name');
  if (name_running) {
    clearTimeout(timeout_name);
  }
  komaEffector('koma_effect_name');
  http2 = createRequestObject();
  http2.open('get', baseurl+'/ajax/ajax.php?action=get_name&param1='+url);
  http2.onreadystatechange = function() {
    if(http2.readyState == 4) {
      if (http2.responseText.substr(0, 1) == ' ') {
        clearTimeout(timeout_name);
        koma_diw_name.innerHTML = '';
        result.innerHTML = http2.responseText;
      }
      else {
        clearTimeout(timeout_name);
        koma_diw_name.innerHTML = '';
        result.innerHTML = '';
        document.getElementById('new_bmk_name').value = trimLong(max_length, http2.responseText);
      }
    }
  }
  http2.send(null);
}

function getDescription(url, result, max_length) {
  koma_desc = 0;
  koma_diw_desc = document.getElementById('koma_effect_desc');
  if (desc_running) {
    clearTimeout(timeout_desc);
  }
  komaEffector('koma_effect_desc');
  http3 = createRequestObject();
  http3.open('get', baseurl+'/ajax/ajax.php?action=get_description&param1='+url);
  http3.onreadystatechange = function() {
    if(http3.readyState == 4) {
      if (http3.responseText.substr(0, 1) == ' ') {
        clearTimeout(timeout_desc);
        koma_diw_desc.innerHTML = '';
        result.innerHTML = http3.responseText;
      }
      else {
        clearTimeout(timeout_desc);
        koma_diw_desc.innerHTML = '';
        result.innerHTML = '';
        document.getElementById('new_bmk_desc').value = trimLong(max_length, http3.responseText);
      }
    }
  }
  http3.send(null);
}

function trimLong(max, text) {
  if (text.length < max) {
    return text;
  }
  else {
    text = text.substr(0, max - 3);
    return text+'...';
  }
}

function komaEffector(effectdiv) {
  if (effectdiv == 'koma_effect_name') {
    koma_name++;
    koma_name = (koma_name == 4) ? 0 : koma_name;
    writeKoma(effectdiv, koma_name);
    timeout_name = setTimeout('komaEffector("koma_effect_name");', 600);
    name_running = true;
  }
  else if (effectdiv == 'koma_effect_desc') {
    koma_desc++;
    koma_desc = (koma_desc == 4) ? 0 : koma_desc;
    writeKoma(effectdiv, koma_desc);
    timeout_desc = setTimeout('komaEffector("koma_effect_desc");', 600);
    desc_running = true;
  }
}

function writeKoma(diw, count) {
  diw = document.getElementById(diw);
  if (count == 0)
    diw.innerHTML = '';
  else if (count == 1)
    diw.innerHTML = '.';
  else if (count == 2)
    diw.innerHTML = '..';
  else if (count == 3)
    diw.innerHTML = '...';
}
