// JavaScript Document

/*
Variables globales
*/
//Direccion base
//var url_global = "http://209.59.184.213/tienda_virtual";
var url_global = "..";
//Versiones del navegador que posee el usuario
ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )) 
ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 )) 

/******************************************************
DESCRIPCION	: Verifica y convierte las entidades segun sea netscape o IE
SALIDA 		: etiquetas del navegador
PARAMETROS				
	e   : objeto
	f   : capa
******************************************************/
function getElement(e,f){
	
    if(document.layers){
        f=(f)?f:self;
        if(f.document.layers[e]) {
            return f.document.layers[e];
        }
        for(W=0;i<f.document.layers.length;W++) {
            return(getElement(e,fdocument.layers[W]));
        }
    }
    if(document.all) {
        return document.all[e];
    }
    return document.getElementById(e);
}

/******************************************************
DESCRIPCION	: Verifica si una direccion de correo es valida
SALIDA 		: false si no es correcta   o true si lo es
PARAMETROS				
	email   : Direccion de correo a verificar
******************************************************/
function Valida_Email(email)
{
   if (email.indexOf('@',0)==-1 || email.indexOf('@',0)== 0 || email.indexOf('.',0)==-1) 
	   		{
				alert("\nDirección de correo inválida.");
				return false;
			}
	return true;		
}


/******************************************************
DESCRIPCION	: Parche para simular accion de click
SALIDA 		: vacio
PARAMETROS				

******************************************************/
function On_Click()
{
	//No hace nada
	
}


/******************************************************
DESCRIPCION	: Realiza validacion sobre los campos de un formulario
SALIDA 		: Un mensaje de alerta si queda algun campo vacio o tru en caso contrario
PARAMETROS				
	forma   : Objeto de formulario con todos sus elementos
******************************************************/
function ValidaForma(forma,registro)
{
    var variables;
	variables 	= "";
	total 		= forma.elements.length;
    
	for(i=0;i<total;i++)
		{
			 if( forma.elements[i].value=="")
			 	{
					alert("\nEl campo  * " +  forma.elements[i].name + " *  debe contener un valor");
					forma.elements[i].focus();
					return false;
			   }
			 //Se verifica el email  
			 if(forma.elements[i].name=="email")
			 	{
					temp = Valida_Email(forma.elements[i].value);
					if(temp==false)
						{
							forma.elements[i].focus();
							return false;
						}
				}  
			
		}
		if(registro==1 )
			{
				//Se verifican las contraseñas
				 if(forma.contrasena.value!="" &&  forma.contrasena2.value!="")	
						{
							if(forma.contrasena.value!=forma.contrasena2.value)
								{
									//Borro los campos
									forma.contrasena.value	= "";
									forma.contrasena2.value	= "";
									alert("La contraseña y su confirmacion deben ser iguales");
									forma.contrasena.focus();
									return false;
								}
						}
			}		
return true;
}

/******************************************************
DESCRIPCION	: cierra la ventana actual y recarga la ventana padre
SALIDA 		: 
PARAMETROS				
	
******************************************************/
function salida()
{
	window.opener.location.reload();
	window.close();
}


/******************************************************
DESCRIPCION	: Muestra una ventanna de confirmacion con dos botones
SALIDA 		:  true(aceptar) o false(cancelar)
PARAMETROS
		tipo 	: Opcion que selecciona la pagina a cargar
		reg		: Identificador del registro a eliminar
		opc 1,2 : Opciones adicionales					
******************************************************/
function Eliminar_Registro(tipo,reg,opc1,opc2,opc3)
{
	switch(tipo)
		{
			case 1://Elimina una foto del servidor
				direccion = url_global + "/admin/productos_rel.php?elimina=" + reg + "&idProd=" + opc1;
				break;
			case 2://Eliminar registro del carro de compras
				direccion = url_global + "/clientes/carro_compras.php?elimina=" + reg ;
				break;
			case 3://Eliminar administrador
				direccion = url_global + "/admin/administradores.php?elimina=" + reg + "&pagina=" + opc1;
				break;
			case 4://Eliminar orden de compra
				direccion = url_global + "/admin/ordenes.php?elimina=" + reg + "&pagina=" + opc1 + "&estado=" + opc2 + "&tipoOrden=" + opc3;
				break;
			case 5://Eliminar archivo de despiece o detalle de producto
				direccion = url_global + "/admin/productos_archivos_rel.php?eliminaFile=" + reg + "&idProd=" + opc1;
				break;
			case 6://Eliminar marca de productos
				direccion = url_global + "/admin/marcas.php?eliminaMarca=" + reg + "&pagina=" + opc1;
				break;
			case 7://Eliminar categoria
				direccion = url_global + "/admin/categorias.php?eliminaCategoria=" + reg + "&pagina=" + opc1;
				break;
			case 8://Eliminar registro del carro de compras para Miercoles de descuento
				direccion = url_global + "/miercoles/carro_compras.php?elimina=" + reg ;
				break;
		}

if (confirm("¿Esta seguro de eliminar este Registro?"))
	 {
		location.replace(direccion);
	 }

}


