// Copyright 2005
// Auteur: Laurent Quivogne
var __capitales =  "ABCDEFGHIJKLMNOPQRSTUVWXYZAAAEEEEOOOUUUC"
var __basdecasse = "abcdefghijklmnopqrstuvwxyzàäâéèêëöôòùûüç";

function changeCasse( chaine, depart, arrivee ){
	var str = "", i, j, c;
	for( i = 0; i < chaine.length; i++ ){
		c = chaine.charAt( i );
		j = depart.indexOf( c );
		if( j == -1 ){
			str = str + c;
		}else{
			str = str + arrivee.charAt( j );
		}
	}
	return str;
}
function capitale( chaine ){
	return changeCasse( chaine, __basdecasse, __capitales );
}
function basdecasse( chaine ){
	return changeCasse( chaine, __capitales, __basdecasse );
}

function fullUpperCase( chaine ){
	var re, str = chaine;
	if( str.length == 0 ){
		return str;
	}
	str = capitale( str );
	re = / *- */g;
	str = str.replace( re, '-' )
	re = / *\x27 */g;
	str = str.replace( re, '\x27' );
	re = /\bDE\b/gi;
	str = str.replace( re, 'de' );
	re = /\bD\x27/gi;
	str = str.replace( re, 'd\x27' );
	return str;
}
function firstUpperCase( chaine ){
	var re, str = chaine, tab;
	if( str.length == 0 ){
		return str;
	}
	str = basdecasse( str );
	re = / *- */g;
	str = str.replace( re, '-' )
	re = / *\x27 */g;
	str = str.replace( re, '\x27' );
	if( str.length > 0 ){
		str = capitale( str.substr(0,1) ) + str.substr(1);
	}
	re = /[ \x27\-]./gi;
	var str1 = str;
	str = "";
	while( (tab = re.exec( str1 )) != null ){
		str = str + str1.substr(0, tab.index) + capitale( tab[0] );
		str1 = str1.substr( tab.index + tab[0].length );
		re.lastIndex = 0;
	}
	str = str + str1;
	//str = str.replace( re, function( str ){ return capitale( str ); } );
	return str;
}