String.prototype.compare = function() {
	return this.localeCompare(arguments[0]);
}

String.prototype.toLocaleLowerCase = function() {
	return this.replace(/I/gm, "ý").toLowerCase();
}

String.prototype.toProperCase = function() {
	var i = 0;
	return this.replace(/[\wçðýöþüÇÐÝÖÞÜ]+/gm, function() {
		with(arguments[0])
			if(i++ > 0)
				return toLocaleLowerCase();
			else
				return charAt(0).toLocaleUpperCase() + substr(1).toLocaleLowerCase();
	});
}

String.prototype.toLocaleUpperCase = function() {
	return this.replace(/i/gm, "Ý").toUpperCase();
}