var validationRules = null;
$(document).ready(function () {
	
	if($("#dccEnquiry").length){
		validationRules = {"name1":["name","blur","^[-' a-zA-Z]+$","Please enter your name using only letters"],
		"phone1":["phone","blur","^[0-9 ()+]{8,}$","Please enter a valid phone number"],
		"email1":["email","blur","^[A-Za-z0-9._%+'-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$|^$","Please enter a valid email address"],
		"enquiry1":["enquiry","blur","^.+$","Please enter your enquiry"]};
	}
	
	if($("#sharpeningForm").length){
		validationRules = {"name1":["name","blur","^.+$","Please enter your name"],
		"name2":["name","blur","^[-' a-zA-Z]+$","Please enter your name using only letters"],
		"phone1":["phone","blur","^[0-9 ()+]{8,}$","Please enter a valid phone number"],
		"email1":["email","blur","^[A-Za-z0-9._%+'-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$|^$","Please enter a valid email address"],
		"address1":["address","blur",".+","Please enter the return address"],
		"terms1":["terms","blur","^agreed$","You must agree to the terms and conditions"]};
	}	
		if(validationRules!=null){
			for(var i in validationRules){
				try{		
					var thisField = $('#'+validationRules[i][0]);
					var thisVRule = function(){ return i };
					var bindValidation = function(){
						var rule = thisVRule();
						if(thisField.length){
							thisField.bind('blur',function(){
								return validateField(rule, $(this));
							});
						}
					}
					bindValidation();
				} catch(error){}
			}

			$('form').submit(function() {
				try{
					for(var i in validationRules){
						var thisField = $('#'+validationRules[i][0]);
						var thisRule = i;
						if(thisField.length) validateField(thisRule,thisField);
					}
				} catch(error){}
				if ($("div[id$='Msg']").length){
					alert('Please check your submission and try again');
					return false;
				} 
			});
		}
	
	if($('.chain-detail td h2').length){
		$('.chain-detail td h2').each(function(){	
			var readMoreLink = $('<a/>');
			var fullDetails = $(this).parent().find('ul,p');
			var currToggle = $(this);
			readMoreLink.text('+ show details').css({"cursor":"pointer","font-size":"0.6em","color":"#666666", "vertical-align":"text-top"}).click(function(){
				fullDetails.slideToggle('slow');
				$(this).text(($(this).text()=='+ show details') ? '- hide details' : '+ show details' );
			});
			fullDetails.hide();
			currToggle.append(readMoreLink);
		});
	}
	
});

function validateField(vruleid, field) {
	var thisFieldVal = (field.get()[0].nodeName.toLowerCase()=='select') ? $('#'+field.attr('id')+' option:selected').val() : field.val();
	if (field.attr('type')=='checkbox' || field.attr('type')=='radio') thisFieldVal = ($('#'+field.attr('id')+':checked').length) ? $('#'+field.attr('id')+':checked').val() : '';
	if( !thisFieldVal.match(validationRules[vruleid][2])){
		addVMsg(field, validationRules[vruleid][3]);
		return;
	} else if (document.getElementById(field.attr('id')+'Msg')){
		$(document.getElementById(field.attr('id')+'Msg')).remove();
	}
}
function addVMsg(field, text){
	if ( !$('#'+$(field).attr('id')+'Msg').length){
		// ... add the validation jobbie to the page
		var msg = $('<div/>').text( text ).attr('id',$(field).attr('id')+'Msg').hide();
		$(field).before( $(msg).css({"position":"absolute","width":"200px","font-size":"0.8em","border":"1px solid #cd1228","padding":"3px","background":"#F7D7DE"}) );
		var fieldHeight = $(field).outerHeight();
		var msgHeight = $(msg).outerHeight();
		var msgTop = Math.ceil($(field).position().top) + ((fieldHeight-msgHeight)/2);
		$(msg).css({"top":msgTop,"left":$(field).position().left + $(field).outerWidth()}).fadeIn('fast');
	}
}
