/* -----------------------------------------------------------------------------
    @AUTHOR:  Zdenek Benak, zdenek.benak@centrum.cz
    @YEAR:    2006
    @PROJECT: MAppEngine
    @FILE:    inc/m_string.php
    @DESCR:   funkce pro praci s retezci
 * -------------------------------------------------------------------------- */

// ---------------------- prevede nepovolene znaky v URL -----------------------

  function UrlEncode(str)
  {
    var hex_tab = "0123456789ABCDEF", result = "", ascii_tab = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ";
    for (var i=0; i<str.length; i++)
    {
      var chr = str.charAt(i), ord = ascii_tab.indexOf(chr)+32;
      if (ord==32) result += "+";
      else if  (((ord>47)&&(ord<58))||((ord>64)&&(ord<91))||((ord>95)&&(ord<122))||(chr==".")||(chr=="/")) result += chr; else result += "%"+hex_tab.charAt(Math.floor(ord/16))+hex_tab.charAt(ord%16);
    }
    return result;
  }
  
// --------------------------- nacte parametr z URL ----------------------------

  function GetParam(param_name,default_value,search_str)
  {

    if(!search_str) search_str = self.top.document.location.search.substr(1).replace("%20", " ");
    
    params = search_str.split("&");

    for (i=0;i<params.length;i++)
    {
      p = params[i].split("=");
      if (p.length>=2)
      {
        if (p[0]==param_name)
        {
          pstr = p[1];
          for (i=2;i<p.length;i++) pstr += ("="+p[i]);
          return pstr;
        }
      }
    }
    
    return default_value;
    
  }
  
// ----------------------- generovani safe url z textu -------------------------

  function CreateURLIdFromCaption(caption_text)
  {
    caption_text = str_replace("_","-",caption_text);
    caption_text = str_replace(" ","-",caption_text);
    caption_text = str_replace(" & "," a ",caption_text);
    caption_text = str_replace("&"," a ",caption_text);
    caption_text = str_replace("?","",caption_text);
    caption_text = str_replace(".","-",caption_text);
    caption_text = str_replace("!","",caption_text);
    caption_text = str_replace("#","",caption_text);
    caption_text = str_replace("/","-",caption_text);
    caption_text = str_replace("+","-",caption_text);
    caption_text = str_replace(",","-",caption_text);
    caption_text = str_replace(";","-",caption_text);
    caption_text = str_replace(":","-",caption_text);
    caption_text = str_replace("","-",caption_text);
    caption_text = str_replace("---","-",caption_text);
    caption_text = str_replace("--","-",caption_text);
    caption_text = caption_text.toLowerCase();
    caption_text = RemoveDiacritics(caption_text);

    return caption_text;
  }
  
// ------------------------------ str_replace ----------------------------------

  function str_replace(needle, needle2, haystack)
  {
    var arr = haystack.split(needle);
    var str = arr.length>0?arr[0]:"";
    for (var i=1; i<arr.length; i++) str += needle2+arr[i];
    return str;
  }

// --------------------------- odstrann diakritiky ---------------------------

  function RemoveDiacritics(str)
  {
    var source_chars = "̊؎ϝ";
    var dest_chars   = "escrzyaieouuEESCRZYAIEOUUdDtTnN";

    for (i=0;i<source_chars.length;i++)
    {
    str = str_replace(source_chars.charAt(i),dest_chars.charAt(i),str);
    }

    return str;
  }
