// JavaScript Document
	function mod11(num) {  
        var base = 9;         
        var fator = 2;        
        var parcial = 0;  
        var soma = 0;

        for (i=num.length;i>0;i--) {             
			nn = num.substr(i-1,1);
            parcial = nn*fator;
            soma += parcial; 
            if (fator==base) fator=2;
            else fator++;
        }         
          
        /*Calculo do mÃ³dulo11*/  
        resto = soma % 11;
		dv = 11 - resto;
		if (dv==0||dv==10||dv==11) dv = 1;
        return dv;  
    }  

	function dtDiff(strDate1,strDate2){
		return (((Date.parse(strDate2))-(Date.parse(strDate1)))/(24*60*60*1000)).toFixed(0);
	}

	function validate() {
		erros = '';
		oF = self.document.forms[0];
		numb = oF.c11.value + oF.c12.value + oF.c21.value + oF.c22.value + oF.c31.value + oF.c32.value + oF.c51.value + '';
		part = numb.substr(0,4) + oF.c51.value + numb.substr(4,5) + numb.substr(10,10) + numb.substr(21,10);
		DigVer = mod11(part);
		if (oF.c41.value != DigVer) erros += '- Linha digitável inválida. Dígito verificador não confere.\n';
		Dt1 = new Date(1997,10,07);
		Dt2 = new Date(oF.due3.value, oF.due2.value, oF.due1.value);
		Dtt = new Date();
		Dt3 = new Date(Dtt.getFullYear(), Dtt.getMonth()+1, Dtt.getDate());
		if (dtDiff(Dt1,Dt2) <= 0 || dtDiff(Dt3,Dt2) < 0) erros += '- Data de vencimento deve ser maior ou igual a hoje.\n';
		if (erros != '') {
			alert('Atenção para os erros abaixo:\n' + erros);
			return false;
		} else {
			$("#result").html("<p style='text-align:center; font-size:12px;'><img src='loading.gif' border=0 /><br/>Recalculando boleto</p>");
			$.post("index.php", $("#boleto").serialize(), function(data) { 
																   $("#result").html( $(data).find("#result").html() );
																   $("#result").fadeIn("slow");
																   pageTracker._trackPageview("/reboleto/resultado.php");
																   }, "html");
			return false;
		}
	}
