/* - - - - - - - - - - - - - - - - - - - - - - -
 Archivo de Utilidades en JavaScript para control de acciones a nivel de cliente
 - - - - - - - - - - - - - - - - - - - - - - - */
function AgrandaVista(sNomImagen) {
	var sTmp1;
	var sTmp2;
	var iTop;
	var iLeft;
	
	iTop = (screen.height - 350) / 2;
	iLeft = (screen.width - 330) / 2;
		        	
	//Pagina
	sTmp1 = "imagenes/productos/" + sNomImagen;
	
	//Parametros
	sTmp2 = "toolbar=no,status=no,menubar=no,resizable=yes,scrollbars=yes,width=330px,height=350px,top=" + iTop + ",left=" + iLeft;
	window.open(sTmp1,"_blank" ,sTmp2);
	return;
}        	

// ********************************************************************************************
// Quita los espacios del lado derecho de un string
// ********************************************************************************************
function Rtrim(sTmp1) {
    var iTmp1 = 0;
    var oTmp1 = sTmp1;

    if (typeof(oTmp1) == "string") {
        if (oTmp1.length > 0) {
            iTmp1 = oTmp1.length - 1;
            while (oTmp1.charAt(iTmp1) == " ") {
                iTmp1 -= 1;
            }
            oTmp1 = oTmp1.slice(0, iTmp1 + 1);
        }
    }
    sTmp1 = oTmp1;
    return(sTmp1);
}

// ********************************************************************************************
// Quita los espacios del lado izquierdo de un string
// ********************************************************************************************
function Ltrim(sTmp1) {
    var iTmp1 = 0;
    var oTmp1 = sTmp1;

    if (typeof(oTmp1) == "string") {
        if (oTmp1.length > 0) {
            while (oTmp1.charAt(iTmp1) == " " && iTmp1 < oTmp1.length) {
                iTmp1 += 1;
            }
            oTmp1 = oTmp1.slice(iTmp1);
        }
    }
    sTmp1 = oTmp1;
    return(sTmp1);
}

// ********************************************************************************************
// Llama a las funciones que quitan todos los espacios de ambos lados de un string
// ********************************************************************************************
function Trim(sTmp1) {
    return(Rtrim(Ltrim(sTmp1)));
}

// ********************************************************************************************
// Reemplaza caracter de un string
// ********************************************************************************************
function ReemplazaCaracter(Texto, CaracterOrigen, CaracterDestino) {
var iTmp1, iTmp2;
var sTmp1 = new String(Texto);

    for (iTmp1 = 0; iTmp1 <= sTmp1.length; iTmp1++) {
        if (sTmp1.charAt(iTmp1) == CaracterOrigen)
            sTmp1 = sTmp1.replace(CaracterOrigen,CaracterDestino);
    }

    return sTmp1;
}
 
// ********************************************************************************************
// Formatea Numero Sin Decimales Redondeando
// ********************************************************************************************
function FormatoSinDecimal(Numero) {
    if(isNaN(Numero))
        Numero = "0";
    else
        Numero = Math.round(Numero).toString();
        
    for (var i = 0; i < Math.floor((Numero.length-(1+i))/3); i++) 
        Numero = Numero.substring(0, Numero.length - (4*i+3)) + sSeparaMil + Numero.substring(Numero.length-(4*i+3));
        
    return (Numero);
}

// ********************************************************************************************
// Formatea Numero CON Decimales Redondeando
// ********************************************************************************************
function FormatoConDecimal(Numero) {    
    if(isNaN(Numero)) {
        cents = "0";
        Numero = "0";       
    }
    else {
//      cents = Math.floor((Numero*100)%100);
//      Numero = Math.floor(Numero).toString();

        cents = Math.floor((Numero*100+0.5)%100);
        Numero = Math.floor(Numero).toString();
    }
    if(cents < 10)
        cents = "0" + cents;

    for (var i = 0; i < Math.floor((Numero.length-(1+i))/3); i++) 
        Numero = Numero.substring(0, Numero.length - (4*i+3)) + sSeparaMil + Numero.substring(Numero.length-(4*i+3));

    return (Numero + sSeparaDecimal + cents); 
}

