// algunas funciones de prueba para AJAX utilizando PROTOTYPE


//Es una funci�n javascript que crea un objeto ajax
// que consulta a un url y env�a la respuesta a otra funci�n javascript 
/*
function ajaxTest() {
        var myAjax = new Ajax.Request(
          'ajaxTest.php',
          {
            method: 'get',
            parameters: 'parName=parValue',
            requestHeaders: ["If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT"],
            onSuccess: ajaxTestOK,
            onFailure: ajaxTestKO
          }
        )
      }
      

Notas
- Darle un atributo id a un div permite referenciarlo con javascript.

- La propiedad innerHTML de un div es su contenido html

- En Prototype, el m�todo por default del objeto Ajax es POST.

- Prototype permite usar la notaci�n $() para tomar un elemento del DOM, en lugar de usar document.getElementById().
  $() devuelve el elemento buscado, pero adem�s enriquecido.

- En el siguiente bloque las sentencias document.write tienen argumentos equivalentes:

    <script src="prototype.js"></script>
    ...
    <div id="myDiv">
        <p>This is a paragraph</p>
    </div>
    ...
    document.write(document.all.myDiv.innerHTML);
    document.write(document.getElementById('myDiv').innerHTML);
    document.write($('myDiv').innerHTML);

- En Firefox se puede usar $(myDiv), pero en IE se necesita que el id est� entre comillas: $('myDiv')



IE tiene un bug en el seteo del innerHTML de un select. IE trunca el tag de apertura del primer option.
Se puede rodear este problema adaptando algo como:

  $('mySelect').innerHTML = options;

  a

  if (documment.all) { // if IE
    options = '<options>dummy</options>';
  }
  $('mySelect').innerHTML = options;
  if (documment.all) { // if IE
    $('mySelect').outerHTML = $('mySelect').outerHTML; // act�a como filtro
  }

*/  
  
/////////////////////////////  
/**  
Consiste en hacer aparecer un tooltip en al momento de
enfocar el elemento del formulario, dando una explicaci�n 
mas detalla de que hacer y/o escribir, no es una maravilla 
y ya existe hace bastante, pero lo quise hacer a mi manera, 
una manera no obstrusiva y que funciona de la misma manera 
en todos los navegadores
*/

/*c=0;
function tooltip(){
	var Tooltip = Class.create();
	Tooltip.prototype = {
		options:{
			className : 'tooltip',
			margin : 15
		},
		initialize: function (options)
		{
			this.options = Object.extend(this.options, options || {});

			var self = this;
			$$('.'+ this.options.className).each(function(e) {
				self.builder(e);
			});
		},
		builder: function (e)
		{
			var self = this;

			if (e.readAttribute('title'))
			{
				if (e.readAttribute('id') == null)
				e.id = e.name.camelize();

				tooltip = "<div class=\"tooltip-aviso\" id=\"For" + e.id + "\" style=\"display:none\">"+ e.title +"<span class=\"tooltip-pointer\">&nbsp;</span></div>";
				e.title = "";
				new Insertion.After(e, tooltip);
				var elm = $("For" + e.id + "");

				Event.observe(e, 'focus',
				function() {
					var dimensions = e.getDimensions();
					var _height = dimensions.height;

					_margin = '0 0 0 ' + (dimensions.width + self.options.margin) + 'px';
					if (e.hasClassName("option-horizontal"))
					{
						elm.addClassName('tooltip-aviso-horizontal');
						elm.down(0).addClassName('tooltip-pointer-horizontal');
						_margin = (_height + self.options.margin) + 'px 0 0 0';
					}

					_pos = Position.positionedOffset(e);
					elm.setStyle({
						margin: _margin,
						display: 'block',
						left: _pos[0] +'px',
						top: _pos[1] +'px'
					});
				}
				);

				Event.observe(e, 'blur',
				function() {
					elm.setStyle({
						display: 'none'
					});
				}
				);
			}
		}
	}
}


function initTooltip() { var myTooltip = new Tooltip(); }
Event.observe(window, 'load', initTooltip, false);
   
 */


/* provisoriamente esta definido asi, despues le buscamos la vuelta para
   definirlo solo con dos funciones .. */


/** creacion de divs ???


getLoadingDIV: function(height) {
  if (undefined == height) {
   height = 135;
  }
  var loading = document.createElement('div');
  loading.id = 'loadingDIV';
  loading.style.height = height + 'px';
  loading.style.lineHeight = height + 'px';
  loading.innerHTML = 'Loading&#8230;';
  return loading;
 },
*/


function ajaxModelos() {
	//var url = 'http://dorita.dyndns.org/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=modelos&_idmarca='+$("marca").value;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaModelo   
    		                          }
      );

}

function ajaxSegmentos(seg) {
	//var url = 'http://dorita.dyndns.org/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=segmentos&_idmarca='+$("marca").value+'&_idSegmento='+seg;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaSegmentos   
    		                          }
      );

}

function procesarRespuestaModelo( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */     
  
//var l = $("loadinfo");
//l.style.visibility = "hidden";

   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";


//document.getElementById("capaFondo").style.visibility="hidden";
//document.getElementById("loadinfo").style.visibility="hidden";


$("modelo").innerHTML = resp.responseText;
$$("select").each( function(select){select.enable()} );
}

function procesarRespuestaSegmentos( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */     
  
//var l = $("loadinfo");
//l.style.visibility = "hidden";

   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";


//document.getElementById("capaFondo").style.visibility="hidden";
//document.getElementById("loadinfo").style.visibility="hidden";


$("modelo").innerHTML = resp.responseText;
$$("select").each( function(select){select.enable()} );
}





