preload_image = new Image(25,25);
preload_image.src= "http://www.guildprogress.com/shared/images/menu_arrow_up.gif";

function getData( game, type, id ){
		try {
			xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); //Try the first kind of active x object…
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); //Try the second kind of active x object
			} catch (E) {
				xmlhttp = false;
			}
		}
		if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
			xmlhttp = new XMLHttpRequest(); //If we were able to get a working active x object, start an XMLHttpRequest
		}
        
        var file = '/getData.php?game=' + game + '&type=' + type + '&id=' + id;
        
    	xmlhttp.open('GET', file, true);
    	xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4) {
                var content = xmlhttp.responseText;
                if( content ){
                	if ( type == 'server' ) {
                  	    document.getElementById('guildMenu').innerHTML = content;
                    } else if ( type == 'era' ) {
                    	document.getElementById('zoneMenu').innerHTML = content;
					} else if ( type == 'zone' ) {
                    	document.getElementById('mobMenu').innerHTML = content;
                    } else if ( type == 'zone2' ) {
                    	document.getElementById('achievementMenu').innerHTML = content;
                    } else if ( type == 'region' ) {
                    	document.getElementById('serverMenu').innerHTML = content;
                    } else if ( type == 'regionSearch' ) {
                    	document.getElementById('serverSearchMenu').innerHTML = content;
                    }
                }
        }
        }
        xmlhttp.send(null) //Nullify the XMLHttpRequest
		return;
}

function getServer(game) {
	var serverSelect = document.getElementById('serverList');
	var region = serverSelect.options[serverSelect.selectedIndex].value;
	if ((serverSelect) && (document.getElementById('guildMenu'))) {
		getData( game, 'server', region );
	}
}

function getZone(game) {
	var zoneSelect = document.getElementById('zoneList');
	if ((zoneSelect) && (document.getElementById('mobMenu'))) {
		getData( game,'zone', zoneSelect.options[zoneSelect.selectedIndex].value );
	} else if  ((zoneSelect) && (document.getElementById('achievementMenu'))) {
		getData( game,'zone2', zoneSelect.options[zoneSelect.selectedIndex].value );
	}
}

function getEra(game) {
	var eraSelect = document.getElementById('eraList');
	if ((eraSelect) && (document.getElementById('zoneMenu'))) {
		getData( game,'era', eraSelect.options[eraSelect.selectedIndex].value );
	}
}


function getRegion(game) {
	var regionSelect = document.getElementById('regionList');
	if ((regionSelect) && (document.getElementById('serverMenu'))) {
		getData( game, 'region', regionSelect.options[regionSelect.selectedIndex].value );
		if ( document.getElementById('guildMenu')) {
			//getData( 'server', 0);
		}
	}
}

var http = false;

if(navigator.appName == 'Microsoft Internet Explorer') {
  http = new ActiveXObject('Microsoft.XMLHTTP');
} else {
  http = new XMLHttpRequest();
}

function thumbs(game, vote, killID, text) {
  http.abort();
  http.open('GET', '/doThumbs.php?game=' + game + '&vote=' + vote + '&killID=' + killID, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      document.getElementById(text).innerHTML = http.responseText;
    }
  }
  http.send(null);
}

function verifyKill(game, guildid, mobid, type) {
  http.abort();
  http.open('GET', '/verifyKill.php?game=' + game + '&guildid=' + guildid + '&mobid=' + mobid + '&type=' + type, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      document.getElementById(''+guildid+''+mobid).innerHTML = "VERIFIED";
    }
  }
  http.send(null);
}

function toggleStats( sectionID ) {
	var d = document.getElementById(sectionID);
	if( d.style.display == "block" ){
		d.style.display = "none";
	} else {
		d.style.display = "block";
	}
}

var rankingsPage = 1;

