/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//recupera o objeto XMLHttprequest
var requisicao = ajaxInit();

function ajaxInit(){
    var xmlHttp;
    try {    // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }catch ( tryMicrosoft)  {    // Internet Explorer
        try {
            xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');
        } catch(otherMicrosoft){
            try {
                xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
            } catch(falied){
                alert('Seu navegador não suporta o uso de AJAX!');
                return false;
            }
        }
    }
    return xmlHttp;
}


function mostrarCombo(){
    var dropdown = document.getElementById("combo1");
    var index = dropdown.selectedIndex;
    var posicao = dropdown.options[index].value;
    var ddText = dropdown.options[index].text;

    if(requisicao){
        var url = "Index.do?posicao=" + escape(posicao) + "&posicao=" + Math.random();
        requisicao.open("GET", url, true);
        requisicao.onreadystatechange = atualizaPaginaIndex;
        requisicao.send(null);
    }
}

function atualizaPaginaIndex(){
    if(requisicao.readyState==4){
        if(requisicao.status==200){
            document.getElementById("mostracombo").innerHTML=requisicao.responseText;
        }else{
            alert('Erro! O status da requisição é: '+requisicao.status);
        }
    }
}

function inscrever(){
    if(document.getElementById("combo2").value==0){
        alert('Informe as opções!');
    }else{
        var url = document.getElementById("combo2").value+".xhtml";
        window.location=url;
    }
}

/**
  * 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('');
}

