﻿window.addEvent('domready', function() {

	// fix external links
	$$('a[rel^=blank][href!=#]').addEvent('click', function(e) {
		window.open(this.href, '_blank');
		return false;
	});

	// input titles
	var inputs = $$('input[type=text][title!=]').addEvents({
		'blur': function(e) {
			var title = this.get('title');
			var value = this.get('value').clean();

			if (value.length == 0)
				this.set('value', title);
		},
		'focus': function(e) {
			var title = this.get('title');
			var value = this.get('value').clean();

			if (value == title)
				this.set('value', '');
		}
	}).fireEvent('blur');

});

// string functions
String.implement({
	padLeft: function(length, padChar) {
		if ($type(length) != "number") {
			if ($type(length) == "string") length.toInt();
			else return this;
		}
		if (length <= this.length) return this;
		else {
			if ($type(padChar) != "string") padChar = " "
			tmp = ""
			for (i = 0; i < (length - this.length); i++) tmp = tmp + padChar
			return tmp + this;
		}
	},
	htmlEncode: function() {
		var el = new Element('div').set('text', this);
		return el.get('text').replace(/&/, '&amp;').clean();
	},
	toProperCase: function() {
		return this.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
	}
});

// override scrollTo for form submission
window.scrollTo = function(x, y) {
	return true;
};
