

var ItemStats = {
	loadItemData : function(itemName, links) {
		var xmlhttp;
		
	
		// code for Mozilla, etc.
		if (window.XMLHttpRequest) {
			xmlhttp = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}

		if (xmlhttp !== null) {
			// set proxy url
			var url = location.href.substring(0, location.href.lastIndexOf("/")) + "/index.php?wowhead=1&name="+itemName;
			// set response handler
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4) {
					if (xmlhttp.status == 200) {
						var xmlItemName = xmlhttp.responseXML.getElementsByTagName("name")[0].childNodes[0].nodeValue.toLowerCase();
						for (var i = 0; i < links.length; ++i) {
							var link = links[i];
							link.href = xmlhttp.responseXML.getElementsByTagName("link")[0].childNodes[0].nodeValue;
							link.className = "q" + xmlhttp.responseXML.getElementsByTagName("quality")[0].attributes.getNamedItem("id").nodeValue;
						}
					}
					else {
						//alert("Problem retrieving XML data");
					}
				}
			};

			// send request
			xmlhttp.open("GET", url, true);
			xmlhttp.send(null);
		}
		else {
			alert("Your browser does not support XMLHTTP.");
		}
	},
	init : function() {
		var oldonload = window.onload;
		if (typeof(window.onload) != 'function') {
			window.onload = this.createLinks;
		} 
		else {
			window.onload = function() {
				if (oldonload) {
					oldonload();
				}
				ItemStats.createLinks();
			};
		}
	},
	createLinks : function() {
		var links = document.getElementsByTagName("a");
		var currentLinkMap = [];
		for (var i = 0; i < links.length; ++i) {
			var link = links[i];
			if (!link.href.length) {
				continue;
			}
			var m = link.href.match(/http:\/\/(www\.)?wowhead\.com\/\?item=(.+)/);
	
			if (m) {
			  var itemName = m[2].toLowerCase();
			  if (!currentLinkMap[itemName]) {
			
				currentLinkMap[itemName] = [];
				 
			  }
			  currentLinkMap[itemName].push(link);
			}
		}
	
		for( var item in currentLinkMap ) {
			if ( currentLinkMap.hasOwnProperty(item) ) {
				ItemStats.loadItemData(item, currentLinkMap[item]);
			}
		}
		
	}
};

ItemStats.init();