$(document).ready(function() {
	$('p.question a').click(function () {
		var myClass = $(this).attr("class");
		if ($('#' + myClass).attr("class") == 'answer' || $('#' + myClass).attr("class") == 'FAQ_bot answer') $('#' + myClass).addClass("on");
		else $('#' + myClass).removeClass("on");
		return false;
	});	
	
//	$('a').attr('title','');



	$('#comments').NobleCount('#count',{
		max_chars: 300,
		block_negative: true
	});
	
});

/* Form Validation */

function validateContact() {
	var error = new Array();
	error[0] = validFirstName(document.contact.elements["contact[First name]"]);
	error[1] = validLastName(document.contact.elements["contact[Last name]"]);
	error[2] = validBusinessName(document.contact.elements["contact[Business name]"]);
	error[3] = validAddress(document.contact.elements["contact[Address]"]);
	error[4] = validSuburb(document.contact.elements["contact[Suburb]"]);
	error[5] = validNumber(document.contact.elements["contact[Contact number]"]);
	error[6] = validEmail(document.contact.elements["contact[Email address]"]);
	error[7] = validWebsiteAddress(document.contact.elements["contact[Website address]"]);
	error[8] = validPostcode(document.contact.elements["contact[Postcode]"]);
	error[9] = validSecurity(document.contact.elements["contact[Security]"]);
	for (i = 0; i < error.length; i++) if (error[i] != '') return false;
	return true;
}

function validFirstName(e) {
	var error = '';
	if (!e.value) error = 'First Name is required';
  	var pattern = /^[a-z, ,.,']{1,100}$/i;
  	 if (e.value.search(pattern) == -1) error = 'First name contains invalid characters or is too long';
	if (error) document.getElementById('firstname').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('firstname').innerHTML = '';
	return error;
}
function validLastName(e) {
	var error = '';
	if (!e.value) error = 'Last Name is required';
  	var pattern = /^[a-z, ,.,']{1,100}$/i;
	if (e.value.search(pattern) == -1) error = 'Last name contains invalid characters or is too long';
	if (error) document.getElementById('lastname').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('lastname').innerHTML = '';
	return error;
}
function validBusinessName(e) {
	var error = '';
	if (!e.value) error = 'Business Name is required';
  	var pattern = /^[a-z,0-9, ,.,']{1,100}$/i;
	if (e.value.search(pattern) == -1) error = 'Business name contains invalid characters or is too long';
	if (error) document.getElementById('businessname').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('businessname').innerHTML = '';
	return error;
}
function validSuburb(e) {
	var error = '';
  	var pattern = /^[a-z, ,.,']{1,100}$/i;
	if (e.value.search(pattern) == -1) error = 'Suburb contains invalid characters or is too long';
	if (!e.value) error = 'Suburb is required';
	if (error) document.getElementById('suburb').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('suburb').innerHTML = '';
	return error;
}
function validAddress(e) {
	var error = '';
  	var pattern = /^[a-z, ,.,',0-9]{1,200}$/i;
	if (e.value.search(pattern) == -1) error = 'Address contains invalid characters or is too long';
	if (!e.value) error = 'Address is required';
	if (error) document.getElementById('address').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('address').innerHTML = '';
	return error;
}
function validNumber(e) {
	var error = '';
	if (!e.value) error = 'Please enter a contact number.';
  	var pattern = /^[0-9, ,(,)]{1,14}$/i;
	if (e.value.search(pattern) == -1) error = 'Phone Number contains invalid characters or is too long';
	if (error) document.getElementById('contactNumber').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('contactNumber').innerHTML = '';
	return error;
}

function validEmail(e) {
	var error = '';
  	var pattern = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	if (!e.value) error = 'Please enter an Email address.';
    if (e.value.search(pattern) == -1) error = 'Invalid email address.';
	if (error) document.getElementById('emailAddress').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('emailAddress').innerHTML = '';
	return error;
}

function validWebsiteAddress(e) {
	var error = '';
	if (!e.value) error = 'Please enter a Website address.';
  	var pattern = /^[a-z,.\/,\-,_,0-9,:']{1,128}$/i;
	if (e.value.search(pattern) == -1) error = 'Website contains invalid characters or is too long';
	if (error) document.getElementById('websiteAddress').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('websiteAddress').innerHTML = '';
	return error;
} 

function validPostcode(e) {
	var error = '';
	var pattern = /^[0-9()-]*$/;	
	if (!e.value) error = 'Please enter a postcode.';
	else if (e.value.search(pattern) == -1 || e.value.length != 4) error = 'Invalid postcode.';
	if (error) document.getElementById('postcode').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('postcode').innerHTML = '';
	return error;
}

function validSecurity(e) {
	var error = '';
	if (!e.value) error = 'Security Verification is required';
	if (error) document.getElementById('security').innerHTML = '<img style="cursor: help;" onclick="alert(\'' + error + '\');" title="' + error + '" alt="' + error + '" src="images/validationIcon.gif" width="12" height="12"/>';
	else document.getElementById('security').innerHTML = '';
	return error;
}
/* nav enhancement */

$(document).ready(function () {

	/* hide separator of the selected item, and the separator of the next item */		
	showDefaultNav();

	/* hide and show and reset separators */
	$('#nav li a').hover(function() {
		$(this).find('span.spt').hide();
		var rel = $(this).attr('rel');
		rel++;
		$('#nav li a[rel=' + rel + ']').find('span.spt').hide();			
	},
	function () {
		$('#nav span.spt').show();
		showDefaultNav();
	});
	
});
	
function showDefaultNav() {
	$('#nav li a.selected').each(function() {
		$(this).find('span.spt').hide();
		var rel = $(this).attr('rel');
		rel++;
		$('#nav li a[rel=' + rel + ']').find('span.spt').hide();
			
	});	
}



/* Modified to support Opera */
function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}