// ********************************************************************************************
// Formtea un Numero Con/Sin decimales
// ********************************************************************************************
function Format(Numero, Decimales) {
    if (Trim(Decimales) == "N")
        return FormatoSinDecimal(Numero)
    else
        return FormatoConDecimal(Numero)
}

// ********************************************************************************************
// Chequea el digito verificador
// ********************************************************************************************
function checkDV(rut, drut) {
var dvr = '0';
    suma = 0;
    mul  = 2;
    dvi = 0;
    
    for (i= rut.length -1 ; i >= 0; i--) {
        suma = suma + parseInt(rut.charAt(i), 10) * mul;
        if (mul == 7)
            mul = 2;
        else    
            mul++;
    }

    res = parseInt(suma, 10) % 11;
    if (res == 1)
        dvr = 'k';
    else
        if (res == 0)
            dvr = '0';
        else {
            dvi = 11-res;
            dvr = dvi + "";
        }
    if (dvr != drut.toLowerCase())
        return false;
    else
        return true;
}

// ********************************************************************************************
// Formatea un Run
// ********************************************************************************************
function Run_format(sTmp_run) {
var iTmp1;
var bTmp1;
var sTmpDv;
    
    if (sTmp_run != "") {
        iTmp1 = sTmp_run.length;
        sTmpDv = sTmp_run.substring(iTmp1 - 1,iTmp1);
        iTmp1 = iTmp1 - 1;
        sTmp_run = sTmp_run.substring(0,iTmp1);
        sTmp_run = Trim(sTmp_run);

        if (!checkDV(sTmp_run, sTmpDv)) {
            alert("El Rut es incorrecto");
            sTmp_run = "";
        }
        else {
            sTmp_run = Format(sTmp_run, "N");
            sTmp_run = sTmp_run + "-" + sTmpDv;
        }
    }

    return sTmp_run;
}

// ********************************************************************************************
// Funcion que valida el buen ingreso de un Rut al momento de que la caja del Rut pierde el foco
// ********************************************************************************************
function Rut_onblur(oTmp1){
var sTmp1 = new String(oTmp1.value);
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaMil, "");                               
    sTmp1 = ReemplazaCaracter(sTmp1, "-", "");          
    oTmp1.value = Run_format(sTmp1);
}

// ********************************************************************************************
// Funcion que desformatea el Rut al momento de que la caja del Rut obtiene el foco para edicion
// ********************************************************************************************
function Rut_onfocus(oTmp1){
var sTmp1 = new String(oTmp1.value);
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaMil, "");
    sTmp1 = ReemplazaCaracter(sTmp1, "-", "");
    oTmp1.value = sTmp1;
    oTmp1.select();
}

