/**

 */
var superInit=init;

init = function() {
	
	superInit();
	
	$('#selectColor').click(function(){
		selectTab("color");
	});
	
	$('#selectProduct').click(function(){
		selectTab("product");
	});
}

/**

 */
function initHoverAccordion() {
}

/**

 */
function initColorButtons() {
	$('#ColorSelector').addColorPicker({
		clickCallback: function(c) {
			onColorPicker(c);
		},
		colors: [	
		         '#CCC189', '#CEB487', '#D0B172', '#F2AD00', '#E4A700', '#C79600', 
		         '#D99300', '#E69400', '#AF8552', '#D8BA2E', '#E5DFCC', '#DFCEA1', 
		         '#E6D9BD', '#ECEA41', '#F6B256', '#FDDA38', '#A6937A', '#F2C000', 
		         '#B89650', '#A4861A', '#F7A11F', '#EBA557', '#D97604', '#BB4926', 
		         '#C13524', '#E8540D', '#F46F29', '#DB5316', '#D6654E', '#A02725', 
		         '#870A24', '#6C1B2A', '#581E29', '#402226', '#6D312B', '#791F24', 
		         '#C68872', '#CF7178', '#E3A0AC', '#AB392D', '#CC515E', '#CA3F51', 
		         '#BF111B', '#B01D42', '#A7323E', '#865D86', '#903F51', '#CA5B91', 
		         '#69193B', '#7D63A1', '#912D76', '#48243E', '#853D7C', '#9D8593', 
		         '#2F4A70', '#0E4665', '#162E7A', '#193058', '#1A1D2A', '#38618D',
		         '#2D3944', '#245878', '#00427E', '#1A2740', '#2782BB', '#202E53', 
		         '#657A9A', '#0070B5', '#004C91', '#138992', '#005688', '#00747C', 
		         '#28275A', '#486591', '#6391B0', '#327663', '#266D3B', '#276230', 
		         '#4E553D', '#004547', '#0E4438', '#3B3D33', '#2B3626', '#302F22', 
		         '#213529', '#426E38', '#68835F', '#293A37', '#76785B', '#443F31', 
		         '#383B34', '#00654F', '#4D8542', '#4B9B3E', '#B2D8B4', '#394937', 
		         '#87A180', '#3C372A', '#56713D', '#005C54', '#77BBBD', '#2E554B', 
		         '#00855A', '#3F8885', '#75ADB1', '#798790', '#8D969F', '#837C67', 
		         '#79796C', '#9A9A9F', '#6D7170', '#766A5D', '#756444', '#585E55', 
		         '#565957', '#575E62', '#585346', '#4C5057', '#2E3236', '#464644', 
		         '#7E8379', '#484B52', '#354044', '#919089', '#5B686F', '#7A8476', 
		         '#928E75', '#C4CACA', '#7D8083', '#B0B3AF', '#9AA0A7', '#92989A', 
		         '#505455', '#BAB9B0', '#8B7045', '#9C6935', '#774C3B', '#825333', 
		         '#904E3B', '#6B442A', '#725230', '#5B3927', '#64312A', '#49372A', 
		         '#5A2E2A', '#4F3128', '#45302B', '#3B3332', '#1E1A1A', '#A45C32', 
		         '#7A5741', '#765D4D', '#4F3B2B', '#EEE9DA', '#DADBD5', '#F8F9FB'
		         ]
	});
	
}

/**

 */
function initializeModules() {

	
	initializeGalleryScroller();
}

/**

 */
function getLightboxItems() {
	return removeDuplicateItems(getLightboxItemsByIds());
}

/**

 */
function formatLightboxItem(item) {
	var row='<tr><td>' + item["image"] + '</td>' +
				'<td align="top">' + item["description"] +
				'</td></tr>';
				
	return row;
}

function selectTab(tabName) {

	var tabs={
		"product": ["#ProductSelectionBox"],
		"color": ["#ColorBox"]
	}
	
	if(tabs[tabName]==null) {
		alert("unknown tab '"+tabName+"'");
		return;
	}
	
	for(name in tabs) {
		if(name==tabName) {
			$(tabs[name][0]).show(); // content
		} else {
			$(tabs[name][0]).hide();
		}
	}
}

/**

 */
function isCentered() {
    return false;
}

/**

 */
function shapeSelected(sceneObjectIndex) {
	selectSceneObject(sceneObjectIndex);
}

var zoneEvent;

/**





 */
function patternElementZEvent(oldIndex, newIndex) {
	zoneEvent={zone: "patternElementZ", oldIndex: oldIndex, newIndex: newIndex};
}

/**

 */
function createCarouselScroller(element, fwdElement, bwdElement, options) {
	var scroller=new Scroller(element, options);
	scroller.start();
	
	var needScroller=element[0].scrollHeight>element.height();
	if(needScroller)
	{
		fwdElement.removeClass('fwd_inaktiv');
		bwdElement.removeClass('back_inaktiv');
	
		var fwd=new Scroller(element, options);
		fwd.listener=fwdElement;
		fwd.start();
		
		var bwd=new Scroller(element, options);
		bwd.listener=bwdElement;
		bwd.start();
		

		scroller.super_stop=scroller.stop;
		scroller.stop = function() {
			this.super_stop();
			fwd.stop();
			bwd.stop();
		}
	}
	else {
		fwdElement.addClass('fwd_inaktiv');
		bwdElement.addClass('back_inaktiv');
	}
	
	return scroller;
}

var galleryScroller=null;
function initializeGalleryScroller() {
	if(galleryScroller!=null) galleryScroller.stop();
	
	var carousel=$("#carousel");
	galleryScroller=createCarouselScroller(carousel, $("#scrollGalleryFwd"), $("#scrollGalleryBack"), {
		area: 50,
		velocity: 0.2,
		attachEvent: "mouseenter",
		detachEvent: "mouseleave"
	});
	
	Scroller.setListSize(carousel);
	listPositionFeedback(carousel, showPositionInGallery);
	listHoverFadein(carousel);
}

function listPositionFeedback(element, callback) {
	var list=$('ul:last', element);
	var li=list.children('li');

	var self = this;
	if (li.size() > 0) {
		var i=0;
		var size=li.size();
		li.each(function() {
			i++;
			this.listPosition=i+"/"+size;
			$(this).mouseenter(callback);
		});

		callback.call(li.get(0));
	}
}

function showPositionInGallery() {
	$('.showPositionGallery').text(this.listPosition);
}

function listHoverFadein(element, callback) {
	var span=$('li>a>span', element);

	span.hover(
		function() {
			$(this).stop(true).fadeTo('fast', 1);
		},
		function(){
			$(this).fadeTo('fast', 0.8);
		}
	);
}

