/*************
Library for All Pages
*************/

/*************
Library for the Contact Page
*************/
function decryptEmail(element) {
	var t = String.fromCharCode(106, 111, 110, 97, 104, 64, 110, 117, 99, 108, 101, 117, 115, 115, 121, 115, 116, 101, 109, 115, 46, 99, 111, 109);
	return '<a href=\'mailto:'+t+'\'>'+t+'</a>';
}

function great() {
	var messages = ['Rocks!', 'Awesome!', 'Great!', 'Sweet!']
	var x = Math.round(Math.random() * 3);
	return messages[x];
}

function validateName() {
	if ($('f_name').value.length < 1) {
		$('f_name_label').set('text', 'Required Field');
		$('f_name_icon').set('src', 'graphics/ex.png');
		return false;
	} else {
		if (!$('f_name_icon').src.match('check')) $('f_name_label').set('text', great());
		$('f_name_icon').set('src', 'graphics/check.png');
		return true;
	}
}

function validateEmail() {
	if ($('f_email').value.length < 1) {
		$('f_email_label').set('text', 'Required Field');
		$('f_email_icon').set('src', 'graphics/ex.png');
		return false;
	} else if (!$('f_email').value.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)) {
		$('f_email_label').set('text', 'Doesn\'t look valid...');
		$('f_email_icon').set('src', 'graphics/neutral.png');
		return true;
	} else {
		if (!$('f_email_icon').src.match('check')) $('f_email_label').set('text', great());
		$('f_email_icon').set('src', 'graphics/check.png');
		return true;
	}
}

function validateURL() {
	if ($('f_url').value.length < 1) {
		$('f_url_label').set('text', 'Good');
		$('f_url_icon').set('text', 'graphics/neutral.png');
		return true;
	} else {
		if (!$('f_url_icon').src.match('check')) $('f_url_label').set('text', great());
		$('f_url_icon').set('src', 'graphics/check.png');
		return true;
	}
}

function validateMessage() {
	$('chars').set('text', 1000 - $('f_message').value.length + ' chars left');
	$('chars').setStyle('color', '');
	$('chars').setStyle('font-weight', 'normal');
	if ($('f_message').value.length < 1) {
		$('f_message_icon').set('src', 'graphics/ex.png');
		$('f_message_label').set('text', 'Required Field');
		return false;
	} else if ($('f_message').value.length < 14) {
		$('f_message_icon').set('src', 'graphics/neutral.png');
		$('f_message_label').set('text', 'Should be longer...');
		return true;
	} else if ($('f_message').value.length > 1000) {
		$('f_message_icon').set('src', 'graphics/neutral.png');
		$('f_message_label').set('text', 'Oops, too long...');
		if ($('f_message').value.length - 1000 == 1) {
			$('chars').set('text', 'Last char will be trimmed');
		} else {
			$('chars').set('text', 'Last ' + ($('f_message').value.length - 1000) + ' chars will be trimmed');
		}
		$('chars').setStyle('color', '#FF0000');
		$('chars').setStyle('font-weight', 'bold');
		return true;
	} else {
		if (!$('f_message_icon').src.match('check')) $('f_message_label').set('text', great());
		$('f_message_icon').set('src', 'graphics/check.png');
		return true;
	}
}

function initInputs() {
	var x = false;
	if ($defined(document.createElement('input').placeholder)) {
		x = true;
	}
	var f_name_interval = 0;
	var f_email_interval = 0;
	var f_url_interval = 0;
	var f_message_interval = 0;
	$('f_name').addEvent('focus', function () {
		f_name_interval = function () {
			validateName();
		}.periodical(10);
		if (this.value == this.get('placeholder') && !x)
			this.value='';
	});
	$('f_name').addEvent('blur', function () {
		validateName();
		$clear(f_name_interval);
		if (this.value.length < 1 && !x)
			this.value = this.get('placeholder');
	});
	$('f_email').addEvent('focus', function () {
		f_email_interval = function () {
			validateEmail();
		}.periodical(10);
		if (this.value == this.get('placeholder') && !x)
			this.value='';
	});
	$('f_email').addEvent('blur', function () {
		validateEmail();
		$clear(f_email_interval);
		if (this.value.length < 1 && !x)
			this.value = this.get('placeholder');
	});
	$('f_url').addEvent('focus', function () {
		f_url_interval = function () {
			validateURL();
		}.periodical(10);
		if (this.value == this.get('placeholder') && !x)
			this.value='';
	});
	$('f_url').addEvent('blur', function () {
		validateURL();
		$clear(f_url_interval);
		if (this.value.length < 1 && !x)
			this.value = this.get('placeholder');
	});
	$('f_message').addEvent('blur', function () {
		validateMessage();
		$clear(f_message_interval);
	});
	$('f_message').addEvent('focus', function () {
		f_message_interval = function () {
			validateMessage();
		}.periodical(10);
	});
}

function submitForm() {
	if (validateName() == false || validateEmail() == false || validateMessage() == false) {
		return false;
	}
	loadAni(true, $('f_sending_icon'));
	$('f_sending_label').setStyle('display', 'block');
	$('f_sending_label').set('text', 'Sending...');
	$('f_sending_icon').setStyle('display', 'block');
	$('f_sending_done').setStyle('display', 'none');
	if ($('f_noscript')) $('f_noscript').dispose();
	$('f_form').set('send', {url: 'dest.php', onComplete: function (response) {
		$('f_sending_icon').setStyle('display', 'none');
		$('f_sending_done').setStyle('display', 'block');
		$('f_sending_label').set('text', 'All done, Thanks!');
		$('f_submit').disabled = 'true';
		$('f_submit').setStyle('color', '#888888');
	}});
	$('f_form').send();
	return false;
}

/*************
Library for the Portfolio Page
*************/


