/* $Id: funciones.js,v 1.0 1/7/2002 12:00 $  - (c) TECNIC.NET - GmG */
  var ENTER = 13;

//Validación de números
//#######################################################################################################
function validar_entero (numero) {
  //si el valor es numérico (si es decimal convierte siempre el separador decimal como 'punto')
  var valor = parseImport(numero);
  //se quita el punto decimal si existe
  valor = valor.replace(/\./g,"");
  return valor;
}
function validar_entero_positivo (numero) {
  var valor = validar_entero(numero);
  //se quita el signo si existe
  valor = valor.replace(/\-/g,"");
  return valor;
}
//		  document.forms['form_sel_cli_id_art_id'].elements['articulo[importe]'].value = Math.round(importe*Math.pow(10,2))/Math.pow(10,2);

//Redondeo de decimales
//#######################################################################################################
function redondear_decimal(numero) {
    var original=parseFloat(numero);
    var result=Math.round(original*100)/100;
    return result;
  }
//Filtrado de valores numéricos con decimales
//#######################################################################################################
function parseImport(importe) {
	// Se elimina el último caracter si es punto o coma para evitar confusiones.
	if(importe.substr(importe.length-1,1)==".") importe = importe.substr(0, importe.length-1);
	if(importe.substr(importe.length-1,1)==",") importe = importe.substr(0, importe.length-1);
	// Se capta la posición del punto y/o coma que pueda haber
	nPosA = importe.lastIndexOf(".");
	nPosB = importe.lastIndexOf(",");
	// No pueden haber: (puntos y comas) ni (mas de un punto o mas de una coma)
	if((nPosA!=-1 && nPosB!=-1) || (nPosA!=importe.indexOf(".") || nPosB!=importe.indexOf(","))) {
		alert("Por favor, no puntúe las unidades de mil.");
		return null;
	}
	// Nos quedamos con la posición correspondiente al simbolo existente, sea el que fuere.
	nPos = (nPosA!=-1?nPosA:nPosB);
	// Componemos el importe, si tiene decimales se fracciona y reconstruye, sino se limpia.
	if(nPos!=-1) {
		ent = importe.substr(0, nPos);
		ent = ent.replace(/\./g,"");
		ent = ent.replace(/\,/g,"");
		dec = importe.substr(nPos+1, importe.length);
		importe = String(parseFloat(ent+"."+dec));
		if(importe.substr(0,1)==".") importe = "0" + importe;
	} else {								// No hay decimales, no importa el simbolo usado
		importe = importe.replace(/\./g,"");
		importe = importe.replace(/\,/g,"");
		importe = String(parseInt(importe));
	}
	return importe;
}

//Abriendo ventanas al centro de la pantalla
//#######################################################################################################
function ventana(w, h, nom_vent, t, url) {
var v_aux = null;
var barras = 'no';

var maxx = screen.availWidth;
var maxy = screen.availHeight;

if (t) barras = 'yes';
v_aux = window.open(url, nom_vent, 'scrollbars=' + barras +',width=' + w + ',height=' + h + ',left=' + ((maxx - w - 26) * .5) + ',top=' + ((maxy - h - 30) * .5)).focus();
}

//Abriendo ventanas en posición (x,y)
//#######################################################################################################
function p_ventana(x, y, w, h, nom_vent, t, url) {
var v_aux = null;
var barras = 'no';

if (t) barras = 'yes';
v_aux = window.open(url, nom_vent, 'scrollbars=' + barras +',width=' + w + ',height=' + h + ',left=' + x + ',top=' + y).focus();
}

//Ventana del Módulo b2b en posición (x,y)
//#######################################################################################################
function ventana_modulo_b2b(x, y, w, h, nom_vent, t, url) {
var v_aux = null;
var barras = 'no';

if (t) barras = 'yes';
  v_aux = window.open(url, nom_vent, 'location=yes,status=yes,toolbar=yes,menubar=yes,resizable=yes,scrollbars=' + barras +',width=' + w + ',height=' + h + ',left=' + x + ',top=' + y).focus();
}

//#######################################################################################################
function centrar_ventana(alto, ancho) {
  var maxx  = screen.availWidth/2;
  var maxy  = screen.availHeight/2;

  var px = maxx - (alto/2);
  var py = maxy - (ancho/2);

  window.moveTo(px,py);
}