/******************************************************
DESCRIPCION	: Abre una nueva ventana
SALIDA 		:  Ventana
PARAMETROS
		tipo 		: Opcion que selecciona la pagina a abrir
		reg			: Identificador principal para la pagina a cargar
		opc 1,2,3 	: Opciones adicionales					
******************************************************/
function Nueva_Ventana(tipo,reg,opc1,opc2,opc3)
{	
	var ventana;
	
	switch(tipo)
		{
			case 1://Nueva/Editar categoria
				caracteristicas = "width=500,height=360,scrollbars=no";
				url = url_global + "/admin/categoria_edit.php?idcategoria=" + reg;
				vent="CategoriaEdit";				
				break;
			case 2://Nuevo/Editar productos
				caracteristicas = "width=500,height=500,scrollbars=yes";
				url = url_global + "/admin/producto_edit.php?idproducto=" + reg;
				vent="ProductoEdit";				
				break;
			case 3://Detalle de cliente
				caracteristicas = "width=400,height=390,scrollbars=no";
				url = url_global + "/admin/clientes_detalle.php?idusuario=" + reg;
				vent="UsuarioDet";				
				break;
			case 4://Detalle de cliente
				caracteristicas = "width=500,height=300,scrollbars=no";
				url = url_global + "/admin/productos_fotos.php?idprod=" + reg + "&idfoto=" + opc1;
				vent="Fotoprod";				
				break;
			case 5://Foto en tamaño mas grande
				caracteristicas = "width=301,height=301,scrollbars=no";
				url = url_global + "/clientes/foto_det.php?idFot=" + reg;
				vent="FotoGrande";				
				break;
			case 6://Producto asociado
				caracteristicas = "width=450,height=175,scrollbars=no";
				url = url_global + "/admin/productos_asocia.php?idProd=" + reg;
				vent="ProductoAso";				
				break;
			case 7://modificar ciudad
				caracteristicas = "width=450,height=175,scrollbars=no";
				url = url_global + "/admin/ciudades_edit.php?idCiudad=" + reg;
				vent="CiudadEdit";				
				break;
			case 8://Editar admin
				caracteristicas = "width=390,height=550,scrollbars=no";
				url = url_global + "/admin/admin_edit.php?idAdmin=" + reg;
				vent="EditaAdmin";				
				break;
			case 9://Nuevo admin
				caracteristicas = "width=390,height=550,scrollbars=no";
				url = url_global + "/admin/admin_edit.php";
				vent="NuevoaAdmin";				
				break;
			case 10://detalle orden
				caracteristicas = "width=600,height=400,scrollbars=yes";
				url = url_global + "/admin/ordenes_detalle.php?idOrdenCliente=" + reg;
				vent="DetalleOrden";				
				break;
			case 11://Comparacion
				caracteristicas = "width=700,height=520,scrollbars=yes";
				url = url_global + "/clientes/comparacion.php" + reg;
				vent="Comparacion";				
				break;
			case 12://Editar Fletes
				caracteristicas = "width=500,height=500,scrollbars=yes";
				url = url_global + "/clientes/comparacion.php" + reg;
				vent="Comparacion";				
				break;
			case 13://Imprimir solicitud de orden de compra
				caracteristicas = "width=700,height=500,scrollbars=yes";
				url = url_global + "/clientes/resumen_final_imprime.php?formaEnvio=" + reg;
				vent="ImprimeOrden";				
				break;
			case 14://nueva marca
				caracteristicas = "width=450,height=230,scrollbars=no";
				url = url_global + "/admin/marca_edit.php?marcaId=" + reg;
				vent="MarcaNueva";				
				break;
			case 15://nuevo cliente
				caracteristicas = "";
				url = url_global + "/clientes/registro.php";
				vent="ClienteNuevo";				
				break;
			case 16://Editar ciudad
				caracteristicas = "width=340,height=215,scrollbars=no";
				url = url_global + "/admin/ciudad_edit.php?idCiudad=" + reg;
				vent="EditarCiudad";				
				break;
			case 17://editar-nueva area
				caracteristicas = "width=480,height=425,scrollbars=no";
				url = url_global + "/admin/area_edit.php?idArea=" + reg;
				vent="EditarArea";				
				break;
			case 18://detalle orden
				caracteristicas = "width=600,height=400,scrollbars=yes";
				url = url_global + "/perfil/pedidos_detalle.php?idOrdenCliente=" + reg;
				vent="DetalleOrdenCliente";				
				break;
			case 19://Nuevo archivo en producto
				caracteristicas = "width=600,height=300,scrollbars=no";
				url = url_global + "/admin/productos_archivos_edit.php?idprod=" + reg;
				vent="ArchivoProducto";				
				break;
			case 20://Nuevo archivo en producto
				caracteristicas = "width=400,height=300,scrollbars=yes";
				url = url_global + "/clientes/archivos_rel.php?idprod=" + reg;
				vent="ArchivoProducto";				
				break;
			case 21://Archivo CSV
				caracteristicas = "width=500,height=400,scrollbars=yes";
				url = url_global + "/doc_cuentas/cuenta_" + reg + ".csv";
				vent="ArchivoProducto";				
				break;				
			case 22://Cargar Archivo CSV
				caracteristicas = "width=500,height=200,scrollbars=no";
				url = url_global + "/admin/cuenta_csv.php?idusuario=" + reg;
				vent="ArchivoProducto";				
				break;
			case 23://Imprimir solicitud de orden de compra miercoles
				caracteristicas = "width=700,height=500,scrollbars=yes";
				url = url_global + "/miercoles/resumen_final_imprime.php?formaEnvio=" + reg;
				vent="ImprimeOrden";				
				break;

		}
	ventana = window.open(url,vent,caracteristicas);
	ventana.focus();
}

