/*
*    Script:    Mascaras em Javascript
*    Autor:    Matheus Biagini de Lima Dias
*    Data:    26/08/2008
*    Obs:    
*/
    /*Função Pai de Mascaras*/
    function Mascara(o,f){
        v_obj=o
        v_fun=f
        setTimeout("execmascara()",1)
    }
    
    /*Função que Executa os objetos*/
    function execmascara(){
        v_obj.value=v_fun(v_obj.value)
    }
    
    /*Função que Determina as expressões regulares dos objetos*/
    function leech(v){
        v=v.replace(/o/gi,"0")
        v=v.replace(/i/gi,"1")
        v=v.replace(/z/gi,"2")
        v=v.replace(/e/gi,"3")
        v=v.replace(/a/gi,"4")
        v=v.replace(/s/gi,"5")
        v=v.replace(/t/gi,"7")
        return v
    }
	
    	/*Função que permite apenas Alpha*/
    function Alfa(v){
        return v.replace(/[^a-zA-Z\ âáãéêíóôõúüçÂÁÃÉÊÍÓÔÕÚÜÇ\'\-]+$/g,"")
    }	
	
	/*Função que permite apenas Caracter de e-mail*/
    function Mail(v){
        return v.replace(/[^a-z\@\.\_\0123456789\-]+$/g,"")
    }
	
    /*Função que permite apenas Numéricos*/
    function Integer(v){
        return v.replace(/\D/g,"")
    }
    
    /*Função que padroniza telefone (11) 4184-1241*/
    function Telefone(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
    }
    
    /*Função que padroniza telefone (11) 41841241*/
    function TelefoneCall(v){
        v=v.replace(/\D/g,"")                 
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2")    
        return v
    }
    
    /*Função que padroniza CPF*/
    function Cpf(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
    }
    
	/*Função que valida o CPF digitado*/
function ValidarCPF(Objcpf){
    var cpf = Objcpf.value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" );
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    
    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }    
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);
    
    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado)
	   alert('CPF Invalido!');        
}

	
    /*Função que padroniza CEP*/
    function Cep(v){
        v=v.replace(/D/g,"")                
        v=v.replace(/^(\d{5})(\d)/,"$1-$2") 
        return v
    }
    
    /*Função que padroniza CNPJ*/
    function Cnpj(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
    }
    
	//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
    var cnpj = ObjCnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;
    
    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" );
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
        
    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
        dig2 += cnpj.charAt(i)*valida[i];    
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
    
    if(((dig1*10)+dig2) != digito)    
        alert('CNPJ Invalido!');
        
}
	
    /*Função que permite apenas numeros Romanos*/
    function Romanos(v){
        v=v.toUpperCase()             
        v=v.replace(/[^IVXLCDM]/g,"") 
        
        while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
            v=v.replace(/.$/,"")
        return v
    }
    
    /*Função que padroniza o Site*/
    function Site(v){
        v=v.replace(/^http:\/\/?/,"")
        dominio=v
        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
    }

    /*Função que padroniza DATA*/
    function Data(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        return v
    }
    
    /*Função que padroniza HORA*/
    function Hora(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d{2})(\d)/,"$1:$2")  
        return v
    }
    
    /*Função que padroniza valor monétario*/
    function Valor(v){
        v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
        v=v.replace(/^([0-9]{3}\.?){3}-[0-9]{2}$/,"$1.$2");
        //v=v.replace(/(\d{3})(\d)/g,"$1,$2")
        v=v.replace(/(\d)(\d{2})$/,"$1.$2") //Coloca ponto antes dos 2 últimos digitos
        return v
    }
    
    /*Função que padroniza Area*/
    function Area(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d)(\d{2})$/,"$1.$2") 
        return v
        
    }
		
	    /*Função que apaga o valor padrão do campo texto para o usuário digitar*/
	   function myFocus(element) {
     if (element.value == element.defaultValue) {
       element.value = '';
     }
   }
	    /*Função que volta ao valor padrão do campo texto caso o usuário não mude*/   
   function myBlur(element) {
     if (element.value == '') {
       element.value = element.defaultValue;
     }
   }
   
   /*Função que ativa o "focus" no Internet Explorer*/
   sfFocus = function() {
var sfEls = document.getElementsByTagName("INPUT");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onfocus=function() {
this.className+=" sffocus";
}
sfEls[i].onblur=function() {
this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfFocus);

/*
function anulaTeclaEnter(e)
{
     var key;     
     if(window.event)
          key = window.event.keyCode; //IE
     else
          key = e.which; //firefox     

     return (key != 13);
}

*/



function preenchaSemana(){ 
 // this function is used to fill the category list on load
addOption(document.agendaAcup.semana, "2", "Segunda");
addOption(document.agendaAcup.semana, "3", "Terça");
addOption(document.agendaAcup.semana, "4", "Quarta");
addOption(document.agendaAcup.semana, "5", "Quinta");
addOption(document.agendaAcup.semana, "6", "Sexta");
addOption(document.agendaAcup.semana, "7", "Sábado");
}

function preenchaData(){
// ON selection of category this function will work
removeAllOptions(document.agendaAcup.data);
if(document.agendaAcup.semana.value == '')
{
	removeAllOptions(document.agendaAcup.data);
	removeAllOptions(document.agendaAcup.hora);
	return;
}


//para segunda-feira
if(document.agendaAcup.semana.value == '2')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"1","17/05/2010");
addOption(document.agendaAcup.data,"7","24/05/2010");
addOption(document.agendaAcup.data,"13","31/05/2010");
addOption(document.agendaAcup.data,"17","07/06/2010");
addOption(document.agendaAcup.data,"23","14/06/2010");
addOption(document.agendaAcup.data,"29","21/06/2010");
addOption(document.agendaAcup.data,"35","28/06/2010");
addOption(document.agendaAcup.data,"41","05/07/2010");
addOption(document.agendaAcup.data,"47","12/07/2010");
addOption(document.agendaAcup.data,"53","19/07/2010");
addOption(document.agendaAcup.data,"59","26/07/2010");
}
//para terça-feira
if(document.agendaAcup.semana.value == '3')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"2","18/05/2010");
addOption(document.agendaAcup.data,"8","25/05/2010");
addOption(document.agendaAcup.data,"14","01/06/2010");
addOption(document.agendaAcup.data,"18","08/06/2010");
addOption(document.agendaAcup.data,"24","15/06/2010");
addOption(document.agendaAcup.data,"30","22/06/2010");
addOption(document.agendaAcup.data,"36","29/06/2010");
addOption(document.agendaAcup.data,"42","06/07/2010");
addOption(document.agendaAcup.data,"48","13/07/2010");
addOption(document.agendaAcup.data,"54","20/07/2010");
addOption(document.agendaAcup.data,"60","27/07/2010");
}
//para quarta-feira
if(document.agendaAcup.semana.value == '4')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"3","19/05/2010");
addOption(document.agendaAcup.data,"9","26/05/2010");
addOption(document.agendaAcup.data,"15","02/06/2010");
addOption(document.agendaAcup.data,"19","09/06/2010");
addOption(document.agendaAcup.data,"25","16/06/2010");
addOption(document.agendaAcup.data,"31","23/06/2010");
addOption(document.agendaAcup.data,"37","30/06/2010");
addOption(document.agendaAcup.data,"43","07/07/2010");
addOption(document.agendaAcup.data,"49","14/07/2010");
addOption(document.agendaAcup.data,"55","21/07/2010");
addOption(document.agendaAcup.data,"61","28/07/2010");
}

