$(document).ready(function(){
	
	/* EXTERNAL LINKS start ***********************************************************/
	$('a[rel="external"]').click(function(){
		this.target = "_blank";
	});	
	/* EXTERNAL LINKS end *************************************************************/
	
	/* NAVIGATION start ***************************************************************/
	$('#nav ul > li.level1 > ul').prepend('<li class="top first"></li>');
	$('#nav ul ul ul').prepend('<li class="top"></li>');
	$('#nav ul ul').append('<li class="bottom"></li>');
	$('#nav ul ul').hide();
	//hover show next level
	$('#nav ul > li').hover(function() { $('ul:first', this).show(); $('a:first',this).addClass('hover'); },function() {$('ul:first', this).hide(); $('a:first',this).removeClass('hover'); });
	//add class for flyouts
	if ($('#nav ul ul ul').length > 0) { $('#nav ul ul ul').prev().addClass('flyout'); }
	
	$('#nav li.level1:first').addClass('first');
	$('#nav li.level1:last,#nav-cart li:last').addClass('last');
	/* NAVIGATION end ****************************************************************/
		
}); //close document.ready

function errorInputText(id,str){
	if(!id.hasClass('error-display')){ //prevent multiple error displays on same element
		id.addClass('error-display'); //prevent displaying error twice
		id.parent().prepend('<span class="error"><span>'+ str +'</span></span>');
		
	}
	if(!window.focused){ id.focus(); window.focused = true; } //focused on first error
	return true;
}

/*VALIDATE FORM*/
function validateForm(nonempty,matches,select_nonempty,checkbox,valid_email){
	$('.error').remove();
	$('input,select,textarea').removeClass('error-display'); //prevent multiple error displays on same element
	 window.focused = false; //remove true
	var errors = false;
	//validate nonempty fields
	if(nonempty !=''){
		var nonempty_array = nonempty.split( "," );
		for( var i=0; i < nonempty_array.length; i++ ){
			var nonempty_set = nonempty_array[i].split( ":" );
			if( $('#'+nonempty_set[0]).val().length < nonempty_set[1] ){
				errors = errorInputText($('#'+nonempty_set[0]),$('#'+nonempty_set[0]).attr('title') +' must be filled in');
			}
		}
	}
	
	//validate matching fields
	if(matches !=''){
		var matches_array = matches.split( "," );
		for( var j=0; j < matches_array.length; j++ ){
			var matches_pair = matches_array[j].split( ":" );
			if($('#'+matches_pair[0]).val() != $('#'+matches_pair[1]).val()){
				errors = errorInputText($('#'+matches_pair[1]),$('#'+matches_pair[1]).attr('title') +' did not match '+ $('#'+matches_pair[0]).attr('title'));
			}		
		}
	}
	
	//validate matching fields
	if(select_nonempty !=''){
		var select_nonempty_array = select_nonempty.split( "," );
		for( var k=0; k < select_nonempty_array.length; k++ ){
			if( $('#'+select_nonempty_array[k]).val() ==''){
				errors = errorInputText($('#'+select_nonempty_array[k]),$('#'+select_nonempty_array[k]).attr('title') +' must be selected</span>');
			}
		}
	}
	if(checkbox !=''){
		var checkbox_array = checkbox.split( "," );
		for( var l=0; l < checkbox_array.length; l++ ){
			if( $('#'+checkbox_array[l]).is(":not(:checked)")){
				errors = errorInputText($('#'+checkbox_array[l]),$('#'+checkbox_array[l]).attr('title') +' must be checked to continue');
			}
		}		
	}
	//validate email address
	if(valid_email !=''){
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);  
		if(!pattern.test( $('#'+valid_email).val() )){
			errors = errorInputText($('#'+valid_email),$('#'+valid_email).attr('title') +' is not valid');
		}  
	}
	if(errors){	return false; } 
	else {return true; }
}
/*VALIDATE FORM*/