/******************************************************
DESCRIPCION	: Despliega o esconde un elemento html
SALIDA 		: 
PARAMETROS
		elemento 		: identificador del elemento html
******************************************************/
function Despliega_Repliega(elemento) 
{
	 if(getElement(elemento).style.display == 'none')
		getElement(elemento).style.display = 'block';
	 else
		getElement(elemento).style.display = 'none';

}

function Validar_Decimal(valor)
{
      valor = parseFloat(valor);

     //Compruebo si es un valor numérico
     if (isNaN(valor))//No es numero
         return "";
	 else//Es entero
	     return valor;
}

function Ventana_Prompt(cual,msg,reg,valorNumerico,maximo)
{
	numero = prompt(msg,valorNumerico);
	
	//Verifico y valido que el numero sea entero
	if(numero!=null)
		{	
			while(numero!=null)
				{	
				if(Validar_Decimal(numero)!="" && numero<=maximo)
						{
							break;
						}
					else//No es entero
						{
							numero = prompt("Por favor digite un numero no mayor a " + maximo,valorNumerico);
						}	
				}//fin while
			
			if(numero!=null) 
				{	switch (cual)
						{
							case 1:
								url = url_global + "/admin/clientes.php?idCliente=" + reg + "&nuevoCupo=" + numero;
								break;
						}
		
					location.replace(url);
				}//fin numero null interno
		}//fin  numero null externo
	
}

function Ventana_Promt_Carro(cual,valorNumerico,reg)
{
	numero = prompt("Digite la nueva cantidad de articulos",valorNumerico);
	
	//Verifico y valido que el numero sea entero
	if(numero!=null)
		{	
			while(numero!=null)
				{	
					temp = parseInt(numero);
					
					if(isNaN(temp))//No es numero
							{
										numero = prompt("Digite la cantidad de articulos",valorNumerico);
							}
					else//Es numero
							{
								break;
							}	
				}//fin while
			
			
			if(numero!=null) 
				{	switch (cual)
						{
							case 1:
								url = url_global + "/clientes/carro_compras.php?nuevaCantidad=" + numero + "&idRegistro=" + reg ;
								break;
						}
		
					location.replace(url);
				}//fin numero null interno
				
		}//fin  numero null externo

}
function Ventana_Promt_CarroM(cual,valorNumerico,reg,cant)
{
	numero = prompt("Digite la nueva cantidad de articulos",valorNumerico);
	
	//Verifico y valido que el numero sea entero
	if(numero!=null)
		{	
			while(numero!=null)
				{	
					temp = parseInt(numero);
					
					if(isNaN(temp))//No es numero
							{
										numero = prompt("Digite la cantidad de articulos",valorNumerico);
							}
					else//Es numero
							{
								break;
							}	
				}//fin while
			
			
			if(numero!=null) 
				{	switch (cual)
						{
							case 1:
								url = url_global + "/miercoles/carro_compras.php?nuevaCantidad=" + numero + "&idRegistro=" + reg +"&cantidadPM="+ cant;
								break;
						}
		
					location.replace(url);
				}//fin numero null interno
				
		}//fin  numero null externo

}

function Ventana_Confirm(msg,tipo,opc1,reg)
{
	temp = confirm(msg);
	if(temp==true)
		{
			switch(tipo)
				{
					case 1:
						direccion = url_global + "/perfil/pedidos.php?tipoOrden=" + opc1 + "&idCotizacion=" + reg;
					break ;
				}//fin switch
			location.replace(direccion);	
		}	
}


function Mensaje(cual)
{
	switch(cual)
		{
			case 1:
				alert("Para continuar con el proceso es necesario que autentique con login y contraseña.\nSi no posee, haga click en el icono nuevo usuario y digite sus datos.");
				break;
			case 2:
				alert("No olvide hacer click en el botòn actualizar para modificar los costos de envìo.");
				break;
			case 3:
				alert("Solo se comparan productos de una misma categoria.\nSeleccione la categoria en el menu de la derecha.");
				break;
			case 4:
				alert("La cantidad ingresada supera nuestro inventario.");
				break;
				
		}

}

function ValidaEmpresa()
{
	if(document.detForm.empresa.value!="")
		{	
			document.detForm.action='detalle_factura.php?actualiza=true';
			document.detForm.submit();
		}	
	else
		{
			document.detForm.empresa.focus();	
			alert("Digite el nombre de la empresa transportadora\npor medio de la cual enviarà los productos.");

		}	
}

