


/***********************************************************************
	FORM VALIDATION 
***********************************************************************/	
//is a valid email
	function validemail(email) {
	    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	    return reg.test(email);
	}
	
/***********************************************************************
	IMAGE ROTATOR
***********************************************************************/	
    function rotate(element, transTime) {	
    	var displayed = ((element.filter('.displayed')) ? element.filter('.displayed') : element.first());
    	var next = ((displayed.next().length) ? displayed.next() : element.first());
    	displayed.animate({opacity: 0}, transTime).removeClass('displayed');
    	next.animate({opacity: 1}, transTime).addClass('displayed');
    }
    function start_rotate(element, displayTime, transTime) {
    	element.css({opacity: 0});
    	element.first().css({opacity: 1}).addClass('displayed');
    	setInterval(function () { rotate(element, transTime)}, displayTime);
    }  
    
/***********************************************************************
	PNG FIX
***********************************************************************/	
	var blank = new Image();
	blank.src = 'images/site/blank.gif';
	function fixPng(png) {
		  // get src
		  var src = png.src;
		  // set width and height
		  if (!png.style.width) { png.style.width = $(png).width(); }
		  if (!png.style.height) { png.style.height = $(png).height(); }
		  // replace by blank image
		  png.onload = function() { };
		  png.src = blank.src;
		  // set filter (display original image)
		  png.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
		  

/****************************************************

JQUERY

****************************************************/
//JQUERY
jQuery(function($){

/***********************************************************************
	GENERAL FUNCTIONS
***********************************************************************/
	
	
	//GOOGLE ANALYTICS
	// Log all jQuery AJAX requests to Google Analytics
	$(document).ajaxSend(function(event, xhr, settings){
	    if (typeof _gaq !== "undefined" && _gaq !== null) {
	        _gaq.push(['_trackPageview', settings.url]);
	    }
	});
	 

    //IE6 PNG FIX
	var badBrowser = (/MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32");
    if (badBrowser) {
      // get all pngs on page
      $('img[src$=.png]').each(function() {
        if (!this.complete) {
          this.onload = function() { fixPng(this) };
        } else {
          fixPng(this);
        }
      });
    }
    
    //INPUT FIELDS, CLEAR TEXT ON FOCUS
	$('input[type="text"]').focus(function() {
		$(this).val('');
	});
    
    
    /*
	ANIMATE ELEMENT UP, DOWN, LEFT OR RIGHT
	VARS:
	slidelimit: limit for how far element may move
	slidedistance: distance for element to move
	slidetime: the time it takes for element to move
	slidedirection: direction element will move 
	    values: left, top
	        left +slidedistance: element moves right
	             -slidedistance: element moves left
	        top +slidedistance: element moves down
	             -slidedistance: element moves up	
	*/
	$.fn.slider = function(slideLimit, slideDistance, slideTime, slideDirection) {
		var position = $(this).position();
		var curPosition = 0;
		if(slideDirection == "left") {
			curPosition = position.left;
		} else {
			curPosition = position.top;			
		}
		var newPosition = curPosition + slideDistance;
		if(slideLimit < newPosition && slideLimit < 0 || slideLimit > newPosition && slideLimit == 0) {
			if(slideDirection == "left") {
		        $(this).animate({left: newPosition}, slideTime);
			} else {
				$(this).animate({top: newPosition}, slideTime);
			}		
		} else {
			if(slideDirection == "left") {
		        $(this).animate({left: 0}, slideTime);
			} else {
				$(this).animate({top: 0}, slideTime);
			}
		}				
	};

/***********************************************************************
	HEADER FUNCTIONS
***********************************************************************/	

	//USED FOR TOP NAVIGATION'S SUBNAV
	$("div#nav li.product_category").mouseenter(function() {
		$(this).addClass("iehover");
		rowWidth = 0;
		rowHeight = 0;
		$(this).find('.product_dept').show().find("ul").each(function(){
			rowWidth += $(this).width();
			if($(this).height() > rowHeight) {
				rowHeight = $(this).height();
			}
		});
		$(this).find(".product_dept").css({"width":992});
		$(this).find(".product_dept").find("ul").each(function() {
			$(this).css({"height":rowHeight});
		});

	});
	$("div#nav li.product_category").mouseleave(function() {
		$(this).removeClass("iehover");
		$(this).find(".product_dept").hide();									  
	});
});
