// Contiene referencias a las celdas de la fila correspondiente
var productRow;
var bkp_productRow; // Antes de sustituir el valor de una celda por un "input text", se hace una copia de seguridad del valor
// Controlar que solo haya una fila en modo edición
var editing = false;
var row_id;
var estado_ui;
var old_price, old_state;
var estado_index; // Indice del estado de la UI
var cod_promo; // Codigo de la promoción
var vista_de_impresion = false;

// #####################
// Operaciones con AJAX
//######################

/*function nuevoAjax() {

	var xmlhttp=false;

 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
		 // assume IE6 or older 
   		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", 
                                   		 "MSXML2.XMLHTTP.5.0", 
                                    	 "MSXML2.XMLHTTP.4.0", 
                                    	 "MSXML2.XMLHTTP.3.0", 
                                    	 "MSXML2.XMLHTTP", 
                                    	 "Microsoft.XMLHTTP"); 
		 
    		// try every prog id until one works 
    		for (var i=0; i<XmlHttpVersions.length && !xmlhttp; i++) { 
      		try {  
        		// try to create XMLHttpRequest object 
        		xmlhttp = new ActiveXObject(XmlHttpVersions[i]); 
     		 }  
     		 catch (e) {} 
    		} 

  	}

	if (!xmlhttp && typeof window.XMLHttpRequest!='undefined') {
 		xmlhttp = new window.XMLHttpRequest();
	}
	return xmlhttp;
}*/

function precios_NuevoAjax(){
        
		var xmlhttp=false;
		
        try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
                try{
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(E){
                        xmlhttp = false;
                }
        }

        if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
                xmlhttp = new XMLHttpRequest();
        }
        
		return xmlhttp;
}

function mostrar_form_login() {
	
	
	var container = document.getElementById('contenido-principal');
	
	container.innerHTML=
'<div id="contenedor_form">'+
'<div id="login_form_title"><p style="font-family:Verdana, Arial, Verdana, Tahoma; font-size:18px;">DEPARTAMENTO COMERCIAL VIRTUAL</p></div>'+
'<div id="img_oficina_comercial" style="margin:2px;"><img src="images/comercial.jpg" /></div>'+
'<div id="texto_form_colaborador"><p style="font-family:Verdana, Arial, Verdana, Tahoma;">Bienvenido al departamento comercial virtual, en el que le proponemos realizar consultas sin horarios y en todo momento.</p></div>'+
'<form id="login_form">'+
'<div id="table_form_login" align="justify" style="font-family:Verdana, Arial, Verdana, Tahoma;">'+
'<table width="200" border="0" cellspacing="0">'+
'<tr><td></td></tr>'+
'  <tr>'+
'    <td>Usuario:</td>'+
'    <td><label>'+
'      <input type="text" name="usuario" />'+
'    </label></td>'+
'  </tr>'+
'  <tr>'+
'    <td>Clave:</td>'+
'    <td><input type="password" name="clave" /></td>'+
'  </tr>'+
'  <tr>'+
'    <td>&nbsp;</td>'+
'    <td><label>'+
'      <input type="button" name="Submit" value="Aceptar" onclick="validar_usuario()"/>'+
'    </label></td>'+
'  </tr>'+
'</table>'+
'</div><!--table_form_id-->'+
'</form>'+
'</div>'+
'</div><!--contenedor-->';

}

function validar_usuario() {

	var u = document.forms.login_form.usuario.value;
	var c = document.forms.login_form.clave.value;
	
	var contenedor=document.getElementById('contenido-principal');
	var url="precios.php";
	var params="?op=0&u="+u+"&c="+c;
	
	var ajax=precios_NuevoAjax();
	ajax.open("POST", url, true);

		
	ajax.onreadystatechange=function() {

		
                if (ajax.readyState==1) {

                        contenedor.innerHTML = "Validando...";
                        //modificamos el estilo de la div, mostrando una imagen de fondo

                } else if (ajax.readyState==4) {

                        if (ajax.status==200) {
                                //mostramos los datos dentro de la div
                                contenedor.innerHTML = ajax.responseText; 
                                //preloader.innerHTML = "Cargado.";
                        } else if (ajax.status==404) {
                                contenedor.innerHTML = "La página no existe";
                        } else {
                                //mostramos el posible error
                                contenedor.innerHTML = "Error:".ajax.status;
                        }

                }

	}
	

	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(params);		
}

function cargarPrecios(codpromo, params, view_results) { 

	cod_promo = codpromo;
	
	var contenedor=document.getElementById('precios_promo');
	var url="precios.php";

	var ajax=precios_NuevoAjax();
	ajax.open("POST", url, true);

	ajax.onreadystatechange=function() {

		
                if (ajax.readyState==1) {
					if (view_results == 1) {
                        contenedor.innerHTML = "Cargando...";
					}
                } else if (ajax.readyState==4) {

                        if (ajax.status==200) {
							if (view_results == 1) {
                                //mostramos los datos dentro de la div
                                contenedor.innerHTML = ajax.responseText; 
							}
                        } else if (ajax.status==404) {
                                contenedor.innerHTML = "La página no existe";
                        } else {
                                //mostramos el posible error
                                contenedor.innerHTML = "Error:".ajax.status;
                        }

                }

	}
	

	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(params);


}

