/*   
=============================================================================== 
Base jQuery file
...............................................................................
                                                                        2010/07
------------------------------------------------------------------------------- 
COPY / USE AT YOUR OWN SITE'S RISK
=============================================================================== 
*/
jQuery(document).ready( function($) {
	var pmenu = jQuery('#menu-primary'); 
	pmenu.addClass('sf-navbar').find(' > li.current-menu-ancestor').addClass('current-menu-item').closest('#access').addClass('has-menu-open').removeClass('has-menu-closed');
	pmenu.find('>li').not(':has(ul)').addClass('ghosted').append('<ul class="sub-menu"><li/></ul>');
	pmenu.superfish({ 
	    hoverClass:    'sfHover',
	    pathClass:     'current-menu-item',
	    pathLevels:    2,
	    delay:         800,
	    speed:         'normal',
	    autoArrows:    false,
	    dropShadows:   false
	});
	pmenu.find(' > .sf-breadcrumb:has(ul)').not('.ghosted').closest('#access').addClass('has-menu-open').removeClass('has-menu-closed');
	
	var cmSubscribe = jQuery('#subForm');
	if (cmSubscribe[0]) {
		jQuery('#subForm #utdyf-utdyf').watermark('Email*', {className: 'watermarked'});
		jQuery('#subForm #name').watermark('Name*', {className: 'watermarked'});
	}
	
	var imgTitle = jQuery('#sitesubheader h1 img[title]');
	if (imgTitle) { imgTitle.removeAttr('title'); }
	
	var itemCount = $('span.mp-cart-item-count span.count'),
		addToCartBtn = $('input.mp_button_addcart');
	if(itemCount[0] && addToCartBtn[0]) {
		addToCartBtn.each(function(){
			var relField = $(this).parent('form').find('input.mp_quantity_field');
			
			$(this).click(function(){
				var oldCt = parseInt(itemCount.text(),10),
					newCt = parseInt(relField.val(),10);
					
				itemCount.animate({opacity:0},400).text(oldCt+newCt).delay(600).animate({opacity:1},400);
			});
		});
	}
	
	var formShippingInfo = jQuery("#mp_shipping_form"),
		formAccountInfo = jQuery("#your-profile"),
		formRegister = jQuery("#registerform"),
		errorPlacement = function(error, element) { 
			if ( element.is(":radio") || element.is(":checkbox") ) 
				error.appendTo( element.closest('fieldset') );
			else 
				error.appendTo( element.parent() ); 
		},
		reqMsg = 'Required';
		
    if (formShippingInfo[0]) {
	    formShippingInfo.validate({
			rules: {
				name: "required",
				address: "required",
				city: "required",
				state: "required",
				zip: {
					required: true//,
					//postalCode: true
					//regex: "/^([0-9]{5})(?:[-\s]*([0-9]{4}))?$/"
				},
				country: "required",
				phone: {
					//required: true,
					phoneUS: true
				},
				email: {
					required: true,
					email: true
				}
			},
			messages: {
				name: reqMsg,
				address: reqMsg,
				city: reqMsg,
				state: reqMsg,
				zip: {
					required: reqMsg//,
					//postalCode: "Please enter a valid US or Canadian postal code"
					//regex: "Please enter a valid US or Canadian postal code"
				},
				country: reqMsg,
				phone: {
					//required: reqMsg,
					phoneUS: "Please enter a valid phone number"
				},
				email:  {
					required: reqMsg,
					email: "Please enter a valid e-mail address"
				}
			},
			errorPlacement: errorPlacement
		});
		/*var theZip = $('#mp_zip'),
			theCountry = $('#mp_country'),
			addRules = {};
			
		switch(theCountry.val()) {
			case 'CA':
				addRules.postalCodeCA = true;
				break;
			case 'US':
				addRules.postalCodeUS = true;
				break;
			default:
				addRules.postalCodeUS = true;
		}
		theZip.rules('remove','postalCodeCA postalCodeUS');
		theZip.rules('add',addRules);
			
		theCountry.change(function(){
			var country = $(this).val(),
				addRules = {};
			switch(country) {
				case 'CA':
					addRules.postalCodeCA = true;
					break;
				case 'US':
					addRules.postalCodeUS = true;
					break;
				default:
					addRules.postalCodeUS = true;
			}
			theZip.rules('remove','postalCodeCA postalCodeUS');
			theZip.rules('add',addRules);
    		return true;
		});*/
	}
	if (formRegister[0]) {
	    formRegister.validate({
			rules: {
				user_login: "required",
				user_email: {
					required: true,
					email: true
				},
				pass1: {
					required: true,
					minlength: 6
				},
				pass2: {
					required: true,
					minlength: 6,
					equalTo: "#pass1"
				},
				recaptcha_response_field: "required"
			},
			messages: {
				user_login: reqMsg,
				user_email:  {
					required: reqMsg,
					email: "Please enter a valid e-mail address"
				},
				pass1: {
					required: reqMsg,
					minlength: "Your password must be at least 6 characters long"
				},
				pass2: {
					required: reqMsg,
					minlength: "Please enter the same password",
					equalTo: "Please enter the same password"
				},
				recaptcha_response_field: reqMsg
			},
			errorPlacement: errorPlacement
		});
	}
    if (formAccountInfo[0]) {
	    formAccountInfo.validate({
			rules: {
				//first_name: "required",
				//last_name: "required",
				nickname: "required",
				email: {
					required: true,
					email: true
				},
				url: {
					required: true,
					url: true
				},
				pass1: {
					//required: true,
					minlength: 6
				},
				pass2: {
					//required: true,
					minlength: 6,
					equalTo: "#pass1"
				},
				//'mp_billing_info[name]': "required",
				'mp_billing_info[email]': {
					//required: true,
					email: true
				},
				/*'mp_billing_info[address1]': "required",
				'mp_billing_info[city]': "required",
				'mp_billing_info[state]': "required",*/
				'mp_billing_info[zip]': {
					//required: true,
					postalCode: true
				},
				//'mp_billing_info[country]': "required",
				'mp_billing_info[phone]': {
					//required: true,
					phoneUS: true
				},
				'mp_shipping_info[email]': {
					email: true
				}/*,
				'mp_shipping_info[zip]': {
					postalCode: true
				}*/,
				'mp_shipping_info[phone]': {
					phoneUS: true
				}
			},
			messages: {
				//first_name: reqMsg,
				//last_name: reqMsg,
				nickname: reqMsg,
				email:  {
					required: reqMsg,
					email: "Please enter a valid e-mail address"
				},
				url: {
					required: reqMsg,
					url: true
				},
				pass1: {
					required: reqMsg,
					minlength: "Your password must be at least 6 characters long"
				},
				pass2: {
					required: reqMsg,
					minlength: "Please enter the same password",
					equalTo: "Please enter the same password"
				},
				//'mp_billing_info[name]': reqMsg,
				'mp_billing_info[email]': {
					//required: reqMsg,
					email: "Please enter a valid e-mail address"
				},
				/*'mp_billing_info[address1]': reqMsg,
				'mp_billing_info[city]': reqMsg,
				'mp_billing_info[state]': reqMsg,*/
				'mp_billing_info[zip]': {
					//required: reqMsg,
					postalCode: "Please enter a valid zip code"
				},
				'mp_billing_info[country]': reqMsg,
				'mp_billing_info[phone]': {
					//required: reqMsg,
					phoneUS: "Please enter a valid phone number"
				},
				'mp_shipping_info[email]': {
					email: "Please enter a valid e-mail address"
				}/*,
				'mp_shipping_info[zip]': {
					postalCode: "Please enter a valid zip code"
				}*/,
				'mp_shipping_info[phone]': {
					phoneUS: "Please enter a valid phone number"
				}
			},
			errorPlacement: errorPlacement
		});
	}

	
	/*var cmSubscribe3 = jQuery('#subForm3');
	if (cmSubscribe3[0]) {
		jQuery('#subForm3 #utdyf-utdyf').watermark('Email*', {className: 'watermarked'});
		jQuery('#subForm3 #name').watermark('Name*', {className: 'watermarked'});
		jQuery('#subForm3 #Organization').watermark('Organization', {className: 'watermarked'});
		jQuery('#subForm3 #Title').watermark('Title', {className: 'watermarked'});
	}
	
	var formFreeQuote = jQuery('#wpcf7-f1-p16-o1, #wpcf7-f1-p377-o1');
	if (formFreeQuote[0]) {
		jQuery('#qname').watermark('Name*', {className: 'watermarked'});
		jQuery('#qemail').watermark('Email*', {className: 'watermarked'});
		jQuery('#qtitle').watermark('Title', {className: 'watermarked'});
		jQuery('#qorg').watermark('Organization', {className: 'watermarked'});
		jQuery('#qphone').watermark('Phone', {className: 'watermarked'});
		jQuery('#qcountry').watermark('Country', {className: 'watermarked'});
		jQuery('#qestStart').watermark('Estimated Project Start', {className: 'watermarked'});
		jQuery('#qdeadline').watermark('Project Deadline', {className: 'watermarked'});
		//jQuery('#qfile').watermark('Associated File', {className: 'watermarked'});
	}
	var formFreeQuote0 = jQuery('#wpcf7-f1-p16-o1');
	if (formFreeQuote0[0]) {
		jQuery('#qcomments').watermark('Comments', {className: 'watermarked'});
	}
	var formFreeQuote1 = jQuery('#wpcf7-f1-p377-o1');
	if (formFreeQuote1[0]) {
		jQuery('#qcomments').val('NSPRA');
	}*/
	
	var twitTimes = jQuery('#sitefooter .aktt_tweet_time');
	if (twitTimes[0]) {
		twitTimes.prepend('<br/>');
	}
	// IE < 9
	if(jQuery.browser.msie && jQuery.browser.version<9) {
		jQuery('body').addClass('ieLt9');
	};
	
	var clearIt = jQuery('#dvJSClearfix');
	if (clearIt[0]) {
		clearIt.append('<div class="clearfix"/>');
	}
	
});
