/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

/*!
 * (v) Compact labels plugin
 * Takes one option: labelOpacity [default: true] set to false to disable label opacity change on empty input focus
 */
(function($){$.fn.compactize=function(options){var defaults={labelOpacity:true};options=$.extend(defaults,options);return this.each(function(){var label=$(this),input=$('#'+label.attr('for'));input.focus(function(){if(options.labelOpacity){if(input.val()===''){label.css('opacity','0.5');}}else{label.hide();}});if(options.labelOpacity){input.keydown(function(){label.hide();label.css('opacity',1);});} input.blur(function(){if(input.val()===''){label.show();} if(options.labelOpacity){label.css('opacity',1);}});window.setTimeout(function(){label.toggle();},50);});};})(jQuery);

/*!
 * (v) hrefID jQuery extention
 * returns a valid #hash string from link href attribute in Internet Explorer
 */
(function($){$.fn.extend({hrefId:function(){return $(this).attr('href').substr($(this).attr('href').indexOf('#'));}});})(jQuery);

/*!
 * (v) Tabs plugin
 */
(function($){$.fn.extend({tabMe:function(){
	return $(this).click(function() {
		if($(this).hasClass('.active')) return false;
		$(this).parent().parent().find('li, a').removeClass('active');
		$(this).addClass('active').parent().addClass('active');
		$(this).parent().parent().parent().find('.single-tab').hide();
		$($(this).hrefId()).show();
		return false;
	});
}});})(jQuery);

/*!
 * Scripts
 *
 */
jQuery(function($) {
 	var Engine = {
		utils : {
			links : function(){
				$('a[rel*=external]').click(function(e){
					e.preventDefault();
					window.open($(this).attr('href'));
				});
			},
			mails : function(){
				$('a[href^=mailto:]').each(function(){
					var mail = $(this).attr('href').replace('mailto:','');
					var replaced = mail.replace('/at/','@');
					$(this).attr('href','mailto:'+replaced);
					if($(this).text() == mail) {
						$(this).text(replaced);
					}
				});
			}
		},
		ui : {
			clients : function(){
				$(".clients-a .client-links li:eq(0) a").addClass('active');
				var singleClient = $(".clients-a .single-client");
				singleClient.css({'position':'absolute', 'left':'0'});
				singleClient.not(".clients-a .client-list .single-client:eq(0)").css('left','-9999px');
				var clientLink = $(".clients-a .client-links li a");
				clientLink.click(function() {
					if($(this).is('.active')) return false;
					clientLink.removeClass('active');
					$(this).addClass('active');
					singleClient.css('left','-9999px').find('.hidden-content').each(function() {
						if ( $(this).is(':visible') ) {
							$(this).hide();
							$(this).parent().find(".client-details").removeClass('collapsed');
							$(this).parent().find(".client-details a span").text('Details');
						}
					});
					$($(this).hrefId()).css('left','0');
					return false;
				});
				
				$(".clients-a .client-details a").click(function(){
					var hiddenDiv = $(this).parent().parent().find('.hidden-content');
					if (! hiddenDiv.is(':visible') ) {
						hiddenDiv.show();
						$(this).parent().addClass('collapsed');
						$(this).find('span').text('Hide details');
						$(this).blur();
						return false;
					} else if ( hiddenDiv.is(':visible') ) {
						hiddenDiv.hide();
						$(this).parent().removeClass('collapsed');
						$(this).find('span').text('Details');
						$(this).blur();
						return false;
					}
				});
			},
			heroes : function(){
				var imgPath = 'images/heroes/'; //change this to the path of your images
				var images = ['hero1.png', 'hero2.png', 'hero3.png', 'hero4.png']; //put here all image names
				$('<img src="' + imgPath + images[Math.floor(Math.random() * images.length)] + '" alt="" width="278" height="445" />').appendTo('#big-image');
			},
			tabs : function(){
				$(".tab-links-a li a, .tab-links-b li a").addClass('tablink').tabMe();
				$(".tab-links-a li:eq(0) a, .tab-links-b li:eq(0)").addClass('active');
				$(".tab-list .single-tab").not(".tab-list .single-tab:eq(0)").hide();
			},
			validation : function(){
				// Place ID's of all required fields here (without #)
				required = ["first-name-field", "last-name-field", "phone-field"];
				// Place ID of email address here
				email = $("#email-field");
				// The text to show up within a field when it is incorrect
				emptyerror = "Please fill out this field";
				emailerror = "Please enter a valid e-mail";

				$(".contact-form").submit(function(){
					// Validate required fields
					for ( i=0;i<required.length;i++ ){
						var input = $('#'+required[i]);
						if ( (input.val() == "") || (input.val() == emptyerror) ){
							input.parent().addClass("required");
							input.val(emptyerror);
						} else {
							input.removeClass("required");
							input.parent().find('.error').remove();
						}
					}
					// Validate the e-mail
					if ( !/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email.val()) ){
						email.parent().addClass("required");
						email.val(emailerror);
					}
					// If any inputs on the page have the class 'required' the form will not submit
					if ( $(":input").parent().hasClass("required") ){
						return false;
					} else {
//						alert("submit email");
//						$.get(
//								"http://www.webappsolution.com/php/testmail.php", 
//								{ name: "John", email: "brianr@webappsolution.com", phone:"555-555-5555", message:"blah blah blah" },
//								function(data){
//									alert("Data Loaded: " + data);
//								}
//						);
						//return true;
					}
				});
				// Clears any fields in the form when the user clicks on them
				$(":input").focus(function(){
				   if ( $(this).parent().hasClass("required") ){
						$(this).val("");
						$(this).parent().removeClass("required");
				   }
				});
			}
		}
	};

	Engine.utils.links();
	Engine.utils.mails();
	Engine.ui.clients();
	Engine.ui.heroes();
	Engine.ui.tabs();
	Engine.ui.validation();
});

// Equal columns
function equalCols(leftSide,rightSide){
	var leftHeight = ($(leftSide).innerHeight())-20;
	if ( leftHeight > $(rightSide).innerHeight() ) {
		$(rightSide).css('min-height',leftHeight+'px');
	}
}
$(window).load(function(){
	equalCols('.primary-a','.aside-a.txt-area');
});
