$(document).ready(function(){



	// Function to Clear form defaults before submission
		function clearmyfields(el) {
			jQuery(this + "input:text,input:password,textarea").each(function(){
				if (jQuery(this).attr("alt")) {
					var _alt = jQuery(this).attr("alt");
					if(jQuery(this).val()==_alt) {
						jQuery(this).val('');
					}
				}
			});
		}
	
	// Bind forms to 'clearmyfields' function
	    jQuery("#freeform").bind("submit", clearmyfields); 


	// Default Form Fields Focus and Blur Functionality
		jQuery("input:text,textarea").focus(function() {
			if (jQuery(this).attr("alt")) {
				var _alt = jQuery(this).attr("alt");
				if (jQuery(this).val()==_alt) {
					jQuery(this).val('');
				}
			}
		});
		
		jQuery("input:text,textarea").blur(function() {
			if (jQuery(this).attr("alt")) {
				var _alt = jQuery(this).attr("alt");
				if (jQuery(this).val()=='') {
					jQuery(this).val(_alt);
				}
			}	
		});	
		
	
		
		
	
		
		
		// If this for field is a password, replace it with text, then change it back to password on Focus
		jQuery("input:text,input:password,textarea").each(function(){		
			if (jQuery(this).attr("alt")) {
				var _class = '';
				var _name = '';
				var _id = '';
				var _alt='';
			
				
				if(jQuery(this).attr('type')=='password'){
					_alt = jQuery(this).attr("alt");
					_class = jQuery(this).attr("class");
					_name = jQuery(this).attr("name");
					_id = jQuery(this).attr("id");
	
					if (jQuery(this).val()=='') {
						jQuery(this).replaceWith('<input type="text" class="'+_class+'" name="'+_name+'" id="'+_id+'" value="'+_alt+'" alt="'+_alt+'" />');
						jQuery('#'+_id).attr("value",_alt); // This is for Safari to force value if back button is pressed
						jQuery('#'+_id).bind('focus',fieldcheck);
					}
					
				} else {
					_alt = jQuery(this).attr("alt");
					if (jQuery(this).val()=='') {
						jQuery(this).val(_alt);
					}
				}			
			}
		});	
	
	
		// Swap Text/Password Fields for Password inputs - continued
			function fieldcheck(el) {
				if(jQuery(this).attr('type')=='text'){
					
					_alt = jQuery(this).attr("alt");
					_class = jQuery(this).attr("class");
					_name = jQuery(this).attr("name");
					_id = jQuery(this).attr("id");			
					
					jQuery(this).replaceWith('<input type="password" class="'+_class+'" name="'+_name+'" id="'+_id+'" alt="'+_alt+'" value="" />')
					jQuery('#'+_id).focus();
					jQuery('#'+_id).bind('blur',fieldcheck);
		
				}
		
				
				if(jQuery(this).attr('type')=='password'){
					if(jQuery(this).val()==''){
						_alt = jQuery(this).attr("alt");
						_class = jQuery(this).attr("class");
						_name = jQuery(this).attr("name");
						_id = jQuery(this).attr("id");
						
						jQuery(this).replaceWith('<input type="text" class="'+_class+'" name="'+_name+'" id="'+_id+'" value="'+_alt+'" alt="'+_alt+'" />');
						jQuery('#'+_id).bind('focus',fieldcheck);
					}
				}
			}




	// Used for Fancybox
	jQuery("a.fancybox").fancybox({
		'padding'		: 0,
		'overlayOpacity': 0.8,
		'overlayColor'	: '#000'
	});
	
	$("a.grouped_elements").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'easingIn'		:	'swing',
		'easingOut'		:	'swing',
		'overlayOpacity':	1,
		'overlayColor'	: '#000',
		'speedIn'		:	600, 
		'speedOut'		:	200
	});

	// Warrior Popups
	$(function () {
	  $('#popoutcontainer').each(function () {
	    // options
	    var distance = 130;
	    var time = 350;
	    var hideDelay = 300;
	
	    var hideDelayTimer = null;
	
	    // tracker
	    var beingShown = false;
	    var shown = false;
	    
	    var trigger = $('.warrior');
	    var popup = $('#posider', this).css('opacity', 0);
	
	    // set the mouseover and mouseout on both element
	    $([trigger.get(0)]).mouseover(function () {
	    	
	      // stops the hide event if we move from the trigger to the popup element
	      if (hideDelayTimer) clearTimeout(hideDelayTimer);
	
	      // don't trigger the animation again if we're being shown, or already visible
	      if (beingShown || shown) {
	        return;
	      } else {
	        beingShown = true;
	
	        // reset position of popup box
	        popup.css({
	          //left: -100,
	          display: 'block' // brings the popup back in to view
	        })
	
	        // (we're using chaining on the popup) now animate it's opacity and position
	        .animate({
	          //left: '+=' + distance + 'px',
	          opacity: 1
	        }, time, 'swing', function() {
	          // once the animation is complete, set the tracker variables
	          beingShown = false;
	          shown = true;
	        });
	      }
	    }).mouseout(function () {
	      // reset the timer if we get fired again - avoids double animations
	      if (hideDelayTimer) clearTimeout(hideDelayTimer);
	      
	      // store the timer so that it can be cleared in the mouseover if required
	      hideDelayTimer = setTimeout(function () {
	        hideDelayTimer = null;
	        popup.animate({
	          //left: '-=' + distance + 'px',
	          opacity: 0
	        }, time, 'swing', function () {
	          // once the animate is complete, set the tracker variables
	          shown = false;
	          // hide the popup entirely after the effect (opacity alone doesn't do the job)
	          popup.css('display', 'none');
	        });
	      }, hideDelay);
	    });
	  });
	});



});
