Config = {
    _Path : function(){
		//return "/capimdouradosc/";
		return "/portal/";
    }
}

Page = {
    DisplayIn : function(obj, str){
		if(obj.value == str){
			obj.value = "";
		}
    },
    DisplayOut : function(obj, str){
		if(obj.value == ""){
			obj.value = str;
		}
    },
    DisplayValidate : function(objId, str, msg){
		var obj = document.getElementById(objId);
		if( (obj.value == str) || (obj.value == "") || (obj.value == null) ){
			alert(msg);
			obj.focus();
			return false;
		}
		return true;
    },
    OpenUrlSelect : function(Obj){
		var value = Obj.options[Obj.selectedIndex].value;
		var array = value.split(";");
		window.open(array[1], array[0]);
    }
}

Validacao = {
	Trim : function(str){
		return str.replace(/^\s+|\s+$/g,"");
    },
	IsEmail : function(str){
		var er = /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/;
		return er.test(str.toLowerCase());
    },
	IsCPF : function(CPF){
		var varCPF="";
		var indSoma, varSoma, varDigito1, varvarDigito2;
		
		varCPF = Validacao.fncFiltraValor(CPF);
		
		if(varCPF.length != 11)
			return(false);
      
		/* Evitar que o 00000000000 passe pelo teste */
		if(CPF == "00000000000")
			return(false);

		/* Verificar o primeiro digito */
		varSoma = 0;
  
		for(indSoma=0; indSoma<=8; indSoma++){varSoma = varSoma + (parseInt(varCPF.charAt(indSoma))*(indSoma+1));}
  
		/* Obter o resto da divisao da soma com 11 */
		varDigito1 = varSoma % 11;
  
		/* Caso seja 10, deve-se transformar para 0 */
		if(varDigito1 == 10) 
			varDigito1 = 0;

		/* Verificar o segundo digito */
		varSoma = 0;
  
		for(indSoma=0; indSoma<=7; indSoma++){varSoma = varSoma + (parseInt(varCPF.charAt(indSoma+1))*(indSoma+1));}

		varSoma = varSoma + (varDigito1*9);

		/* Obter o resto da divisao da soma com 11 */
		varDigito2 = varSoma % 11;

		/* Caso seja 10, deve-se transformar para 0 */
		if(varDigito2 == 10){varDigito2 = 0;}
		
		/* Fazer a validacao dos digitos com os digitos verificadores do CPF */
		if (varDigito1 == parseInt(varCPF.charAt(9)) && varDigito2 == parseInt(varCPF.charAt(10))){return(true);}
	
		return(false);
    },
	fncFiltraValor : function(Valor){
		var s = "";
		var cp = "";
		var invalidos = "A&Aacute;&Agrave;&Atilde;&Acirc;&Auml;BC&Ccedil;DE&Eacute;&Egrave;&Ecirc;&Euml;FGHI&Iacute;&Igrave;&Icirc;&Iuml;JKLMNO&Oacute;&Ograve;&Otilde;&Ocirc;&Ouml;PQRSTU&Uacute;&Ugrave;&Ucirc;&Uuml;VWXYZa&aacute;&agrave;&atilde;&acirc;&auml;bc&ccedil;de&eacute;&egrave;&ecirc;&euml;fghi&iacute;&igrave;&icirc;&iuml;jklmno&oacute;&ograve;&otilde;&ocirc;&ouml;pqrstu&uacute;&ugrave;&ucirc;&uuml;vwxyz`&acute;^~&uml;'\"@#$%&uml;&*()-_+={}[]<>:;?,./|";

		vr = Valor;
		tam = vr.length;
		for (i = 0; i < tam ; i++) {  
			if(invalidos.indexOf(vr.substring(i,i + 1))==-1){
			 	s = s + vr.substring(i,i + 1);}
		}

		return s
	}
}

function utf8_encode ( argString ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Ulrich
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'

    var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");

    var utftext = "";
    var start, end;
    var stringl = 0;

    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;

        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }

    if (end > start) {
        utftext += string.substring(start, string.length);
    }

    return utftext;
}

function utf8_decode ( str_data ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +      input by: Aman Gupta
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Norman "zEh" Fuchs
    // +   bugfixed by: hitwork
    // +   bugfixed by: Onno Marsman
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: utf8_decode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'

    var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;
    
    str_data += '';
    
    while ( i < str_data.length ) {
        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if ((c1 > 191) && (c1 < 224)) {
            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);
            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    }

    return tmp_arr.join('');
}
