var winW;
var winH;

var stepSize_mybanner1=0.2;
var speed_mybanner1=100;

average_winW=1000;

function initialize()
{
set_sizes();

if (document.getElementById('mybanner1'))
{
obj_mybanner1 = new bannerObject('mybanner1');
}

// auto resize iframe... may 2007
set_iframe_size();
setInterval("set_iframe_size()",100);

// start random moving objects
if (document.getElementById('mybanner1'))
{
obj_mybanner1.setStepSize(stepSize_mybanner1);
obj_mybanner1.setSpeed(speed_mybanner1);
if (speed_mybanner1 && stepSize_mybanner1)obj_mybanner1.startMoveAt(0);
document.getElementById('mybanner1').style.visibility='visible';
}

//alert(document.body.style.fontSize);
//window.status=document.body.style.fontSize;

map_width=600;
map_height=320;

// calculate map width, height= width/2 + 16;
map_width=parseInt(document.body.clientWidth*55/100);
map_height=parseInt(map_width/2)+16;

// needed this way to avoid 'click to activate and use this control'
var so = new SWFObject("map.swf", "mymovie", map_width, map_height, "7","#eeeeff");
so.write("worldmap_div");


}

function highlight_selected(selected_a)
{
var myArray=document.getElementsByName("navigation");
var group_size=myArray.length;

for (i=0;i<group_size;i++)
        {
                myArray[i].style.fontStyle="";
        }

var myArray=document.getElementsByName("admin_navigation");
var group_size=myArray.length;

for (i=0;i<group_size;i++)
        {
                myArray[i].style.fontStyle="";
        }

selected_a.style.fontStyle="italic";
}

function set_sizes()
{
winW=document.body.clientWidth;
winH=document.body.clientHeight;

fontsize_percent=Math.round(winW/average_winW*100)*1;
document.body.style.fontSize=fontsize_percent+"%";

setCookie('font_size',document.body.style.fontSize);
}


function admin_on_off(admin_checkbox)
{
//alert("admin_on_off");

if (admin_checkbox.checked)
	{
	document.getElementById('admin').value=1;
	}
else
	{
	document.getElementById('admin').value=0;
	}

document.cookie="admin="+document.getElementById('admin').value+";path=/;";
//parent.frames[1].document.forms[0].submit();
document.forms[0].submit();
}

function scroll_to()
{
if (document.getElementById('editbox') 
&& document.getElementById('editbox_xpos')
&& document.getElementById('editbox_ypos')
&& document.getElementById('previewbox')
&& document.getElementById('previewbox_xpos')
&& document.getElementById('previewbox_ypos')
)
  {
  document.getElementById('editbox').scrollLeft=document.getElementById('editbox_xpos').value;
  document.getElementById('editbox').scrollTop=document.getElementById('editbox_ypos').value;
  document.getElementById('previewbox').scrollLeft=document.getElementById('previewbox_xpos').value;
  document.getElementById('previewbox').scrollTop=document.getElementById('previewbox_ypos').value;
  }
}

function save_and_submit()
{
if (document.getElementById('editbox_xpos'))
  {
  document.getElementById('editbox_xpos').value=document.getElementById('editbox').scrollLeft;
  document.getElementById('editbox_ypos').value=document.getElementById('editbox').scrollTop;
  document.getElementById('previewbox_xpos').value=document.getElementById('previewbox').scrollLeft; 
  document.getElementById('previewbox_ypos').value=document.getElementById('previewbox').scrollTop;
  }

document.forms[0].submit();
}


function enter_to_tab(key_event)
{
if (key_event.keyCode == '13')
        {
        key_event.keyCode='9';
        }
}

function enter_to_submit(key_event)
{
if (key_event.keyCode == '13')
        {
        mainform1.submit();
        }
}

