function verCPF(obj,require){
 var regCPF = new RegExp(/[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}/);
 if(require == true){
  if(!regCPF.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function mErro(nObj,msg){
 var pos = $('#'+nObj).position();
 var med = $('#'+nObj).width();
 if(!document.getElementById('error_'+nObj)){
	$(document.body).append("<div id=\"error_"+nObj+"\" class=\"error\">Ola</div>");
 }
 var target = document.getElementById('error_'+nObj);
 target.style.display = 'block';
 target.style.position = 'absolute';
 target.style.left = pos.left+med+10+'px';
 target.style.top = pos.top+'px';
 target.innerHTML = msg;
}

function numeros(obj,require){
 var regNum = new RegExp(/^[0-9]{1,}/);
 if(require){
  if(!regNum.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function verCEP(obj,require){
 var regCEP = new RegExp(/[0-9]{5}\-[0-9]{3}/);
 var regCEP2 = new RegExp(/[0-9]{8}/);
 if(require == true){
  if(!regCEP.test(obj.value) && !regCEP2.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
	 if(document.getElementById('pesoTotal').value > 0){ calculaFrete(document.getElementById('formaEnvio').options[document.getElementById('formaEnvio').selectedIndex].value); }
  }
 }else{
	if(document.getElementById('pesoTotal').value > 0){ calculaFrete(document.getElementById('formaEnvio').options[document.getElementById('formaEnvio').selectedIndex].value); } 
 }
}

function iMask(obj,tipo,require){
 //obj.addEventListener(evType, fn, true)
 switch ( tipo ){
  case 'cpf':
	 obj.setAttribute('maxlength','14');
   obj.addEventListener('keydown', function(event){ return mCPF(event,obj); } , true);
	 obj.addEventListener('blur', function(){ return verCPF(obj,require); } , true);
	 break;
	case 'cep':
	 obj.setAttribute('maxlength','9');
	 obj.addEventListener('keydown', function(event){ return mCEP(event,obj); } , true);
	 obj.addEventListener('blur', function(){ return verCEP(obj,require); } , true);
	 break;
	case 'uf':
	 obj.setAttribute('maxlength','2');
	 break;
	case 'fone':
	 obj.setAttribute('maxlength','13');
	 obj.addEventListener('keydown', function(event){ return mFONE(event,obj); } , true);
	 obj.addEventListener('blur', function(){ return verFONE(obj,require); } , true);
	break;
	case 'data':
	 obj.setAttribute('maxlength','10');
	 obj.addEventListener('keydown', function(event){ return mDATA(event,obj); } , true);
	 obj.addEventListener('blur', function(){ return verDATA(obj,require); } , true);
	break;
	case 'email':
	 obj.addEventListener('blur', function(){ return verEMAIL(obj,require); } , true);
	break;
	case 'cnpj':
	 obj.setAttribute('maxlength','18');
	 obj.addEventListener('keydown', function(event){ return mCNPJ(event,obj); } , true);
	 obj.addEventListener('blur', function(){ return verCNPJ(obj,require); } , true);
	break;
	case 'float':
	 obj.setAttribute('maxlength','10');
	 obj.addEventListener('keydown', function(event){ return fFloat(obj,event); } , true);
	 break;
	case 'int':
	 obj.setAttribute('maxlength','3');
	 obj.addEventListener('keydown', function(event){ return fInt(obj,event); } , true);
	 break;
 }
}

function mCPF(e,obj){
 var keyCode = e.which;
 var aceita = true;
 var keys = new Array(37,38,39,40,36,35,8,46);
 var acceptKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57);
 var esp_key = false;
 
 var accept = false; 
 for(i=0;i<acceptKeys.length;i++){
  if(acceptKeys[i] == keyCode){
	 accept = true;
	 break;
	}
 }
 
 for(i=0;i<keys.length;i++){
	if(keys[i] == keyCode){
	 accept = true;
	 esp_key = true;
	 break;
	}
 }
 
 if(accept == false){
  e.preventDefault();
 }
 
 for(i=0;i<keys.length;i++){
  if(keys[i] == keyCode){
	 aceita = true;
	 break;
	}
 }
 
 if(obj.value.length > 13){
  return false;
 }
 
 if(aceita == true && esp_key == false){
  if(obj.value.length == 3){
   obj.value = obj.value+'.';
  }
	if(obj.value.length == 7){
	 obj.value = obj.value+'.';
	}
	if(obj.value.length == 11){
	 obj.value = obj.value+'-';
	}
 }
 
}

function mCEP(e,obj){
 var keyCode = e.which;
 var aceita = true;
 var keys = new Array(8,46,37,38,39,40,9);
 var acceptKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,8,46,37,38,39,40,9);
 var accept = false;
 
 for(i=0;i<acceptKeys.length;i++){
  if(acceptKeys[i] == keyCode){
	 accept = true;
	}
 }
 
 if(accept == false){
  e.preventDefault();
 }
 
 for(i=0;i<keys.length;i++){
  if(keys[i] == keyCode){
	 aceita = false;
	 break;
	}
 }
 
 if(aceita == true){
  if(obj.value.length == 5){
	 obj.value = obj.value+'-';
	}
 }
}

function mFONE(e,obj){
 var keyCode = e.which;
 var aceita = true;
 var keys = new Array(8,46,37,38,39,40,9);
 var acceptKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,8,46,37,38,39,40,9);
 var accept = false;
 
 for(i=0;i<acceptKeys.length;i++){
  if(acceptKeys[i] == keyCode){
	 accept = true;
	}
 }
 
 if(accept == false){
  e.preventDefault();
 }
 
 for(i=0;i<keys.length;i++){
  if(keys[i] == keyCode){
	 aceita = false;
	 break;
	}
 } 
 
 if(aceita == true){
  if(obj.value.length == 0){ obj.value+= '('; }
  if(obj.value.length == 3){ obj.value+= ')'; }
  if(obj.value.length == 8){ obj.value+= '-'; }
 }
}

function fInt(obj,e){
 var keyCode = (window.event) ? window.event.keyCode : e.which;
 var arrKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,45,46,8,36,35,33,34,9,37,38,39,40,110,188,194,190);
 var aceita = false;
 
 for(i=0;i<arrKeys.length;i++){
	if(arrKeys[i] == keyCode){
	 aceita = true;
	 break;
	}
 }
 
 if(aceita == true){
	return true;
 }else{
	e.preventDefault();
	return false;
 } 
	
}

function fFloat(obj,e){
 var keyCode = (window.event) ? window.event.keyCode : e.which;
 var arrKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,45,46,8,36,35,33,34,9,37,38,39,40,110,188,194,190);
 var aceita = false;
 
 for(i=0;i<arrKeys.length;i++){
	if(arrKeys[i] == keyCode){
	 aceita = true;
	 break;
	}
 }
 
 if(obj.value.indexOf(',') > -1 && (keyCode == 110 || keyCode == 188)){ aceita = false; }
 if(obj.value.indexOf('.') > -1 && (keyCode == 194 || keyCode == 190)){ aceita = false; }
 
 if(aceita == true){
	return true;
 }else{
	e.preventDefault();
	return false;
 }
}

function verFONE(obj,require){
 var regFONE = new RegExp(/\([0-9]{2}\)[0-9]{4}\-[0-9]{4}/);
 if(require == true){
  if(!regFONE.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function mDATA(e,obj){
 var keyCode = e.which;
 var aceita = true;
 var keys = new Array(8,46,37,38,39,40,9,36,35,16);
 var acceptKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,8,46,37,38,39,40,9,35,36,16);
 var accept = false;
 
 for(i=0;i<acceptKeys.length;i++){
  if(acceptKeys[i] == keyCode){
	 accept = true;
	}
 }
 
 if(accept == false){
  e.preventDefault();
 }
 
 for(i=0;i<keys.length;i++){
  if(keys[i] == keyCode){
	 aceita = false;
	 break;
	}
 } 
 
 if(aceita == true){
  if(obj.value.length == 2){ obj.value+= '/'; }
  if(obj.value.length == 5){ obj.value+= '/'; }
 }
}

function verDATA(obj,require){
 var regDATA = new RegExp(/^(0?[1-9]|[12][0-9]|3[01])[- \/.](0?[1-9]|1[012])[- \/.](19|20)[0-9][0-9]$/);
 if(require == true){
  if(!regDATA.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function verEMAIL(obj,require){
 var regEMAIL = new RegExp(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
 if(require == true){
  if(!regEMAIL.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function verCNPJ(obj,require){
 var regCNPJ = new RegExp(/[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}\-[0-9]{2}/);
 if(require == true){
  if(!regCNPJ.test(obj.value)){
   obj.style.backgroundColor = '#F9C8C8';
  }else{
   obj.style.backgroundColor = '';
  }
 }
}

function mCNPJ(e,obj){
 var keyCode = e.which;
 var aceita = true;
 var keys = new Array(8,46,37,38,39,40,9);
 var acceptKeys = Array(96,97,98,99,100,101,102,103,104,105,48,49,50,51,52,53,54,55,56,57,8,46,37,38,39,40,9);
 var accept = false;
 
 for(i=0;i<acceptKeys.length;i++){
  if(acceptKeys[i] == keyCode){
	 accept = true;
	}
 }
 
 if(accept == false){
  e.preventDefault();
 }
 
 for(i=0;i<keys.length;i++){
  if(keys[i] == keyCode){
	 aceita = false;
	 break;
	}
 } 
 
 var len = obj.value.length;
 
 //XX.XXX.XXX/XXXX-XX 
 if(aceita == true){
  if(len == 2){
	 obj.value+='.';
	}
	if(len == 6){
	 obj.value+='.';
	}
	if(len==10){
	 obj.value+='/';
	}
	if(len == 15){
	 obj.value+='-';
	}
 }
}