//para quinta-feira
if(document.agendaAcup.semana.value == '5')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"4","20/05/2010");
addOption(document.agendaAcup.data,"10","27/05/2010");
addOption(document.agendaAcup.data,"20","10/06/2010");
addOption(document.agendaAcup.data,"26","17/06/2010");
addOption(document.agendaAcup.data,"32","24/06/2010");
addOption(document.agendaAcup.data,"38","01/07/2010");
addOption(document.agendaAcup.data,"44","08/07/2010");
addOption(document.agendaAcup.data,"50","15/07/2010");
addOption(document.agendaAcup.data,"56","22/07/2010");
addOption(document.agendaAcup.data,"62","29/07/2010");
}

//para sexta-feira
if(document.agendaAcup.semana.value == '6')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"5","21/05/2010");
addOption(document.agendaAcup.data,"11","28/05/2010");
addOption(document.agendaAcup.data,"21","11/06/2010");
addOption(document.agendaAcup.data,"27","18/06/2010");
addOption(document.agendaAcup.data,"33","25/06/2010");
addOption(document.agendaAcup.data,"39","02/07/2010");
addOption(document.agendaAcup.data,"45","09/07/2010");
addOption(document.agendaAcup.data,"51","16/07/2010");
addOption(document.agendaAcup.data,"57","23/07/2010");
addOption(document.agendaAcup.data,"63","30/07/2010");
}

//para sábado
if(document.agendaAcup.semana.value == '7')
{
addOption(document.agendaAcup.data, "", "");
addOption(document.agendaAcup.data,"6","22/05/2010");
addOption(document.agendaAcup.data,"12","29/05/2010");
addOption(document.agendaAcup.data,"16","05/06/2010");
addOption(document.agendaAcup.data,"22","12/06/2010");
addOption(document.agendaAcup.data,"28","19/06/2010");
addOption(document.agendaAcup.data,"34","26/06/2010");
addOption(document.agendaAcup.data,"40","03/07/2010");
addOption(document.agendaAcup.data,"46","10/07/2010");
addOption(document.agendaAcup.data,"52","17/07/2010");
addOption(document.agendaAcup.data,"58","24/07/2010");
addOption(document.agendaAcup.data,"64","31/07/2010");
}


removeAllOptions(document.agendaAcup.hora);


if(document.agendaAcup.semana.value != "7"){
addOption(document.agendaAcup.hora, "", "");
addOption(document.agendaAcup.hora,"7","12:00");
addOption(document.agendaAcup.hora,"8","12:30");
addOption(document.agendaAcup.hora,"9","13:00");
addOption(document.agendaAcup.hora,"10","13:30");
addOption(document.agendaAcup.hora,"11","14:00");
addOption(document.agendaAcup.hora,"12","14:30");
addOption(document.agendaAcup.hora,"13","15:00");
addOption(document.agendaAcup.hora,"14","15:30");
addOption(document.agendaAcup.hora,"15","16:00");
}else {
addOption(document.agendaAcup.hora, "", "");
addOption(document.agendaAcup.hora,"8","12:30");
addOption(document.agendaAcup.hora,"9","13:00");
addOption(document.agendaAcup.hora,"10","13:30");
addOption(document.agendaAcup.hora,"11","14:00");
addOption(document.agendaAcup.hora,"12","14:30");
addOption(document.agendaAcup.hora,"13","15:00");
addOption(document.agendaAcup.hora,"14","15:30");
addOption(document.agendaAcup.hora,"15","16:00");
}

}



function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}


function addOption(selectbox, value, text )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;

	selectbox.options.add(optn);
}
