function hide_item(obj){
    obj.style.visibility='hidden';
    obj.style.display='none';
};
function show_item(obj){
    obj.style.visibility='visible';
    obj.style.display='block';
};

function get_mouse_pos(ev){
    if (!ev)
	ev=window.event;
    rval=new Object();
    if (ev.clientX){
	    rval.x=ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	    rval.y=ev.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    }else{
	    rval.x=ev.pageX;
	    rval.y=ev.pageY;
    };
    return rval;
};

function get_selected_text(){
    var txt='';
    if (window.getSelection)
	txt=window.getSelection();
    else if (document.getSelection)
	txt = document.getSelection();
    else if (document.selection) 
	txt = document.selection.createRange().text;
    return txt;
};

function create_form(form_action){
    var form=document.createElement('FORM');
    form.action=form_action;
    form.enctype='multipart/form-data';
    form.encoding='multipart/form-data';
    form.method='POST';
    return form;
};

function url_encode(str){
    rval=str.replace(/%/g,'%25');
    rval=rval.replace(/#/g,'%23');
    rval=rval.replace(/\+/g,'%2B');
    rval=rval.replace(/\&/g,'%26');
    rval=rval.replace(/\x13/g,'%13');
    rval=rval.replace(/\x21/g,'%21');
    return rval;
}

function register_onload(func){
    if (typeof(window.onload)=='function'){
	var old_onload=window.onload;
	window.onload=function(){
	    old_onload();
	    func();
	};
    }else
	window.onload=func;
};

function page_home(){
    document.body.scrollTop=0;
};