// ********************************************************************************************
// Funcion que desformatea el Rut al momento de que la caja del Rut obtiene el foco para edicion
// ********************************************************************************************
function Rut_onkeypress(oTmp1){
var ivalor = window.event.keyCode;
    if ((ivalor == 107) || (ivalor == 75)) {
        window.event.keyCode = 75;
        return;
    }
    if ((ivalor < 48) || (ivalor > 57))
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres permitidos para numero telefonico en un txt
// ********************************************************************************************
function telefono_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if (((ivalor < 48) || (ivalor > 57)) && (ivalor != 45) && (ivalor != 40) && (ivalor != 41) && (ivalor != 43))
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres numericos en un txt
// ********************************************************************************************
function numero_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if ((ivalor <= 47) || (ivalor >= 58))
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Funcion que valida que el contenido de un txt numerico sea siempre numerico al salir de el
// ********************************************************************************************
function numero_onblur(otmp1, sind_valida_rango, lrangoa, lrangob, bind_formateo){
var stmp1;
    stmp1 = new String(otmp1.value);
    
    if (!isNaN(parseInt(stmp1, 10)))
        stmp1 = parseInt(stmp1, 10);
    else
        stmp1 = 0;
                        
    if (parseInt(stmp1, 10) >= 0 && Trim(sind_valida_rango) == "S"){            
        if (parseInt(stmp1, 10) < parseInt(lrangoa, 10))
            stmp1 = lrangoa;
        else{
            if (parseInt(stmp1, 10) > parseInt(lrangob, 10))
                stmp1 = lrangob;
        }
    }
        
    if (bind_formateo == true)
        otmp1.value = Format(stmp1, "N");
    else
        otmp1.value = stmp1;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres numericos en un txt de tipo valor
// ********************************************************************************************
function valor_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if (ivalor != iNroSeparaDecimal){
        if ((ivalor <= 47) || (ivalor >= 58))
            window.event.keyCode = 0;
    }
}

// ********************************************************************************************
// Funcion que valida que el contenido de un txt valor sea siempre numero valido al salir de el
// ********************************************************************************************
function valor_onblur(otmp1, sind_valida_rango, lrangoa, lrangob){
var stmp1;
    stmp1 = new String(otmp1.value);

    stmp1 = ReemplazaCaracter(stmp1, sSeparaDecimal, ".");
    
    if (!isNaN(parseFloat(stmp1)))
        stmp1 = parseFloat(stmp1);
    else
        stmp1 = 0;
                                        
    if (parseFloat(stmp1) >= 0 && Trim(sind_valida_rango) == "S"){          
        if (parseFloat(stmp1) < parseFloat(lrangoa))
            stmp1 = lrangoa;
        else {
            if (parseFloat(stmp1) > parseFloat(lrangob))
                stmp1 = lrangob;
        }
    }
                
    otmp1.value = Format(stmp1, "S");
//  otmp1.value = stmp1;
}

// ********************************************************************************************
// Funcion que desformatea el valor al momento de que la caja del valor obtiene el foco para edicion
// ********************************************************************************************
function valor_onfocus(oTmp1){
var sTmp1 = new String(oTmp1.value);
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaMil, "");
    oTmp1.value = sTmp1;
    oTmp1.select();
}

// ********************************************************************************************
// Funcion que desformatea el valor de una caja numerica para hacer los calculos necesarios
// ********************************************************************************************
function numeric_validnumber(oTmp1){
var sTmp1 = new String(oTmp1.value);
var dTmp1 = 0;
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaMil, "");
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaDecimal, ".");
    dTmp1 = parseFloat(sTmp1);
    return dTmp1;
}
function mskNumericoToNumeroReal(sTmp1){
var dTmp1 = 0;
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaMil, "");
    sTmp1 = ReemplazaCaracter(sTmp1, sSeparaDecimal, ".");
    dTmp1 = parseFloat(sTmp1);
    return dTmp1;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres alfanumericos MAYUSCULAS en un txt SIN VALIDACION DE COMILLAS
// ********************************************************************************************
function texto_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if ((ivalor >= 97) && (ivalor <= 122) || ivalor == 241)
        window.event.keyCode = ivalor - 32;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres alfanumericos MAYUSCULAS en un txt