function togglePopUp(box, button, arrow, leftOffset, topOffset, orientation, textplus, horizAnchor, width ) {
	var d = document.getElementById(box);
	if ( arrow != 0 ) {
		i=document.getElementById(arrow);
		i.style.paddingBottom = '0px';
		i.src= "http://www.guildprogress.com/shared/images/menu_arrow.gif";
	} else {
		i=document.getElementById(textplus);
		i.style.paddingLeft = '0px';
		i.innerHTML = "+";
	}
	if( d.style.display == "block" ){
		d.style.display = "none";
	}
	else{
		if ( arrow != 0 ) {
			i.style.paddingBottom = '3px';
			i.src= "http://www.guildprogress.com/shared/images/menu_arrow_up.gif";
		} else {
			i=document.getElementById(textplus);
			i.style.paddingLeft = '3px';
			i.innerHTML = "-";
		}
		var p = document.getElementById(button);
		var top = 0, left = leftOffset, right = leftOffset;
		if( orientation == 1 ){
			d.style.display = "block";
			top -= d.offsetHeight;
		} else {
			top += p.offsetHeight+topOffset
		}
		for (; p; p = p.offsetParent){
			top  += p.offsetTop;
			if ( horizAnchor != "left" ) {
				left += p.offsetLeft;
			} 
		}
		d.style.top = top+'px';
		if ( horizAnchor != "left" ) {
			d.style.left = left+'px';
		} 
		d.style.display = "block";		
		if ( width != 0 ) {
			d.width = width+'px';
		}
	}
}

function rankingsNav( direction, chartSize, total, page ) {
	if ( direction == "first" ) {		
		rankingsPage = 1;
	} else if ( direction == "prev" ) {		
		rankingsPage--;
	} else if ( direction == "next" ) {	
		rankingsPage++;		
	} else if ( direction == "last" ) {
		rankingsPage = Math.ceil( total / chartSize );
	} else if ( direction == "direct" ) {
		togglePopUp("rankingsPageBox","rankingsPageButton","rankingsPageArrow");		
		rankingsPage = page;
	}
	
	for ( i=1; i<=total; i++ ) {
		row = document.getElementById("rankRow" + i);
		if ( i > (rankingsPage * chartSize ) || i < ((rankingsPage-1) * chartSize + 1 )) {
			row.style.display = "none";
		} else {
			row.style.display = "";
		}
	}		
	
	if ( rankingsPage != 1 ) {
		leftNav = document.getElementById("chartNavLeft");
		leftNav.style.display = "block";
	} else {
		leftNav = document.getElementById("chartNavLeft");
		leftNav.style.display = "none";
	}
	if ( rankingsPage !=  Math.ceil( total / chartSize ) ) {
		rightNav = document.getElementById("chartNavRight");
		rightNav.style.display = "block";
	} else {
		rightNav = document.getElementById("chartNavRight");
		rightNav.style.display = "none";
	}
	
	pageNum = document.getElementById("rankingsPageNum");
	pageNum.innerHTML = rankingsPage;
}


/***********************************************
* Drop Down Date select script- by JavaScriptKit.com
* This notice MUST stay intact for use
* Visit JavaScript Kit at http://www.javascriptkit.com/ for this script and more
***********************************************/

var monthtext=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];

function populatedropdown(dayfield, monthfield, yearfield){
var today=new Date()
var dayfield=document.getElementById(dayfield)
var monthfield=document.getElementById(monthfield)
var yearfield=document.getElementById(yearfield)
for (var i=0; i<32; i++)
dayfield.options[i]=new Option(i, i)
dayfield.options[today.getDate()]=new Option(today.getDate(), today.getDate(), true, true) //select today's day
for (var m=0; m<12; m++)
monthfield.options[m]=new Option(monthtext[m], m+1)
monthfield.options[today.getMonth()]=new Option(monthtext[today.getMonth()], today.getMonth()+1, true, true) //select today's month
var thisyear=today.getFullYear()
for (var y=0; y<(today.getFullYear()-2003); y++){
yearfield.options[y]=new Option(thisyear, thisyear)
thisyear-=1
}
yearfield.options[0]=new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year

dateChange()
}

function dateChange() {
	var dayfield=document.getElementById('daydropdown')
	var monthfield=document.getElementById('monthdropdown')
	var yearfield=document.getElementById('yeardropdown')
	var datefield=document.getElementById('datefield')
	
	var wholeDate = yearfield.options[yearfield.selectedIndex].value + '-' + monthfield.options[monthfield.selectedIndex].value + '-' + dayfield.options[dayfield.selectedIndex].value
	
	datefield.value = wholeDate;
}


