// onkeypress="return maskTel(this, event);" onkeydown="maskTel(this, event);" onkeyup="maskTel(this, event);"

function maskTel(o, event) {
	if (event.type != 'keypress') {
		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++) {
			if (str.charAt(i) != ' ') {
				newstr += str.charAt(i);
			}
		}
		if (newstr.length>4) {
			newstr = newstr.substr(0, 4) + ' ' +  newstr.substr(4, 4);
		}
		o.value = newstr;
	} else {
		var keyCode = event.keyCode;
		if (keyCode==0) {
			keyCode = event.which;
		}
	
		if (!document.all) {
			if (event.charCode == null || event.charCode == 0) {
				return true; // allow function keys
			}
		}
		if (o.value.length>9) { 
			return false;
		}
		if (keyCode>=48 && keyCode<=57) { // 0-9
			return true;
		}
		return false;
	}
}

function maskDDD(o, event) {
	
	if (event.type != 'keypress') {
		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++) {
			if (str.charAt(i) != ' ') {
				newstr += str.charAt(i);
			}
		}	
		if (newstr.length>2) {
			newstr = newstr.substr(0, 2);
		}
		
		o.value = newstr;
		
	} else {
		
		var keyCode = event.keyCode;
		if (keyCode==0) {
			keyCode = event.which;
		}
		if (!document.all) {
			if (event.charCode == null || event.charCode == 0) {
				return true; // allow function keys
			}
		}
		if (o.value.length>9) 
			return false;
		
		if (keyCode>=49 && keyCode<=57) // 1-9
			return true;
		
		if (keyCode==48 && o.value.length>0) // 0
			return true;

		return false;
	}
}

// onkeypress="return maskTel(this, event);" onkeydown="maskTel(this, event);" onkeyup="maskTel(this, event);"
function maskCEP(o, event) {
	
	if (event.type != 'keypress') {
	
		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++)
			if (str.charAt(i) != ' ') 
				newstr += str.charAt(i);
				
		if (newstr.length>5)
			newstr = newstr.substr(0, 5) + ' ' +  newstr.substr(5, 3);

		o.value = newstr;
	
	} else {
	
		var keyCode = event.keyCode;
		if (keyCode==0)
			keyCode = event.which;
	
		if (!document.all) {
			if (event.charCode == null || event.charCode == 0)
				return true; // allow function keys
		}
	
		if (o.value.length>9) 
			return false;
	
		if (keyCode>=48 && keyCode<=57) // 0-9
			return true;

		return false;
	}
}

function maskDDDTel(o, event) {
	
	if (event.type != 'keypress') {
	
		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++)
			if (str.charAt(i) != ' ') 
				newstr += str.charAt(i);
				
		if (newstr.length>2)
			newstr = newstr.substr(0, 2) + ' ' +  newstr.substr(2);
		
		if (newstr.length>7)
			newstr = newstr.substr(0, 7) + ' ' +  newstr.substr(7, 4);
	
		o.value = newstr;
	
	} else {
	
		var keyCode = event.keyCode;
		if (keyCode==0)
			keyCode = event.which;
	
		// Only do the next bit if we're running in Mozilla
		if (!document.all) {
			// In Mozilla the keyCode will contain a function key ONLY IF the charcode IS 0.
			// The keyCode for 't' returns 116, which is the same as the keyCode for F5,
			// which is why we have to check the charCode. In IE pressing a function key
			// does not generate an onKeyPress event.
			if (event.charCode == null || event.charCode == 0)
				return true; // allow function keys
		}
	
		if (o.value.length>12) 
			return false;
	
		// If we got here then it was a real key that as pressed (not a function key in Mozilla)
		// We only want to allow the key press if it was a number (0-9) or a decimal point.
		
		if (o.value.length == 0 && keyCode == 48) {
			alert('Digite somente os dois números do DDD (sem o zero)');
			return false;
		}
		
		if (keyCode>=48 && keyCode<=57) // 0-9
			return true;

		return false;
	}
}

function maskData(o, event) {
	
	if (event.type != 'keypress') {

		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++)
			if (str.charAt(i) != ' ') 
				newstr += str.charAt(i);
				
		if (newstr.length>2)
			newstr = newstr.substr(0, 2) + ' ' +  newstr.substr(2);
		
		if (newstr.length>5)
			newstr = newstr.substr(0, 5) + ' ' +  newstr.substr(5, 4);
		
		o.value = newstr;
	
	} else {
	
		var keyCode = event.keyCode;
		if (keyCode==0)
			keyCode = event.which;
	
		if (!document.all) {
			if (event.charCode == null || event.charCode == 0)
				return true; // allow function keys
		}
	
		if (o.value.length>9) 
			return false;

		if (keyCode>=48 && keyCode<=57) // 0-9
			return true;

		return false;
	}
}

function maskCPF(o, event) {
	
	if (event.type != 'keypress') {
	
		var i, newstr='', str = o.value;
		for (i=0; i<str.length; i++)
			if (str.charAt(i) != ' ') 
				newstr += str.charAt(i);

		if (newstr.length>3)
			newstr = newstr.substr(0, 3) + ' ' +  newstr.substr(3);

		if (newstr.length>7)
			newstr = newstr.substr(0, 7) + ' ' +  newstr.substr(7);

		if (newstr.length>11)
			newstr = newstr.substr(0, 11) + ' ' +  newstr.substr(11, 4);

		o.value = newstr;
	
	} else {
	
		var keyCode = event.keyCode;
		if (keyCode==0)
			keyCode = event.which;
	
		if (!document.all) {
			if (event.charCode == null || event.charCode == 0)
				return true; // allow function keys
		}

		if (o.value.length>13) 
			return false;
	
		if (keyCode>=48 && keyCode<=57) // 0-9
			return true;

		return false;
	}
}

