String.prototype.trim = function() 
{
   return this.replace(new RegExp("^[\\s]+","g"),"").replace(new RegExp("[\\s]+$","g"),"");
}

String.prototype.diacritical = function ()
{
  var str=this.toUpperCase();
  var diacritics =[
    /[\u00c0-\u00c6\u0100\u0102\u0104]/g, /[\u00e0-\u00e6\u0101\u0103\u0105]/g, // A, a
    /[\u00c8-\u00cb\u0112\u0114\u0116\u0118\u011A]/g, /[\u00e8-\u00eb\u0113\u0115\u0117\u0119\u011B]/g, // E, e
    /[\u00cc-\u00cf]/g, /[\u00ec-\u00ef]/g, // I, i
    /[\u00d2-\u00d6]/g, /[\u00f2-\u00f8]/g, // O, o
    /[\u00d9-\u00dc]/g, /[\u00f9-\u00fc]/g,  // U, u
    /[\u00d1\u0143\u0145\u0147\u014A]/g, /[\u00f1\u0144\u0146\u0148\u0149\u014B]/g, // N, n
    /[\u00c7\u0106\u0108\u010A\u010C]/g, /[\u00e7\u0107\u0109\u010B\u010D]/g, // C, c
    /[\u015A\u015C\u015E\u0160]/g, /[\u015B\u015D\u015F\u0161]/g, // S, s
    /[\u0141]/g, /[\u0142]/g, // L, l
    /[\u0179\u017B\u017D]/g, /[\u017A\u017C\u017E]/g // Z, z
  ];

  var chars = ['A','a','E','e','I','i','O','o','U','u','N','n','C','c','S','s','L','l','Z','z'];

  for (var i = 0; i < diacritics.length; i++)
  {
    str = str.replace(diacritics[i],chars[i]);
  }
  return str;
}


Number.prototype.fmt = function(rnd, r_cnt, dot)
{
  if (typeof(rnd)=='undefined'||rnd=='') rnd=false;
  var x_number = this;

  if (rnd!==false)
  {
    with(Math) x_number = round(~~x_number*(i=pow(10,rnd)))/i+(rnd>0?'.'+(i=''+round(x_number*i)).slice(i.length-rnd):'');
  }
  
  if (typeof(r_cnt)=='undefined'||r_cnt=='') r_cnt=false;
  if (typeof(dot)=='undefined'||dot=='') dot='.';
  
  if (r_cnt!==false)
  {
    var xx=x_number.toString();
    var re = new RegExp(/([+-]{0,})[ ]{0,}([0-9]+)(?:\.([0-9]+)|)/ig);
    var re1 = new RegExp("([0-9]{1,"+r_cnt+"})","ig");
    var tmp01='';
    var tmp02='';

    var xx1='';
    var xx2='';

    var res=new Array();
    if ((tmp01= re.exec(xx))!==null)
    {
      for (var i=(tmp01[2].length)-1;i>=0;i--) xx1+=tmp01[2].charAt(i);

      while ((tmp02= re1.exec(xx1))!==null) res[res.length]=tmp02[1];

      xx1='';
      xx2=res.join(' ');
      for (var i=(xx2.length)-1;i>=0;i--) xx1+=xx2.charAt(i);

      xx2='';

      if (rnd!==false&&typeof(tmp01[3])!='undefined')
      {
        xx2=tmp01[3];
        if (xx2.length<rnd) 
          for (var i=xx2.length;i<rnd+1;i++) xx2+='0';
        xx2=dot+xx2;
      }


      return tmp01[1]+xx1+xx2;
    }
  }
  return x_number;
}

Array.prototype.inArray = function(needle) {
  for(var key in this) if(this[key]===needle) return true;
  return false
}




function $(id)
{
  return document.getElementById(id);
}

function setCookie(name, value, expires, path, domain, secure)
{
   var curCookie = name + "=" + escape(value) +
       ((expires) ? "; expires=" + expires.toGMTString() : "") +
       ((path) ? "; path=" + path : "") +
       ((domain) ? "; domain=" + domain : "") +
       ((secure) ? "; secure" : "");
   document.cookie = curCookie;
}

function getCookie(name)
{
   var dc = document.cookie;
   var prefix = name + "=";
   var begin = dc.indexOf("; " + prefix);
   if (begin == -1)
   {
      begin = dc.indexOf(prefix);
      if (begin != 0)
         return null;
   }else
      begin += 2;
      var end = document.cookie.indexOf(";", begin);
      if (end == -1)
         end = dc.length;
   return unescape(dc.substring(begin + prefix.length, end));
}

function scrollToo(pos)
{
  var win = window;

  if (win.document.compatMode && win.document.compatMode == "CSS1Compat")
  {
    var xobj = win.document.documentElement;
  }
  else if(typeof win.pageXOffset != 'undefined')
  {
    var xobj = win.document.getElementsByTagName('body').item(0);
  }
  else
  {
    var xobj = win.document.body;
  }
  xobj.scrollTop=pos;
}

function checkFormInput(el)
{
  if (el)
  {
    if (el.value.trim().length==0)
    {
      el.className='input err';
      return false;
    }
  }
  else
  {
    return false;
  }
  el.className='input';
  return true;
}

function checkFormInt(el)
{
  if (el)
  {
    if (isNaN(parseInt(el.value.trim()))||parseInt(el.value.trim())==0||el.value.trim().length==0)
    {
      return false;
    }
  }
  else
  {
    return false;
  }
  return true;
}