// ********************************************************************************************
function text_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if (ivalor != 34){
        if ((ivalor >= 97) && (ivalor <= 122) || ivalor == 241)
            window.event.keyCode = ivalor - 32;
    }
    else
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres alfanumericos MAYUSCULAS en un txt MAS CARACTERES ESPECIALES
// ********************************************************************************************
function txt_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if ((ivalor >=65) && (ivalor <= 90) || (ivalor >= 97) && (ivalor <= 122) || ivalor == 32 || ivalor == 209 || ivalor == 241 || ivalor == 39 || ivalor == 45){
        if ((ivalor >= 97) && (ivalor <= 122) || ivalor == 241)
            window.event.keyCode = ivalor - 32;
    }
    else
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Llama Pagina Calendario
// ********************************************************************************************
function LlamaCalendario(sNomFormulario, sObjetoFecha, sValorFecha, sFechaActual, oTmp1, sRutaRaiz) {
var sDia;
var sMes;
var sAno;
var sTmp1;
var sTmp2;
var iTop;
var iLeft;

    if (Trim(sValorFecha) != "" && !isNaN(sValorFecha.substr(0, 2)) && !isNaN(sValorFecha.substr(3, 2)) && !isNaN(sValorFecha.substr(6, 4))) {
        sDia = sValorFecha.substr(0, 2);
        sMes = sValorFecha.substr(3, 2);
        sAno = sValorFecha.substr(6, 4);
    }
    else {
        sDia = sFechaActual.substr(6, 2);
        sMes = sFechaActual.substr(4, 2);
        sAno = sFechaActual.substr(0, 4);
    }

		iTop = (screen.height - 200) / 2;
		iLeft = (screen.width - 140) /2;
//    	iTop = window.screenTop + oTmp1.offsetTop + oTmp1.offsetHeight;
//    	iLeft = oTmp1.offsetLeft + window.screenLeft;
        	        	
		//Pagina
		sTmp1 = sRutaRaiz + "calendario.php";
		sTmp1 = sTmp1 + "?nomForm=" + sNomFormulario;
		sTmp1 = sTmp1 + "&nomTxtFecha=" + sObjetoFecha;
		sTmp1 = sTmp1 + "&diaFecha=" + sDia;
		sTmp1 = sTmp1 + "&mesFecha=" + sMes;
		sTmp1 = sTmp1 + "&anoFecha=" + sAno;

 		//Parametros
		sTmp2 = "toolbar=no,status=no,menubar=no,resizable=yes,width=140px,height=190px,top=" + iTop + ",left=" + iLeft;
		window.open(sTmp1,"selParametros",sTmp2);

}

// ********************************************************************************************
// Valida Fecha
// ********************************************************************************************
function ValidaFecha(sFecha) {
var iTmp1;
var CantDias;
var iano;
var imes;
var idia;
    
    CantDias = 1;

    for(iTmp1=0; iTmp1 <= sFecha.length - 1; iTmp1++) { 
        switch (iTmp1) {
            case 2:
            case 5:
                if (!isNaN(parseInt(sFecha.substr(iTmp1,1), 10)))
                    return false;
                break;
            
            default:
                if (isNaN(parseInt(sFecha.substr(iTmp1,1), 10)))
                    return false;
                break;
        }   
    }
    
    idia = parseInt(sFecha.substr(0,2), 10);
    imes = parseInt(sFecha.substr(3,2), 10);
    iano = parseInt(sFecha.substr(6,4), 10);

    if ((imes < 1) || (imes > 12))
        return false;
        
    switch (imes) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            CantDias = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            CantDias = 30;
            break;
        default:
            if ((iano % 4 == 0) && ((iano % 100 != 0) || (iano % 400 == 0)))
                CantDias = 29;
            else
                CantDias = 28;
            break;
    }
        
    if ((idia < 1) || (idia > CantDias))
        return false;
        
    return true;
}

// ********************************************************************************************
// Valida el ingreso valido de caracteres en un campo fecha
// ********************************************************************************************
function Fecha_onkeypress() {
var ivalor;

    ivalor = window.event.keyCode;

    if ((ivalor < 47) || (ivalor > 57))
        window.event.keyCode = 0;
}

// ********************************************************************************************
// Valida el ingreso de una fecha valida
// ********************************************************************************************
function Fecha_onblur(oTmp1, sIndValidaRango, sRangoa, sRangob) {
var sTmp1;
var sDia;
var sMes;
var sAno;
               
    sTmp1 = new String(oTmp1.value);

    // ---------------------------------------------------------------------------------------
    // Valida Fecha
    // ---------------------------------------------------------------------------------------
    if (!ValidaFecha(sTmp1)) {
        sDia = "";
        sMes = "";
        sAno = "";
    }
    else {
        sDia = sTmp1.substr(0,2);
        sMes = sTmp1.substr(3,2);
        sAno = sTmp1.substr(6,4);       
        // ---------------------------------------------------------------------------------------
        // Valida Rango
        // ---------------------------------------------------------------------------------------
        if (Trim(sIndValidaRango) == "S") {
            sTmp1 = sAno + sMes + sDia;
            if (Trim(sTmp1) < Trim(sRangoa)) {
                sTmp1 = new String(sRangoa);
                sDia = sTmp1.substr(6,2);
                sMes = sTmp1.substr(4,2);
                sAno = sTmp1.substr(0,4);
            }
            else {
                if (Trim(sTmp1) > Trim(sRangob)) {
                    sTmp1 = new String(sRangob);
                    sDia = sTmp1.substr(6,2);
                    sMes = sTmp1.substr(4,2);
                    sAno = sTmp1.substr(0,4);
                }
            }
        }
    }

    // ---------------------------------------------------------------------------------------
    // Asigna Fecha Obtenida a objeto
    // ---------------------------------------------------------------------------------------
    if ((parseInt(sDia, 10) > 0) && (parseInt(sMes, 10) > 0) && (parseInt(sAno, 10) > 0))
        oTmp1.value = sDia + "/" + sMes + "/" + sAno;                           
    else {
        sTmp1 = new String(sRangoa);
        sDia = sTmp1.substr(6,2);
        sMes = sTmp1.substr(4,2);
        sAno = sTmp1.substr(0,4);
        oTmp1.value = sDia + "/" + sMes + "/" + sAno;                           
    }
}

