 /*
     ixajax 
     coder ppires@assec.pt	 
  */
  
   ///////////// Limpa vidros ////////////////
 

  

 
 
 
function newXMLHttpRequest() {

  var xmlreq = false;
 
  if (window.XMLHttpRequest) {
   xmlreq = new XMLHttpRequest();

  } else if (window.ActiveXObject) { 
    try { 
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) {
      try {
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {  }
    }
  }

  return xmlreq;
}

 
function getReadyStateHandler(req, responseXmlHandler) {
  return function () {
    if (req.readyState == 4) {
      if (req.status == 200) { 
	    
		if (!req.responseXML) 
			alert(req.responseText);
		 else 
         responseXmlHandler(req.responseXML);
      } else {
        alert("HTTP error: "+req.status);
      }
    }
  }
}

// o pedido
 
  function pedido(fnome,valor){
   var req = newXMLHttpRequest();
 
  var handlerFunction = getReadyStateHandler(req, esperaiXML);
  req.onreadystatechange = handlerFunction;
  
  if  ( location.href.indexOf('/upload') > -1 ) caminho = '../../ixmlz/index.php'  ;
	else caminho = 'ixmlz/index.php';
   
  req.open("POST", caminho, true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send('ixfpp='+fnome+'&v='+valor);
  }
 


 function esperaiXML(ixrXML){

  
  var pedido = ixrXML.getElementsByTagName("pedido")[0];
  if (!pedido) {
    alert(ixrXML.innerHTML);
	return;
	}
	
  var rsp_id = pedido.getAttribute('id');
  var rsp_xf = pedido.getAttribute('ixfpp');
  var rst = pedido.getAttribute('rst');
  
   
  switch( rsp_xf ){
	case 'gent':
		processaPedidoEnt(pedido);
		break;
	case '1cont':
		Processa1Contacto(pedido);
		break
	case 'gcont':
	     processagravacontacto(pedido);
		break;
		
	case 'lstcont':
		lstcontRecida(pedido);
		break	
	
	case "gcontcpo":
	    processagravacontacto(pedido);  
		break;
	
	case "ragenda":
	    procAgenda(pedido);  
		break;
	case "grevento":
	    procAgendaGrav(pedido); 
		break;
	case "eliminaevento":
		procAgendaElimina(pedido);
		break;
		
	case "gcolabora":
	    processaPedidoColaboradores(pedido); 
		break;
		
	case 'rcontactos':
		processaPedidoButoesContacto(pedido);
		break;
		
	case 'googlemapixw':
		_ix_pos_y_force(500);
	    painelMsg('Actualizando mapa.');
		break;
	
	case 'admixconteudo':
		painelMsg('Actualizando Conteudo.');
		break;
	case 'admixml':
		if (processaAdmixml) processaAdmixml(pedido);
		break;
		
	case 'addentidade':
		if (processaAddEntidade) processaAddEntidade(pedido);
		break;
		
	default:
		alert(rsp_xf);
	}
  

   
 }
 
	
	
/////////////////////////
/////////////////////////	
	var flashvars = {};
	var params = { wmode: "transparent" };
	var attributes = {};		
	
  
    
 var aentidades =  Array();
 var aentidadest =  Array();
 function processaPedidoEnt(pXML){
    var debug = ''; 
    var items = pXML.getElementsByTagName("item");
  	   
    for (var I = 0 ; I < items.length ; I++) {

    var item = items[I];
    var nome = item.getElementsByTagName("nome")[0].firstChild.nodeValue;
    var tipo = item.getElementsByTagName("tipo")[0].firstChild.nodeValue;
 
	aentidades[I] = nome ; 
	if (tipo == 'F') aentidadest[I] ='Fornecedor';
	    else  if (tipo == 'C') aentidadest[I] ='Cliente';
				else  aentidadest[I] ='Outra entidade';
	 
    }
   
 }
 
 function Processa1Contacto(pXML){
 
   var items = pXML.getElementsByTagName("item");
       
    if ( items.length <1 ){
		painelMsg('Erro comunicação do contacto');
		return;
		}
    var rsp_rst = items[0].getAttribute('rst');
	
	switch (rsp_rst){
		case '1':
			painelMsg('Gravado contacto');
			break;
		case '2':
			painelMsg('Modificado contacto');
			break;			
		default:
			painelMsg('Erro na gravação do contacto');
			}
			
  //  alert(rsp_rst);
  }
  
  function processagravacontacto(pXML){
	Processa1Contacto(pXML);
	iniciaContacto(1);
	setTimeout("lista_contactos()",3000) ; 
	artigomode(layerContactos);
	}
 
 
 function elementoValor0(obj,campo, limite){
		var xmlitem =  obj.getElementsByTagName(campo)[0];
		if ( !xmlitem ) return '-';
		if ( !xmlitem.firstChild ) return '-';
		if ( xmlitem.firstChild.nodeValue.length < 1 ) return '-'; 
		
		if (!limite || xmlitem.firstChild.nodeValue.length < limite ) return xmlitem.firstChild.nodeValue; 
		
		var nlimite =xmlitem.firstChild.nodeValue.indexOf(' ', limite);
		if (nlimite < 1) nlimite = limite;
		
		devolve =xmlitem.firstChild.nodeValue.substring(nlimite) ;
		devolve = devolve.replace("'","\\\'");
		devolve = devolve.replace('"','');
		return xmlitem.firstChild.nodeValue.substring(0,nlimite)+'<span style="cursor:hand;" onmouseover="mostraHint(this,event,\' '+devolve +'  \');">... </span>';
		}
 
 
 function textoNode(obj,defeito){
   
    if (defeito == null  ) defeito = '';
    
	if (!obj) return defeito;
	if (!obj.text) return defeito;
	 
	return  obj.text;
	
	}
 
  function textoNodeName(obj,nome,defeito){
    if (defeito == null  ) defeito = '_';
	if (!obj) return defeito;
	
	for(l=0; l < obj.length ; l++)
		if (obj[l].nodeName == nome ){
		    
			return obj[l].firstChild.nodeValue;
			//return obj[l].text;
			}
	return defeito;
	}
  
 var aEditar = 0;
  function alteraCell(linha, coluna, tipo){
	if (aEditar == 1) return piscaEditor();
	
	
	var tcmp = elementoValor0(lxmlixt[linha],coluna);
    var cod = lxmlixt[linha].getAttribute("cod") ;
	if (!cod) return;
	
	if ( tipo == 'd' ) {
	    var l = document.getElementById('campoeditavel'); if (!l)  return;
		aEditar = 1;
		l.value = tcmp.substr(0,11) ;
		 
		NewCal('campoeditavel','yyyyMMdd');
        setTimeout("alteraCellData('"+cod+"','"+coluna+"')",30);
		
		return;
		}
	
	if ( tipo == 't' || tipo == 'c' ) {
		aEditar = 1;
		editorTexto(linha, coluna,tipo);
		setTimeout("alteraCellData('"+cod+"','"+coluna+"')",30);
		return;
		}
	
	else  {
		aEditar = 1;
		tcmp=prompt("Alterar conteudo:",tcmp); 
		}
	aEditar = 0
	if ( tcmp == null ) return; 
	 
	var t = '&cix='+cod+'&colunap='+coluna+'&valor='+escape(tcmp);
	pedido('gcontcpo', t);
	}


	
  function  editorTexto(linha, coluna, tipo){ //v2.0
  	var tcmp = elementoValor0(lxmlixt[linha],coluna);
  	
    var t = document.getElementById('campoeditavel');  if (!t)  return;

  	var l = document.getElementById('picker_campoeditavel');
	l.innerHTML='<span></span>';
 	
	var lajixeditor = CriaCaixa('ajixeditort',"position:absolute; top:236; left:245;  width:355; height:150; background-image:'imagens/bg/fundoeditor.gif';  background-repeat:no-repeat; background-position:left;");
	CriaPainelFundoBTclose('ajixeditort','visibility:hidden;');
    //setIZClass(lajixeditor,'menuprincipal')
	
	switch(tipo){
	 case 'c':
		CriaInputText(lajixeditor,'ideditor',tcmp, 'position:relative; top:60; left:0; width:300; ' )
		break;
	  default: CriaTextarea(lajixeditor,'ideditor',tcmp, 'position:relative; top:0; left:0; width:300; height:115;' )
		}
	
	var ipcancelar = CriaBotao(lajixeditor,'btcancelar','cancelar',' position:absolute; top:120px; left:30px;')
	var ipenviar = CriaBotao(lajixeditor,'btalterar','alterar',' position:absolute; top:120px; left:225px;')
 
	ipcancelar.onclick = function() {
		fechapainel();
		cancela_layerEditor();
		}
 	ipenviar.onclick = function() {
		grava_layerEditor();	
		fechapainel();
		}	
 
	if ( document.all )	 
	  l.filters.alpha.opacity = 95;
	  else l.style.MozOpacity  = 0.95;
	}

		
	
  function piscaEditor(){
    // var l = document.getElementById('picker_campoeditavel');
	// if (!l) return;
	// l.setfocus();
	}
	
  function limpa_layerEditor(){
  	var p = document.getElementById('picker_campoeditavel' );  if (!p)  return;
	p.innerHTML ='';
	}
	
 function grava_layerEditor(){
 	var l = document.getElementById('campoeditavel');  if (!l)  return;
	var ae = document.getElementById('ideditor');  if (!ae)  return;
	l.value = ae.value;
	limpa_layerEditor();
	}
	
 function cancela_layerEditor(){
	var l = document.getElementById('campoeditavel');  
	if (!l)  return;
	l.value = 'null';
	limpa_layerEditor();
	aEditar = 0;
	}
	
  function alteraCellData( c, cl){
	var p = document.getElementById('picker_campoeditavel' );  if (!p)  return;
	
	if ( p.innerHTML != '') {
		setTimeout("alteraCellData('"+c+"','"+cl+"')",30);
		return;
		}
	
	var l = document.getElementById('campoeditavel');  if (!l)  return;
	
	if (l.value == 'null') {
		l.value = '';
		aEditar = 0;
		return;
		}
	 
	var t = '&cix='+c+'&colunap='+cl+'&valor='+escape(l.value);
	aEditar = 0;
	l.value = '';
	pedido('gcontcpo', t);

	}
 
 
  function ProcessaGrava(pXML){
 
   var items = pXML.getElementsByTagName("item");
       
    if ( items.length <1 ){
		painelMsg('Erro comunicação do contacto');
		return;
		}
    var rsp_rst = items[0].getAttribute('rst');
	
	switch (rsp_rst){
		case '1':
			painelMsg('Gravado com sucesso');
			break;
		case '2':
			painelMsg('Modificado com sucesso');
			break;			
		default:
			painelMsg('Erro na gravação.');
			}
			
  //  alert(rsp_rst);
  }
  
  
   //////// f~s
 function getIZAttribute(obj,campo){
    if (!obj.getAttribute) return '';
	return  obj.getAttribute(campo);
	}
 
 function setIZClass(obj,valor) { 
	  if ( !document.all) obj.setAttribute('class',valor);
				else obj.setAttribute('className', valor);
	}
 function getIZStyle(obj,nome){
	if ( document.all ) return  obj.style.getAttribute( nome );
	var t = obj.style+'';
	var  a = t.split(nome+':')
	return a[1];
	//alert(a[0]);
 
 }
 function setIZStyle(obj,nomes,valores) {
     
	if ( !obj ) return;
	 
	if ( isString(nomes) ){
		if ( !document.all ){
			obj.setAttribute('style',nomes);	
			return;
			}
		
	    tmp = nomes.split(';');
		 
		if ( isArray(tmp) )
		for (i=0; i < tmp.length; i++){
		    if ( tmp[i] == undefined  || tmp[i] == '' ) continue;
			var tmpa = tmp[i].split(':');
			if ( isArray(tmpa) )
				if ( tmpa[0] != undefined 
					&& tmpa[1] != undefined 
					&& tmpa[0] != '' 
					&& tmpa[1] != '' 
					)  obj.style.setAttribute(tmpa[0].replace(/ /,""),  tmpa[1].replace(/ /,"")); 
					   
			} 
		 
		return;
		} 

	if ( nomes == null || valores == null) return;
	if ( !document.all){ 
			var estilo= '';
			for(var i=0 ; i	< nomes.length; i++)
				estilo = estilo + nomes[i]+':'+valores[i]+'; ';
			obj.setAttribute('style',estilo);		
			}
		else
			for(var i=0 ; i	< nomes.length; i++)
				obj.style.setAttribute(nomes[i],valores[i]);
			
	}
	 
  function copyIZStyle(original, copia,nomes,valores) {
  
	if ( !document.all){
		var estilo= '';
		for(var i=0 ; i	< nomes.length; i++)
				estilo = estilo + nomes[i]+':'+valores[i]+'; ';
		
		if ( original.getAttribute('style')   )
			estilo = original.getAttribute('style') + estilo;
		
		copia.setAttribute('style', estilo);
		}
		else { 
			for(var i=0 ; i	< nomes.length; i++)
				copia.style.setAttribute(nomes[i],valores[i]);
			 
			}	
           
	}
	

		
///////////////////////////////////////////////	
	var acolaboradores =  Array();
	var acolaboradoresCod =  Array();
	
	function processaPedidoColaboradores(pXML){
    var debug = ''; 
    var items = pXML.getElementsByTagName("item");
  	   
    for (var I = 0 ; I < items.length ; I++){  
		acolaboradores[I] = items[I].getElementsByTagName("nome")[0].firstChild.nodeValue  ; 
		acolaboradoresCod[I] = items[I].getAttribute("cod")  ; 
		}
	}	
//////////////////////////////////////////////////	