/**
 *
 * PROTÓTIPOS:
 * mátodo String.lpad(int pSize, char pCharPad)
 * mátodo String.trim()
 *
 * String unformatNumber(String pNum)
 */


/**
 * Adiciona método lpad() à classe String.
 * Preenche a String à esquerda com o caractere fornecido,
 * até que ela atinja o tamanho especificado.
 */
String.prototype.lpad = function(pSize, pCharPad)
{
	var str = this;
	var dif = pSize - str.length;
	var ch = String(pCharPad).charAt(0);
	for (; dif>0; dif--) str = ch + str;
	return (str);
} 

/*
**************************************
* String.mask Function v1.0          *
**************************************
*/
String.prototype.mask = function(m) {
    var m, l = (m = m.split("")).length, s = this.split(""), j = 0, h = "";
    for(var i = -1; ++i < l;)
        if(m[i] != "#"){
            if(m[i] == "\\" && (h += m[++i])) continue;
            h += m[i];
            i + 1 == l && (s[j - 1] += h, h = "");
        }
        else{
            if(!s[j] && !(h = "")) break;
            (s[j] = h + s[j++]) && (h = "");
        }
    return s.join("") + h;
};

String.prototype.digits = function() {
	return this.replace(/\D/g, "");
};

String.prototype.clean = function() {
	var vr = new String(this);
	
	vr = vr.replace ("(", ""); 
	vr = vr.replace (")", ""); 
	vr = vr.replace (" ", ""); 
	vr = vr.replace ("-", ""); 
	vr = vr.replace ("*", ""); 
	vr = vr.replace (".", ""); 
	
	return vr ;
};


/**
 * Adiciona método trim() à classe String.
 * Elimina brancos no início e fim da String.
 */
String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
} 


/**
 * Elimina caracteres de formatação e zeros à esquerda da string
 * de número fornecida.
 * @param String pNum
 *      String de número fornecida para ser desformatada.
 * @return String de número desformatada.
 */
function unformatNumber(pNum)
{
	return String(pNum).replace(/\D/g, "").replace(/^0+/, "");
} 

function maskDate(field, keypress){

	field.value = field.value.digits().mask('##/##/####');
}

function maskPhone(field, keypress){

	field.value = field.value.digits().mask('(##) ####-####');
}
