function max(txarea, restante, qtd){
	var tam = txarea.value.length;
	$(restante).innerHTML = qtd - tam;

	if (tam > qtd){
		aux = txarea.value;
		txarea.value = aux.substring(0,qtd);
		restante.innerHTML = 0
	}
}

function validateMail(field, label){
	if(field.value.toString()=="") return true
	var erMail= /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/i;
	if(field.value.toString() != '') {
		if (!erMail.test(field.value.toString())) {
			alert('O campo "' + label + '" deve ter um e-mail válido.');
			field.focus();
			return false;
		}
	}
	return true;
}

function validateFill(field, label){
	if(field.value.toString().length == 0) {
		alert('O campo \"' + label + '\" deve ser preenchido.');
		if(field.type!="hidden") field.focus();
		return false;
	}
	return true;
}

function validateMax(field, label, maxChars){
	if(field.value.toString().length > maxChars) {
		alert('O campo \"' + label + '\" deve ser preenchido com no máximo ' + max + ' caracteres.');
		field.focus();
		return false;
	}
	return true;
}

/* mascaras */
var mask = function (o,f){
    v_obj = o;
    v_fun = window['mask' + f];
    setTimeout("execMask()",1)
}

var execMask = function (){
    v_obj.value = v_fun(v_obj.value);
}

var maskNumbers = function(v){
	return v.replace(/\D/g,"");
}

var maskPhone = function(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d\d)(\d)/g,"($1) $2");
	v=v.replace(/(\d{4})(\d)/,"$1-$2");
	return v;
}

var maskCpf = function(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/(\d{3})(\d)/,"$1.$2");
	v=v.replace(/(\d{3})(\d)/,"$1.$2");
	v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2");
	return v;
}

var maskCep = function(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{5})(\d)/,"$1-$2");
	return v;
}

var maskCnpj = function(v){
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{2})(\d)/,"$1.$2");
	v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3");
	v=v.replace(/\.(\d{3})(\d)/,".$1/$2");
	v=v.replace(/(\d{4})(\d)/,"$1-$2");
	return v;
}

var maskSite = function(v){
	v=v.replace(/^http:\/\/?/,"");
	var dominio=v;
	var caminho="";
	if(v.indexOf("/")>-1);
		dominio=v.split("/")[0];
	caminho=v.replace(/[^\/]*/,"");
	dominio=dominio.replace(/[^\w\.\+-:@]/g,"");
	caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"");
	caminho=caminho.replace(/([\?&])=/,"$1");
	if(caminho!="")dominio=dominio.replace(/\.+$/,"");
	v="http://"+dominio+caminho;
	return v;
};

var maskEmail = function(v) {
	return v.replace(/[^\w\d\+-:@\.]/g, '');
};

var maskDate = function(v) {
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{2})(\d)/,"$1/$2");
	v=v.replace(/\/(\d{2})(\d)/,"/$1/$2");
	return v;
}

var maskHours = function(v) {
	v=v.replace(/\D/g,"");
	v=v.replace(/^(\d{2})(\d)/,"$1:$2");
	v=v.replace(/:(\d{2})(\d)/,":$1:$2");
	return v;
}