var menu_height = function() {
	if(document.id('nav')) {
		var height = {};
		height.nav = document.id('nav').getHeight();
		height.header = document.id('headWrapper').getHeight();
		height.win = document.getHeight();
		height.max = (height.win - (height.nav + height.header));
		if(height.max > 0) {
			document.id('nav').setStyle('position', 'fixed');
		//	document.id('footer').setStyle('margin-top', (height.max + 50));
		}
	}
}

window.addEvent('domready', function() {
	
	if(document.id('notification')) {
		(function() {
			document.id('notification').fade(0);
		}).delay(5000);
	}
	
	menu_height();
	
	var initMultiBox = new multiBox({
		mbClass: '.mb',
		container: $(document.body),
		descClassName: 'multiBoxDesc',
		path: '/assets/flash/',
		useOverlay: true,
		maxSize: {w:800, h:800},
		addDownload: false,
		addRollover: false,
		addOverlayIcon: false,
		addChain: false,
		recalcTop: true,
		addTips: false
	});
	
	
	/* generic hide/show */
	
	if(($$('.hide_show').length > 0) && ($$('.display_new').length > 0)) {
		$$('.hide_show').each(function(hide, i) {
			
			var display_new  = new Fx.Slide(document.id(hide.get('id').replace('hide', 'slide')));
			var display_text = hide.get('html');
			
			if($$('.form_error').length > 0) {
				hide.set('html', hide.get('rel'));
			} else {
				display_new.hide();
			}
			hide.addEvent('click', function(clk) {
				new Event(clk).stop();
				display_new.toggle();				
				
				hide.set('html', (hide.get('html').match(display_text) ? hide.get('rel') : display_text));
			});
		});
	}
	
	
	if(document.id('iphone4cases')) {

		$$('div.iphonecase').each(function(element, index) {
			element.store('tip:title', element.getChildren('img')[0].get('alt'));
			element.store('tip:text', '<embed height="453" width="287" type="application/x-shockwave-flash" wmode="transparent" src="/assets/flash/iPhoneCase.swf?images=' + element.get('rel') + '&duration='+ element.getChildren('img')[0].get('rel') +'"></embed>');
		});
		
		//create the tooltips
		var tipz = new Tips('div.iphonecase',{
			className: 'tipiphone',
			fixed: false,
			hideDelay: 50,
			showDelay: 50,
			offset: { x: 16, y: -200 },
			windowPadding: { x: 0, y: -140 }
		});
	}
	
	
	if(document.id('bookmarks')) {

		$$('div.bookmarkHorizontal, div.bookmarkVertical').each(function(element, index) {
			element.store('tip:title', element.getChildren('img')[0].get('alt'));
			if(element.hasClass('bookmarkVertical')) {
				element.store('tip:text', '<embed height="628" width="407" type="application/x-shockwave-flash" wmode="transparent" src="/assets/flash/BookmarkVertical.swf?images=' + element.get('rel') + '&duration='+ element.getChildren('img')[0].get('rel') +'"></embed></div>');
				
			} else {
				element.store('tip:text', '<embed height="407" width="628" type="application/x-shockwave-flash" wmode="transparent" src="/assets/flash/BookmarkHorizontal.swf?images=' + element.get('rel') + '&duration='+ element.getChildren('img')[0].get('rel') +'"></embed></div>');
			}
		});
		
		//create the tooltips
		var tipz = new Tips('div.bookmarkVertical',{
			className: 'tipz',
			fixed: false,
			hideDelay: 50,
			showDelay: 50,
			offset: { x: 16, y: -280 },
			windowPadding: { x: 0, y: -140 }
		});
		var tiph = new Tips('div.bookmarkHorizontal',{
			className: 'tiph',
			fixed: false,
			hideDelay: 50,
			showDelay: 50,
			offset: { x: -280, y: 16 },
			windowPadding: { x: -140, y: 0 }
		});
	}
	
	

	$$('div.product-wrap').each(function(wrap) {
		if(wrap.get('rel')) {
			var images = wrap.get('rel').split('|');
			if(images.length > 1) {
				var i = 0;
				// preload images
				var imgCache = [];
				for (i = 0; i < images.length; i++) {
					imgCache[i] = new Image();
					imgCache[i].src = images[i].replace("_156", "_80");
				}
				var image = wrap.getChildren('img')[0];
				var img_width = image.getWidth();
				var duration = image.get('rel');
				var i = 0;
				(function() {
					i = (i < (images.length-1)) ? (i+1) : 0; 
					image.set('src', imgCache[i].src);
				}).periodical(duration);
			}
		}
	});
	
	if(document.id('shipping_address')) {
		var inpts = $$('input[type=radio]');
		document.id('shipping_address').addEvent('click', function(clk) {
			inpts.each(function(i) {
				i.set('checked', false);
			});
		});
	}
	
	
	if(document.id('keyrings')) {
		
		$$('div.keyringshort, div.keyringtall').each(function(element, index) {
			element.store('tip:title', element.getChildren('img')[0].get('alt'));
			if(element.hasClass('keyringshort')) {
				element.store('tip:text', '<embed height="512" width="253" type="application/x-shockwave-flash" wmode="transparent" src="/assets/flash/KeyringShort.swf?images=' + element.get('rel') + '&duration='+ element.getChildren('img')[0].get('rel') +'"></embed></div>');
				
			} else {
				element.store('tip:text', '<embed height="570" width="236" type="application/x-shockwave-flash" wmode="transparent" src="/assets/flash/KeyringTall.swf?images=' + element.get('rel') + '&duration='+ element.getChildren('img')[0].get('rel') +'"></embed></div>');
			}
		});
		
		//create the tooltips
		var tipz = new Tips('div.keyringshort',{
			className: 'tipks',
			fixed: false,
			hideDelay: 50,
			showDelay: 50,
			offset: { x: 16, y: -280 },
			windowPadding: { x: 0, y: -140 }
		});
		var tiph = new Tips('div.keyringtall',{
			className: 'tipkt',
			fixed: false,
			hideDelay: 50,
			showDelay: 50,
			offset: { x: 16, y: -290 },
			windowPadding: { x: 0, y: -145 }
		});
		
		
	}
	
	if(document.id('order-form')) {
		$$('.category').each(function(ele) {
			var products = ele.getChildren('.product');
			ele.getElement('.toggle').addEvent('click', function(ev) {
				new Event(ev).stop();
				var open = ele.retrieve('category:open', true);
				products.each(function(product, i) {
					var input = product.getElement('.quantity');
					if (open) {
						if (input.get('value').toInt() == 0 || input.get('disabled')) {
							product.hide();
						}
					} else {
						product.show();
					}
				});
				var cat_title = ele.getElement('.toggle').get('rel');
				var title_segments = cat_title.split("::");
				
				if (open) {
					
					ele.getElement('.toggle').set('html', title_segments[0]+'<small> '+title_segments[1]+'</small><span>expand +</span> ');
				} else {
					ele.getElement('.toggle').set('html', title_segments[0]+'<small> '+title_segments[1]+'</small><span>collapse -</span>');
				}
				ele.store('category:open', !open);
			});
		});
		
		$$('div.name').each(function(element, index) {
			
			if(element.hasClass('s')) {	
				element.store('tip:text', '<img src="' + element.get('rel') + '" style="" width="80"/>');
			} else if(element.hasClass('h')) {
					
				element.store('tip:text', '<img src="' + element.get('rel') + '" style=""/>');
			} else if(element.hasClass('t')) {
					
				element.store('tip:text', '<img src="' + element.get('rel') + '" style="" width="80"/>');
			} else if(element.hasClass('v')) {
					
				element.store('tip:text', '<img src="' + element.get('rel') + '" style="" width="80"/>');
			}
		});
		
		//create the tooltips
		var tipz = new Tips('div.name',{
			className: 'tipks',
			fixed: false,
			hideDelay: 50,
			showDelay: 50
		});
		
		$$('.back').each(function(back) {
			back.addEvent('click', function(clk) {
				new Event(clk).stop();
				window.history.go(-1);
			});
		});
	}
	
	
	if(document.id('shipping-clone')) {
		
		var clone = document.id('shipping-clone').clone();
		
		document.id('clone-shipping').addEvent('click', function(clk) {
			
			clone.inject('clone-shipping', 'before');
			
		});
		
		
	}
	
	
	
});

window.addEvent('resize', menu_height.bind());
