
//-----------------------------------------------------------------------------
g_showcid = "";

g_tblprods = {
	"PINI"  : ["150", "1.650", "Pago Mensual<br />Contrato m&iacute;nimo 12 meses", "Pago Anual"],
	"PAVA"  : ["300", "3.300", "Pago Mensual<br />Contrato m&iacute;nimo 6 meses",  "Pago Anual"],
	"PPRO"  : ["600", "6.600", "Pago Mensual<br />Contrato m&iacute;nimo 6 meses",  "Pago Anual"],

	"ALTBU" : ["80",    "", "Pago Anual", ""],
	"ALDIH" : ["150",   "", "Pago Anual", ""],
	"PBUSC" : ["50", "550", "Pago Mensual<br />Contrato m&iacute;nimo 6 meses", "Pago Anual"],
	"VISLO" : ["100",   "", "Pago Anual", ""],

	"PCGM1" : ["150",   "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],
	"PCGM3" : ["300",   "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],
	"PCGM6" : ["600",   "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],

	"PCOM1" : ["1.000", "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],
	"PCOM3" : ["3.000", "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],
	"PCOM5" : ["5.000", "", "Pago Mensual<br />Contrato m&iacute;nimo 3 meses", ""],

	"PDESPI" : ["150", "1.650", "Pago Mensual<br />Contrato m&iacute;nimo 6 meses",  "Pago Anual"]
};

g_tblprec = [0, 50, 45, 40, 35, 30, 30, 30, 30, 30, 30 ];
g_numCrits = 3;

//-----------------------------------------------------------------------------
function vex_InitContratar()
{
	// Inicializar los elementos de showCase
	$ES(".sc").each(function(e){
			e.fxOpen  = new Fx.Style(e.id, 'opacity');
			e.fxClose = new Fx.Style(e.id, 'opacity');
			vex_disableInputs.bind(e)();
		});

	// Inicialización de select de producto o forma de pago...
	var el_select = $("id_form_producto") || $("id_form_pago");
	if (el_select) {
		el_select.addEvent("change", vex_changeShowcase );
		el_select.addEvent("keyup", vex_changeShowcase );

		// ¿Hay algo seleccionado en el select? Activar el showcase...
		vex_changeShowcase.bind(el_select)();
	} else {
		// No hay select, ni de producto ni de forma de pago.
		// Intentamos habilitar los inputs que deberían estar activos...
		vex_enableInputs.bind($("sc_domic"))();
	}

	// Inicialización de select para posicionamiento
	var el_crits = $("id_form_numcrit");
	if (el_crits) {
		el_crits.addEvent("change", vex_changePrice );
		el_crits.addEvent("keyup", vex_changePrice );
	}

	// Inicialización de check para pago anual
	var el_anual = $("id_form_anual");
	if (el_anual) {
		el_anual.addEvent("change", vex_changePrice );
		el_anual.addEvent("keyup", vex_changePrice );

		// ¿Hay algo seleccionado en el checkbox? Activar el changePrice...
		vex_changePrice.bind(el_anual)();
	}
}

//-----------------------------------------------------------------------------
function vex_changeShowcase()
{
	var el_value = this.value.toLowerCase();	// this es el elemento select.
	var showcid  = "sc_" + el_value;
	var new_sc   = $(showcid);
	var old_sc   = $(g_showcid);

	if (showcid != g_showcid) {
		if (new_sc && new_sc.fxOpen)  new_sc.fxOpen.start(0,1).chain(vex_enableInputs);
		if (old_sc && old_sc.fxClose) old_sc.fxClose.start(1,0).chain(vex_disableInputs);

		g_showcid = showcid;

		// Si tenemos "inputs" dentro del elemento que escondemos, los hacemos
		// "disabled", y al contrario, si mostramos, los hacemos "enabled".
	}
}

//-----------------------------------------------------------------------------
function vex_changePrice()
{
	var checkYear	= $("id_form_anual");
	var checkId		= checkYear.checked ? 1 : 0;
	var checkId2	= checkYear.checked ? 3 : 2;
	var productId	= $("id_h_prod").value;

	// ¿Es posicionamiento?
	if (productId == "PBUSC") {
		g_numCrits = $("id_form_numcrit").value.toInt();
		var tempPrice = g_tblprec[g_numCrits] * g_numCrits * (checkId ? 11 : 1);

		$("precio_cant").setHTML(tempPrice);
		$("precio_desc").setHTML(g_tblprods[productId][checkId2]);

		// Actualizar los campos de criterios...
		vex_actualizaCrits();
	} else {
		$("precio_cant").setHTML(g_tblprods[productId][checkId]);
		$("precio_desc").setHTML(g_tblprods[productId][checkId2]);
	}
}

//-----------------------------------------------------------------------------
function vex_enableInputs()
{
	$ES("input", this.element || this).each(function(el){
		el.disabled = false;
	});
}

//-----------------------------------------------------------------------------
function vex_disableInputs()
{
	$ES("input", this.element || this).each(function(el){
		el.disabled = true;
	});
}

//-----------------------------------------------------------------------------
function vex_actualizaCrits()
{
	var tmpFields = $ES("fieldset.ppro", $("cont_site"));

	tmpFields.each(function(e, i){
			if (i<g_numCrits) {
				vex_enableInputs.bind(e)();
				e.setStyle("visibility", "visible");
			} else {
				vex_disableInputs.bind(e)();
				e.setStyle("visibility", "hidden");
			}
		});
}


//=============================================================================
window.addEvent("domready", vex_InitContratar );
