jQuery.noConflict();
var imagesExpandStatus = 0;
var marginLeftNum = 0;


jQuery(document).ready(function(){
	
	// Nav and IE fix
	jQuery('#navigation > ul > li > ul').each(function() {
		var pheight = jQuery(this).parents('li:fist').position();

		jQuery(this).css('left', pheight.left + 'px');
		
		if(jQuery.browser.msie)
		{
			//jQuery(this).css('marginTop', '32px');
		}
	});
	
	// Init image scroller
	initImageScroll();
	
	// Accordion
	jQuery('#accordian > div').hide();
	jQuery('#accordian > div:first').show();
	jQuery('#accordian > h1').addClass('bar-full-closed').click(function() {
		jQuery('#accordian > div:visible').hide();
		jQuery('.cabinets-gallery').addClass('cabinets-gallery-off').css('marginTop', '-280px');
			
		if(jQuery(this).hasClass('bar-full-closed'))
		{
			jQuery('#accordian > h1').removeClass('bar-full-open').addClass('bar-full-closed');
			jQuery(this).next('div').show();
			jQuery(this).removeClass('bar-full-closed').addClass('bar-full-open');
		}
		else
		{
			jQuery(this).next('div').hide();
			jQuery(this).removeClass('bar-full-open').addClass('bar-full-closed');
		}
	});
	jQuery('#accordian > h1:first').removeClass('bar-full-closed').addClass('bar-full-open');
	
	// Init lightbox
	//jQuery('#gallery a').lightBox();
	jQuery('#gallery a').colorbox({current: ''});
	jQuery('a.lightbox').colorbox({current: ''});
});

function image_upload(elem)
{
	var parent = jQuery(elem).parents('.form_field:first');
	
	jQuery(parent).find('img').hide();
	jQuery(parent).find('a').hide();
	jQuery(parent).find('input[type="file"]').show();
	jQuery(parent).find('input[type="hidden"]').val(1);
}

function gallery_edit_submit()
{
	if(jQuery('input[name="garage_name"]').val() == '')
	{
		alert('Garage name is a required field.');
		return false;
	}
	else
	{
		return true;
	}
}

function photoslidedown(elem, item)
{	
	var parent = jQuery(elem).parents('.accord-content:first');
	jQuery(parent).find('.cabinets-gallery').css('marginTop', '-280px').removeClass('cabinets-gallery-off').show();
	
	jQuery.post('index.php?option=com_products&view=gallery&task=single&id=' + item, '', function(data){
		jQuery(parent).find('.cabinets-gallery').html(data);
		jQuery(parent).find('.cabinets-gallery').stop().animate({
			marginTop: '-30px'
		}, 500);
		jQuery('#gallery a').colorbox();
	});
}

function photoslideup(elem)
{
	var parent = jQuery(elem).parents('.singleprod:first');
	jQuery(parent).find('.cabinets-gallery').addClass('cabinets-gallery-off');
	jQuery(parent).find('.cabinets-gallery').stop().animate({
		marginTop: '-280px'
	}, 500)
}

/* Scroller Functions */

var imageScrollState = new Array();
var originalState    = new Array();
var imageScrollNames = new Array();
var moving			 = false;

function initImageScroll()
{
	jQuery('.addImages').find('a:first').show();
	
	jQuery('.addImages').each(function() {
		var index  = jQuery('.addImages').index(this);
		var name   = jQuery(this).find('.title').html();

		imageScrollState[index] = 1;
		imageScrollNames[index] = name;
	});
	
	jQuery('.imageScrollCon').each(function(i) {
		if(jQuery(this).hasClass('singleScroll'))
		{
			checkScrollStateSingle(this);
		}
		else
		{
			checkScrollState(this);
		}
		
		var numImage = Math.ceil(jQuery(this).find('.frontpage-cabinets').length);
		var width    = jQuery(this).find('.frontpage-cabinets:first').outerWidth(true);
		jQuery(this).css('width', (numImage * width) + 'px');
	});
}

function imageScrollRight(elem)
{
	if(!moving)
	{
		moving = true;
	
		var parent     = jQuery(elem).parents('.addImages:first');
		var index      = jQuery('.addImages').index(parent);
		var width      = parseFloat(jQuery(parent).find('.imageScroll').width()) + 20;
		var numImage   = Math.ceil(jQuery(parent).find('.frontpage-cabinets').length / 5);
		var marginLeft = jQuery(parent).find('.imageScrollCon').css('marginLeft');
		marginLeft     = parseFloat(marginLeft.replace('px', ''));
	
		if(isNaN(marginLeft))
		{
			marginLeft = 0;
		}

		if(imageScrollState[index] < numImage)
		{
			jQuery(parent).find('.imageScrollCon').stop().animate({
				marginLeft: (marginLeft - width) + 'px'
			}, 700, function() { moving = false; });
		
			imageScrollState[index]++;
		}
		else
		{
			moving = false;
		}
	
		checkScrollState(elem);
	}
}

