﻿/*
CSS Browser Selector v0.3.3 (Sep 09, 2009)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors

Available OS Codes [os]:
	* win - Microsoft Windows
	* linux - Linux (x11 and linux)
	* mac - Mac OS
	* freebsd - FreeBSD
	* ipod - iPod Touch
	* iphone - iPhone
	* webtv - WebTV
	* mobile - J2ME Devices (ex: Opera mini)

Available Browser Codes [browser]:
	* ie - Internet Explorer (All versions)
	* ie8 - Internet Explorer 8.x
	* ie7 - Internet Explorer 7.x
	* ie6 - Internet Explorer 6.x
	* ie5 - Internet Explorer 5.x
	* gecko - Mozilla, Firefox (all versions), Camino
	* ff2 - Firefox 2
	* ff3 - Firefox 3
	* ff3_5 - Firefox 3.5
	* opera - Opera (All versions)
	* opera8 - Opera 8.x
	* opera9 - Opera 9.x
	* opera10 - Opera 10.x
	* konqueror - Konqueror
	* webkit or safari - Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome
	* safari3 - Safari 3.x
	* chrome - Google Chrome
	* iron - SRWare Iron
*/

function css_browser_selector(u) { var ua = u.toLowerCase(), is = function(t) { return ua.indexOf(t) > -1; }, g = 'gecko', w = 'webkit', s = 'safari', h = document.getElementsByTagName('html')[0], b = [(!(/opera|webtv/i.test(ua)) && /msie\s(\d)/.test(ua)) ? ('ie ie' + RegExp.$1) : is('firefox/2') ? g + ' ff2' : is('firefox/3.5') ? g + ' ff3 ff3_5' : is('firefox/3') ? g + ' ff3' : is('gecko/') ? g : /opera(\s|\/)(\d+)/.test(ua) ? 'opera opera' + RegExp.$2 : is('konqueror') ? 'konqueror' : is('chrome') ? w + ' chrome' : is('iron') ? w + ' iron' : is('applewebkit/') ? w + ' ' + s + (/version\/(\d+)/.test(ua) ? ' ' + s + RegExp.$1 : '') : is('mozilla/') ? g : '', is('j2me') ? 'mobile' : is('iphone') ? 'iphone' : is('ipod') ? 'ipod' : is('mac') ? 'mac' : is('darwin') ? 'mac' : is('webtv') ? 'webtv' : is('win') ? 'win' : is('freebsd') ? 'freebsd' : (is('x11') || is('linux')) ? 'linux' : '', 'js']; c = b.join(' '); h.className += ' ' + c; return c; }; css_browser_selector(navigator.userAgent);

function VerificarDigitoNumerico(evt)
{
    evt = evt || window.event;

    var charCode = evt.which || evt.keyCode;

    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function DefineMascara(campo, mask, maxLength, evt)
{
    if (!VerificarDigitoNumerico(evt))
        return false;

    vCampo = campo.value;
    tCampo = vCampo.length;

    //Quando o valor no campo passa a não corresponder exatamente ao comprimento determinado no pattern informado, a função entra num loop infinito
    //Então, este trecho verifica o comprimento e não deixa passar do pattern informado
    if (tCampo === maxLength)
        return;

    tMask = mask.length;
    vFinal = "";

    for (i = 0; i < tCampo; i++) {
        vCampo = vCampo.replace("-", "");
        vCampo = vCampo.replace(".", "");
        vCampo = vCampo.replace("/", "");
        vCampo = vCampo.replace(" ", "");
    }

    tCampo = vCampo.length;
    pMask = tMask - 1;

    for (i = 0; i < tCampo; i++) {
        pMask--;
        while (mask.charAt(pMask) != "#") {
            pMask--;
        }
    }

    cont = 0;
    for (i = pMask; i < tMask; i++) {
        if (mask.charAt(i) == "#") {
            vFinal = vFinal + vCampo.charAt(cont);
            cont++;
        }
        else {
            vFinal = vFinal + mask.charAt(i);
        }
    }
    campo.value = "";
    campo.value = vFinal;

    return true;
}