﻿var DoctusBase = {};

/*Esta funcion no permite que ingresen letras en un textbox */
DoctusBase.inputNumbersOnly = function(e){
    //debugger;
    var keynum = e.charCode?e.charCode:e.keyCode;
    if(keynum==8 || keynum==46){
        return true;
    }
    var keychar = String.fromCharCode(keynum);
    var elemento = e.srcElement ? e.srcElement : e.target;
    var number = elemento.value + keychar;
    number = number.replace(/,/,".");
    number = Number(number);
    if(!isNaN(number)){
        return true;
    }
    else{
        return false;
    }
};


/*Esta funcion no permite que ingresen letras en un textbox */
DoctusBase.inputNumbersWithComa = function(e){
    
    var keynum = e.keyCode;
    var keychar = String.fromCharCode(keynum);
    
    if( keynum == 44)
	        keychar='.0';
	        
    var elemento = e.srcElement ? e.srcElement : e.target;
    var number = elemento.value + keychar;
    number = number.replace(/,/,".");
    number = Number(number);
    if(!isNaN(number)){
        return true;
    }
    else{
        return false;
    }
};


/*

keychar = String.fromCharCode(keynum);
        
	    if( keynum == 44){
	        keychar='.0';
	    }
        var number = e.srcElement.value + keychar;
        number = number.replace(/,/,".");
        number = Number(number);
        if(!isNaN(number)){
            return true;
        }
        else{
            return false;
        }
        
        
        
        */



/*Esta funcion sirve para encontra el id absoluto de un coltrol respecto a otro.
Ejemplo:    Ctrl00_Pane1_BtAgragar. (ReferenceId)
            Yo se que BtEliminar(relativeId) esta en el mismo nivel entonces me devolvera
            Ctr100_Pane1_BtEliminar
*/
DoctusBase.findSameLevelId = function(ReferenceObj,relativeId){
    
    var idArray = ReferenceObj.id.split("_");
    var newId ="";
    idArray[idArray.length-1] = relativeId;
    for(i=0;i<idArray.length;i++){
        if(i==0){
            newId+=idArray[i];
        }else{
            newId+="_"+idArray[i];
        }
    }
    return newId;
}



/* Me valida si la fecha es valida 
Ej.     dayStr =31,
        monthStr=11,
        yearStr=2007    ---> esto es verdadero
        
        dayStr =31,
        monthStr=10,
        yearStr=2007    ---> esto es falso
        
        -- WARNING : Los meses empiezan desde 0

*/
DoctusBase.isValidDate = function(dayStr,monthStr,yearStr){
    var myFecha = new Date();
    myFecha.setFullYear(yearStr,monthStr,dayStr);
    
    var mes = myFecha.getMonth();
    var dia = myFecha.getDate();
   
    //Si el dia o el mes es distinto es falso
    if(monthStr != mes){
        return false;
    }else if(dayStr != dia){
        return false;
    }
    return true;
}


DoctusBase.formatCurrency = function(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num);
}