//#######################################################################################################
function setPointer(theRow, thePointerColor, no_se_encienden)
{
    if (typeof(theRow.style) == 'undefined' || typeof(theRow.cells) == 'undefined') {
        return false;
    }

    var row_cells_cnt           = theRow.cells.length - no_se_encienden;
    for (var c = 0; c < row_cells_cnt; c++) {
        theRow.cells[c].bgColor = thePointerColor;
    }

    return true;
}

//#######################################################################################################
function setPointer_cell(theCell, thePointerColor)
{
    if (typeof(theCell.style) == 'undefined') {
        return false;
    }
	theCell.bgColor = thePointerColor;
	return true;
}

//#######################################################################################################
function redireccion(doc, dir) {
  eval(doc+".location='"+dir+"'");
  return true;
}

//#######################################################################################################
function timeNow() {
        //Grabs the current time and formats it into hh:mm:ss am/pm format.
        now = new Date()
        hours = now.getHours()
        minutes = now.getMinutes()
        seconds = now.getSeconds()
        timeStr = "" + ((hours > 12) ? hours - 12 : hours)
        timeStr  += ((minutes < 10) ? ":0" : ":") + minutes
        timeStr  += ((seconds < 10) ? ":0" : ":") + seconds
        timeStr  += (hours >= 12) ? " PM" : " AM"
        return timeStr
}
//#######################################################################################################

function fechahoy() {
      var diasemana = new Array ('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo');
      var nombremes = new Array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
      var ahora;
      var fecha = new Date();
      var mes   = fecha.getMonth();
      var dia   = fecha.getDay();
      var num   = fecha.getDate();
      ahora = diasemana[dia] + ", " + num + " " + nombremes[mes] + " " + "2002";
      return ahora;
      }

//#######################################################################################################
function finalizar_sesion_backoffice(sid){
  if (confirm("Al finalizar la sesión todos movimientos no guardados se perderán.\r\n\r\n             ¿Confirma la finalización de la sesión de trabajo?")) {
    //redireccion('parent.parent.parent','../../scripts/stop_sess.php');
//	parent.window.location='/comun/app/scripts/stop_sess_panel_admin.php';
    parent.window.location='/app/scripts/sess_stop.php?SID='+sid+'&u=ae';
  }
}

//#######################################################################################################
function finalizar_sesion_b2b(sid){
  if (confirm("Al finalizar la sesión, si ha iniciado un pedido y no lo ha confirmado, se perderan los datos del mismo.\r\n\r\n                                ¿Confirma la finalización de la sesión de trabajo?")) {
    //redireccion('parent.parent.parent','../../scripts/sess_stop.php');
	parent.window.location='/comun/app/scripts/sess_stop.php?SID='+sid;
  }
}
//#######################################################################################################
// Funciones Macromedia
//#######################################################################################################
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//<iframe> script by www.dynamicdrive.com
function initialize(){
  marqueeheight=document.all? parent.document.all.datamain.height : parent.document.getElementById("datamain").getAttribute("height");
  dataobj=document.all? document.all.datacontainer : document.getElementById("datacontainer");

  var ancho_doc = dataobj.offsetHeight;
  parent.document.all.datamain.height = dataobj.offsetHeight;
}
//#######################################################################################################

// Abre una nueva ventana cada vez que se pide
function abre_ventana_foto_grande(url, w, h, params)
{
  var wname = Math.round(Math.random() * 100000000);
  var izquierda=(screen.width - w)/2;
  var arriba=(screen.height- h)/2;

  window.open(url,wname,'resizable=no,toolbar=no,directories=no,menubar=no,scrollbars=no,'+params+'left='+izquierda+',top='+arriba);
}
function abreVentana(url, w, h, resizable, barras)
{
  var wname = Math.round(Math.random() * 100000000);
  var izquierda=(screen.width - w)/2;
  var arriba=(screen.height- h)/2;

  window.open(url, wname, 'resizable='+resizable+',toolbar=no,directories=no,menubar=no,scrollbars='+barras+',width='+w+',height='+h+',left='+izquierda+',top='+arriba);
}