$(function(){
	
	$('#navMain li:first-child, #navTop li:first-child, #footerNav li:first-child').addClass('first-child');
	$('#navMain li').hover(function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
	
	$('#columnSub a.caption').imagePopupCaptions();
	
	$('label').autoWidth({limitWidth: 325});
	
	$('.product img').productThumbnails();
		
	$("#columnSub li.scrollable").scrollable({ 
	    size: 10,
		items: 'ul',
		nextPage: '.next'
	});
	
	$('.product').bigClick();
	
	$('#navMain li.main').each(function(){
		var pos = $(this).position();		
		$(this).find('div').css('width', 870 - pos.left);
	});
	
});

jQuery.fn.productThumbnails = function()
{
	this.each(function(){
		var thumbnail = $(this).attr('src');		

		if(!thumbnail)
			return;

		$(this)
			.after('<div class="productThumb" style="background: url('+ thumbnail +') 50% 50% no-repeat;"><img src="assets/images/design/product_thumb_box.png" /></div>')
			.remove();
	});
}

jQuery.fn.imagePopupCaptions = function(options)
{
	this.each(function(){
		var large = $(this).attr('href');
		var captionText = $(this).children('img').attr('alt');
		// var top = $(this).children('img').height() - 28;
		// var left = $(this).children('img').width() + 15;
		var top = 160;
		var left = 190;
		var id = generateId();

   		if(!large)
   			return;
		
		large = '<img src="'+ large +'" />';
   			
   		$(this).prepend('<span></span>').after('<div id="caption_'+ id +'" class="imageCaption" style="z-index: 9999; top: '+ top +'px; left: '+ left +'px;"><div class="captionText"><p>'+ captionText +'</p></div><div class="image">'+ large +'</div></div>');
		
		$(this).css({cursor: 'default'}).click(function(){ return false; });
		$(this).hover(function(){
			$('#caption_'+ id).fadeIn();
		}, function(){
			$('#caption_'+ id).fadeOut();
		});
	});
}

function generateId()
{
	var result, i, j;
	result = '';
	for(j=0; j<32; j++)
	{
		if( j == 8 || j == 12|| j == 16|| j == 20)
			result = result + '-';
		i = Math.floor(Math.random()*16).toString(16).toUpperCase();
		result = result + i;
	}
	return result;
}

jQuery.fn.autoWidth = function(options) 
{
    var settings = {
    	minWidth   : false,
        limitWidth  : false,
        ignore	: ''
    }
	
    if(options) {
        jQuery.extend(settings, options);
    };
    
    var maxWidth = 0;
    
	this.not(settings.ignore).each(function(){
        if ($(this).width() > maxWidth){
        	if(settings.limitWidth && maxWidth >= settings.limitWidth) {
        		maxWidth = settings.limitWidth;
        	} 
        	else if(settings.minWidth && maxWidth <= settings.limitWidth)
        	{
        		maxWidth = settings.minWidth;
        	} 
        	else 
        	{
        		maxWidth = $(this).width();
        	}
        }
	});	 
	
	this.not(settings.ignore).width(maxWidth);
}

jQuery.fn.bigClick = function(options)
{
	var settings = {
		cssClass : 'clickable'
    }
	
	if(options) {
        jQuery.extend(settings, options);
    };
	
	this.each(function(){
		var anchor = $(this).find('a')[0];
		
		if(!anchor)
			return;			
		
		var href = $(anchor).attr('href');
		var title = $(anchor).attr('title');
		
		$(this).attr('title', title);
		
		$(this).mouseover(function(){
			$(this).css('cursor', 'pointer');
		});
		
		$(this).addClass(settings.cssClass).click(function(){
			window.location = href;
		});
	});
}



