//1337pwn Browser Widget
//Copyright 2007.  1337pwn.com.  All Rights Reserved
var friends;
var x;

//fixfriend
function fixFriend(gamertag){
	var gtloc = unescape(gamertag);
	gtloc = gtloc.replace("+"," ");
	return gtloc;
}

//Renders the friend in the given destination
function renderFriend(gamertag)
{
	// Set up for feeds
	var feedURL = "/buttersMobile.php?gamertag=" + gamertag;
	var onloadHandler = function() {
		if(xmlRequest.readyState==4){
			var gt = document.getElementById(gamertag);
			if (xmlRequest.status == 200) {
				var sData = xmlRequest.responseText;
				sData = sData.substr(sData.indexOf("<pwn>") + 5 , sData.indexOf("</pwn>") - sData.indexOf("<pwn>") - 5);
				sData = sData.substr(sData.indexOf(">",sData.indexOf("<div ") +4)+1, sData.lastIndexOf("</div>") - sData.indexOf(">",sData.indexOf("<div ") +4) - 1);
				
				//Pop in the updated data
				if(gt)
					gt.innerHTML = sData;
				
				//Browsers can't pound the threads like the widget, one at a time for the refresh
				x++;		
				if(friends[x]){
					renderFriend(fixFriend(friends[x]));
				}
			}
		}
	};	
	
	// XMLHttpRequest setup code
	//var xmlRequest = new XMLHttpRequest();
	//xmlRequest.onload = onloadHandler;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		xmlRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		try {
			xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	//alert("rendering: " + gamertag);
	
	xmlRequest.onreadystatechange = onloadHandler;
	xmlRequest.open("GET", feedURL);
	xmlRequest.setRequestHeader("Cache-Control", "no-cache");
	xmlRequest.send(null);
}

//Renders the friend in the given destination
function initFriends(gamertags)
{
	// Set up for feeds
	var feedURL = "/buttersMobile.php?gamertag=" + gamertags;
	var onloadHandler = function() {	
		if(xmlRequest.readyState==4){
			if (xmlRequest.status == 200) {
				var sData = xmlRequest.responseText;
				sData = sData.substr(sData.indexOf("<pwn>") + 5 , sData.indexOf("</pwn>") - sData.indexOf("<pwn>") - 5);
				
				//Take the pwn response
				document.getElementById("content").innerHTML = "<br/>" + sData;

				//Do we have it
				tagedl = document.getElementById("_dirtytags");
				if(tagedl) {
					taglist = tagedl.innerHTML;
					friends = taglist.split(",");
				}
				
				//Go through friends			
				x=0;		
				if(friends[x])
					renderFriend(fixFriend(friends[x]));	
			}
		}
	};	
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		xmlRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		try {
			xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
        
	xmlRequest.onreadystatechange = onloadHandler;
	xmlRequest.open("GET", feedURL);
	xmlRequest.setRequestHeader("Cache-Control", "no-cache");
	xmlRequest.send(null);
}

//
// Function: refresh()
// Refresh the screen
//
function refreshGamers()
{
    // Refresh Logo
	var mslogo = document.getElementById("mslogo");
	mslogo.innerHTML ="<img src=\"/images/1337pwntag20.png\"/>";

	//Get ready to refresh
	var scrollbox = document.getElementById("content");
	var friendslist;
	
	var query = window.location.search.substring(1); 
	var vars = query.split("="); 
	if(vars[1]) 
			friendslist = vars[1]; 
	var deamp = friendslist.split("&");
	if(deamp[0])
		friendslist = deamp[0]; 
	
	//Add a default if no friends
	if(!friendslist){
		friendslist = "borocouncilman";
	}
	
	//set global
	friends = friendslist.split("%2C");
	
	//Gtags
	gamertags = "";
	for(x=0; x<friends.length;x++){
		if(x>0)
			gamertags += ",";
		gamertags += friends[x].replace(/\s+$/,"");
	}
	
	//Init Widget
	initFriends(gamertags);
}