function imageScrollRightSingle(elem)
{
	if(!moving)
	{
		moving = true;
		var parent     = jQuery(elem).parents('.addImages:first');
		var index      = jQuery('.addImages').index(parent);
		var width      = parseFloat(jQuery(parent).find('.imageScroll').width()) + 2;
		var numImage   = Math.ceil(jQuery(parent).find('.frontpage-cabinets').length);
		var marginLeft = jQuery(parent).find('.imageScrollCon').css('marginLeft');
		marginLeft     = parseFloat(marginLeft.replace('px', ''));
	
		if(isNaN(marginLeft))
		{
			marginLeft = 0;
		}

		if(imageScrollState[index] < numImage)
		{
			jQuery(parent).find('.imageScrollCon').stop().animate({
				marginLeft: (marginLeft - width) + 'px'
			}, 400, function() { moving = false; });
		
			imageScrollState[index]++;
		}
		else
		{
			moving = false;
		}
	
		checkScrollStateSingle(elem);
	}
}

function imageScrollLeft(elem)
{
	if(!moving)
	{
		moving = true;
		var parent     = jQuery(elem).parents('.addImages:first');
		var index      = jQuery('.addImages').index(parent);
		var width      = jQuery(parent).find('.imageScroll').width() + 20;
		var numImage   = Math.ceil(jQuery(parent).find('.addImages').find('.frontpage-cabinets').length / 5);
		var marginLeft = jQuery(parent).find('.imageScrollCon').css('marginLeft');
		marginLeft     = parseFloat(marginLeft.replace('px', ''));
	
		if(imageScrollState[index] != 1)
		{
			jQuery(parent).find('.imageScrollCon').stop().animate({
				marginLeft: (marginLeft + width) + 'px'
			}, 700, function() { moving = false; });
		
			imageScrollState[index]--;
		}
		else
		{
			moving = false;
		}
	
		checkScrollState(elem);
	}
}

function imageScrollLeftSingle(elem)
{
	if(!moving)
	{
		moving = true;
		var parent     = jQuery(elem).parents('.addImages:first');
		var index      = jQuery('.addImages').index(parent);
		var width      = jQuery(parent).find('.imageScroll').width() + 2;
		var numImage   = Math.ceil(jQuery(parent).find('.addImages').find('.frontpage-cabinets').length);
		var marginLeft = jQuery(parent).find('.imageScrollCon').css('marginLeft');
		marginLeft     = parseFloat(marginLeft.replace('px', ''));
	
		if(imageScrollState[index] != 1)
		{
			jQuery(parent).find('.imageScrollCon').stop().animate({
				marginLeft: (marginLeft + width) + 'px'
			}, 400, function() { moving = false; });
		
			imageScrollState[index]--;
		}
		else
		{
			moving = false;
		}
	
		checkScrollStateSingle(elem);
	}
}

function checkScrollState(elem)
{
	var parent = jQuery(elem).parents('.addImages:first');
	var index  = jQuery('.addImages').index(parent);
	
	var numImage = Math.ceil(jQuery(parent).find('.frontpage-cabinets').length / 5);
	jQuery(parent).find('.scrollLeft').removeClass('scrollLeft-off');
	jQuery(parent).find('.scrollRight').removeClass('scrollRight-off');
	
	if(numImage == 1)
	{
		jQuery(parent).find('.scrollLeft').addClass('scrollLeft-off');
		jQuery(parent).find('.scrollRight').addClass('scrollRight-off');
	}
	else if(imageScrollState[index] == numImage)
	{
		jQuery(parent).find('.scrollRight').addClass('scrollRight-off');
	}
	
	else if(imageScrollState[index] == 1)
	{
		jQuery(parent).find('.scrollLeft').addClass('scrollLeft-off');
	}
}

function checkScrollStateSingle(elem)
{
	var parent = jQuery(elem).parents('.addImages:first');
	var index  = jQuery('.addImages').index(parent);
	
	var numImage = Math.ceil(jQuery(parent).find('.frontpage-cabinets').length);
	jQuery(parent).find('.scrollLeft').removeClass('scrollLeft-off');
	jQuery(parent).find('.scrollRight').removeClass('scrollRight-off');
	
	if(numImage == 1)
	{
		jQuery(parent).find('.scrollLeft').addClass('scrollLeft-off');
		jQuery(parent).find('.scrollRight').addClass('scrollRight-off');
	}
	else if(imageScrollState[index] == numImage)
	{
		jQuery(parent).find('.scrollRight').addClass('scrollRight-off');
	}
	
	else if(imageScrollState[index] == 1)
	{
		jQuery(parent).find('.scrollLeft').addClass('scrollLeft-off');
	}
}

function filterGallery(elem)
{
	var parent  = jQuery(elem).parents('#filter');
	var color   = jQuery(parent).find('select[name="color"]').val();
	//var product = jQuery(parent).find('select[name="product"]').val();
	var product = '';
	
	window.location = 'index.php?option=com_products&view=gallery&Itemid=4&color=' + color + '&product=' + product;
}