// JavaScript Document
jQuery(document).ready(function(){

/* jQUERY goes here  */

		//rollovers
		jQuery('.rollover').mouseover(function (e)
		  {
			jQuery(this).addClass('over');
		  });

		jQuery('.rollover').mouseout(function ()
		  {
			jQuery(this).removeClass('over');
		  });


		jQuery(".btn_search").mouseover(function ()
	  {
		jQuery(this).removeClass("btn_search_default");
		jQuery(this).addClass("btn_search_over");
	  });

	  jQuery(".btn_search").mouseout(function ()
	  {
		jQuery(this).removeClass("btn_search_over");
		jQuery(this).addClass("btn_search_default");
	  });


	  jQuery(".home_panel a").mouseover(function ()
	  {
		jQuery(this).children("span.border").addClass("rollover");
	  });

	  jQuery(".home_panel a").mouseout(function ()
	  {
		jQuery(this).children("span.border").removeClass("rollover");
	  });


	  if (jQuery('.side_nav li a.top_level')) {
		jQuery('.side_nav li a.top_level').toggle(function(e){
			jQuery(e.target).siblings('ul').slideDown('fast');

			jQuery('ul.top_level').children('li').children('ul.all_filters').filter('.shown').parent().children('a.top_level').trigger('click');
			jQuery(e.target).siblings('ul.all_filters').addClass('shown');

			jQuery(e.target).siblings('ul#filter').slideUp('fast');

			jQuery(e.target).parent().addClass('active');

		}, function(e){
			jQuery(e.target).siblings('ul').slideUp('fast');
			jQuery(e.target).siblings('ul.all_filters').removeClass('shown');

			jQuery(e.target).siblings('ul#filter').slideDown('fast');

			jQuery(e.target).parent().removeClass('active');
		});
	}

	// centering images in the middle of rows
//	 if (jQuery('div.logo_wrapper')) {
//		 jQuery('div.logo_wrapper a').each(function (i){
//		 var img_height = jQuery(this).children('img').height();
//		 var row_height = jQuery(this).parent().parent().height();
//		 var top_margin = (row_height - img_height)/2;
//		 jQuery(this).css("margin-top", + top_margin);
//		});
//	 }

	 //product detail - magnify effect

	jQuery(".jqzoom").jqueryzoom({
				xzoom: 292,
				yzoom: 292,
				offset: 0,
				position: "right",
 				preload:1,
				lens:1
			});



	//product detail - image loader
	if (jQuery('a.image_loader')) {
		jQuery('a').filter('.image_loader').click(function(e){
			var large_image = jQuery(this).attr("href");
			var xlarge_image = jQuery(this).attr("rel");
			jQuery('.jqzoom').children('a').attr("href",''+ xlarge_image +'');
			jQuery('.jqzoom').children('a').children('img').attr("src",''+ large_image +'');
			e.preventDefault();
	 });
	}


		//rollover on submit button elements (css :hover doesn't work in IE6)
		jQuery("input.btn_add_bag").mouseover(function ()
	  {
		jQuery(this).removeClass("btn_add_bag_default");
		jQuery(this).addClass("btn_add_bag_over");
	  });

	  jQuery("input.btn_add_bag").mouseout(function ()
	  {
		jQuery(this).removeClass("btn_add_bag_over");
		jQuery(this).addClass("btn_add_bag_default");
	  });


	  //tabs product detail page
	  jQuery('a.product_details').click(function(e){
		e.preventDefault();
		jQuery('div.details').removeClass('hidden');
		jQuery('div.help_guide').addClass('hidden');

		/*jQuery('div.help_guide').fadeOut('fast', function(){
													 jQuery('div.details').fadeIn('slow');
													 });*/


		jQuery(this).removeClass("tab_product_details_off");
		jQuery(this).addClass("tab_product_details_on");
		jQuery('a.help_guide').addClass("tab_help_guide_off");
		jQuery('a.help_guide').removeClass("tab_help_guide_on");
		return false;
		});

	  jQuery('a.help_guide').click(function(e){
		e.preventDefault();
		jQuery('div.details').addClass('hidden');
		jQuery('div.help_guide').removeClass('hidden');

		/*jQuery('div.details').fadeOut('fast', function(){
												  jQuery('div.help_guide').fadeIn('slow');
												  });*/


		jQuery('a.product_details').addClass("tab_product_details_off");
		jQuery('a.product_details').removeClass("tab_product_details_on");
		jQuery(this).removeClass("tab_help_guide_off");
		jQuery(this).addClass("tab_help_guide_on");
		return false;
		});

	  //measuring guide content switchers
		jQuery('#switchers a').click(function(e){
			e.preventDefault();
			var btn_id = jQuery(e.target).get(0).id;
			//hiding all panels
			jQuery('#measuring_guide .rise_info').each(function(i){
							jQuery(this).addClass('hidden');
							});
			jQuery('.info_' + btn_id).removeClass('hidden');
			//active states for buttons
			jQuery('#switchers a').each(function(i){
							jQuery(this).removeClass('on');
							});
			jQuery(this).addClass('on');
		});

		//switching image
		jQuery('.image_switchers a').click(function(e){
			e.preventDefault();
			var img_link = jQuery(this).attr("rel");
			jQuery('img#rise_image').attr("src",''+ img_link +'');
		});

	  //denim dictionary interface

		//
		jQuery('#dictionary_letters a').click(function(e){
			var letter_id = jQuery(e.target).get(0).id;

			//hiding all lists
			jQuery('.open_list').each(function(i){
							jQuery(this).addClass('hidden');
							});
			jQuery('#letter_' + letter_id).removeClass('hidden');
			jQuery('#letter_' + letter_id).addClass('open_list');

			//hiding open term and the dl element

			jQuery('.open_term').each(function(i){
							jQuery(this).addClass('hidden');
							});
			jQuery('#terms').addClass('hidden');

			jQuery('.terms_list a.active').each(function(i){
							jQuery(this).removeClass('active');
							});


			//active states for letter buttons
			jQuery('#dictionary_letters a').each(function(i){
							jQuery(this).removeClass('active');
							});
			jQuery(this).addClass('active');
		});

		jQuery('.terms_list a').click(function(e){
			var term_id = jQuery(e.target).get(0).id;
			//hiding all lists
			jQuery('.open_term').each(function(i){
							jQuery(this).addClass('hidden');
							});
			jQuery('#terms').removeClass('hidden');
			jQuery('#terms .' + term_id).removeClass('hidden');
			jQuery('#terms .' + term_id).addClass('open_term');
			//active states for letter buttons
			jQuery('.terms_list a').each(function(i){
							jQuery(this).removeClass('active');
							});
			jQuery(this).addClass('active');
		});


		/* FAQS (sliding list of terms)  */
		if (jQuery('#def_list')) {
			jQuery('.toggle').toggle(function(e){
				jQuery(e.target).parent().parent().next().slideDown();
				jQuery(e.target).removeClass('btn_arrow_closed');
				jQuery(e.target).addClass('btn_arrow_opened');
				jQuery(e.target).parent().parent().removeClass('title_closed');
				jQuery(e.target).parent().parent().addClass('title_opened');
				jQuery(e.target).parent().siblings('.toggle_title').removeClass('title_closed');
				jQuery(e.target).parent().siblings('.toggle_title').addClass('title_opened');
			}, function(e){
				jQuery(e.target).parent().parent().next().slideUp();
				jQuery(e.target).removeClass('btn_arrow_opened');
				jQuery(e.target).addClass('btn_arrow_closed');
				jQuery(e.target).parent().parent().removeClass('title_opened');
				jQuery(e.target).parent().parent().addClass('title_closed');
				jQuery(e.target).parent().siblings('.toggle_title').removeClass('title_opened');
				jQuery(e.target).parent().siblings('.toggle_title').addClass('title_closed');
			});
		}

		if (jQuery('a.btn_close')) {
			jQuery('a.btn_close').click( function (e) {
					e.preventDefault();
					jQuery(e.target).parent().parent().prev().children('.button').children('a.toggle').trigger('click');

			});
		}

		if (jQuery('.toggle_title a')) {
			jQuery('.toggle_title a').click( function (e) {
					e.preventDefault();
					jQuery(e.target).parent().parent().children('.button').children('a.toggle').trigger('click');

			});
		}

    // Ajax cart timeout hooks
    jQuery('#ajax_cart_container').mouseover(function(){
      ajaxCartClearTimeout();
      jQuery('#ajax_cart_container').bind('mouseleave', function(){ ajaxCartSetTimeout(1000); });
    });
});



