String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };
String.prototype.left = function(len){ return (len > this.length) ? this : this.substring(0, len); };
String.prototype.right = function(len){ return (len > this.length) ? this : this.substring(this.length - len); };
Number.prototype.parseCurrency = function(){ return (this.toFixed ? (this.toFixed(2)+"").replace(".", ",") : (this+"").replace(".", ",")); };

var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
var navigatorVersion = navigator.userAgent.replace(new RegExp(".*MSIE ([0-9]\.[0-9]).*","g"),'$1');

addLoadEvent(function() { _initImages() });
addLoadEvent(function() { _loginPanel() });

if(typeof $get != 'function') {
	$get = function(id, element) {
        if (!element) return document.getElementById(id);
        if (element.getElementById) return element.getElementById(id);
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function _initImages() {
	var image;
    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_home.gif";

    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_empresa.gif";

    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_planos.gif";

    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_servicos.gif";

    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_suporte.gif";

    image = new Image();
	image.src = "App_Themes/Default/images/menu_over_contato.gif";
}

function _loginPanel() {

	// Evento para Login
	var login = document.getElementsByName('txtUsername').item(0);
	if (login) {
		var onfocus = function() { 
			login.parentNode.style.backgroundPosition = '0px -20px';
		}; 

		var onblur = function() { 
			if (login.value.trim() == '') {
				login.value = "";
				login.parentNode.style.backgroundPosition = '0px 0px';
			}
		};

		login.onfocus = onfocus; 
		login.onblur = onblur; 

		if (login.value.trim() == '') {
			login.onblur();
		} else {
			login.onfocus();
		}
	
	}

	// Evento para password
	var password = document.getElementsByName('txtPassword').item(0);
	if (password) {
		var onfocus = function() { 
			password.parentNode.style.backgroundPosition = '0px -20px';
		}; 

		var onblur = function() { 
			if (password.value.trim() == '') {
				password.value = "";
				password.parentNode.style.backgroundPosition = '0px 0px';
			}
		};

		password.onfocus = onfocus; 
		password.onblur = onblur; 

		if (password.value.trim() == '') {
			password.onblur();
		} else {
			password.onfocus();
		}
	
	}

	// Evento para submit
	var form = document.getElementById('frmLogon');
	if (form) {
		var onsubmit = function() { 
			if (login.value.trim() == '' || password.value.trim() == '') {
				alert('Por favor, digite o login e senha corretamente!')
				return false;
			} else {
				return true;
			}

		}; 

		form.onsubmit = onsubmit; 
	}

}

function isCPF(str) {
    cpf = str.replace(/\D+/g, '');
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        return false;
    add = 0;
    for (i = 0; i < 9; i++)
        add += parseInt(cpf.charAt(i)) * (10 - i);
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11)
        rev = 0;
    if (rev != parseInt(cpf.charAt(9)))
        return false;
    add = 0;
    for (i = 0; i < 10; i++)
        add += parseInt(cpf.charAt(i)) * (11 - i);
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11)
        rev = 0;
    if (rev != parseInt(cpf.charAt(10)))
        return false;
    else
        return true;
}

function isCNPJ(str) {
    if (!(str = /^\d?(\d{2})\.?(\d{3})\.?(\d{3})\/?(\d{4})\-?(\d{2})/.exec(str)))
        return false;

    var sum1 = 0, sum2 = 0, sum3 = 0, calc1 = 5, calc2 = 6;

    str.shift();
    str = str.join("");

    for (var i = 0; i <= 12; i++) {
        calc1 = (calc1 < 2) ? 9 : calc1;
        calc2 = (calc2 < 2) ? 9 : calc2;

        if (i <= 11)
            sum1 += str[i] * calc1;

        sum2 += str[i] * calc2;
        sum3 += str[i];
        calc1--;
        calc2--;
    }

    sum1 %= 11;
    sum2 %= 11;

    return (sum3 && str[12] == (sum1 < 2 ? 0 : 11 - sum1) && str[13] == (sum2 < 2 ? 0 : 11 - sum2)) ? str : false;
}