function vista_impresion() {
	
	var old_zindex_value = 0;
	var old_position;
	var visibility = "";
	
	var encabezado = document.getElementById("encabezado");;
	var contenedor = document.getElementById("contenedor");
	var logo_encabezado = document.getElementById("logo_encabezado");
	var contenedor_menus = document.getElementById("aojaej01");

	if (vista_de_impresion == false) {
		encabezado.style.width = "0%";
		encabezado.style.heigth = "0px";
		vista_de_impresion = true;
		logo_encabezado.style.width = "0px";
		contenedor_menus.style.width = "0px";
		contenedor.style.margin = "0";
		alert("vista impresion = true");
	} else {
		encabezado.style.width = "100%";
		encabezado.style.heigth = "130px";
		contenedor_menus.style.width = "130px";
		vista_de_impresion = false;
		alert("vista impresion = false");
	}
	
	
}

function vista_normal() {
}


function showResults(container, data) {
	container.innerHTML = data;
}

// Obtiene el índice del estado seleccionado
function obtain_index(index) {
	estado_index = index;
}

// ################################
// Operaciones directas en la tabla
// ################################

function editRow(id) {
	

if (editing == false) {

	// Accede a las celdas de la fila seleccionada
	productRow = document.getElementById(id).cells;
	old_price = productRow[1].innerHTML;
	old_state = productRow[2].innerHTML;
	
	// Introduce los valores actuales en una caja de texto
	// para poder ser modificados
	productRow[1].innerHTML =  
         '<input size="5" type="text" name="precio" ' +  
         'value="' + productRow[1].innerHTML + '">';
	// Propiedades visuales
	document.forms.grid_form_id.precio.style.border = "1px solid #000000";
	
	/*productRow[2].innerHTML =  
         '<input size="5" type="text" name="estado" ' +  
         'value="' + productRow[2].innerHTML + '">';*/
	var msg = "mensaje";
	productRow[2].innerHTML = '<select id="estado" name="estado" onchange="obtain_index(this.selectedIndex)">'+
	'<option value="0">Libre</option>'+
	'<option value="1">Reservado</option>'+
	'<option value="2">Vendido</option>'+
	'<option value="3">Otro</option>'+
	'</select>';
	// Eventos
	estado_OnChange();
	
	// Propiedades visuales
	//document.forms.grid_form_id.estado.style.border = "1px solid #000000";
	document.forms.grid_form_id.estado.style.border = "1px solid #000000";
	
	// Al estar en modo edición, sustituye la opción "Edit" por "Save"
	// para poder guardar los cambios
	id = "'" + id + "'";
	productRow[3].innerHTML =
		'<a href="#" onclick="saveRow(' + id + ')" title="Guardar"><img src="images/blue_floppy.png"></a> ' + 
		'<a href="#" onclick="cancelEdit(' + id + ')" title="Cancelar"><img src="images/cancel_icon.png"></a>';

	
	editing = true;
}

}

function saveRow(id) {
	
	var cod_ui = id;
	var precio = document.forms.grid_form_id.precio.value;
	var estado = document.forms.grid_form_id.estado.value;
	var estado_txt = "";
	
	// Actualiza en la página
	switch(estado) {
		case "0":
			estado_txt = '<img src="images/0.gif" title="Libre">';
			break;
		case "1":
			estado_txt = '<img src="images/1.gif"  title="Reservado">';
			break;
		case "2":
			estado_txt = '<img src="images/2.gif"  title="Vendido">';
			break;
		case "3":
			estado_txt = '<img src="images/3.gif"  title="Otro estado">';
			break;
	}
	
	productRow[1].innerHTML = precio;  
	productRow[2].innerHTML = estado_txt; 

	id = "'" + id + "'";
	productRow[3].innerHTML = '<a href="#" onclick="editRow(' + id + ')"><img src="images/edit_icon.png"></a>';
	
	// Actualiza en la base de datos
	cargarPrecios(cod_promo, "op=1&p="+precio+"&s="+estado_index+"&cu="+cod_ui+"&cp="+cod_promo, 0);
	// Llamar a la función de actualización...
	editing = false;
}

function cancelEdit(id) {
	productRow[1].innerHTML = old_price; 
	productRow[2].innerHTML = old_state; 
	id = "'" + id + "'";
	productRow[3].innerHTML = '<a href="#" onclick="editRow(' + id + ')"><img src="images/edit_icon.png"></a>';
	editing = false;
}

function estado_OnChange() {
	estado_index  = document.forms.grid_form_id.estado.selectedIndex;
	estado_ui = document.forms.grid_form_id.estado.options[estado_index].value;
}