function selecionaVideoVitrine (estrutura, video) {
    
    $("#"+estrutura).html("<video class=video-js width=280 height=168 preload controls>" +
               "<source src=" + video + ".mp4 type='video/mp4' codecs='avc1.42E01E, mp4a.40.2' />" +
               "<object class=vjs-flash-fallback width=280 height=168 type=application/x-shockwave-flash data=http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf>" +
                 "<param name=movie value=http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf />" +
                 "<param name=allowfullscreen value=true />" +
                 "<param name=flashvars value=config={'clip':{'url':'" + video + ".mp4','autoPlay':false,'autoBuffering':true}} />" +
               "</object></video>");
           
   VideoJS.setupAllWhenReady();
    
}

function url_decode(str) { 
    var n, strCode, strDecode = ""; 
    for (n = 0; n < str.length; n++) { 
        if (str.charAt(n) == "%") { 
            strCode = str.charAt(n + 1) + str.charAt(n + 2); 
            strDecode += String.fromCharCode(parseInt(strCode, 16)); 
            n += 2; 
        } else { 
            strDecode += str.charAt(n); 
        } 
    } 
    return strDecode; 
}

function url_encode(str) {
    var hex_chars = "0123456789ABCDEF";
    var noEncode = /^([a-zA-Z0-9\_\-\.])$/;
    var n, strCode, hex1, hex2, strEncode = "";

    for(n = 0; n < str.length; n++) {
        if (noEncode.test(str.charAt(n))) {
            strEncode += str.charAt(n);
        } else {
            strCode = str.charCodeAt(n);
            hex1 = hex_chars.charAt(Math.floor(strCode / 16));
            hex2 = hex_chars.charAt(strCode % 16);
            strEncode += "%" + (hex1 + hex2);
        }
    }
    return strEncode;
} 

