function addOptions(obj, opt_array){
	if(opt_array==null)return;
	var l=obj.options.length;
	if(arguments[2]==1){
		for(var i=0; i<opt_array.length; i+=2)obj.options[l+parseInt(i/2)]=new Option(opt_array[i+1], decodeURI(opt_array[i]));
	}
	else{
		for(var i=0; i<opt_array.length; i+=2)obj.options[l+parseInt(i/2)]=new Option(opt_array[i+1], opt_array[i]);
	}
}

function validateemail(email){
	email=email.replace(/(^)(\s*)/g, '$1');
	email=email.replace(/(\s*)($)/g, '$2');
	var i;
	for(i=0; i<email.length; i++){
		if(email.charCodeAt(i)>127) return '';
	}
	if( email.match(/^(.+)@(.+)\.([^.\s]{2,})$/) ) return email;
	return '';
}

function validatename(name){
	var reg=/^[a-zA-Z]\w{2,19}$/;
	var r=name && name.match(reg);
	return r;
}

function setradio(r, v){
	if(r==null || !(r.length>0)) return;
	for(var i=0; i<r.length; i++){
		if(r[i].value==v){
			r[i].checked=1;
			return;
		}
	}
}


function getradiovalue(r){
	if(r==null || !(r.length>0)) return;
	for(var i=0; i<r.length; i++){
		if(r[i].checked){
			return r[i].value;
		}
	}
	return '';
}


function checkformbox(formname, fields, values, separator){
	var a=fields.split(separator);
	var b=values.split(separator);
	var f,e;
	for(var i=0; i<a.length; i++){

		if(!(f=document[formname][a[i]])){
			if(f=document[formname][a[i]+'[]']) checkformbox(formname,a[i]+'[]',b[i],separator);
			continue;
		}
		if(a[i].substring(a[i].length-2, a[i].length)=='[]'){
			if(e=document.getElementsByName(a[i])){
				var v=b[i].split(',');
				var vv=new Object();
				for(var i2=0; i2<v.length; i2++){
					vv[v[i2]]=1;
				}
				for(var i2=0; i2<e.length; i2++){
					if(e[i2].value && vv[e[i2].value])e[i2].checked=1;
				}
			}
			continue;
		}
		if(f.options){
			setSelect(f, b[i]);
		}
		if(f.value){
			if(f.value==b[i]) f.checked=1;
		}
		else setradio(f, b[i]);
	}
}

function setchkbox(id){
	var e=document.getElementsByName(id);
	if(!e) return;
	for(var i=0; i<e.length; i++){
		if(arguments[1]!==null) e[i].checked=arguments[1];
		else e[i].checked=!e[i].checked;
	}
}

function joinchkbox(id){
	var a=[];
	var e=document.getElementsByName(id);
	var l=arguments[1]===null ? ',' : arguments[1];
	if(!e)return '';
	for(var i=0; i<e.length; i++){
		if(e[i].checked)a.push(e[i].value);
	}
	return a.join(l);
}

function setSelect(s, v){
	if(!s || !s.options) return;
	for(var i=0; i<s.options.length; i++){
		if(s.options[i].value==v){
			s.selectedIndex=i;
			return;
		}
	}
	return;
	if(arguments[2]!==null && arguments[2]!=''){
		s.options[s.options.length]=new Option(arguments[2], v);
		s.selectedIndex=s.options.length-1;
	}
}
function refreshSelect(s, v, t){
	if(v==null)return;
	if(s.value!=v) {
		s.options[s.options.length]=new Option(t, v);
		s.selectedIndex=s.options.length-1;
	}
	else if(s.options[s.selectedIndex].text!=t) s.options[s.selectedIndex].text=t;
}

function chksubmit(f){
	var fds, alt;
	if(arguments[1]!=null && arguments[1]!=''){
		if(arguments[2]==null || arguments[2]=='') arguments[2]=arguments[1];
		fds=arguments[1].split(',');
		alt=arguments[2].split(',');
		for(var i=0; i<fds.length; i++){
			p1=eval('f.'+fds[i]);
			if(p1.value==''){
				alert('Please specify '+alt[i]);
				return;
			}
		}
	}
	if(arguments[3]!=null && arguments[3]!=''){
		esc=arguments[3].split(',');
		for(var i=0; i<esc.length; i++){
			if(f[esc[i]] && f[esc[i]].value) f[esc[i]].value=htmlescape(f[esc[i]].value);
		}

	}
	f.submit();
	return true;
}

function array2chkobj(a){
	var o=new Object(), i;
	for(i=0; i<a.length; i++) if(a[i]!='') o[a[i]]=1;
	return o;
}
