function input_mask(mask_string){
	obj = event.srcElement
	key_press = event.keyCode
	valid_chars = '\0\9\A\a\$'

	switch (key_press) {
		case 9:
			break;
		case 13:
			break;
		case 8:
    	while (true) {
      	key_mask = mask_string.substr(obj.value.length-1,1);
				if (valid_chars.search('\\' + key_mask)!=-1 || obj.value.length == 0) break;
  			obj.value = obj.value.substr(0, obj.value.length-1);
    	}
			break;
		default:
			key_mask = mask_string.substr(obj.value.length,1);
    	if (key_mask != '') {	
      	while (valid_chars.search('\\' + key_mask)==-1) {
    			obj.value = obj.value + key_mask;
        	key_mask = mask_string.substr(obj.value.length,1);
      	}
      	switch (key_mask) {
      		case '$':
						var aux = obj.value.search(',')
						if (aux!=-1)
							if (key_press==44 || aux+3==obj.value.length)
			      		event.returnValue = false;
						if (obj.value.length==0) {
							if (key_press==44)
								obj.value = '0';
							if (key_press==48)
			      		event.returnValue = false;
						}
      			chars = '0123456789,';
      			break;
      		case '0':
      			chars = '0123456789';			
      			break;
      		case '9':
      			chars = '123456789';			
      			break;
      		case 'a':
      		case 'A':
      			chars = 'abcdefghijlkmnopqrstuvyxwzABCDEFGHIJKLMNOPQRSTUVYXWZéüêâãáõôúóíçÇÉÜÊÃÁÔÓÚÍ1234567890/-*.+,()%#@!?ºª_ ';			
      			break;
      	}
      	if ((chars.search(String.fromCharCode(key_press))==-1))
      		event.returnValue = false;
    	}
    	else
     		event.returnValue = false;
	}
}

function input_focus(){
	if (event.srcElement.style.backgroundColor == '#e1e1e1') 
		event.srcElement.style.backgroundColor = '#fff';
	else
		event.srcElement.style.backgroundColor = '#e1e1e1';
}

function valida_cpf(cpf) {
	vcpf = cpf.toString();
  vcpf = vcpf.replace('.','');
  vcpf = vcpf.replace('.','');
  vcpf = vcpf.replace('-','');
  if (vcpf.length == 11){
  	for (i=aux=0; i<9; i++)
  		aux += vcpf.charAt(i)*(10-i);
  	dv = (aux*10) % 11
		if (dv > 9)
		  dv = 0;
  	for (i=aux=0; i<9; i++)
  		aux += vcpf.charAt(i)*(11-i);
  	aux += dv * 2;
  	aux = (aux*10) % 11;
		if (aux > 9)
		  aux = 0;
  	dv += aux.toString();
  	if (dv == vcpf.substring(9,11))
  		return true;
  	else
  		return false;
  } 
  else
  	return false;
}







