// Open new window by URL, unique name and attriubute.
function OpenNewWnd(_url,_name,_attrs){
 attrs=_attrs?_attrs:'left=125,top=50,width=550,height=0,scrollbars=1,resizable=1';
 wnd=window.open(_url,_name,attrs);
 wnd.focus();
 return false;
}

// Change display of object (Return visibility state)
function ChangeDisplay(_o){
 _o.style.display=(_o.style.display!='block')?'block':'none';
}

// Change display of object (Return visibility state)
function SetDisplay(_o,_state){
 _o.style.display=_state?'block':'none';
}

function GoTop(){
 document.body.scrollTop=0;
 return false;
}

// Write select element by attributes string and array of data [[value0,capt0],...]
function HtmlSelect(_attr, _a_data, _sel){
 var s='<select '+_attr+'>\n',i,a_tmp,num=_a_data.length;
 if(num<=0)return false;
 for(i=0;i<num;i++){
  val=_a_data[i][0];
  s+='<option value='+val+(val==_sel?' selected':'')+'>'+_a_data[i][1]+'</option>\n';
 }
 s+='</select>';
 document.write(s);
 return true;
}

// Get value from array [[key0,val0],[key1,val1],...,[keyN,valN]]
function GetValByKey(_a,_id){
 num=_a.length;
 if(num<=0)return false;
 for(i=0;i<num;i++)if(_a[i][0]==_id)return _a[i][1];
}

// Check E-mail:
function IsEmail(_str){
 len=_str.length;
 return (
  len>0 && len<=255 &&
  !_str.match(/[^.@a-zA-Z0-9_\-]/) &&
  _str.match(/[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,5}$/)
 );
}

//alert('main.js syntax correct!');
