/*///// ***** CURVAS *****/////*/
function Curvas (qual){
     
      settings = {
          tl: { radius: 20 },
          tr: { radius: 20 },
          bl: { radius: 20 },
          br: { radius: 20 },
          antiAlias: true,
          autoPad: true,
          validTags: ["div"]
      }
      var myBoxObject = new curvyCorners(settings, qual);
      myBoxObject.applyCornersToAll();
}
/*FIM*/

/*///// ***** TAMANHO DA PAGINA *****/////*/
Tamanho = function(){
	if(document.getElementById('menu').clientHeight > document.getElementById('pagina').clientHeight){
		window.onload=document.getElementById('conteudo').style.height = document.getElementById('menu').clientHeight+200+"px";
	}else{
		window.onload=document.getElementById('conteudo').style.height = document.getElementById('pagina').clientHeight+200+"px";
	}
}
/*FIM*/

/*///// ***** MENU *****/////*/
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace(" over", "");
   }
   }
  }
 }
}
/*FIM*/



/* MÁSCARAS */
/**  
  * Função Principal 
  * @param w - O elemento que será aplicado (normalmente this).
  * @param e - O evento para capturar a tecla e cancelar o backspace.
  * @param m - A máscara a ser aplicada.
  * @param r - Se a máscara deve ser aplicada da direita para a esquerda. Veja Exemplos.
  * @param a - 
  * @returns null  
  */
function maskIt(w,e,m,r,a){
    
    // Cancela se o evento for Backspace
    if (!e) var e = window.event
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    
    // Variáveis da função
    var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
    var mask = (!r) ? m : m.reverse();
    var pre  = (a ) ? a.pre : "";
    var pos  = (a ) ? a.pos : "";
    var ret  = "";

    if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;

    // Loop na máscara para aplicar os caracteres
    for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
        if(mask.charAt(x)!='#'){
            ret += mask.charAt(x); x++;
        } else{
            ret += txt.charAt(y); y++; x++;
        }
    }
    
    // Retorno da função
    ret = (!r) ? ret : ret.reverse()    
    w.value = pre+ret+pos;
}

// Novo método para o objeto 'String'
String.prototype.reverse = function(){
    return this.split('').reverse().join('');
};
/*FIM MÁSCARAS*/

/* VALIDAÇÃO DE FORMULÁRIOS */

function Valida(){  
	
	var confere = 0;
	
	for(var i = 1; i < arguments.length; i++) {
		
		var campo = document.getElementById(arguments[i]);
		var senha2 = document.getElementById('senha2');
		
		//alert(arguments[i]);
	
		if ((campo.value == "" ) || (arguments[i]=="email" && (campo.value.indexOf("@")==-1 || campo.value.indexOf(".")==-1)) || (arguments[i]=="senha" && (campo.value!=senha2.value))){
            campo.style.background = "#f5dddd";
			confere++;
		} else {
			campo.style.background = arguments[0];
		}
	}
	
	if(confere >=1){
		alert("Favor preencher todos os campos destacados corretamente.");
    	return false;
	} else {
        return true;
	}
}

function Valida(){  
	
	var confere = 0;
	
	for(var i = 1; i < arguments.length; i++) {
		
		var campo = document.getElementById(arguments[i]);
		var senha2 = document.getElementById('senha2');
		
		//alert(arguments[i]);
		//alert(PrimeiraMaiuscula(campo.value));
	
		if ( (campo.value == "" ) || (arguments[i]=="email" && (campo.value.indexOf("@")==-1 || campo.value.indexOf(".")==-1))|| (PrimeiraMaiuscula(arguments[i])==campo.value) ){
            campo.style.background = "#f5dddd";
			confere++;
		} else {
			campo.style.background = arguments[0];
		}
	}
	
	if(confere >=1){
		alert("Favor preencher todos os campos destacados corretamente.");
    	return false;
	} else {
        return true;
	}
}


function ComprovaExtensao(arquivo) {
   extensoes_permitidas = new Array(".gif", ".jpg");

   if (arquivo) {
      //recupero a extensão deste nome de arquivo
      extensao = (arquivo.substring(arquivo.lastIndexOf("."))).toLowerCase();
      //alert (extensao);
      //comprovo se a extensão está entre as permitidas
      permitida = false;
      for (var i = 0; i < extensoes_permitidas.length; i++) {
         if (extensoes_permitidas[i] == extensao) {
         permitida = true;
         break;
         }
      }
      if (!permitida) {
		 //não submeto!
         alert( "Só se podem subir arquivos com extensões: " + extensoes_permitidas.join());
		 return false;
       }else{
          //submeto!
         //alert ("Tudo correto. Vou submeter o formulário.");
         //formulario.submit();
         return true;
       }
   }

} 

/* FIM FORMULÁRIO */

/*validar cartão */
function isValidCreditCardNumber(cardNumber, cardType){
    var isValid = false;
    var ccCheckRegExp = /[^\d ]/;
    isValid = !ccCheckRegExp.test(cardNumber);
    if (isValid){
        var cardNumbersOnly = cardNumber.replace(/ /g,"");
        var cardNumberLength = cardNumbersOnly.length;
        var lengthIsValid = false;
        var prefixIsValid = false;
        var prefixRegExp;
    switch(cardType){
        case "mastercard":
            lengthIsValid = (cardNumberLength == 16);
            prefixRegExp = /^5[1-5]/;
        break;
        case "visa":
            lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
            prefixRegExp = /^4/;
        break;
        case "amex":
            lengthIsValid = (cardNumberLength == 15);
            prefixRegExp = /^3(4|7)/;
        break;
        default:
            prefixRegExp = /^$/;
            alert("Card type not found");
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
    }
    if (isValid){
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        for (digitCounter = cardNumberLength - 1; digitCounter >= 0; digitCounter--){
            checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
            digitCounter--;
            numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
            for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++){
                checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
            }
        }
        isValid = (checkSumTotal % 10 == 0);
    }

    return isValid;
}
/*fim*/

function AtualizaListagem(pagina,variavel,valor){ 
	eval("parent.location='"+pagina+"&"+variavel+"="+valor.options[valor.selectedIndex].value+"'");
}

function SomeLayer(div){
	document.getElementById(div).style.display = 'none'; 
	document.body.style.overflow='auto';
}

function PrimeiraMaiuscula(string) {
  return string.substring(0,1).toUpperCase()+string.substring(1,string.length);
}