var last_keycode='';
function usekey(key_event,ypos,xpos,context)
{
// enter_to_tab
// not okay for gecko
//if (key_event.keyCode == '13')key_event.keyCode=9;

mykeycode=key_event.keyCode;

// CANNOT use F1
        if (mykeycode == '113' && context) // F2
                {
                if (mainform1.help_topic.value=='')mainform1.help_topic.value="default";
                slash_char_after_database='/';
                if (mainform1.HELPdatabase.value=='')slash_char_after_database='';

ttdhelp=window.open("/cgi-bin/wsdb/wsdb_help.cgi?wsdb_database="+mainform1.HELPdatabase.value+"&wsdb_helpfile="+mainform1.help_topic.value+"&wsdb_language="+mainform1.WSDBlanguage.value,"TTDHelp","toolbar=no,location=yes,directories=no,menubar=no,scrollbars=yes,resizable=1,width=700,height=500,left=50,top=50");                ttdhelp.focus();
                }
// CANNOT use F3 in IE
// CANNOT use F4 in IE
// CANNOT use F5 in IE

        if (mykeycode == '123') // F12
                {
                // update...
                if (mainform1.formtype.value != 'form')
                        {
                        if (mainform1.f12_pressed)
                                {
                                if (mainform1.f12_pressed.value != 'true')update();
                                mainform1.f12_pressed.value='true';
                                }
                        else
                                {
                                update();
                                }
                        }
                }

        last_keycode=mykeycode;

        if (xpos && ypos)
                {
                formfield_to_move_from=document.getElementById(formfields_array[ypos][xpos]+"_text");

if (!formfield_to_move_from.value || mykeycode == '191') // 191 = ?
{
popup_select(formfields_array[ypos][xpos]);
}
else
{
                if (mykeycode == '13')xpos++;

                if (mykeycode == '38')ypos--;
                if (mykeycode == '40')ypos++;
                if (mykeycode == '38' || mykeycode == '40' || mykeycode == '13')
                        {
                        prev_xpos=xpos;
                        prev_ypos=ypos;

                        if (xpos < 1){xpos=formfields_array.length[1]-1;ypos--;}
                        if (xpos >= formfields_array[1].length){xpos=1;ypos++;}

                        if (ypos < 1)ypos=formfields_array.length-1;
                        if (ypos >= formfields_array.length || ypos == 1000)ypos=1;

                        if (formfields_array[ypos][xpos])
                                {
                                formfield_to_move_to=document.getElementById(formfields_array[ypos][xpos]+"_text");
                                if (formfield_to_move_to)
                                        {
                                        formfield_to_move_to.focus();
                                        }
                                else
                                        {
                                        xpos=prev_xpos;
                                        ypos=prev_ypos;
                                        }
                                }
                        else
                                {
                                xpos=prev_xpos;
                                ypos=prev_ypos;
                                }
                        }
                }
}

}

function read_multiselect(select_list,text_field)
{
tmp_str="";

for (var i=0;i<select_list.length;i++)
        {
        if (eval("select_list["+i+"].selected"))
                {
                if (eval("select_list["+i+"].value") == '_')
                        {
                        if (tmp_str == ""){tmp_str=" ";}
                        else {tmp_str=tmp_str+", ";}
                        }
                else
                        {
                        if (tmp_str == ""){tmp_str=eval("select_list["+i+"].value");}
                        else {tmp_str=tmp_str+","+eval("select_list["+i+"].value");}
                        }
                }
        }

if (tmp_str && tmp_str!=' ')tmp_str=","+tmp_str+",";

document.getElementById(text_field).value=tmp_str;
}


function popup_select(text_field)
{
hide_popup_selects();

// determine type of field by using only part until the first _
items=text_field.split("_");
popup_div=items[0];

xpos=parseInt(document.getElementById(text_field+"_text").style.top)+2.5;
xpos=xpos+"%";
ypos=document.getElementById(text_field+"_text").style.left;

document.getElementById(popup_div + "_popup").style.left=ypos;
document.getElementById(popup_div + "_popup").style.top=xpos;

document.getElementById(popup_div + "_popup").style.visibility='visible';

document.getElementById('whereami').value=text_field;
}

function hide_popup_selects()
{
var tmp_array= new Array ('population_popup','disorder_popup','mutation_popup');
for (var i=0;i<tmp_array.length;i++)
                {
                if (document.getElementById(tmp_array[i]))document.getElementById(tmp_array[i]).style.visibility='hidden';
                }
}

function return_result(value_to_return)
{
hide_popup_selects();
}

