/*******************************************************************************

	CSS on Sails Framework
	Title: Mystique
	Author: XHTMLized (http://www.xhtmlized.com/)
	Date: July 2011

*******************************************************************************/
$( function() {
	// Contact Form Validator
	$("#contact-main").validator({
		position: 'top left',
		offset: [-5, 0],
		message: '<div></div>' // em element is the arrow
	});

	// Personalize My Message link
	var msgLink = $('#personalizeMsg');
	var msgArea = $('#contact_comment');
	//msgArea.hide();
	msgLink.click( function(e) {
		e.preventDefault();
		msgArea.slideDown(400);
	})
	/*
	//Hides the slickbox as soon as the DOM is ready
	//(a little sooner than page load)
	$('.slickbox').hide();

	//Shows the slickbox on clicking the noted link
	$('a.slick-down').click( function() {
	$('.slickbox').slideToggle('slow');
	return false;
	});
	//Hides the slickbox on clicking the noted link
	$('a.slick-up').click( function() {
	$('.slickbox').slideUp('slow');
	return false;
	});

	*/

	// fix placeholder field with jquery https://gist.github.com/379601 http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
	$('[placeholder]').focus( function() {
		var input = $(this);
		if (input.val() == input.attr('placeholder')) {
			input.val('');
			input.removeClass('placeholder');
		}
	}).blur( function() {
		var input = $(this);
		if (input.val() == '' || input.val() == input.attr('placeholder')) {
			input.addClass('placeholder');
			input.val(input.attr('placeholder'));
		}
	}).blur().parents('form').submit( function() {
		$(this).find('[placeholder]').each( function() {
			var input = $(this);
			if (input.val() == input.attr('placeholder')) {
				input.val('');
			}
		})
	});
});
//
// Note: This file depends on the jQuery library.
//

