function openWindow(address)
{ 
    var newWin = window.open(address,'_help','width=350,height=400,personalbar=0,toolbar=0,location=0,directories=0,menuBar=0,scrollBars=1,status=0,resizable=yes,resizable=1,top=0,left=0'); 
    newWin.focus();
}

function openWindowSize(address,width,height)
{ 
    var newWin = window.open(address,'_help','width='+width+',height='+height+',personalbar=0,toolbar=0,location=0,directories=0,menuBar=0,scrollBars=1,status=0,resizable=yes,resizable=1,top=0,left=0'); 
    newWin.focus();
}


// Functions to show and hide arrow on screenshot help pages.
// ----------------------------------------------------------

function find_pos(obj)
{
    var position = new Array(2);
    position[0] = 0;
    position[1] = 0;
    
    if (obj.offsetParent) 
    {
        do 
        {
            position[0] += obj.offsetLeft;
            position[1] += obj.offsetTop;
        } 
        while ( (obj=obj.offsetParent) );
    }
    return position;
}
function get_element(name)
{
    var element;
    if ( document.getElementById )
        element = document.getElementById(name);

    else if ( document.all)
        element = document.all[name];

    else if ( document[name] )
        element = document[name];

    if ( element )
        return element;
}
function get_element_style(name)
{
    var element = get_element(name)
    if ( element.style )
        return element.style;
}
function show_element(x,y,name)
{
    var style  = get_element_style(name);
    style.top  = y;
    style.left = x;
    style.visibility = 'visible';
}
function hide_element(name)
{
    var style  = get_element_style(name);
    style.visibility = 'hidden';
}
function show_arrow(x,y,container)
{
    var position = find_pos(get_element(container));
    show_element(x+position[0],y+position[1]-7,'arrow');
}
function hide_arrow()
{
    hide_element('arrow');
}
function toggle_display(name)
{
    var style = get_element_style(name);
    if ( !style.visibility || style.visibility == 'hidden' )
        style.visibility = 'visible';
    else
        style.visibility = 'hidden';
}


// Functions to handle motif_* checkboxes
function select_motifs()
{
    var els = get_regex_elements('input','^motif_\\d+$');
    for (var i=0; i<els.length; i++)
        els[i].checked = true;
}

function unselect_motifs()
{
    var els = get_regex_elements('input','^motif_\\d+$');
    for (var i=0; i<els.length; i++)
        els[i].checked = false;
}

function get_regex_elements(tagname,pattern)
{
    var regex   = new RegExp(pattern);
    var all_els = document.getElementsByTagName(tagname);
    var out_els = new Array();
    
    for (var i=0; i<all_els.length; i++)
    {
        if ( regex.exec(all_els[i].name) )
            out_els.push(all_els[i]);
    }
    return out_els;
}



