//==================================================================
//	AJAX XML
//==================================================================

//------------------------------------------------------------------
//	class
//------------------------------------------------------------------
//------------------------------------------------------------------
function xMMS_AJAX(){
	//--------------------------------------------------------------
	// variables
	//--------------------------------------------------------------
		var DATA			= "";	// DATA will be full parsed XML
		var aDATA			= "";	// DATA will be full parsed XML
		var rootPath		= "";
		var xmlFile			= "";
		var isIE			= false;


	//--------------------------------------------------------------
	// arrays
	//--------------------------------------------------------------
		

	//--------------------------------------------------------------
	// constructor
	//--------------------------------------------------------------
		this.setGlobals = function(){
			if(window.ActiveXObject){isIE = true;}
			objREQ = isIE == false ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP") ;
		}

	//--------------------------------------------------------------
	// methods
	//--------------------------------------------------------------
		//	open XML
		//----------------------------------------------------------
		this.loadXML = function(){
			xmlFile = this.xmlFile
			objREQ.onreadystatechange = this.checkXML;
			objREQ.open("GET", this.rootPath + this.xmlFile, true);
			if(isIE == false){objREQ.send(null);}
			else{objREQ.send();}
		}

		//	status on load return
		//----------------------------------------------------------
		this.checkXML = function(){
			// only if objREQ shows "loaded"
			// alert(objREQ.readyState)
			if (objREQ.readyState == 4) {
				// only if "OK"
				if (objREQ.status == 200) {
					//statusXML("Loaded Status: " + objREQ.statusText);
					destroyDATA();
					createDATA();
				}
				else{
					//statusXML("Loaded Error: " + objREQ.statusText);
				}
			}
		}

		//	destroy previous DATA
		//----------------------------------------------------------
		destroyDATA = function(){

		}

		//	create previous DATA
		//----------------------------------------------------------
		createDATA = function(){
			var aDATA	= Array();
			var DATA	= objREQ.responseXML.getElementsByTagName("item");	
			var count	= DATA.length;

			for(var n = 0; n < count; n++){

				//	assign values
				//-----------------
				var copy		= getElementText("name", DATA[n], 0);	
				var url			= getElementText("url", DATA[n], 0);
				var id			= getAttributeText("id", DATA[n]);
				//alert(copy + " : " + url + " : " + id);

				//	Push to array
				//-----------------
				aNODE = Array(copy, url, id);
				aDATA.push(aNODE);
			}

			this.aDATA = aDATA;
			objDOM(this, xmlFile);
		}

		//	DATA element
		//----------------------------------------------------------
		getElementText = function(OBJ, parentOBJ, n){
			ELEMENT		= "";
			ELEMENT		= parentOBJ.getElementsByTagName(OBJ)[n];
			if(ELEMENT){return ELEMENT.firstChild.nodeValue;}
		}

		//	DATA attribute
		//----------------------------------------------------------
		getAttributeText = function(OBJ, parentOBJ){
			var ATTRIBUTE = "";
			ATTRIBUTE = isIE == true ? parentOBJ.getAttribute(OBJ) : parentOBJ.attributes[OBJ];
			if(ATTRIBUTE != "undefined"){
				ATTRIBUTE = isIE == true ? ATTRIBUTE : ATTRIBUTE.value ;
				return ATTRIBUTE;
			}
		}


		//	status on load return
		//----------------------------------------------------------
		statusXML = function(val){alert(val);}
}