// JavaScript Document
jQuery(document).ready(function(){
	
/* jQUERY goes here  */
		
	// rollovers on listing page
	jQuery('div.product_wrapper').mouseover(function ()
	  {
		jQuery(this).children('.product_info').removeClass('hidden');
		jQuery(this).children('.btn_view').removeClass('hidden');
	  });

	jQuery('div.product_wrapper').mouseout(function ()
	  {
		jQuery(this).children('.product_info').addClass('hidden');
		jQuery(this).children('.btn_view').addClass('hidden');
	  });
	
	//product detail page
	jQuery('#btn_buy_customize').click(function(e){
		e.preventDefault();	
		jQuery('.messages').hide();
		jQuery('.open_panel').addClass('hidden');
		jQuery('#side_tabs a').parent().removeClass('active');
		jQuery('#product_details_step2 select').removeClass('hidden');
		jQuery('#product_details').animate({ 
				left: "-201"
				}, 600 );
		jQuery('#btn_steps_wrapper').animate({ 
				left: "-201"
				}, 600 );
		});
	
	jQuery('#btn_product_details').click(function(e){
		e.preventDefault();	
		jQuery('.messages').hide();
		jQuery('.open_panel').addClass('hidden');
		jQuery('#side_tabs a').parent().removeClass('active');
		jQuery('#product_details_step2 select').removeClass('hidden');
		jQuery('#product_details').animate({ 
				left: "0"
				}, 600 );
		jQuery('#btn_steps_wrapper').animate({ 
				left: "0"
				}, 600 );
		});
	
	
	jQuery('#side_tabs a').click(function(e){
		e.preventDefault();
		jQuery('#side_tabs a').parent().removeClass('active');
		jQuery(this).parent().addClass('active');
		jQuery('.open_panel').addClass('hidden');
		jQuery('#product_details_step2 select').addClass('hidden');
		var link_id = jQuery(this).get(0).id;
		jQuery('#' +link_id+'_panel').removeClass('hidden');
		jQuery('#' +link_id+'_panel').addClass('open_panel');
		jQuery('.messages').hide();
		//console.log('' +link_id+'_panel');
	});
	
	jQuery('.btn_close_panel').click(function(e){
		e.preventDefault();
		jQuery('.open_panel').addClass('hidden');
		jQuery('#side_tabs a').parent().removeClass('active');
		jQuery('#product_details_step2 select').removeClass('hidden');
		});
	
	
	jQuery('.product-image-zoom #image.minimised').mouseover(function(){
		jQuery('#tooltip_maximise').removeClass('hidden');									  
		});
	
	
	jQuery('.product-image-zoom #image.minimised').mouseout(function(){
		jQuery('#tooltip_maximise').addClass('hidden');									  
		});
	
	jQuery('#tooltip_maximise').mouseout(function(e){
		jQuery(this).removeClass('hidden');									  
		});
	
	
	//gallery case studies
	jQuery('#btn_close_gallery').click(function(e){
		e.preventDefault();
		jQuery('#gallery_overlay').fadeOut(400);
		var white_image=jQuery(this).attr("rel");
		jQuery('#large_image').attr('src',white_image);
		jQuery('.active_thumb').css('cursor','pointer');
		jQuery('.active_thumb').removeClass('active_thumb');
		jQuery('.thumb').animate({ opacity:'0.5'}, 150);
		});
		
	
	jQuery('.thumb').mouseover(function(){
		jQuery(this).css('opacity','1');									
	});
	
	jQuery('.thumb').mouseout(function(){
		if(jQuery(this).hasClass('active_thumb')){
		}else{
		jQuery(this).css('opacity','0.5');	
		}
	});
	
		
	jQuery(function() {
		 jQuery('.gallery_case_study .thumb').click(function(e){
			e.preventDefault();							 
			jQuery(this).css('cursor','wait');
			jQuery('.active_thumb').css('cursor','pointer');
			jQuery('.active_thumb').removeClass('active_thumb');
			jQuery(this).addClass('active_thumb');
			jQuery('.thumb').not('.active_thumb').animate({ opacity:'0.5'}, 150);
			jQuery('#gallery_overlay').fadeIn(400);
			var img_css=jQuery(this);
			var old_img_src=jQuery('#large_image').attr("src");
			var current_src=jQuery(this).attr("rel");
			jQuery(".thumb[src='"+jQuery('#large_image').attr("src")+"']").animate({ opacity:'0.5'}, 150);
				jQuery('#large_image').fadeOut(300, function(){
					jQuery(this).attr('src',current_src).fadeIn(600, function(){
						jQuery('.thumb').css('opacity','0.5');
						img_css.animate({ opacity:'1'}, 150);
						img_css.css('cursor','default');
						jQuery(".thumb[src='"+old_img_src+"']").css('cursor','pointer');
					});
				}); 
		     });
		});
	
	
		//gallery scroll
		if (jQuery('.gallery_scroll')){
		jQuery('.gallery_scroll').jcarousel({
			vertical: true,
			scroll: 1
		});
		}
		
		
		jQuery(function() {
		 jQuery('.gallery_scroll .thumb').click(function(e){
			e.preventDefault();							 
			jQuery(this).css('cursor','wait');
			jQuery('.active_thumb').css('cursor','pointer');
			jQuery('.active_thumb').removeClass('active_thumb');
			jQuery(this).addClass('active_thumb');
			jQuery('.thumb').not('.active_thumb').animate({ opacity:'0.5'}, 150);
			jQuery('#gallery_overlay').fadeIn(400);
			var img_css=jQuery(this);
			var old_img_src=jQuery('#large_image').attr("src");
			var current_src=jQuery(this).attr("rel");
			var new_image_title = jQuery(this).attr("title");
			jQuery(".thumb[src='"+jQuery('#large_image').attr("src")+"']").animate({ opacity:'0.5'}, 150);
				jQuery('#large_image').fadeOut(300, function(){
					jQuery(this).attr('src',current_src).fadeIn(600, function(){
						jQuery('.thumb').css('opacity','0.5');
						img_css.animate({ opacity:'1'}, 150);
						img_css.css('cursor','default');
						jQuery(".thumb[src='"+old_img_src+"']").css('cursor','pointer');
						jQuery('#picture_desc').text(new_image_title);
					});
				}); 
		     });
		});
		
		function updateImage(dir){	
			var img_css=jQuery('.active_thumb');
			var old_img_src=jQuery('#large_image').attr("src");
			var total_thumbs = jQuery('.gallery_scroll li').children().size();
			var active_thumb = jQuery('.active_thumb').get(0).id;
			if (dir =='prev'){
				if (active_thumb > 1){
				var new_thumb_id = parseInt(active_thumb) - 1;
				}else{
				var new_thumb_id = 0;	
				}
			}
			if (dir =='next'){
				if (active_thumb < total_thumbs){
				var new_thumb_id = parseInt(active_thumb) + 1;
				}else{
				var new_thumb_id = 0;	
				}
			}
			var new_image_path = jQuery('#' +new_thumb_id).attr("rel");
			var new_image_title = jQuery('#' +new_thumb_id).attr("title");
			if (new_thumb_id != 0){
				jQuery(".thumb[src='"+jQuery('#large_image').attr("src")+"']").animate({ opacity:'0.5'}, 150);
						jQuery('#large_image').fadeOut(300, function(){
							jQuery(this).attr('src',new_image_path).fadeIn(600, function(){
								jQuery('.thumb').css('opacity','0.5');
								img_css.animate({ opacity:'1'}, 150);
								img_css.css('cursor','default');
								jQuery(".thumb[rel='"+old_img_src+"']").css('cursor','pointer');
								jQuery('#' +active_thumb).animate({ opacity:'0.5'}, 150);
								jQuery('#' +active_thumb).removeClass('active_thumb');
								jQuery('#' +new_thumb_id).animate({ opacity:'1'}, 150);
								jQuery('#' +new_thumb_id).addClass('active_thumb');
								jQuery('#picture_desc').text(new_image_title);
							});
					 });
			}
		}
		
		jQuery('#btn_prev').click(function(e){
		e.preventDefault();		
		updateImage('prev');
		});
		
		jQuery('#btn_next').click(function(e){
		e.preventDefault();		
		updateImage('next');
		});
		
		
		//centering main heading
		if (jQuery('#main_heading h1')) {
			 jQuery('#main_heading h1').each(function (i){
			 var element_height = jQuery(this).height();
			 var parent_height = jQuery(this).parent().height();
			 //console.log(parent_height);
			 //console.log(element_height);
			 var top_margin = (parent_height - element_height)/2 - 10;
			 jQuery(this).css("margin-top", + top_margin);
			});
	 	}
		
		//centering catalogue titles
		if (jQuery('.title_wrapper .title')) {
			 jQuery('.title_wrapper .title').each(function (i){
			 var element_height = jQuery(this).height();
			 var parent_height = jQuery(this).parent().height();
			 //console.log(parent_height);
			 //console.log(element_height);
			 var top_margin = (parent_height - element_height)/2 + 5;
			 jQuery(this).css("margin-top", + top_margin);
			});
	 	}
		
		jQuery('.doc_link').hover(function(){
			jQuery(this).parent().addClass('rollover');							   
		   }, function(){
		   	jQuery(this).parent().removeClass('rollover');
		   });
		
		
		/* HELP (sliding list of terms)  */
		if (jQuery('.help_list')) {
			jQuery('.help_list span.title a').toggle(function(e){
				jQuery(e.target).parent().parent().next().slideDown();
				jQuery(e.target).parent().parent().next().children('a.btn_close_answer').fadeIn('fast');
				jQuery(e.target).parent().siblings('a.btn_arrow').addClass('down');
			}, function(e){
				jQuery(e.target).parent().parent().next().slideUp();
				jQuery(e.target).parent().parent().next().children('a.btn_close_answer').fadeOut('fast');
				jQuery(e.target).parent().siblings('a.btn_arrow').removeClass('down');
			});
		}
		
		if (jQuery('a.btn_close_answer')) {
			jQuery('a.btn_close_answer').click( function (e) {
					e.preventDefault();						  
					jQuery(e.target).parent().prev().children('span.title a').trigger('click');
										   
			});
		}
		
		if (jQuery('a.btn_arrow')) {
			jQuery('a.btn_arrow').click( function (e) {
					e.preventDefault();						  
					jQuery(e.target).siblings('span.title').children('a').trigger('click');
										   
			});
		}
		
		// contact form validation
		if(jQuery("#contact_form").lentgh>0){
		jQuery("#contact_form").validate();
		}
		
		
		// home page image rotation
		
		/*
		if (jQuery('#home_rotator').length > 0) {
		jQuery('#home_rotator').innerfade({ animationtype: 'fade', speed: 4000, timeout: 8000, type: 'sequence', containerheight: 'auto' });
	}*/
	
	if (jQuery('#home_rotator').length > 0) {
	jQuery('#home_rotator').cycle({ 
		    fx: 'fade', 
		    timeout: 8000,
			speed: 3000
		});
	}
	
	
	jQuery("#toggle_intro").toggle(function(e){
		e.preventDefault();
		jQuery("#intro #long").show();
		jQuery(this).text('show less').removeClass('toggle_down').addClass('toggle_up');
	}, function(e){
		jQuery("#intro #long").hide();
		jQuery(this).text('read more').removeClass('toggle_up').addClass('toggle_down');
	});
	
	
});


// input field text reset functions
function resetField(field, value){
	if (field.value==value){
		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;
  }
}