Mascaras = {
    IsIE: navigator.appName.toLowerCase().indexOf('microsoft')!=-1,
    AZ: /[A-Z]/i,
    Acentos: /[À-ÿ]/i,
    Num: /[0-9]/,
    carregar: function(parte){
        var Tags = ['input','textarea'];
        if (typeof parte == "undefined") parte = document;
        for(var z=0;z<Tags.length;z++){
            Inputs=parte.getElementsByTagName(Tags[z]);
            for(var i=0;i<Inputs.length;i++)
                if(('button,image,hidden,submit,reset').indexOf(Inputs[i].type.toLowerCase())==-1)
                    this.aplicar(Inputs[i]);
        }
    },
    aplicar: function(campo){
        tipo = campo.getAttribute('tipo');
        if (!tipo || campo.type == "select-one") return;
        orientacao = campo.getAttribute('orientacao');
        mascara = campo.getAttribute('mascara');
        if (tipo.toLowerCase() == "decimal"){
            orientacao = "esquerda";
            casasdecimais = campo.getAttribute('casasdecimais');
            tamanho = campo.getAttribute('maxLength');
            if (!tamanho || tamanho > 50)
                tamanho = 10;
            if (!casasdecimais)
                casasdecimais = 2;
            campo.setAttribute("mascara", this.geraMascaraDecimal(tamanho, casasdecimais));
            campo.setAttribute("tipo", "numerico");
            campo.setAttribute("orientacao", orientacao);
        }
        if (orientacao && orientacao.toLowerCase() == "esquerda") campo.style.textAlign = "right";
        if (mascara) campo.setAttribute("maxLength", mascara.length);
        if (tipo){
            campo.onkeypress = function(e){
                return Mascaras.onkeypress(e?e:event);
            };
            campo.onkeyup = function(e){
                Mascaras.onkeyup(e?e:event, campo)
            };
        }
        campo.setAttribute("snegativo", ((campo.value).substr(0,1) == "-" ? "s" : "n"));
    },
    onkeypress: function(e){
        KeyCode = this.IsIE ? event.keyCode : e.which;
        campo =  this.IsIE ? event.srcElement : e.target;
        readonly = campo.getAttribute('readonly');
        if (readonly || readonly == "readonly") return false; else {
            maxlength = campo.getAttribute('maxlength');
            pt = campo.getAttribute('pt');
            selecao = this.selecao(campo);
            if (selecao.length > 0 && KeyCode != 0){
                campo.value = "";
                return true;
            }
            if (KeyCode == 0) return true;
            Char = String.fromCharCode(KeyCode);
            valor = campo.value;
            mascara = campo.getAttribute('mascara');
            if (KeyCode != 8){
                tipo = campo.getAttribute('tipo').toLowerCase();
                negativo = campo.getAttribute('negativo');
                if(negativo && KeyCode == 45){
                    snegativo = campo.getAttribute('snegativo');
                    snegativo = (snegativo == "s" ? "n" : "s");
                    campo.setAttribute("snegativo", snegativo);
                }else{
                    valor += Char
                    if (tipo == "numerico" && Char.search(this.Num) == -1) return false;
                    if (KeyCode != 32 && tipo == "caracter" && Char.search(this.AZ) == -1 && Char.search(this.Acentos) == -1) return false;
                }
            }
            if (mascara){
                this.aplicarMascara(campo, valor);
                return false;
            }
            return true;
        }
    },
    onkeyup: function(e, campo){
        readonly = campo.getAttribute('readonly');
        if (readonly || readonly == "readonly") return false; else {
            KeyCode = this.IsIE ? event.keyCode : e.which;
            if (KeyCode != 9 && KeyCode != 16 && KeyCode != 109){
                valor = campo.value;
                if (KeyCode == 8 && !this.IsIE) valor = valor.substr(0,valor.length-1);
                this.aplicarMascara(campo, valor);
            }
        }
    },
    aplicarMascara: function(campo, valor){
        mascara = campo.getAttribute('mascara');
        if (!mascara) return;
        negativo = campo.getAttribute('negativo');
        snegativo = campo.getAttribute('snegativo');
        if (negativo && valor.substr(0,1) == "-")
            valor = valor.substr(1,valor.length-1);
        orientacao = campo.getAttribute('orientacao');
        var i = 0;
        for(i=0;i<mascara.length;i++){
            caracter = mascara.substr(i,1);
            if (caracter != "#") valor = valor.replace(caracter, "");
        }
        retorno = "";
        if (orientacao != "esquerda"){
            contador = 0;
            for(i=0;i<mascara.length;i++){
                caracter = mascara.substr(i,1);
                if (caracter == "#"){
                    retorno += valor.substr(contador,1);
                    contador++;
                }else
                    retorno += caracter;
                if(contador >= valor.length) break;
            }
        }else{
            contador = valor.length-1;
            for(i=mascara.length-1;i>=0;i--){
                if(contador < 0) break;
                caracter = mascara.substr(i,1);
                if (caracter == "#"){
                    retorno = valor.substr(contador,1) + retorno;
                    contador--;
                }else
                    retorno = caracter + retorno;
            }
        }
        if (negativo && snegativo == "s")
            retorno = "-" + retorno;
        campo.value = retorno;
    },
    geraMascaraDecimal: function(tam, decimais){
        var retorno = "";
        var contador = 0;
        var i = 0;
        decimais = parseInt(decimais);
        for (i=0;i<(tam-(decimais+1));i++){
            retorno = "#" + retorno;
            contador++;
            if (contador == 3){
                retorno = "." + retorno;
                contador=0;
            }
        }
        retorno = retorno + ",";
        for (i=0;i<decimais;i++) retorno += "#";
        return retorno;
    },
    selecao: function(campo){
        if (this.IsIE)
            return document.selection.createRange().text;
        else
            return (campo.value).substr(campo.selectionStart, (campo.selectionEnd - campo.selectionStart));
    },
    formataValor: function (valor, decimais){
        valor = valor.split('.');
        if (valor.length == 1) valor[1] = "";
        for(var i=valor[1].length;i<decimais;i++)
            valor[1] += "0";
        valor[1] = valor[1].substr(0,2);
        return (valor[0] + "." + valor[1]);
    }
};

$(document).ready(function (){
    Mascaras.carregar();
});
