/**
 * Creacion del Objeto de HTMLREQUEST
 */
		var http;
		var imgPrecarga = "<img alt=\"cargando...\" src = \"public/js/aJaxProc/img/p1.gif\" />"; //ruta de la imagen de precarga 
					
//var XMLHttpRequestObject = createXMLHttpRequestObject();

	function createXMLHttpRequestObject() {
		var req;
		    req = false;
		    try {
		        req = new ActiveXObject("Msxml2.XMLHTTP");
		    } catch (e) {
		        try {
		            req = new ActiveXObject("Microsoft.XMLHTTP");
		        } catch (E) {
		            req = false;
		        }
		    }
		    if (!req && typeof XMLHttpRequest != "undefined") {
		        req = new XMLHttpRequest;
		    }
		    return req;
	}



/**
 * Evaluar los Checks y los radio butons del formulario
 * si no estan selccionados asignar False al valor
 * esta funcion se ejecuta cada vez que se oprime un check o un radio
 */

	function aJaxFC(keyEvent, dataSource, idForm) {
	 var XMLHttpRequestObject = createXMLHttpRequestObject();
	  keyEvent = (keyEvent) ? keyEvent: window.event;
	  input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
	  
	  if(keyEvent.type == "checkbox") {
	   keyEvent.value = keyEvent.checked;

	  }
	  else if(keyEvent.type == "radio" && keyEvent.checked) {
	    //keyEvent.value = keyEvent.checked;

	    if (keyEvent.value) {
	      for(i=0; i<document.getElementById(idForm).elements.length - 1; i++) {
	        /*Debug
	        alert(document.getElementById(idForm).elements[i].name);
	        alert(document.getElementById(idForm).elements[i].value);
	        alert(document.getElementById(idForm).elements[i].checked);
	        */
					
	        if(document.getElementById(idForm).elements[i].name==keyEvent.name) {
						
						/*alert(document.getElementById(idForm).elements[i].name+':'+document.getElementById(idForm).elements[i].value);*/
	          document.getElementById(idForm).elements[i].value = document.getElementById(idForm).elements[i].value;
						
	        }
	      }
	    } /* End: if (keyEvent.value)*/
	  } /* End: if (keyEvent.type == "change")*/
	}


	/**
	 * Enviar el formulario o la Peticion aJax
	 */
	function aJaxFS(idForm, dataSource, divID, ifLoading, dialog) {
	  var XMLHttpRequestObject = createXMLHttpRequestObject();
		var postData='';
	  var strReplaceTemp;

	  
		function response () {
			var objDiv = document.getElementById(divID);
      objDiv.innerHTML = XMLHttpRequestObject.responseText;
		}
		
	  if(XMLHttpRequestObject) {
	    XMLHttpRequestObject.open("POST", dataSource);
	    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
		  XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		  
	    XMLHttpRequestObject.onreadystatechange = function(){
	      
				if (XMLHttpRequestObject.readyState == 4 &&
	          XMLHttpRequestObject.status == 200) {
	        try {
											
						//	Si decidimos enviar y como
							if (dialog == "1") {
									var enviar = confirm("Los Datos seran enviados. Desea Continuar?");
									if (enviar)
									{
										response();
									}	
							}
							else {
									response();
							}
	        }
	        catch(e){ document.write("aJaxFS: getElementById(divID) Error"); }
	      }
	      else {
	        if(ifLoading) {
	          try {
	            var objDiv = document.getElementById(divID);
	            objDiv.innerHTML = imgPrecarga;
							
	          }
	          catch(e){ document.write("aJaxFS->ifLoading: getElementById(divID) Error"); }
	        }
	      }
	    }
				var nCk = new Array(1);
				var valorCk = new Array(1);
	      var j=0;

	    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++) {
								
						if(document.getElementById(idForm).elements[i].type == "checkbox" ){
								
								if (nCk[j]==document.getElementById(idForm).elements[i].name){
									
									valorCk[j]+=document.getElementById(idForm).elements[i].value+",";
									
								}else{			
											
									j++;
									
									valorCk[j]=''
															  		
									nCk[j]=document.getElementById(idForm).elements[i].name;					
									
									valorCk[j]+=document.getElementById(idForm).elements[i].value+",";
									
									
										
								}			
								
							}
							
	 					
						if(document.getElementById(idForm).elements[i].type == "radio" ){
							
								if (document.getElementById(idForm).elements[i].checked == true){
							
									strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
							
	      					postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
								}
							
						}else if (document.getElementById(idForm).elements[i].type != "checkbox"){
							
							strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
							
	      			postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
							
						}
						
					
			}
			
			for (k=1;k<nCk.length;k++){
				
				valorCk[k]=RTrim ( valorCk[k], ',' );
				
				strReplaceTemp = nCk[k].replace(/\[\]/i, "");
				
				postData += "&aryFormData["+strReplaceTemp+"][]="+valorCk[k];
				
			}
	    
	    postData += "&parm="+new Date().getTime();
	    try {
	      XMLHttpRequestObject.send(postData);
	    }
	    catch(e){ document.write("aJaxFS: XMLHttpRequestObject.send Error"); }
	  }
	}
	
	
	/**
	 * AJAX PARA OPERACIONES QUE NO TIENEN QUE VER CON FORMULARIOS
	 */
	function aJax(div_id, pag, act, chk) {
			var http = createXMLHttpRequestObject();

			
				//	Manejador de REspuesta de aJax
				function aJaxManejador(){
						http.open('get', pag+'?'+ act,true);
						http.onreadystatechange = handleResponse;
						http.send(null);
				}
				
				//	Procesamiento de La Informacion
				function handleResponse() 
				{
						if (http.readyState != 4)
						{
							document.getElementById(div_id).innerHTML = imgPrecarga+" cargando m&oacute;dulo.";
						}
						else
						{
								var response = http.responseText;
								
								//	si desea enviar el efecto
								/*if (efecto == 'si'){
									Effecto.Appear(div_id);
								}*/	
								document.getElementById(div_id).innerHTML = response;
						}	
				}	
		
				//	Si decidimos enviar y como
				if (chk == "s") {
						var enviar = confirm("Los Datos seran enviados. Desea Continuar?");
						if (enviar)
						{
							aJaxManejador();
						}	
				}
				else {
						aJaxManejador();
				}
		}
	

	
/**
 * funcion para renplazar un caracter dentro de una cadena
 */

function RTrim(s,c){
	// Quita los espacios en blanco del final de la cadena
	var j=0;
	
	// Busca el último caracter <> de un espacio
	for(var i=s.length-1; i>-1; i--)
		if(s.substring(i,i+1) != c){
			j=i;
			break;
		}
	return s.substring(0, j+1);
}
