function LTrim(str)
{
	var i=0;
	var s = new String(str);
	while((i<s.length) && (s.charAt(i)==' ' || s.charAt(i)=='\r' || s.charAt(i)=='\t' || s.charAt(i)=='\n')) {i++;}
	return s.substr(i);
}
function RTrim(str)
{
	var s = new String(str);
	var i = s.length-1;
	while((i>=0) && (s.charAt(i)==' ' || s.charAt(i)=='\r' || s.charAt(i)=='\t' || s.charAt(i)=='\n')) {i--;}
	return s.substr(0,i+1);
}
function Trim(str)
{
	return RTrim(LTrim(str));
}
function IsInteger(v)
{
	var s = new String(v);
	var num_0 = "0".charAt(0);
	var num_9 = "9".charAt(0);
	for(var i=0;i<s.length;i++)
	{
		if(s.charAt(i)<num_0 || s.charAt(i)>num_9) 
			return false;
	}
	return true;
}
function IsPhoneNumber(v)
{
	var s=new String(v);
	var reg=/[^0-9\s\(\)-]/;
	if(s.match(reg) || s.length<7 || s.length>15)
		return false;
	return true;
}
function IsValidEmail(email)
{
	var e = new String(email);
	var reg=/^[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9\-_]+)*\.[a-zA-Z]+$/;
	if(e.match(reg))
		return true;
	return false;
}
/*********************************
t: top
l: left
w: width
h: height;0
p: resizale=1,scrollbars=1, status, toolbar, ..
*********************************/
function popup(url,name,t,l,w,h,p)
{
	var parm = '';
	if(l) parm += 'left='+l+',';
	if(t) parm += 'top='+t+',';
	if(w) parm += 'width='+w+',';
	if(h) parm += 'height='+h+',';
	if(p) parm += p;
	if(parm.substr(parm.length-1,1)==',') parm = parm.substr(0,parm.length-1);

	var  w ;
	if(parm!='')
		w = window.open(url,name,parm);
	else
		w = window.open(url,name);
	w.focus();
	return false;
}

function getElement(n)
{
	if(document.all)
	{
		return document.all[n];
	}
	else if(document.getElementById)
	{
		return document.getElementById(n);
	}
	return null;
}
function restore_bgColor(o,c)
{
	var obj = getElement(o);
	if(!obj.style) return false;
	obj.style.backgroundColor = c;
}
function display_error(msg,o)
{
	alert(msg);
	if(o==null) return false;
	o.focus();
	var obg = o.style.backgroundColor;
	if(obg.toUpperCase()=='#FFAAAA') return false;
	if(!o.style) return false;
	o.style.backgroundColor='#FFAAAA';
	setTimeout("restore_bgColor('"+o.id+"','"+obg+"')",2000);
	return false;
}

function get_error_string(id)
{
	var o = getElement(id);
	if(o) return o.innerHTML;else return '';
}

function active_select(n,s)
{
	if(n==null || n+''=='undefined' || s==null || s+''=='undefined') return;
	var o = getElement(n);
	if(!o) return;
	for(var i=0;i<o.options.length;i++)
	{
		if(o.options[i].text==s) break;
	}
	if(i<o.options.length) o.options[i].selected = true;
}

function active_select_by_val(n,v)
{
	if(n==null || n+''=='undefined' || v==null || v+''=='undefined') return;
	var o = getElement(n);
	if(!o) return;
	for(var i=0;i<o.options.length;i++)
	{
		if(o.options[i].value==v) break;
	}
	if(i<o.options.length) o.options[i].selected = true;
}

function mo_obj_tit(o)
{
	window.status=o.title;
	return true;
}

function mt_obj()
{
	window.status='Done';
	return true;
}

function mo_obj_alt(o)
{
	window.status=o.alt;
	return true;
}

function mo_html(o)
{
	window.status=o.innerHTML;
	return true;
}

function AddAllSelect(src,des,flag)
{
	var i,j;
	var found=false;
	for(i=0;i<src.options.length;i++)
	{
		for(j=0;j<des.options.length;j++)
			if(src.options[i].value==des.options[j].value)
			{
				found = true;
				break;
			}
		if(!found)
			AddOption(des,src.options[i].value,src.options[i].text);
		else
			found = false;
	}
	if(flag)
		while(src.options.length>0) src.remove(0);
}

function addOptionObject(src,des,flag)
{
	var i,j;
	var found = false;
	if(flag)
	{
			for(i=0;i<src.options.length;i++)
			{
					if(src.options[i].selected)
					{
							for(j=0;j<des.options.length;j++)
							{
									if(src.options[i].value==des.options[j].value)
									{
											found = true;
											break;
									}
							}
							if(!found)
								AddOption(des,src.options[i].value,src.options[i].text);
							else
								found = false;
							remOption(src,i);
							i--;
					}
			}
	}
	else
	{
			for(i=0;i<src.options.length;i++)
			{
					if(src.options[i].selected)
					{
							for(j=0;j<des.options.length;j++)
							{
									if(src.options[i].value==des.options[j].value)
									{
											found = true;
											break;
									}
							}
							if(!found)
								AddOption(des,src.options[i].value,src.options[i].text);
							else
								found = false;
					}
			}
	}
}

function AddOption(obj, value, text)
{
	var op = new Option();
	op.text = text;
	op.value = value;
	obj.options[obj.options.length] = op;
}

function removeOptionObject(obj, src, flag)
{
	for(i=0;i<obj.options.length;i++)
	{
		if(obj.options[i].selected)
		{
			if(flag) AddOption(src, obj.options[i].value, obj.options[i].text);
			remOption(obj, i);
			i--;
		}
	}
}

function remOption(obj, i)
{
	if(i<0)
	{
		while(obj.options.length>0) obj.remove(0);
	}
	else
	{
		obj.remove(i);
	}
}