function ts(_tName){
	return document.getElementsByTagName(_tName);
}
function uid(_id){
	return document.getElementById(_id);
}
function nod(_id){
	return document.getElementById(_id);
}
function val(_id){
	return document.getElementById(_id).value;
}
function getObj(objName){
	if(document.getElementById){
		return eval('document.getElementById("' + objName + '")');
	}else if(document.layers){
		return eval("document.layers['" + objName +"']");
	}else{
		return eval('document.all.' + objName);
	}
}
function dofocus(formName, elemName){
	var elem = document.forms[formName].elements[elemName];
	if(elem) elem.focus();
	//elem.value = keyword;
}
function fselected(_form, _name, _value) {
for ( var x = 0; x < _form.elements.length; x++) {
if (_form.elements[x].name == _name) {
for ( var i = 0; i < _form.elements[x].length; i++) {
if (_form.elements[x].options[i].value == _value) {
_form.elements[x].options[i].selected = true;
return;}}}}
}
function doselected(_form, _name, _value) {
var f=document.forms[_form];
if(f==null||f==undefined) {f=nod(_form);}
fselected(f, _name, _value);
}
function is_checked(_form,_name){var i = 0;
while (i < nod(_form).elements.length){
if (nod(_form).elements[i].name==_name){
if (nod(_form).elements[i].checked)
  return true;} i ++;}return false;
}
function doForward(_form,_page){
nod(_form).setAttribute('action',_page);
nod(_form).submit();
}
function checkedAll(_form,_chkbox_all,_name){
var i=0;
while(i<nod(_form).elements.length){
if(nod(_chkbox_all).checked){
if(nod(_form).elements[i].name==_name)
    nod(_form).elements[i].checked = true;
}else{
if(nod(_form).elements[i].name==_name)
 nod(_form).elements[i].checked = false;
}i++;}
}
function unchecked_all(_form,_name){
checked_all(_form,_name,false);
}
function checked_all(_form,_name,_checked){
if(_checked==undefined)
	_checked = true;
var i=0;
while(i<nod(_form).elements.length){
if(_checked){
if(nod(_form).elements[i].name==_name)
nod(_form).elements[i].checked = true;
}else{
if(nod(_form).elements[i].name==_name)
 nod(_form).elements[i].checked = false;
}i++;}
}
function fchecked(_form,_name,_value){var i=0;
	while(i<_form.elements.length){
	if(_form.elements[i].name==_name)
	  if(_form.elements[i].value==_value)
   		_form.elements[i].checked = true;i++;}
}
function dochecked(_form,_name,_value){
	fchecked(nod(_form),_name,_value);
}
function cancat(_num, _suffix, _str) {
	if (_num < 10)
		return _str += '0' + _num + _suffix;
	else
		return _str += _num + _suffix;
}
function prec2(_num){
	if(_num.length>1) return _num;
	if (_num < 10)
		return '0'+_num;
	else return _num;
}
function dprec(_txt){
	return dNum(_txt,0);
}
function dNum(_txt,_i){
	if(_txt.charAt(_i)=='0'){
		_txt = _txt.substring(1);
		if(_txt.charAt(_i++)=='0')
			dNum(_txt,_i);
		else
			return _txt;
	} return _txt;
}
function get2Num(_num){
	if (_num < 10)
		return '0'+_num;
	else return _num;
}
function getHMTime(_date){
	return prec2(_date.getHours())+'-'+prec2(_date.getMinutes());
}
function formatDateIsoStr(_date){
	return _date.getFullYear()+'-'+prec2(_date.getMonth()+1)+'-'+prec2(_date.getDate());
	
}
function formatDateTimeStr(_date){
	return _date.getFullYear()+'-'+prec2(_date.getMonth()+1)+'-'+prec2(_date.getDate())
		+' '+prec2(_date.getHours())+':'+prec2(_date.getMinutes())+':'+prec2(_date.getSeconds());
	
}
function copyDate(_date){
	return new Date(_date.getFullYear(),_date.getMonth(),_date.getDate());
}
function addHour(_date,_hour){
	_date.setHours(_date.getHours()+_hour);
}
function addMinute(_date,_mins){
	_date.setMinutes(_date.getMinutes()+_mins);
}
function getDatefrStr(_str){
	var y = _str.substring(0,4);
	var m = _str.substring(4,6);
	var d = _str.substring(6,8);
	return new Date(y,m-1,d);
}
function getDateTimefrIso(_str){
	var y = _str.substring(0,4);
	var m = _str.substring(5,7);
	var d = _str.substring(8,10);
	if(_str.length<19)
		return new Date(y,m-1,d);
	var h = _str.substring(11,13);
	var mi = _str.substring(14,16);
	var s = _str.substring(17,19);
	return new Date(y,m-1,d,h,mi,s);
}
function getTimeInMinutes(_date){
	return _date.getHours()*60+_date.getMinutes();
}
function getTimeInSeconds(_date){
	return _date.getHours()*60*60+_date.getMinutes()*60+_date.getSeconds();
}
function getDatefrIso(_str){
	var y = _str.substring(0,4);
	var m = _str.substring(5,7);
	var d = _str.substring(8,10);
	return new Date(y,m-1,d);
}
function getDatefrIsoMax(_str){
	var y = _str.substring(0,4);
	var m = _str.substring(5,7);
	var d = _str.substring(8,10);
	return new Date(y,m-1,d,23,59,59,0);
}
function getDateMax(_date){
	return new Date(_date.getFullYear(),_date.getMonth(),_date.getDate(),23,59,59,0);
}
function getDateMin(_date){
	return new Date(_date.getFullYear(),_date.getMonth(),_date.getDate());
}
function getNextDate(_date){
	if(_date.getMonth()==11 && _date.getDate()==31){
		return new Date(_date.getFullYear()+1,0,1);
	}
	return new Date(_date.getFullYear(),_date.getMonth(),_date.getDate()+1);
}
function getPrevDate(_date){
	if(_date.getMonth()==0 && _date.getDate()==1){
		return new Date(_date.getFullYear()-1,11,31);
	}
	return new Date(_date.getFullYear(),_date.getMonth(),_date.getDate()-1);
}
var lminutes = 1000*60;
var lhours = lminutes*60;
var ldays = lhours*24;
function getLocalDays(_date){
	var ltime = _date.getTime()-_date.getTimezoneOffset()*lminutes;
	return Math.floor(ltime/ldays);
}
function parseBoolean(_obj){
	if(typeof _obj == 'string'){
		if(_obj=='true' || _obj=='yes' || _obj=='on' || _obj=='1')
			return true;
	}else if(typeof _obj == 'number'){
		return Boolean(_obj);
	}
	return false;
}
function isEmpty(_obj){
	if(_obj == undefined || _obj == null || _obj == '')
		return true;
	return false;
}
function existObj(_obj){
	if(typeof(_obj)==null) return false;return true;
}
function selectValue(allPages,currPage,pageSelects){
    for(var i=1;i<=allPages;i++){
       pageSelects[i-1] = new Option(""+i,""+i);
       if(currPage==i){
           pageSelects[i-1].selected = "selected"; 
       }
    }
}
function bubblesort(_avs,_left,_right){
	var r = _right;if(_right==undefined) r = _avs.length-1;
	var l = _left;if(_left==undefined) l = 0;
	for(var i=r;i>l;i--)
		for(var j=l;j<i;j++)
			if(_avs[j]>_avs[j+1])
				swap(_avs,j,j+1);
}
function shellsort(_avs,_left,_right){
	var r = _right;if(_right==undefined) r = _avs.length-1;
	var l = _left;if(_left==undefined) l = 0;
	var len = r-l+1;
	for(var gap=Math.floor(len/2);gap>0;gap=Math.floor(gap/2))
		for(var i=gap;i<len;i++)
			for(var j=i-gap+l;j>=l && _avs[j]>_avs[j+gap];j-=gap)
				swap(_avs,j,j+gap);
}
function qsort(_avs,_left,_right){
	if(_left>=_right) return;
	swap(_avs, _left, Math.floor((_left+_right)/2));
	var last = _left;
	for(var i=_left+1;i<=_right;i++)
		if(_avs[i]<_avs[_left])
			swap(_avs,++last,i);
	swap(_avs,_left,last);
	qsort(_avs,_left,last-1);
	qsort(_avs,last+1,_right);
}
function swap(_avs,_i,_j){
	var tmp;
	tmp = _avs[_i];
	_avs[_i] = _avs[_j];
	_avs[_j] = tmp;
}
function preLoadImg(url) {
	  var img = new Image();
	  img.src = url;
}