if(typeof(bsn)=="undefined")
_b=bsn={};if(typeof(_b.Autosuggest)=="undefined")
_b.Autosuggest={};else
alert("Autosuggest is already set!");_b.AutoSuggest=function(id,param){if(!document.getElementById)
return 0;this.fld=_b.DOM.gE(id);if(!this.fld)
return 0;this.sInp="";this.nInpC=0;this.aSug=[];this.iHigh=0;this.sVal="";this.listOpen=false;this.sFld=document.getElementById("serverid");this.gFld=document.getElementById("guildid");this.zFld=document.getElementById("zoneid");this.button=document.getElementById("searchSubmit");this.oP=param?param:{};var k,def={minchars:1,meth:"get",varname:"input",className:"autosuggest",timeout:2000,delay:500,offsety:-5,shownoresults:true,noresults:"No results!",maxheight:250,cache:true,maxentries:25};for(k in def){if(typeof(this.oP[k])!=typeof(def[k]))
this.oP[k]=def[k];}
var p=this;this.fld.onkeypress=function(ev){return p.onKeyPress(ev);};this.fld.onkeyup=function(ev){return p.onKeyUp(ev);};this.fld.onblur=function(ev){p.fld.value=p.sInp;return p.clearSuggestions();};this.oP.resetFields();this.fld.setAttribute("autocomplete","off");};_b.AutoSuggest.prototype.onKeyPress=function(ev){var key=(window.event)?window.event.keyCode:ev.keyCode;var RETURN=13;var TAB=9;var ESC=27;var bubble=1;return bubble;};_b.AutoSuggest.prototype.onKeyUp=function(ev){var key=(window.event)?window.event.keyCode:ev.keyCode;var ARRUP=38;var ARRDN=40;var RETURN=13;var ESC=27;var bubble=1;switch(key){case RETURN:if(this.listOpen){this.setHighlightedValue();}else{searchSubmit();}
break;case ESC:this.clearSuggestions();this.fld.value=this.sInp;break;case ARRUP:this.changeHighlight(key);bubble=0;break;case ARRDN:if(this.listOpen){this.changeHighlight(key);}else{this.getSuggestions(this.fld.value);}
bubble=0;break;default:this.getSuggestions(this.fld.value);}
return bubble;};function adjustTooltip(){var input=document.getElementById("searchField");if(input.value=="Search Database..."){input.value="";}}
function searchSubmit(){var game=document.getElementById('game').textContent;var input=document.getElementById('searchField').value;var region=document.getElementById('region').value;var server=document.getElementById('serverid').value;var guild=document.getElementById('guildid').value;var zone=document.getElementById('zoneid').value;var url="http://"+game+".guildprogress.com/";if(!server&&!guild){url=url+"index.php?page=search&search="+input;}else{if(region){url=url+region+"/";}
if(server){url=url+server+"/";}
if(guild){url=url+guild+"/";}else if(zone){url=url+zone+"/";}}
window.location=url;}
_b.AutoSuggest.prototype.getSuggestions=function(val){if(val==this.sInp&&this.listOpen)
return 0;_b.DOM.remE(this.idAs);this.sInp=val;if(val.length<this.oP.minchars){this.aSug=[];this.nInpC=val.length;return 0;}
var ol=this.nInpC;this.nInpC=val.length?val.length:0;if(this.nInpC<this.sVal.length){if(typeof(this.oP.resetFields)=="function")
this.oP.resetFields();}else if(this.nInpC<ol&&this.sVal.length>0){this.zFld.value="";this.fld.value=this.sVal+" ";var ol=this.nInpC;this.nInpC=this.sVal.length?this.sVal.length:0;this.sInp=this.sVal+" ";}
var l=this.aSug.length;if(this.nInpC>ol&&l&&l<this.oP.maxentries&&this.oP.cache){var arr=[];for(var i=0;i<l;i++){if(this.aSug[i].value.substr(0,val.length).toLowerCase()==val.toLowerCase())
arr.push(this.aSug[i]);}
this.aSug=arr;this.createList(this.aSug);return false;}
else{var pointer=this;var input=this.sInp;clearTimeout(this.ajID);this.ajID=setTimeout(function(){pointer.doAjaxRequest(input)},this.oP.delay);}
return false;};_b.AutoSuggest.prototype.doAjaxRequest=function(input){if(input!=this.fld.value)
return false;var pointer=this;this.button.style.backgroundImage="url('http://www.guildprogress.com/shared/images/ajax-loader.gif')";if(typeof(this.oP.script)=="function")
var url=this.oP.script(encodeURIComponent(this.sInp));else
var url=this.oP.script+this.oP.varname+"="+encodeURIComponent(this.sInp);if(!url)
return false;var meth=this.oP.meth;var input=this.sInp;var onSuccessFunc=function(req){pointer.setSuggestions(req,input)};var onErrorFunc=function(status){};var myAjax=new _b.Ajax();myAjax.makeRequest(url,meth,onSuccessFunc,onErrorFunc);};_b.AutoSuggest.prototype.setSuggestions=function(req,input){if(input!=this.fld.value)
return false;this.aSug=[];if(this.oP.json){var jsondata=eval('('+req.responseText+')');for(var i=0;i<jsondata.results.length;i++){this.aSug.push({'id':jsondata.results[i].id,'value':jsondata.results[i].value,'info':jsondata.results[i].info});}}else{var xml=req.responseXML;var results=xml.getElementsByTagName('results')[0].childNodes;for(var i=0;i<results.length;i++){if(results[i].hasChildNodes())
this.aSug.push({'length':results[i].getAttribute('length'),'kind':results[i].getAttribute('kind'),'region':results[i].getAttribute('region'),'serverid':results[i].getAttribute('serverid'),'guildid':results[i].getAttribute('guildid'),'zoneid':results[i].getAttribute('zoneid'),'value':results[i].childNodes[0].nodeValue,'info':results[i].getAttribute('info')});}}
this.idAs="as_"+this.fld.id;this.createList(this.aSug);};_b.AutoSuggest.prototype.createList=function(arr){var pointer=this;_b.DOM.remE(this.idAs);this.killTimeout();if(arr.length==0&&!this.oP.shownoresults)
return false;var div=_b.DOM.cE("div",{id:this.idAs,className:this.oP.className});var ul=_b.DOM.cE("ul",{id:"as_ul"});for(var i=0;i<arr.length;i++){var val=arr[i].value;var st=val.toLowerCase().indexOf(this.sInp.toLowerCase());var output=val.substring(0,st)+"<em>"+val.substring(st,st+this.sInp.length)+"</em>"+val.substring(st+this.sInp.length)+"&nbsp;&nbsp;";var span=_b.DOM.cE("span",{},output,true);if(arr[i].kind!=""){var small=_b.DOM.cE("small",{className:"right"},arr[i].kind);span.appendChild(small);}
if(arr[i].info!=""){var br=_b.DOM.cE("br",{});span.appendChild(br);var small=_b.DOM.cE("small",{},arr[i].info);span.appendChild(small);}
var a=_b.DOM.cE("a",{href:"#"});a.appendChild(span);a.name=i+1;a.onclick=function(){pointer.setHighlightedValue();return false;};a.onmouseover=function(){pointer.setHighlight(this.name);};var li=_b.DOM.cE("li",{},a);ul.appendChild(li);}
if(arr.length==0&&this.oP.shownoresults){var li=_b.DOM.cE("li",{className:"as_warning"},this.oP.noresults);ul.appendChild(li);}
div.appendChild(ul);var pos=_b.DOM.getPos(this.fld);var browser=navigator.appName;var left=pos.x;var top=pos.y+this.fld.offsetHeight+this.oP.offsety;var width=229;if(browser=="Microsoft Internet Explorer"){}else{left=left-1;}
div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.onmouseover=function(){pointer.killTimeout()};div.onmouseout=function(){pointer.resetTimeout()};document.getElementsByTagName("body")[0].appendChild(div);this.iHigh=0;this.button.style.backgroundImage="url('http://www.guildprogress.com/shared/images/search.gif')";var pointer=this;this.toID=setTimeout(function(){pointer.clearSuggestions()},this.oP.timeout);this.listOpen=true;};_b.AutoSuggest.prototype.changeHighlight=function(key){var list=_b.DOM.gE("as_ul");if(!list)
return false;var n;if(key==40)
n=this.iHigh+1;else if(key==38)
n=this.iHigh-1;if(n>list.childNodes.length)
n=1;if(n<1)
n=list.childNodes.length;this.setHighlight(n);};_b.AutoSuggest.prototype.setHighlight=function(n){var list=_b.DOM.gE("as_ul");if(!list)
return false;if(this.iHigh>0)
this.clearHighlight();this.iHigh=Number(n);list.childNodes[this.iHigh-1].className="as_highlight";this.fld.value=this.aSug[this.iHigh-1].value;this.killTimeout();};_b.AutoSuggest.prototype.clearHighlight=function(){var list=_b.DOM.gE("as_ul");if(!list)
return false;if(this.iHigh>0)
{list.childNodes[this.iHigh-1].className="";this.iHigh=0;}};_b.AutoSuggest.prototype.setHighlightedValue=function(){if(this.iHigh){if(typeof(this.oP.callback)=="function")
this.oP.callback(this.aSug[this.iHigh-1]);this.sInp=this.fld.value=this.aSug[this.iHigh-1].value;}
searchSubmit();};_b.AutoSuggest.prototype.killTimeout=function(){clearTimeout(this.toID);};_b.AutoSuggest.prototype.resetTimeout=function(){clearTimeout(this.toID);var pointer=this;this.toID=setTimeout(function(){pointer.clearSuggestions()},this.oP.timeout);};_b.AutoSuggest.prototype.clearSuggestions=function(){this.killTimeout();var ele=_b.DOM.gE(this.idAs);var pointer=this;if(ele){var fade=new _b.Fader(ele,1,0,250,function(){_b.DOM.remE(pointer.idAs)});}
this.listOpen=false;};if(typeof(_b.Ajax)=="undefined")
_b.Ajax={};_b.Ajax=function(){this.req={};this.isIE=false;};_b.Ajax.prototype.makeRequest=function(url,meth,onComp,onErr){if(meth!="POST")
meth="GET";this.onComplete=onComp;this.onError=onErr;var pointer=this;if(window.XMLHttpRequest){this.req=new XMLHttpRequest();this.req.onreadystatechange=function(){pointer.processReqChange()};this.req.open("GET",url,true);this.req.send(null);}else if(window.ActiveXObject){this.req=new ActiveXObject("Microsoft.XMLHTTP");if(this.req){this.req.onreadystatechange=function(){pointer.processReqChange()};this.req.open(meth,url,true);this.req.send();}}};_b.Ajax.prototype.processReqChange=function(){if(this.req.readyState==4){if(this.req.status==200){this.onComplete(this.req);}else{this.onError(this.req.status);}}};if(typeof(_b.DOM)=="undefined")
_b.DOM={};_b.DOM.cE=function(type,attr,cont,html){var ne=document.createElement(type);if(!ne)
return 0;for(var a in attr)
ne[a]=attr[a];var t=typeof(cont);if(t=="string"&&!html)
ne.appendChild(document.createTextNode(cont));else if(t=="string"&&html)
ne.innerHTML=cont;else if(t=="object")
ne.appendChild(cont);return ne;};_b.DOM.gE=function(e){var t=typeof(e);if(t=="undefined")
return 0;else if(t=="string"){var re=document.getElementById(e);if(!re)
return 0;else if(typeof(re.appendChild)!="undefined")
return re;else
return 0;}
else if(typeof(e.appendChild)!="undefined")
return e;else
return 0;};_b.DOM.remE=function(ele){var e=this.gE(ele);if(!e)
return 0;else if(e.parentNode.removeChild(e))
return true;else
return 0;};_b.DOM.getPos=function(e){var e=this.gE(e);var obj=e;var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;var obj=e;var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return{x:curleft,y:curtop};};if(typeof(_b.Fader)=="undefined")
_b.Fader={};_b.Fader=function(ele,from,to,fadetime,callback){if(!ele)
return 0;this.e=ele;this.from=from;this.to=to;this.cb=callback;this.nDur=fadetime;this.nInt=50;this.nTime=0;var p=this;this.nID=setInterval(function(){p._fade()},this.nInt);};_b.Fader.prototype._fade=function(){this.nTime+=this.nInt;var ieop=Math.round(this._tween(this.nTime,this.from,this.to,this.nDur)*100);var op=ieop/100;if(this.e.filters){try{this.e.filters.item("DXImageTransform.Microsoft.Alpha").opacity=ieop;}catch(e){this.e.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+ieop+')';}}else{this.e.style.opacity=op;}
if(this.nTime==this.nDur){clearInterval(this.nID);if(this.cb!=undefined)
this.cb();}};_b.Fader.prototype._tween=function(t,b,c,d){return b+((c-b)*(t/d));};