﻿function WebService(url, callback, pars, callbackError, loading) {

    loading == undefined ? loading = true : loading = loading;
    callbackError == undefined ? callbackError = null : callbackError = callbackError;
    if (!pars) pars = {};

    $.ajax({
        data: JSON.stringify(pars),
        url: url,
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: 'json',
        cache: false,
        global: loading,
        success: callback,
        error: function(xml, status) {
            if ((status == 'error') || (status == "")) {
                try {
                    var json = eval('(' + xml.responseText + ')');

                    //Verifica qual exceção retornou
                    switch (json.ExceptionType) {
                        //Faz a verificação da exceção para ver se foi sessão expirada
                        case "IAP.Objetos.Excecoes.SessionException":
                            //Sessão expirou no webService. Redireciona para o login
                            alertModal("Efetue login novamente", alertType.erro, "/novo/Login.aspx");
                            break;
                        case "IAP.Objetos.Excecoes.WebServiceCPDException":
                            //Sessão expirou no webService. Redireciona para o login
                            alertModal("Este cpf não foi localizado como um ex-aluno", alertType.erro);
                            break;
                        default:
                            alertModal(json.Message, alertType.erro);
                            break;
                    }

                } catch (e) { }
            } else {
                alertModal(status, alertType.erro);
            }
            
            callbackError();
        },        
        beforeSend: function(xml) {
            if (!this.data)
                xml.setRequestHeader("Content-Type", "application/json;utf-8");
        }
    });
}

/*Para exibição da modal "CARREGANDO" quando houver requisição ajax*/
$(document).ready(function() {
    //Div loading criada na master page
    $('#loading').jqm({ overlay: 20, modal: true, trigger: false });
    $().ajaxSend(function(r, s) {
        $('#loading').jqmShow().end();
    });
    $().ajaxStop(function(r, s) {
        $('#loading').jqmHide().end();
    });
});   

function validaDia(data) {
    var result = false;
    switch (parseInt(data[1])) {
        case 1: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 2: parseInt(data[0]) > 29 ? result = false : result = true; break;
        case 3: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 4: parseInt(data[0]) > 30 ? result = false : result = true; break;
        case 5: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 6: parseInt(data[0]) > 30 ? result = false : result = true; break;
        case 7: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 8: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 9: parseInt(data[0]) > 30 ? result = false : result = true; break;
        case 10: parseInt(data[0]) > 31 ? result = false : result = true; break;
        case 11: parseInt(data[0]) > 30 ? result = false : result = true; break;
        case 12: parseInt(data[0]) > 31 ? result = false : result = true; break;
    }
    return result;
}
function validaCPF(numcpf) {
    x = 0; soma = 0; dig1 = 0; dig2 = 0; texto = ""; numcpf1 = "";
    len = numcpf.length; x = len - 1;

    if (numcpf == "00000000000" || numcpf == "11111111111" || numcpf == "22222222222" || numcpf == "33333333333" || numcpf == "44444444444" || numcpf == "55555555555" || numcpf == "66666666666" || numcpf == "77777777777" || numcpf == "88888888888" || numcpf == "99999999999" || numcpf == "12345678909") { return false; }
    for (var i = 0; i <= len - 3; i++) {
        y = numcpf.substring(i, i + 1);
        soma = soma + (y * x);
        x = x - 1;
        texto = texto + y;
    }
    dig1 = 11 - (soma % 11);
    if (dig1 == 10) dig1 = 0;
    if (dig1 == 11) dig1 = 0;
    numcpf1 = numcpf.substring(0, len - 2) + dig1;
    x = 11; soma = 0;
    for (var i = 0; i <= len - 2; i++) {
        soma = soma + (numcpf1.substring(i, i + 1) * x);
        x = x - 1;
    }
    dig2 = 11 - (soma % 11);
    if (dig2 == 10) dig2 = 0;
    if (dig2 == 11) dig2 = 0;
    if ((dig1 + "" + dig2) == numcpf.substring(len, len - 2)) { return true; }
    return false;
} 
function formataData(data){
    if(data){
	    var novaData 	= data.split("/");
	    var objData  	= new Date(novaData[1]+"/"+novaData[0]+"/"+novaData[2]);
	    var dia			= objData.getDate() < 10 ? String(0).concat(objData.getDate()) : objData.getDate();
	    var mes			= (objData.getMonth()+1) < 10 ? String(0).concat((objData.getMonth()+1)) : (objData.getMonth()+1);
	    var dataFinal	=  dia + "/" + mes + "/" + objData.getFullYear();
	    return dataFinal;
    } else {
        return "";
    }
}
function selecionaDrop(IdDrop, valor){
    if($(IdDrop)[0]){
        var opcoes 	= $(IdDrop)[0].options;
        var valor	= $.trim(String(valor)).toLowerCase();
        for(var i=0;i<opcoes.length;i++){
	        var opcao = $.trim($(opcoes[i]).val()).toLowerCase();	
	        opcao == valor ? $(opcoes[i]).attr("selected",true) : $(opcoes[i]).attr("selected",false);
        }
    }
}
function QueryString(variavel){
    var retorno   = new Array();
    var variaveis = location.search.replace(/\x3F/,"").replace(/\x2B/g," ").split("&");

    if(variaveis!=""){
        for(i=0;i<variaveis.length;i++){
            nvar=variaveis[i].split("=");
            retorno[$.trim(nvar[0]).toLowerCase()] = $.trim(unescape(nvar[1]));
        }
        return retorno[variavel.toLowerCase()];
    } else {
        return "";
    }
}

function validaEmail(strEmail) {
    if (!/^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$/.test(strEmail))
        return false;
    else
        return true;
}


function float2moeda(num) {

   x = 0;

   if(num<0) {
      num = Math.abs(num);
      x = 1;
   }
   if(isNaN(num)) num = "0";
      cents = Math.floor((num*100+0.5)%100);

   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         num = num.substring(0,num.length-(4*i+3))+'.'
               +num.substring(num.length-(4*i+3));
       ret = num + ',' + cents;
       if (x == 1) ret = ' - ' + ret; return ret;

}

function associada(assoc){
    
    assoc =  assoc == "" ? "unip" : assoc;
    
    if(assoc.toLowerCase() != "unip"){
        
        // topo
        $("unip").css("background","url(../img/logo/" + assoc + ".jpg) no-repeat left top");
        
    
    }
}

//Validar data
function isDate(valor) {
    if (!/^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/.test(valor))
        return false;
    else
        return true;
}