/**********************************************
* Script:       JS Simple Library             *
* Version:      0.3                           *
* Date:         04.06.2004                    *
* License:      Comersial                     *
*                                             *
* Autor:        Boris Belenski                *
* Email:        b_belenski[at]hotmail[com]com *
**********************************************/

// -= Object =-

function getImage(_id) { return isBr.dom?document.getElementById(_id):isBr.ns4?document.images[_id]:isBr.ie4?document.all[_id]:0; }
function getLink(_id) { return isBr.dom?document.getElementById(_id):isBr.ns4?document.links[_id]:isBr.ie4?document.all[_id]:0; }
function getLayer(_id,_d) { if(isBr.dom) return document.getElementById(_id); if(isBr.ie) return document.all[_id]; if(isBr.ns4) { _d=(!_d)?(document.layers):(_d.layers); _o = 0; for(_i = 0;_i < _d.length;_i++) { if(_d[_id]) return _d[_id]; if(_d.length > 0) { _o = getLayer(_id,_d[_i]); if(_o) return _o; }}} return 0; }
function getLayerS(_id,_d) { if(isBr.dom) return document.getElementById(_id).style; if(isBr.ie) return document.all[_id].style; if(isBr.ns4) { _d=(!_d)?(document.layers):(_d.layers); _o = 0; for(_i = 0;_i < _d.length;_i++) { if(_d[_id]) return _d[_id]; if(_d.length > 0) { _o = getLayerS(_id,_d[_i]); if(_o) return _o; }}} return 0; }
function getElement(_id){ for (_i = 0;_i<document.forms.length;_i++) { _o = document.forms[_i]; if (_o.name==_id) return _o; for (_j = 0;_j<document.forms[_i].elements.length;_j++) { _o = document.forms[_i].elements[_j]; if (_o.name==_id) return _o }} return 0 }
function setStatus(_t) { self.status = _t; return true }
function formError (_t,_f,_e) { alert(_t); document.forms[_f].elements[_e].focus(); return false }
function writeToLayer(_id,_t) { var _o = getLayer(_id); if (isBr.dom||isBr.ie4) { _o.innerHTML = ''; _o.innerHTML = _t; } else if (isBr.ns4) { _o.document.open(); _o.document.write(_t); _o.document.close(); }}
function getObject(_id) { return getImage(_id) || getLayer(_id) || getElement(_id) || getLink(_id) }


function getElementsArray(_e) {
 if(isBr.ns4) // TODO: Da se dobavi i tyrsene v layer-i (ako e nujno)
 {
   _o = (this == document) ? document : this.document;
   switch(_e)
   {
     case 'img' : return _o.images;
     case 'div' : return _o.layers;
     case 'form' : return _o.forms;
     case 'a' : return _o.links;
     default : return 0;
   }
 }
 if(isBr.ie4) return this.all.tags(_e);
 if(isBr.dom) return this.getElementsByTagName(_e);
 return 0;
}

// -= Check =-

function browserCheck()
{
var _ual = navigator.userAgent.toLowerCase();
this.op = (window.opera)?1:0;
this.op5 = (_ual.indexOf('opera 5')!=-1 || _ual.indexOf('opera/5')!=-1)?1:0;
this.op6 = (_ual.indexOf('opera 6')!=-1 || _ual.indexOf('opera/6')!=-1)?1:0;
this.opo = (this.op && !(this.op5 || this.op6))?1:0;
this.op56 = (this.op5 || this.op6)?1:0;
this.op7 = (this.op && document.readyState)?1:0;
this.dom = (document.getElementById)?1:0;
this.ie = (document.all && !this.op)?1:0;
this.ie4 = (this.ie && !this.dom)?1:0;
this.ie5u = (this.ie && this.dom)?1:0;
this.ns4 = (document.layers && !this.dom)?1:0;
this.com = (( this.dom || this.ie4 ) && !this.op56)?1:0;
this.dio = (this.dom || this.ie4)?1:0;
return this;
}

function checkEmail(_e) { return e_email.test(_e) }
function isEmpty (_v,_r) { var _tv=( _v==null || _v==undefined || _v.length<1 ); return ( _r==null || _r==undefined )?_tv:(_tv?_r:_v) } // Проверка за празна _v. Ако е празна връща _r
function isNaNP (_v) { return ( _v==null || _v==undefined || isNaN(_v) ) }
function isLow (_v,_c) { return ( isNaNP(_v) && _v<(isNaNP(_c)?0:_c) ) }
function isHigh (_v,_c) { return ( isNaNP(_v) && _v>(isNaNP(_c)?0:_c) ) }
function isInRange (_v,_c1,_c2) { _c1=(isNaNP(_c1)?0:_c1); _c2=(isNaNP(_c2)?1:_c2); return isNaNP(_v)?0:((_c1>_c2)?( _v >= _c2 && _v <= _c1 ):( _v >= _c1 && _v <= _c2 )) }
function isInRange2 (_v,_c1,_c2) { _c1=(isNaNP(_c1)?0:_c1); _c2=(isNaNP(_c2)?1:_c2); if (_c1>_c2) return ( !isNaNP(_v) && _v >= _c2 && _v <= _c1 ); return ( !isNaNP(_v) && _v >= _c1 && _v <= _c2 ) }
function isDefined (_v) { return !eval( 'typeof( '+_v+' ) == "undefined"' ); }