function highlight_match(fieldname,fieldvalue)
{
window.status=fieldname;

fieldname_for_value=document.getElementById("whereami").value;
window.status=fieldname_for_value;

var select_list=document.getElementById(fieldname+"_popup_select");
var text_field=document.getElementById(fieldname_for_value+"_text");

org_text_value=text_field.value;
// remove * if found (replace '*' with '')
text_value=text_field.value.replace(/\*/g,"");

window.status=text_value;

// clear seletion
for (var i=0;i<select_list.length;i++){select_list[i].selected=false;}

// find match in list
        for (var i=0;i<select_list.length;i++)
                {
var reg_exp = new RegExp("^"+text_field.value,"i"); 

if(reg_exp.test(select_list[i].value)) {select_list[i].selected=true;found_i=i;i=select_list.length;}

                }

// if last char is a * set the value to the selected item
if (org_text_value != text_value){text_field.value=select_list.options[found_i].value;}
}




// id is mybanner1
function bannerObject(id) {
this.id = id;
this.left_pos = 100;
this.object="obj_"+this.id;
this.speed=100;
this.stepSize=0.5;

this.msg = function(msg)

  {
  alert(this.id+":"+msg);
  }

this.startMoveAt = function(left_pos) 
  {
  document.getElementById(this.id).style.visibility='visible';
this.left_pos=0;
if (document.getElementById(this.id).style.left) this.left_pos= parseInt(document.getElementById(this.id).style.left);
if (left_pos)this.left_pos=left_pos;
  document.getElementById(this.id).style.left=this.left_pos+"%";
  this.moveBanner();
  }

this.moveBanner = function() 
  {
// don't move if speed == 0
if (this.stepSize && this.speed)
      {
       window.clearTimeout(this.move_timeout);
       this.left_pos=this.left_pos-this.stepSize;
       document.getElementById(this.id).style.left=this.left_pos+"%";

       if (this.left_pos <= 10 && this.left_pos > 9.6)
         {
//    this.fadeTo(0,2.5);
         }

       if (this.left_pos <= 0)
         {
         this.left_pos=95;
         document.getElementById(this.id).style.left=this.left_pos+"%";

//    this.fadeTo(70,2.5);
         }

      this.move_timeout = window.setTimeout('obj_'+this.id+'.moveBanner()',this.speed);
      }
  }

this.stopBanner = function() {window.clearTimeout(this.move_timeout);}

//this.setStepSize= function(stepsize) {if (stepsize)this.stepSize=stepsize;}
this.setStepSize= function(stepsize) {this.stepSize=stepsize;}

//this.setSpeed= function(speed) {if (speed)this.speed=speed;}
this.setSpeed= function(speed) {this.speed=speed;}

this.getOpacity = function() 
  {
  if (document.getElementById(this.id).filters)
    {
    if (document.getElementById(this.id).filters['alpha'])return document.getElementById(this.id).filters['alpha'].opacity;
    }
  else if (document.getElementById(this.id).style.MozOpacity) 
    {
    return document.getElementById(this.id).style.MozOpacity*100;
    }
  else if (document.getElementById(this.id).style.Opacity) 
    {
    return document.getElementById(this.id).style.Opacity*100;
    }
// fully UNsupported
  else if (document.getElementById(this.id).style.KhtmlOpacity) 
    {
    return document.getElementById(this.id).style.KhtmlOpacity*100;

    }
// fully UNsupported
  else if (document.getElementById(this.id).style.OOpacity) 
    {
    return document.getElementById(this.id).style.OOpacity*100;
    }

  return(0);
  }

this.setOpacity = function(percent) 
  {
  if (document.getElementById(this.id).filters)
    {
    if (document.getElementById(this.id).filters['alpha'])document.getElementById(this.id).filters['alpha'].opacity = percent;
    }
  else if (document.getElementById(this.id).style) 
    {
    document.getElementById(this.id).style.Opacity = percent/100;
    document.getElementById(this.id).style.MozOpacity = percent/100;
// the next two are fully UNsupported
    document.getElementById(this.id).style.KhtmlOpacity = percent/100;
    document.getElementById(this.id).style.OOpacity = percent/100;
    }
  }

this.fadeTo = function(newOpacity, deltaPercent) 
  {
  window.clearTimeout(this.fade_timeout);
  currentOpacity = this.getOpacity();

window.status=currentOpacity;

  if (newOpacity > currentOpacity) 
    {
    if (currentOpacity < newOpacity - deltaPercent) 
      {
      this.setOpacity(currentOpacity + deltaPercent);
      this.fade_timeout = window.setTimeout('obj_'+this.id+'.fadeTo('+newOpacity+', '+deltaPercent+')', this.speed);
      }
    else 
      {
      this.setOpacity(newOpacity);
      }
    }
  else if (newOpacity < currentOpacity) 
      {
      if (currentOpacity > newOpacity + deltaPercent) 
        {
        this.setOpacity(currentOpacity - deltaPercent);
        this.fade_timeout = window.setTimeout('obj_'+this.id+'.fadeTo('+newOpacity+', '+deltaPercent+')', this.speed);
        }
      else 
        {
        this.setOpacity(newOpacity);
        }
      }
    }
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function display_step(step,name,max_steps)
{
if (!step)return(0);

for (i=1;i<=max_steps;i++)
{
document.getElementById(name+i).style.display="none";
}

document.getElementById(name+step).style.display="block";
}


function display_3b()
{
if (document.getElementById('add_source').value=='publication')
	{
	document.getElementById('pubmed_type_div').style.display='block';
	document.getElementById('other_type_div').style.display='none';
	document.getElementById('add_article_title').value='';
	}
else
	{
	document.getElementById('pubmed_type_div').style.display='none';
	document.getElementById('other_type_div').style.display='block';
	document.getElementById('add_pubmedid').value='';
	}

// hide all other divs

document.getElementById('disorder_search_select').selectedIndex=0;
document.getElementById('add_disorder').value='';
document.getElementById('population_search_select').selectedIndex=0;
document.getElementById('add_population').value='';
document.getElementById('number_of_datapoints').value='';

document.getElementById('disorder_div').style.display='none';
document.getElementById('population_div').style.display='none';
document.getElementById('datapoints_div').style.display='none';
document.getElementById('submit_div').style.display='none';
}

function display_3c()
{
document.getElementById('disorder_div').style.display='block';

// hide all other divs
document.getElementById('population_search_select').selectedIndex=0;
document.getElementById('add_population').value='';
document.getElementById('number_of_datapoints').value='';

document.getElementById('population_div').style.display='none';
document.getElementById('datapoints_div').style.display='none';
document.getElementById('submit_div').style.display='none';
}

function display_3d()
{
this_select=document.getElementById('disorder_search_select');
document.getElementById('add_disorder').value=this_select[this_select.selectedIndex].value;

document.getElementById('population_div').style.display='block';

document.getElementById('number_of_datapoints').value='';
document.getElementById('datapoints_div').style.display='none';
document.getElementById('submit_div').style.display='none';
}

function display_3e()
{
this_select=document.getElementById('population_search_select');
if (this_select)document.getElementById('add_population').value=this_select[this_select.selectedIndex].value;

document.getElementById('datapoints_div').style.display='block';

document.getElementById('submit_div').style.display='none';
}

function display_3f()
{
if (document.getElementById('number_of_datapoints').value > 1 && document.getElementById('number_of_datapoints').value < 100)
	{
	document.getElementById('submit_div').style.display='block';
	}
else
	{
	document.getElementById('submit_div').style.display='none';

	alert("please enter a number between 1 and 100");
	document.getElementById('number_of_datapoints').value='';
	document.getElementById('number_of_datapoints').focus();
	}
}




function my_escape(string)
{
string=escape(string);

// replace + with %asciicode, escape strangely does not take care of this
// BUT does unescape handle this?

new_str="";
for (i=0;i<string.length;i++)
        {
        character=string.substring(i,i+1);
        if (character == "+")character="%2B";
        new_str=new_str+character;
        }

return (new_str);
}

function clear_submenus()
{
for(i=1;i<10;i++)
	{
	if (document.getElementById("submenu_"+i))document.getElementById("submenu_"+i).style.visibility='hidden';
	}
}


function set_iframe_size()
{
window.status="hello";
if (document.getElementById('iframe1'))
    {
// ie ...
if (document.getElementById('iframe1').Document)
      {
      
document.getElementById('iframe1').style.height=document.getElementById('iframe1').Document.body.scrollHeight+"px";
      }
// gecko
if (document.getElementById('iframe1').contentDocument)
      {
      
document.getElementById('iframe1').style.height=document.getElementById('iframe1').contentDocument.body.offsetHeight+"px";
      }

    }
}

