$(document).ready(function(){
    	
	equalHeights('.description', '.items')
	
	// tabed product content
	$('.tabbed-content ul li').click(function() {
		
		var index = $(this).index();
		var parent = $(this).parents('.tabbed-content')
		
		parent.find('ul li').removeClass('active');
        $(this).addClass('active');

		parent.find('article').hide();
		parent.find('article').eq(index).show();
		
		return false;
	})
	
	// card feature header
	
	$('#feature-header .selector a').click(function() {

        if ($(this).hasClass('active'))
            return false;
		
		var index = $(this).index();

        var segments = $(this).attr('href').split(';');

        // Remove all colour classes from the feature header
        $('#feature-header').removeClass('pink')
                            .removeClass('blue')
                            .removeClass('green')
                            .removeClass('mauve')
                            .removeClass('orange')
                            .removeClass('cyan')
                            .removeClass('cerise')
                            .removeClass('purple');

        $('#feature-header').addClass(segments[0]);

        // Set the new background image
        $('#product-bkg').hide().attr('src',segments[1]).fadeIn();

        // Set the new price
        $('#feature-header div#price div').html(segments[2]);
		
		$('#feature-header .details').hide().eq(index).show()
		$('#feature-header .selector a').removeClass('active').eq(index).addClass('active');

        clearTimeout(timeout);
		
		return false;
	});

	// product detail gallery
	
	$('.products-details .thumbs a').click(function() {
		
		var image = $(this).attr('data-image');
		
		$('.products-details .image img').attr('src', image);
		
		return false;
	})
	
	// modal
	
	var image_width = 525;
	var default_margin = 120;
	var current_image = $('#modal .step-2 .image-items .item.active').index();
	var image_items = $('.image-items .item').length;
	var half_way = Math.floor(image_items/2);
	
	$('#modal .step-2 .image-items').css('left', (default_margin) - (image_width * current_image))
		
	//$('.image-items').css({left:'-=' + (image_width * half_way)});
	
	$('#modal .step-2 .arrow').click(function() {
		
		var direction = ($(this).hasClass('next')) ? 'next' : 'prev';
		
		if (direction == 'prev' && current_image == 0) return false;
		if (direction == 'next' && current_image > (image_items-2)) return false;
		
		$('.image-items .item').removeClass('active');
		
		if (direction == 'next') {
			current_image ++;
			$('.image-items').animate({left:'-='+image_width}, function() {
				$('.image-items .item').eq(current_image).addClass('active')
			});
		} else {
			current_image --;
			$('.image-items').animate({left:'+='+image_width}, function() {
				$('.image-items .item').eq(current_image).addClass('active')
			});
		}
		
		$('#card-number').val($('.image-items .item').eq(current_image).attr('data-id'));
		
		return false;
	})
	
	
	// card preview Raphael shizzle
				
	if ($('#card-preview').length) {
	
		var margin;
		var text_attr = {'fill':'#000000', 'font-size':10, 'stroke-width':0,'text-anchor':'middle' };
		var title_attr = {'fill':'#8b0049', 'font-size':23, 'stroke-width':0,'text-anchor':'middle' };
		var sender_attr = {'fill':'#8b0049', 'font-size':9, 'stroke-width':0,'text-anchor':'middle' };
		var gift_attr = {'fill':'#ffffff', 'font-size':18, 'stroke-width':2,'text-anchor':'middle' };
	
		// clear existing objects
	
		$('#card-preview').empty();	
	
		// create Raphael object
		var paper = Raphael("card-preview", 447, 323);

		//var c = paper.rect(0, 0, 180, 240);
		var i;
		var to;
		var from;
		var message;
		var sender;
		var gift;
		var max_width;
		var gift_image = $('#gift-image').val();
		var gift_text = $('#gift-text').val();

		margin = 330;

		paper = Raphael("card-preview", 447, 323);

		//var c = paper.rect(0, 0, 180, 240);
		i = paper.image("assets/content/card-preview.jpg", 0, 0, 447, 323);
		to = paper.text(margin,65,'To...',60).attr(title_attr);
		from = paper.text(margin,245,'From...',60).attr(title_attr);
		message = paper.text(margin, 150, 'Your message goes here...').attr(text_attr);
		sender = paper.text(118,43,'',60).attr(sender_attr);
		gift = paper.text(115,240,gift_text,60).attr(gift_attr);
	
		image = paper.image(gift_image, 40, 55, 158, 221);
	
		max_width = 145;

		var temp_text = "";	

		var message_field = document.getElementById("txtMessageLine1");
		//var message_field_2 = document.getElementById("txtMessageLine2");
	
		var message_field_initalval = message_field.value;
	
		// message field handlers
		message_field.onkeyup = function (e) {
			//updateMessage()
			return false;
		};

		/*message_field_2.onkeyup = function (e) {
			updateMessage()
			return false;
		}; */

		$('#txtMessageLine1').focus(function(){
			if (!$(this).hasClass('changed'))
			{
				$(this) .val('')
					.addClass('changed');
			}
		});

		$('#txtMessageLine1').blur(function(){
			if ($(this).val().length == 0)
			{
				$(this).val($(this).attr('tip')).removeClass('changed');
			}
		});

		var to_field = document.getElementById("txtMessageTo");

		to_field.onkeyup = function (e) {
			to.attr("text", this.value);
			return false;
		};

		var from_field = document.getElementById("txtMessageFrom");

		from_field.onkeyup = function (e) {
			from.attr("text", this.value);
			sender.attr("text", this.value);
			return false;
		};
	
		// word wrapping for Raphael

		function updateMessage() {
			temp_text = "";
			var key1 = document.getElementById("txtMessageLine1").value;
			var key = "";

			if (key1 != message_field_initalval) key += key1;
		
			var words = key.split(" ");
			for (var i=0; i<words.length; i++) {
				message.attr("text", temp_text + " " + words[i]);
					if (message.getBBox().width > max_width) {
						temp_text += "\n" + words[i];
				} else {
					temp_text += " " + words[i];
				}
			}
			message.attr("text", temp_text.substring(1));

		}

	};
	
	// carousel
	$('#carousel-items .scrollable').scrollable({
		keyboard: false,//disable keyboard
		onBeforeSeek: function(event, i){
			var scrollnum = this.getSize(); //get number of panes
			var size = 4; //number of panes in view
			if (i == (scrollnum - size)){
				$("#carousel-items .next").removeClass("browse");
			} else {
				$("#carousel-items .next").addClass("browse");	
			}
		}
	});
	
});

// function equalHeights

function equalHeights(element, context) {
	
	var tallest = 0;
	var height;
	
	var property = (jQuery.browser.msie && jQuery.browser.version.substr(0,3)<"7.0") ? 'height' : 'min-height';
	var context = (!context) ? 'body' : context;

	$(context).each(function() {
		
		$(element, this).each(function() {
			
			height = jQuery(this).height();
			if(height > tallest) tallest = height;
		});
		
		$(element, this).css(property, tallest);	
		
		tallest = 0;
		height = 0;
		
	});


}