// ********************************************************************************************
// Funcion que permite el ingreso unico de caracteres alfanumericos MAYUSCULAS en un txt + Numeros
// ********************************************************************************************
function txtMayusculaNumerico_onkeypress(){
var ivalor;
    ivalor = window.event.keyCode;
    
    if ((ivalor >=65) && (ivalor <= 90) || (ivalor >= 97) && (ivalor <= 122) || (ivalor >= 48) && (ivalor <= 57) || ivalor == 32 || ivalor == 39 || ivalor == 45){
        if ((ivalor >= 97) && (ivalor <= 122) || ivalor == 241)
            window.event.keyCode = ivalor - 32;
    }
    else
        window.event.keyCode = 0;
}

function HoraMinuto_onkeypress()
{
var ivalor;

    ivalor = window.event.keyCode;

    if ((ivalor < 48) || (ivalor > 58))
    {
        window.event.keyCode = 0;
    }
}

function HoraMinuto_onblur(oTmp1)
{
var sTmp1;
var sHora;
var sMinuto;    
var iPosDivisor;

    sTmp1 = new String(oTmp1.value);
    if (sTmp1.length > 0)
    {
        iPosDivisor = sTmp1.search(":");
                
        //''''''''''''''''''''''''''''''''''''''''''''''
        //Valida Hora 
        //''''''''''''''''''''''''''''''''''''''''''''''
        switch (iPosDivisor)
        {
            case -1:
                sHora = sTmp1.substr(0, 2);
                sMinuto = sTmp1.substr(2, 2);
                break;
            case 0:
                if (sTmp1.length > 1)
                {
                    sHora = "00";
                    lTmp1 = sTmp1.length - 1;
                    sMinuto = sTmp1.substr(1, lTmp1);
                }
                else
                {
                    sHora = "00";
                    sMinuto = "00";
                }
                break;
            default:
                sHora = sTmp1.substr(0, iPosDivisor);
                lTmp1 = iPosDivisor + 1;
                lTmp2 = sTmp1.length - 1;
                sMinuto = sTmp1.substr(lTmp1, lTmp2);
                break;
        }
        
        if (isNaN(parseInt(sHora, 10)) || (parseInt(sHora, 10) < 0) || (parseInt(sHora, 10) > 23))
            sHora = "00";

        if (parseInt(sHora, 10) < 10)
            sHora = "0" + parseInt(sHora, 10);

        if (isNaN(parseInt(sMinuto, 10)) || (parseInt(sMinuto, 10) < 0) || (parseInt(sMinuto, 10) > 59))
            sMinuto = "00";

        if (parseInt(sMinuto, 10) < 10)
            sMinuto = "0" + parseInt(sMinuto, 10);

        //''''''''''''''''''''''''''''''''''''''''''''''
        //Asigna Hora Obtenida a objeto
        //''''''''''''''''''''''''''''''''''''''''''''''
        sTmp1 = sHora + sMinuto + "0000";
        oTmp1.value = sHora + ":" + sMinuto;
    }
    else
    {
        sTmp1 = "";
        oTmp1.value = "";
    }
}