// Module pattern:
// http://yuiblog.com/blog/2007/06/12/module-pattern/
var FORMALIZE = (function($, window, document, undefined) {
	// Private constants.
	var PLACEHOLDER_SUPPORTED = 'placeholder' in document.createElement('input');
	var AUTOFOCUS_SUPPORTED = 'autofocus' in document.createElement('input');
	var WEBKIT = 'webkitAppearance' in document.createElement('select').style;
	var IE6 = !!($.browser.msie && parseInt($.browser.version, 10) === 6);
	var IE7 = !!($.browser.msie && parseInt($.browser.version, 10) === 7);

	// Expose innards of FORMALIZE.
	return {
		// FORMALIZE.go
		go: function() {
			for (var i in FORMALIZE.init) {
				FORMALIZE.init[i]();
			}
		},
		// FORMALIZE.init
		init: {
			// FORMALIZE.init.detect_webkit
			detect_webkit: function() {
				if (!WEBKIT) {
					return;
				}

				// Tweaks for Safari + Chrome.
				$('html').addClass('is_webkit');
			},
			// FORMALIZE.init.full_input_size
			full_input_size: function() {
				if (!IE7 || !$('textarea, input.input_full').length) {
					return;
				}

				// This fixes width: 100% on <textarea> and class="input_full".
				// It ensures that form elements don't go wider than container.
				$('textarea, input.input_full').wrap('<span class="input_full_wrap"></span>');
			},
			// FORMALIZE.init.ie6_skin_inputs
			ie6_skin_inputs: function() {
				// Test for Internet Explorer 6.
				if (!IE6 || !$('input, select, textarea').length) {
					// Exit if the browser is not IE6,
					// or if no form elements exist.
					return;
				}

				// For <input type="submit" />, etc.
				var button_regex = /button|submit|reset/;

				// For <input type="text" />, etc.
				var type_regex = /date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;

				$('input').each( function() {
					var el = $(this);

					// Is it a button?
					if (this.getAttribute('type').match(button_regex)) {
						el.addClass('ie6_button');

						/* Is it disabled? */
						if (this.disabled) {
							el.addClass('ie6_button_disabled');
						}
					}
					// Or is it a textual input?
					else if (this.getAttribute('type').match(type_regex)) {
						el.addClass('ie6_input');

						/* Is it disabled? */
						if (this.disabled) {
							el.addClass('ie6_input_disabled');
						}
					}
				});
				$('textarea, select').each( function() {
					/* Is it disabled? */
					if (this.disabled) {
						$(this).addClass('ie6_input_disabled');
					}
				});
			},
			// FORMALIZE.init.autofocus
			autofocus: function() {
				if (AUTOFOCUS_SUPPORTED || !$(':input[autofocus]').length) {
					return;
				}

				$(':input[autofocus]:visible:first').focus();
			},
			// FORMALIZE.init.placeholder
			placeholder: function() {
				if (PLACEHOLDER_SUPPORTED || !$(':input[placeholder]').length) {
					// Exit if placeholder is supported natively,
					// or if page does not have any placeholder.
					return;
				}

				FORMALIZE.misc.add_placeholder();

				$(':input[placeholder]').each( function() {
					var el = $(this);
					var text = el.attr('placeholder');

					el.focus( function() {
						if (el.val() === text) {
							el.val('').removeClass('placeholder_text');
						}
					}).blur( function() {
						FORMALIZE.misc.add_placeholder();
					});
					// Prevent <form> from accidentally
					// submitting the placeholder text.
					el.closest('form').submit( function() {
						if (el.val() === text) {
							el.val('').removeClass('placeholder_text');
						}
					}).bind('reset', function() {
						setTimeout(FORMALIZE.misc.add_placeholder, 50);
					});
				});
			}
		},
		// FORMALIZE.misc
		misc: {
			// FORMALIZE.misc.add_placeholder
			add_placeholder: function() {
				if (PLACEHOLDER_SUPPORTED || !$(':input[placeholder]').length) {
					// Exit if placeholder is supported natively,
					// or if page does not have any placeholder.
					return;
				}

				$(':input[placeholder]').each( function() {
					var el = $(this);
					var text = el.attr('placeholder');

					if (!el.val() || el.val() === text) {
						el.val(text).addClass('placeholder_text');
					}
				});
			}
		}
	};
	// Alias jQuery, window, document.
})(jQuery, this, this.document);
// Automatically calls all functions in FORMALIZE.init
jQuery(document).ready( function() {
	FORMALIZE.go();

	//
	$('body').removeClass('no-js');

	//
	$("#header .slideshow .nav").tabs("#header .slideshow .slides article", {
		effect: 'fade',
		fadeOutSpeed: "slow",
		rotate: true
	}).slideshow({ autoplay: true, interval: 5000});

	//
	$('.contact-wrapper .contact form fieldset .textarea').hide();
	$('.contact-wrapper .contact form fieldset p.expand').click(function(){
		$('.contact-wrapper .contact form fieldset .textarea').slideToggle();
	});

	if (($.browser.webkit) ) {

		$('body').addClass('chrome');
	}

	if (($.browser.msie) && ($.browser.version <= "9.0")) {

		// CSS3PIE
		var CSS3PIE_selectors = [
		'.default #sidebar .blog ul',
		'#sidebar .gallery-wrapper',
		'#sidebar .blog-wrapper .blog',
		'.default .vertical',
		'.contact-wrapper .contact form fieldset input.submit',
		'.contact-wrapper .contact dl dd',
		'.contact-wrapper .contact',
		'#header .slideshow',
		'#header .top li a'
		];
		$( CSS3PIE_selectors.join(',') ).each( function() {
			PIE.attach(this);
		});
	}

	if (($.browser.msie) && ($.browser.version == "6.0")) {

		// CSS3PIE
		var CSS3PIE_selectors = [
		'.platform #content section nav',
		'.platform #content section',
		'#sidebar .gallery-wrapper .more',
		'#sidebar .gallery-wrapper .nav a',
		'#sidebar .blog .more',
		'#sidebar .video span',
		'#sidebar h3',
		'.tools-wrapper .tools dl dd a',
		'.thank-you #content dl dd a',
		'.thank-you #content dl',
		'.thank-you #content .links article a span',
		'.thank-you #content .links article h3',
		'.thank-you #content .links',
		'.thank-you #content p.headline',
		'#content p.more',
		'#sidebar .blog-wrapper .blog .more',
		'#sidebar .blog-wrapper',
		'.contact-wrapper .contact form fieldset p.expand',
		'.contact-wrapper .contact form fieldset input[type="text"]',
		'#footer .column h3',
		'.contact-wrapper .contact dl dt',
		'.contact-wrapper',
		'.videos-wrapper .videos article a span',
		'.videos-wrapper .videos',
		'.videos-wrapper .videos article',
		'#header .slideshow .nav a',
		'#header .mystique'
		];
		$( CSS3PIE_selectors.join(',') ).each( function() {
			PIE.attach(this);
		});
	}

});

// AddThis Tracking Code
var addthis_config = {
   data_ga_property: 'UA-25725562-1', // Use the ID from Google Analytics to track AddThis usage
   data_track_clickback: true
};

// execute your scripts when DOM is ready. this is a good habit
$(document).ready(function() {
	// initialize scrollable with mousewheel support
	$(".scrollable").scrollable({circular: true, vertical: true, easing: 'linear' }).navigator().autoscroll({
		interval: 6000		
	});
});

// Blog Comment Form Validation
$("#cform").validator({ 
	position: 'top left', 
	offset: [-12, 140],
	message: '<div><em/></div>' // em element is the arrow
});
// Added by Einstein Industries, used to style ol lists...
$("#content ol li").each(function(){
    $(this).contents().wrap("<span>");
});
