/**************************************************************************************************************************/
function isArray(o){
	return(typeof(o.length)=="undefined")?false:true;
}
/****************** CLASSE DE AJAX *********************/

function XML(){
	var me = this;
	this.objHttp = false;
	this.registro = [];
	
	this.getXmlHttp = function(){
		 if(window.XMLHttpRequest){
			 return  new XMLHttpRequest();
		 } else if (window.ActiveXObject) {			 
			 var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
			 for(var i=0;i<axO.length;i++){ 
				try{ 
					return  new ActiveXObject(axO[i]);
				}catch(e){} 
			}
		}			
	 } 
	 
	this.initialize = function() {  		 
		me.objHttp = me.getXmlHttp();
	}	

	this.readyLoad = function(){	
		if (me.objHttp.readyState == 4 && me.objHttp.status == 200){				
			me.result = me.objHttp.responseXML;
			//alert(me.objHttp.responseText)
			me.tagPai = 'channel';
			if(me.tagPai){
				var filhos = me.result.getElementsByTagName(me.tagPai)[0].childNodes;
			}else{
				var filhos = me.result.firstChild.childNodes;
			}	
			var cont = 0;
			for(i=0;i<filhos.length;i++){
				if(filhos[i].nodeType == 1){
					var nome = filhos[i].nodeName.replace(':','_');
					eval("me."+nome+" = new Object();");
					//registro.nodeName = filhos[i].nodeName;
					if(filhos[i].hasChildNodes()){
						if(filhos[i].childNodes.length > 1){
							eval("me."+nome+"_"+cont+" = new Object();");
							eval("var objSel = me."+nome+"_"+cont+"");
							objSel.prop = [];							
							for(j=0;j<filhos[i].childNodes.length;j++){	
								//alert(registro.nodeName+'; '+filhos[i].childNodes[j].nodeType)
								if(filhos[i].childNodes[j].nodeType == 1){								
									if(filhos[i].childNodes[j].hasChildNodes()){
										nomeFilho = filhos[i].childNodes[j].nodeName.replace(':','_');
										var node = filhos[i].childNodes[j].childNodes[0].data;
										objSel.prop[nomeFilho] = node;	
									}
								}
		
							}
							cont++;
						}else{
							eval("me."+nome+" = '"+filhos[i].childNodes[0].data+"'");
						}
					}					
					
				}	
			}
			if(me.onLoad)
				me.onLoad();
		}
	}		
	this.Load = function(url,tagpai){
		me.tagPai = tagpai;
		me.objHttp.onreadystatechange = me.readyLoad;
		me.objHttp.open('GET', url, true);
		me.objHttp.send(null);		
	}
	
	this.getByTagName = function(tagName,where){
		me.result = me.objHttp.responseXML;
		me.tags = me.result.getElementsByTagName(tagName);
		me.arr = []
		for(i=0;i<me.tags.length;i++){
			if(where){
				if(me.tags[i].childNodes[0].data == where){						
					me.arr[i] = new Object();
					me.arr[i].data = me.tags[i].childNodes[0].data;						
				}
			}else{
				me.arr[i] = new Object();
				me.arr[i].data = me.tags[i].childNodes[0].data;
			}
			//obj.attributes[].value=tags
			//str[i] = tags[i].childNodes[0].data;
		}
		return me.arr;
	}
	
	this.getResponse = function(){
		return me.objHttp.responseText;
	}
	
	this.initialize();
}