function Hora_onfocus(oTmp1){
var sTmp1 = new String(oTmp1.value);
    sTmp1 = ReemplazaCaracter(sTmp1, ":", "");
    oTmp1.value = sTmp1;
    oTmp1.select();
}


//crea el boton "borrar"
function PushDeleteButton(xiNbImage, sNewPath) {
    document.getElementById('DeleteImage_' + xiNbImage).innerHTML = '<input class="button" type="button" onClick="DeleteImage(' + xiNbImage + ')" value="Borrar" />';

//    document.getElementById('ProductImage_' + xiNbImage).parentNode.innerHTML = '<img id="ProductImage_' + xiNbImage + '" name="ProductImage_' + xiNbImage + '" src="file://' + sNewPath + '" height="60" width="80">';

document.getElementById('divImg_' + xiNbImage).innerHTML = '<img id="ProductImage_' + xiNbImage + '" name="ProductImage_' + xiNbImage + '" src="file://' + sNewPath + '" height="60" width="80">';
}

//quita el boton "Borrar"
function PopDeleteButton(xiNbImage)
{
    document.getElementById('DeleteImage_' + xiNbImage).innerHTML = '';
}

//elimina y crea el input file de imagen
function ReCreateFile(xiNbImage) {
    obj = document.getElementById('FILEProductImage_' + xiNbImage);
/*
  var newobj = document.createElement('input');
  newobj.type='file';
  newobj.id=obj.id;
  newobj.name=obj.name;
  obj.parentNode.replaceChild(newobj, obj);
*/  
  obj.parentNode.innerHTML = '<input id="FILEProductImage_' + xiNbImage + '" name="FILEProductImage_' + xiNbImage + 
                             '" value="" onclick="ShowImage(' + xiNbImage + ')" type="file" />' + '&nbsp;<span id="DeleteImage_' + 
							 xiNbImage + '"></span>';

//    document.getElementById('ProductImage_' + xiNbImage).parentNode.innerHTML = '<img id="ProductImage_' + xiNbImage + '" name="ProductImage_' + xiNbImage + '" src="imagenes/template/f_' + xiNbImage + '.gif" height="60" width="80">';

document.getElementById('divImg_' + xiNbImage).innerHTML = '<img id="ProductImage_' + xiNbImage + '" name="ProductImage_' + xiNbImage + '" src="imagenes/template/f_' + xiNbImage + '.gif" height="60" width="80">';
}

//click "Borrar"
//Saca la imagen, actaliza el hidden de path y el de estado.
function DeleteImage(xiNbImage)
{
    var sImageSrc = '';
    //actualiza el estado a "no subir".
    document.getElementById('ProductImageType_' + xiNbImage).value = 0;
//    sImageSrc = 'imagenes/template/f_' + xiNbImage + '.gif';
    //reinstalo la imagen original
//    document.getElementById('ProductImage_' + xiNbImage).src = sImageSrc;
    //saco el boton de "borrar"
//    PopDeleteButton(xiNbImage);
    ReCreateFile(xiNbImage);
}

//Muestra la imagen en el preview
//Marca el hidden de estado como "para upload" 
//Actualiza el hidden del path
//Activa el "borrar"
function ShowImage(xiImagen)
{
    var sImagePath = document.getElementById('FILEProductImage_' + xiImagen).value;
    var sImagePathTmp = document.getElementById('FILEProductImageTmp_' + xiImagen).value;
    // Cargo algo nuevo o modifico lo que ya estaba.
    if ((sImagePath != '') && (sImagePathTmp != sImagePath)) {
        //guardo en el hidden el nombre de la imagen.
        document.getElementById('FILEProductImageTmp_' + xiImagen).value = sImagePath;
        //Seteo el hidden en 1 (ocupado)
        document.getElementById('ProductImageType_' + xiImagen).value = 1;
        // muestro la imagen a modo de preview.
//        document.getElementById('ProductImage_' + xiImagen).src = 'file://' + sImagePath;
        PushDeleteButton(xiImagen, sImagePath); 
    } else {
        //Si no cargo nada o si hay no cambio lo que ya estaba. Sigo intentando leer.  
        setTimeout('ShowImage(' + xiImagen + ');', 10);
    }
    return true;
}