function ajaxAnios() {
	//var url = 'http://dorita.dyndns.org/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=anios&_idmarca='+$("marca").value+'&_idmodelo='+$("select_modelo").value;
    //alert(params); .options[$("modelo").selectedIndex]
	var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaAnios                                    
									}
      );

}


function procesarRespuestaAnios( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */     

//var l = $("loadinfo");
//l.style.visibility = "hidden";
   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";
$("anio").innerHTML = resp.responseText;
$$("select").each( function(select){select.enable()} );
}



function ajaxLocalidades() {
	//var url = 'http://dorita.dyndns.org/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=localidades&_prov='+$("provincia").value;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaLocalidades    
                                    }
      );

}



function procesarRespuestaLocalidades( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */     

//var l = $("loadinfo");
//l.style.visibility = "hidden";
   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";
   $("localidad").innerHTML = resp.responseText;
$$("select").each( function(select){select.enable()} );
}


function validarModelo(){
	
	var alerta = "Se encontraron campos sin seleccionar en el formulario, por favor rellenelos para continuar: ";
	var paso = true;
	
	if( $("marca").value == "" ){
		alerta += "\n\n * No se selecciono una marca";
		paso = false;
	}
	if( $("modelo").value == 0 ){
		alerta += "\n * No se selecciono un modelo";
		paso = false;
	}
	if( $("anio").value == -1 ){
		alerta += "\n * No se selecciono un ano";
		paso = false;
	}
	if( $("provincia").value == "" ){
		alerta += "\n * No se selecciono una provincia";
		paso = false;
	}
	if( $("localidad").value == "" ){
		alerta += "\n * No se selecciono una localidad";
		paso = false;
	}

   if(!paso){
   	alert (alerta);
   }
}

function ajaxValorOrigenVehiculo() {
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=valor_origen&_idmarca='+$("marca").value+'&_idmodelo='+$("select_modelo").value+'&anio='+$("select_anio").value;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaValorOrigen        
                                }
      );

}



function procesarRespuestaValorOrigen( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */     
//var l = $("loadinfo");
//l.style.visibility = "hidden";
   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";
   var array_valor_origen = resp.responseText.split("_");
	$("origen_vehiculo").innerHTML = array_valor_origen[1];
	$("valor_vehiculo").innerHTML = array_valor_origen[0];
$$("select").each( function(select){select.enable()} );
}


function cargando (b) {
  	
	//var l = $("loadinfo");
	//l.style.visibility = "visible";
   var c = $("capaFondo");
   c.style.visibility="visible";
   var l = $("loadinfo");
   l.style.visibility="visible";
  // document.formulario.bAceptar.focus();
$$("select").each( function(select){select.disable()} );
}


function ajaxValoresCoberturas( recargos, idCompania, coberturas ){

		
	//obtengo valor seleccionado
	var val = recargos.value;

	//armar ids y rellenar con elementos ocultos en la pagina....
	for(i=0; i < coberturas.length; i++){
		$("p2_"+idCompania+"_"+coberturas[i]).innerHTML = $(idCompania+"_"+coberturas[i]+"_"+val).value;
	}
}

function ajaxTipoReglamento() {
	var url = 'http://fractalsys/sistemas/multicotizador/sistema/www/js/procesa_ajax_reglamentos.php';
	//var url = 'procesa_ajax_reglamentos.php';
	var params = '';//'action=tipo_r&tipo='+$("tipo").value;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaTipoReglamento       
                                }
      );

}


function procesarRespuestaTipoReglamento (){
	
	//var l = $("loadinfo");
	//l.style.visibility = "hidden";
	//$("aplicacion").innerHTML = resp.responseText;
	alert(resp.responseText);
}

//#### Funciones para la modificacion de condiciones de reglas #### 

function ajaxObjetoCondicion() {
	
	var url = 'procesa_ajax_reglamentos.php';
	var params = 'action=objeto&valor='+$("select_objeto").value;
	var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaObjetoCondicion       
                                }
      );

}


function procesarRespuestaObjetoCondicion(){
	
	//var l = $("loadinfo");
	//l.style.visibility = "hidden";
	   var c = $("capaFondo");
   		c.style.visibility="hidden";
   		var l = $("loadinfo");
   		l.style.visibility="hidden";
	
	alert(resp.responseText);
	//$("subobjeto").innerHTML = resp.responseText;
}

function ajaxCero0km() {
	var cero = $("cero").checked;
    var anio = $("anio");
    if (cero){
        anio.value = 0;
//        anio.disable();
	anio.readOnly = true;
    }
    else{
        anio.readOnly = false;
//        anio.enable();
    }
}

function ajaxProductos() {
	//var url = 'http://dorita.dyndns.org/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	//var url = 'http://fractalsys/sistemas/multicotizador/sistema/script/procesa-ajax.php';
	var url = 'procesa-ajax.php';
	var params = 'action=productos&_clase='+$("clase").value;
    var ajax = new Ajax.Request( url, {
                                      method:"get",
    								  parameters: params,
    								  onLoading: cargando,
                                      onComplete: procesarRespuestaClases
                                    }
      );

}



function procesarRespuestaClases( resp ){
/* resp es un objeto XMLHTTPRequest
   resp.responseText es la respuesta en formato texto (puede ser html)
   resp.responseXML es la respuesta en formato XML */

//var l = $("loadinfo");
//l.style.visibility = "hidden";
   var c = $("capaFondo");
   c.style.visibility="hidden";
   var l = $("loadinfo");
   l.style.visibility="hidden";
   $("productos").innerHTML = resp.responseText;
   $$("select").each( function(select){select.enable()} );
}