function resetField(field){
	if (field.value=="Search..." || field.value=="Search products..." || field.value=="DD" || field.value=="MM" || field.value=="YYYY"){
		field.value="";
		return false;
	}
}

function startValue(field, text){
			if (field.value==""){
			field.value=text;
			return false;
			}
}


/* ====== Ajax cart functions ====== */

function ajaxCartAddProduct () {
  var form = jQuery('#product_addtocart_form');
	var container = jQuery('#ajax_cart_container');
	var loader = jQuery('#ajax_cart_loading');
	var content = jQuery('#ajax_cart_content')
	var inputs = jQuery(':input', form).serialize();

    jQuery('html,body').animate({scrollTop: 0}, 200);

	container.show(1, function () {
		content.hide();
		loader.fadeIn('slow');
	});

	jQuery.post(form.get(0).action+"?isAjax=1", inputs, function (data, textStatus) {
		content.html(data);
		loader.fadeOut('slow', function () {
			content.fadeIn('slow', function() {
				ajaxCartSetTimeout(5000);
			});
		});
	}, "html");

	return false;
}

function ajaxCartRemoveProduct(a, removeUrl) {
  var message = jQuery('.ajax_cart_message');
  var prodName = jQuery(a).parent().siblings('.name').text();

	jQuery(a).parents('.product_row').fadeOut('slow', function () {
    message.removeClass('bad');
    message.text('Removed ' + prodName);
	});
	jQuery.get(removeUrl+'?isAjax=1');
	return false;
}

function ajaxCartSetTimeout(t) {
   window.ajaxCartTimeout=setTimeout("jQuery('#ajax_cart_container').fadeOut('slow');", t);
}

function ajaxCartClearTimeout() {
  if(typeof(window.ajaxCartTimeout)!='undefined'){
    clearTimeout(window.ajaxCartTimeout);
    window.ajaxCartTimeout=null;
  }
}