function isDateErr(_v) { var _tv=new Date(); return (!e_date.exec(_v))?4:((RegExp.$1<1 || RegExp.$1>31)?1:((RegExp.$2-1<1 || RegExp.$2-1>12)?2:((RegExp.$3<_tv.getFullYear())?3:0))) }

// -= Values =-

function toArray (_v,_s,_l)
{
  if (isEmpty(_v)) return new Array();
  _s=isEmpty(_s)?',':_s;
  var _ta=[],_i=0;
  while (_v.length>0)
  {
    _ta[_i]=_v.substr(0,_v.indexOf(_s)+_s.length);
    _v=_v.substr(_v.indexOf(_s)+_s.length+1);
    _i++
  }
  _l=isEmpty(_l)?(_ta.length):(_l<0?(_ta.length-_l):(_l>_ta.length?_ta.length:_l));
  return _ta.slice(0,_l);
}

function selectValue(_f,_e) { _f = isEmpty(_f,0); _e = isEmpty(_e,0); return document.forms[_f].elements[_e].options[document.forms[_f].elements[_e].selectedIndex].text;}

function getValue( _id )
{
  var _o = getElement( _id ), _t = _o.type;
  if( _t == "text" || _t == "hidden" || _t == "textarea" || _t == "password" || _t == "file" || _t == "submit" || _t == "reset" || _t == "button" ) return _o.value
  else if( _t == "select-one"||_t == "select-multiple") return _o.options[_o.selectedIndex].value
  else if( _t == "radio" || _t == "checkbox" ) return _o.checked
  return false;
}

function setValue( _id, _v )
{
  var _o = getElement( _id ), _t = _o.type;
  if( _t == "text" || _t == "hidden" || _t == "textarea" || _t == "password" || _t == "file" || _t == "submit" || _t == "reset" || _t == "button" ) { _o.value=_v; return true }
  else if( _t == "select-one"||_t == "select-multiple") { _o.options[_o.selectedIndex].value=_v; return true }
  else if( _t == "radio" || _t == "checkbox" ) { _o.checked=_v; return true }
  return false;
}

// -= Other =-

function antiSpam(_d,_e,_u1,_t,_ex,_u2) { var _tv=_u1+isEmpty(_u2,'')+'@'+_d+'.'+isEmpty(_e,'com'); _t=isEmpty(_t,_tv); document.write('<a href="mailto:'+_tv+(isEmpty(_ex)?'':((_ex.indexOf('?')==0?'':'?')+_ex))+'">'+_t+'</a>') }

function str2date (_v) {
  var _tv,_tv2;
  if (!e_date.exec(_v)) return false;
  _tv2="0"+(RegExp.$2-1); _tv="0"+RegExp.$1;
  return (new String (RegExp.$3+(_tv2.substr(_tv2.length-2,2))+(_tv.substr(_tv.length-2,2))))
}

function shobj(url)
{
  pwin = new Object();
  pwin = window.open(url, 'pwin', 'width = 420, height = 580, menubar = no, personalbar = no, resizable = no, scrollbars = yes, status = no, toolbar = no, top = 5, left = 5');
  pwin.focus();
  pwin.opener = self.parent;
}

function switchLangandGo(l) { var regtol = new RegExp("^(.+)"+(l=="_e"?"":"_e")+"\.(htm|php|html)(.*)","i"); if(wLoc.substring(wLoc.length-1)=='/') window.location.href = wLoc.replace(regtol,"$1")+"index"+l+".htm"; else window.location.href = wLoc.replace(regtol,"$1"+l+".$2$3"); }
function switchLang(l) { var regtol = new RegExp("^(.+)"+(l=="_e"?"":"_e")+"\.(htm|php|html)(.*)","i"); if(wLoc.substring(wLoc.length-1)=='/') return (wLoc.replace(regtol,"$1")+"index"+l+".htm"); else return (wLoc.replace(regtol,"$1"+l+".$2$3")); }

// -= Initialization =-

if (top!=self) top.location.href = self.location.href; // Disable InFrame View

if(!document.getElementById) document.getElementById = getObject; // Ако не е DOM - нека да е! :)
if(!document.getElementsByTagName) document.getElementsByTagName = getElementsArray; // Ако не е DOM - нека да е! :)

var isBr = new browserCheck(), wLoc = new String(window.location), dw = document.write, dwl = document.writeln;
var e_date = /^(\d{1,2})[-\.\/\b](\d{1,2})[-\.\/\b](\d{2,4})$/;
var e_email = /[_a-z0-9\-]+(\.[_a-z0-9\-]+)*@[a-z0-9\-]+(\.[a-z0-9\-]+)*(\.[a-z]{2,4})/ig;
