var bo_text = '';
var lastLink = '';
var lastSortDir = '';
var lastSort = '';
var bo_id = 0;

var y=0;
var x=0;	
	
var boSuccess = function(o){	
	//alert('success.....');
	if(o.responseText !== undefined){		
		//byId('battleorder_details').innerHTML = '';
		//byId('battleorder_details').style.display='none';		
				//alert(o.responseText);
		
		/*var bo_details = byId('battleorder_details');	
		bo_details.innerHTML =  "<div>";
		bo_details.innerHTML += o.responseText;
		bo_details.innerHTML +=  "</div>";
		bo_details.style.display='block';*/
		
		//alert(byId('battleorder_details').innerHTML);
	}	
	bo_text = o.responseText;	
	var elem = byId('battleorder_details');	
	//elem.style.opacity=0;
	elem.style.display='none';
	elem.innerHTML = bo_text;
	var anim = new YAHOO.util.Anim('battleorder_details', { opacity: {from:0,  to: 0.95 }  }, 1.0, YAHOO.util.Easing.easeOut);
   	elem.style.display='block';
	anim.animate();	
		
}
var boFailure = function(o){
	alert('Error Loading Battle order. \n Server is currently to busy to handle the request. \n Please try again later.');
}

var bo_callback =
{
  success:boSuccess,
  failure: boFailure  
};
var availSuccess = function(o){
	
	if(o.responseText !== undefined){						
		var cal = byId('evtTime_battleorder_'+bo_id);

		//alert(cal);
		//alert(o.responseText);
		avail = o.responseText;
		if(cal ){ // && roster
			if(avail=='Accepted'){
				cal.className = 'evtRoster_Accepted';
				//roster.className = 'roster_member roster_accepted ';
			}else if(avail=='Declined'){
				cal.className = 'evtRoster_Declined';
				//roster.className = 'roster_member roster_declined ';
			}else if(avail=='NoShow'){
				cal.className = 'evtRoster_NoShow';
				//roster.className = 'roster_member roster_noshow ';
			}
			else{
				cal.className = 'evtRoster_Pending';
				//roster.className = 'roster_member roster_null ';
			}
		}
		close_bo();
	}
	
}
var availFailure = function(o){
	close_bo();
	alert('Error Setting your Availabiltiy. \n Server is currently to busy to handle the request. \n Please try again later.');
}

var avail_callback =
{
  success:availSuccess,
  failure: availFailure  
};


function byId(i){
	return document.getElementById(i);
}

function open_article(id,oLink){	
	window.location='/aef3/article/view.php?article_id='+id;	
}

function sort_bo(sort_by){	

	//alert('sorting by : ');
	var bo_details = byId('battleorder_details');	
	//alert(bo_details);
	/*bo_details.innerHTML = '<div class="loading_ind">Sorting...</div>';
	
	var sUrl = '/aef3/js_data/set_avail.php?bo_id='+bo_id+'&avail='+avail+'&rand='+Math.random()*99999999999;		
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, avail_callback); */	
	var dir = 'asc';
	if(lastSort == sort_by){
		if(lastSortDir=='desc'){
			dir = 'asc';
		}else{
			dir = 'desc';
		}
	}
	
	open_bo(bo_id,lastLink,sort_by,dir);
}
function open_bo(id,oLink,_sort_by,_sort_dir){	
	
	
	
	var sort_by = (_sort_by) ? _sort_by : 'username_clean';
	var sort_dir = (_sort_dir) ? _sort_dir : 'asc';
	
	if(oLink){
		if( oLink.offsetParent ) {	
			for( var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
				posY += oLink.offsetTop;
				posX += oLink.offsetLeft;
			}
			y=posY;
			x=posX;
		} else {
			if(oLink.x && oLink.y){			
				y =  oLink.y;
				x =  oLink.x;
			}
		}
	}
	x += 20;
	y += 30;
	
	/*var winSize = getWindowSize();
	var winScroll = getWindowScroll();	
	var winX = winSize[0];
	winX += winScroll[0];
	var winY = winSize[1];
	winY += winScroll[1];	
	*/
	var winX = YAHOO.util.Dom.getViewportWidth();
	var winY = YAHOO.util.Dom.getViewportHeight();
	var winScroll = getWindowScroll();		
	winX += winScroll[0];	
	winY += winScroll[1];
	
	var h =500;// bo_details.offsetHeight;
	//alert('winX = '+winX+' : winY = '+winY);
	if(x>winX-400){		
		x = winX -400;
	}		
	if(y>winY-h){		
		y = winY -h;
	}
	
	var bo_details = byId('battleorder_details');
	
	bo_details.style.display='block';
	bo_details.style.top = y+'px';
	bo_details.style.left = x+'px';
	bo_details.innerHTML = '<div class="loading_ind">Loading Battleorder Details...</div>';
	
	bo_id = id;		
	lastSort = sort_by;	
	lastSortDir = sort_dir;	
	lastLink = oLink;	
	
	var sUrl = '/aef3/js_data/get_bo.php?bo_id='+bo_id+'&sort_by='+sort_by+'&sort_dir='+sort_dir+'&rand='+Math.random()*99999999999;			
	
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, bo_callback); 
}

function close_bo(id,oLink){	
	byId('battleorder_details').style.display='none';
}

function set_avail(avail){	
	
	// set the status		
	var user_pending = byId('bo_group_pending');	
	if(user_pending){	
		if(user_pending.value=='1'){
			// check if the event is a Ladder
			var bo_type = byId('bo_type');
			if(bo_type && bo_type.value == 'Ladder'){
				alert('As you are currently on trial with the team you can not attend Ladder matches');
				return false;
			}
		}
	}
	
	
	
	var bo_details = byId('battleorder_details');	
	bo_details.innerHTML = '<div class="loading_ind">Saving your Availability...</div>';
	
	var sUrl = '/aef3/js_data/set_avail.php?bo_id='+bo_id+'&avail='+avail+'&rand='+Math.random()*99999999999;		
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, avail_callback); 
}

function getWindowScroll() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return[ myWidth, myHeight];
}
function leftTrim(sString)
{
while (sString.substring(0,1) == ' ')
{
sString = sString.substring(1, sString.length);
}
return sString;
}

addEvent(window, 'load', initBattleorder);
function initBattleorder(){

	if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
		var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
		var itsAllGood = (rslt != null && Number(rslt[1]) >= 7.0);

		if(!itsAllGood){
			var evts = getElementsByClass('evt',document);
			if(evts){
				for(var i=0; i<evts.length; i++){
					evts[i].onmouseover=function() {
						this.className+=" evtover";
					}
					evts[i].onmouseout=function() {
						this.className=this.className.replace(new RegExp(" evtover\\b"), "");
					}
				}
			}
			var evts = getElementsByClass('evtback',document);
			if(evts){
				for(var i=0; i<evts.length; i++){
					evts[i].onmouseover=function() {
						this.className+=" evtbackover";
					}
					evts[i].onmouseout=function() {
						this.className=this.className.replace(new RegExp(" evtbackover\\b"), "");
					}
				}
			}
			var evts = getElementsByClass('dayTitle',document);
			if(evts){
				for(var i=0; i<evts.length; i++){
					evts[i].onmouseover=function() {
						this.className+=" dayTitleOver";
					}
					evts[i].onmouseout=function() {
						this.className=this.className.replace(new RegExp(" dayTitleOver\\b"), "");
					}
				}
			}
		}
	}
}