function Trim ( strTexto ) {
	if ( strTexto.length < 1 ) {
		return ( "" );
	}
	strTexto = RTrim( strTexto );
	strTexto = LTrim( strTexto );
	return ( strTexto );
}

function RTrim ( strTexto ) {
	var w_space = String.fromCharCode( 32 );
	var v_length = strTexto.length;
	var strTemp = "";
	if ( v_length < 0 ) {
		return ("");
	}
	var iTemp = v_length -1;
	while ( iTemp > -1 ) {
		if ( strTexto.charAt( iTemp ) != w_space ) {
			strTemp = strTexto.substring( 0, iTemp + 1 );
			break;
		}
		iTemp = iTemp-1;
	}
	return ( strTemp );
}

function LTrim ( strTexto ) {
	var w_space = String.fromCharCode( 32 );
	if ( v_length < 1 ) {
		return ( "" );
	}
	var v_length = strTexto.length;
	var strTemp = "";
	var iTemp = 0;
	while ( iTemp < v_length ) {
		if ( strTexto.charAt( iTemp ) != w_space ) {
			strTemp = strTexto.substring( iTemp, v_length );
			break;
		}
		iTemp = iTemp + 1;
	}
	return ( strTemp );
}

function formatarNome ( iCampo ) {
	var strNome	= Trim ( iCampo.value );
	if ( strNome != "" ) {
		var arrPartes = new Array();
		arrPartes = strNome.split( " " );
		for ( var i = 0; i < arrPartes.length; i++ ) {
			if ( arrPartes[ i ].length > 2 ) {
				arrPartes[ i ] = arrPartes[ i ].substr( 0, 1 ).toUpperCase() + arrPartes[ i ].substr( 1, arrPartes[ i ].length - 1 ).toLowerCase();
			} else {
				if ( arrPartes[ i ].length == 2 && arrPartes[ i ].substr( 1, 1 ) == "." ) {
					arrPartes[ i ] = arrPartes[ i ].toUpperCase();
				} else {
					arrPartes[ i ] = arrPartes[ i ].toLowerCase();
				}
			}
		}
		arrPartes[ arrPartes.length - 1 ] = ( arrPartes[ arrPartes.length - 1 ].length == 1 ? arrPartes[ arrPartes.length - 1 ].toUpperCase() + "." : arrPartes[ arrPartes.length - 1 ] );
		iCampo.value = arrPartes.join( " " );
	}
}

function isEmail ( iCampo, iNomeCampo ) {
	var str = iCampo.value;
	var r1  = new RegExp( "(@.*@)|(\\.\\.)|(@\\.)|(^\\.)" );
	var r2  = new RegExp( "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$" );
	if ( ( !r1.test( str ) && r2.test( str ) ) ) {
		return ( true );
	} else {
		iCampo.focus();
		alert( iNomeCampo + " inválido(a)!" );
		return ( false );
	}
}

function isVazio ( iCampo, iNomeCampo ) {
	iCampo.value = Trim( iCampo.value );
	if ( iCampo.value == '' ) {
		iCampo.focus();
		alert( iNomeCampo + " inválido(a)!" );
		return ( true );
	} else {
		return ( false );
	}
}

function isIgual ( iCampo1, iCampo2, iNomeCampo1, iNomeCampo2 ) {
	iCampo1.value = Trim( iCampo1.value );
	iCampo2.value = Trim( iCampo2.value );
	//
	if ( iCampo1.value != iCampo2.value ) {
		iCampo1.focus();
		alert( 'O campo ' + iNomeCampo1 + ' não é igual ao campo ' + iNomeCampo2 );
		return ( false );
	}
	return ( true );
}

function isInteiro ( iCampo ) {
	iCampo = Trim( iCampo );
    for ( var i = 0; i < iCampo.length; i++ ) {
        var c = iCampo.charAt( i );
        if ( ( ( c < "0" ) || ( c > "9" ) ) ) {
			return ( false );
		}
    }
    return ( true );
}

function isNumerico ( iCampo, iNomeCampo ) {
	iCampo.value = Trim( iCampo.value )
	var CaractereInvalido = false;
	if ( !( isInteiro( iCampo.value ) ) ) {
		CaractereInvalido = true;
	}
	for (var i = 0; i < iCampo.value.length; i++ ) {
		var Caractere = iCampo.value.charAt( i );
		if ( Caractere != "." && Caractere != "," && Caractere != "-" ) {
         	if ( isNaN( parseInt( Caractere ) ) ) CaractereInvalido = true;
		}
	}
	if ( !CaractereInvalido == true ) {
		return ( true );
   	} else {
		iCampo.focus();
		alert( iNomeCampo + ' deve conter apenas números.' );
		return ( false );
	}
}

function isChecado ( iCampo, iNomeCampo ) {
	if ( iCampo.checked == true ) {
		return ( false );
	} else {
		alert( 'Marque o campo ' + iNomeCampo + '.' );
		return ( true );
	}
}

function isChecado_radio ( objCampo, strNome ) {
	var booChecado = false;
	var intCount   = 0;
	while ( intCount < objCampo.length && !( booChecado = objCampo[ intCount++ ].checked ) );
	if ( !booChecado ) {
		 alert( "Marque o campo " + strNome );
	}
	return ( booChecado );
}

function EhIgual ( campo ) {
	var i = 0
	var j = 1
	var igual = true;
	// Todos os caracteres devem ser diferentes
	while ( i < campo.length-1 && igual == true ) {
		while ( j < campo.length && igual == true ) {
			if ( campo.charAt( i ) != campo.charAt( j ) ) {
				igual = false;
			} else {
				j++;
			}
		}
		i++;
	}
	return ( igual );
}

function isCpf ( iCampo, iNomeCampo ) {
	iCampo.value = Trim( iCampo.value )
	var iCpf;
	iCpf = iCampo.value;
	invalidChars = " /:,;-..";
	for ( var i = 0 ; i < invalidChars.length; i++ ) {
		badChar = invalidChars.charAt( i );
		iCpf = iCpf.replace( badChar, "" );
	}
	if ( EhIgual( iCpf ) == true ) {
		iCampo.focus();
		alert( iNomeCampo + ' é inválido(a)!' );
		return (  false );
	}
	x=0;
	soma=0;
	dig1=0;
	dig2=0;
	texto="";
	iCampo1="";
	len = iCpf.length;
	x = len -1;
	for (var i=0; i <= len - 3; i++ ) {
		y = iCpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	iCampo1 = iCpf.substring(0,len - 2) + dig1 ;
	x = 11;
	soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (iCampo1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	if ((dig1 + "" + dig2) == iCpf.substring(len,len-2)) {
		return true;
	}
	iCampo.focus();
	alert(iNomeCampo + ' é inválido(a)!');
	return false;
}