function ae_change(reqXML,item,current)
{var opt;errorMsg="";item.options.length=0;item.options.selectedIndex=0;var items=reqXML.getElementsByTagName("name");for(var i=0;i<items.length;i++)
{iNode=items[i].getAttributeNode("id").nodeValue;opt=document.createElement("option");opt.value=iNode;opt.appendChild(document.createTextNode(items[i].firstChild.nodeValue));if(iNode==current)
opt.selected=true;item.appendChild(opt);}}
function ae_xml_interaction(url,callback,item,current)
{var req=init();req.onreadystatechange=processRequest;function init()
{var req;if(window.XMLHttpRequest)
{try
{req=new XMLHttpRequest();}catch(e){req=false;}}
else if(window.ActiveXObject)
{isIE=true;try
{req=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e)
{try
{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(e)
{req=false;}}}
return req;}
function processRequest()
{if(req.readyState==4)
{if(req.status==200)
{if(callback)callback(req.responseXML,item,current);}
else
alert("Error :\n"+req.statusText);}}
this.doGet=function()
{req.open("GET",url,true);req.send(null);}
this.doPost=function(body)
{req.open("POST",url,true);req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");req.send(body);}}
function stripslashes(string)
{return string.replace(/(\\)([\\\'\"])/g,"$2")}
function trim(string)
{if(typeof string!="string")
{return string;}
var retValue=string;var ch=retValue.substring(0,1);while(ch==" ")
{retValue=retValue.substring(1,retValue.length);ch=retValue.substring(0,1);}
ch=retValue.substring(retValue.length-1,retValue.length);while(ch==" ")
{retValue=retValue.substring(0,retValue.length-1);ch=retValue.substring(retValue.length-1,retValue.length);}
while(retValue.indexOf("  ")!=-1)
{retValue=retValue.substring(0,retValue.indexOf("  "))+retValue.substring(retValue.indexOf("  ")+1,retValue.length);}
return retValue;}
function cleanString(string)
{string=string.toLowerCase();string=trim(string);string=string.replace(/[à|á|ä|â]/g,"a");string=string.replace(/[è|é|ë|ê]/g,"e");string=string.replace(/[ì|í|ï|î]/g,"i");string=string.replace(/[ò|ó|ö|ô]/g,"o");string=string.replace(/[ù|ú|ü|û]/g,"u");string=string.replace(/ß/g,"ss");string=string.replace(/ñ/g,"n");string=string.replace(/æ/g,"ae");string=string.replace(/ç/g,"c");string=stripslashes(string);return string;}
function dosearch(db,mask_element,list_element)
{var search_string=mask_element.value;var findings=new Array();if(search_string!="")
{var searchArray=search_string.split(/-|:|\(|\)|\+| |'|,|\.|;|:|!|\?|\/|\\/);for(j=0;j<searchArray.length;j++)
{searchArray[j]=cleanString(searchArray[j]);}
for(i=0;i<db.length;i++)
{var db_row=db[i];var db_row_split=db_row.split('|');var match=0;var id=db_row_split[0];var species_string=db_row_split[1];for(j=0;j<searchArray.length;j++)
{var word=" "+searchArray[j];var ret=species_string.indexOf(word);if(ret!=-1)
match++;}
if(match==searchArray.length&&match!=0)
findings[findings.length]=id;}}
if(findings.length!=0)
{selectbox=list_element;for(i=0;i<selectbox.options.length;i++)
{if(selectbox.options[i].value==findings[0])
selectbox.options[i].selected=true;}}
else
{list_element.selectedIndex=0;}}