// JavaScript Document

function setSortable(ulID, sortScript){
	
	var sb = new Sortables(ulID, {
		/* set options */
		clone:true,
		revert: true,
		/* initialization stuff here */
		initialize: function() { 
			
		},
		/* once an item is selected */
		onStart: function(el) { 
			el.setStyle('background','#add8e6');
		},
		/* when a drag is complete */
		onComplete: function(el) {
			el.setStyle('background','#ddd');
			//build a string of the order
			var sort_order = '';
			$$('#sortable-list li').each(function(li) { sort_order = sort_order +  li.get('alt')  + '|'; });
			$('sort_order').value = sort_order;
			
			
			var req = new Request({
				url: sortScript,
				method:'post',
				autoCancel:true,
				data:'sort_order=' + sort_order + '&go=sort',
				onRequest: function() {
					document.id('message-box').set('text','Updating the sort order in the database.');
				},
				onSuccess: function() {
					document.id('message-box').set('text','Database has been updated.');
				}
			}).send();

		}
	});	
	
}

function setSortables(ulID, sortScript, key){
	
	var sort_orderID = 'sort_order' + key;
	var sortable_listID = 'sortable_list' + key;
	
	var sb = new Sortables(ulID, {
		/* set options */
		clone:true,
		revert: true,
		/* initialization stuff here */
		initialize: function() { 
			
		},
		/* once an item is selected */
		onStart: function(el) { 
			el.setStyle('background','#add8e6');
		},
		/* when a drag is complete */
		onComplete: function(el) {
			el.setStyle('background','#ddd');
			//build a string of the order
			var sort_order = '';
			$$('#' + ulID + ' li').each(function(li) { sort_order = sort_order +  li.get('alt')  + '|'; });
			$(sort_orderID).value = sort_order;
			
			var req = new Request({
				url: sortScript,
				method:'post',
				autoCancel:true,
				data:'sort_order=' + sort_order + '&go=sort',
				onRequest: function() {
					document.id('message-box').set('text','Updating the sort order in the database.');
				},
				onSuccess: function() {
					document.id('message-box').set('text','Database has been updated.');
				}
			}).send();

		}
	});	
	
}

function refreshMenuCart(){

	var req = new Request.HTML({     
		method: 'get',     
		url: '/inc/ajax-cart-menu.php',
		update: document.id('headerMenu')
	}).send(); 
	
	if(document.id('sideCart')){
	
		var req = new Request.HTML({     
			method: 'get',     
			url: '/inc/ajax-cart-side.php',
			update: document.id('sideCart')
		}).send(); 
		
	}
	
}

window.addEvent('domready', function(){
									 
	$(document.body).getElements('div.messageStyle').each(function(e){
																   
		var dissappear = new Fx.Slide(e);
		
		( function() { dissappear.slideOut() } ).delay(5000);	
	});
	
	$$('a.delete-confirm').addEvent('click', function(e){
	
		if(!confirm('Are you sure?')){

			e.stop();
		
		}
													  
	});
	
	// Shopping Cart
	
	$$('input.qty-tb').addEvent('focus', function(e){
	
		this.blur();
	
	});
	
	$$('a.qty-up').addEvent('click', function(e){

		e.stop();

		var tb = "qty" + this.get('rel');
		var qtyForm = "qtyForm" + this.get('rel');
		var current = document.id(tb).get('value');
		
		switch(current){
			
			case "":
			case "0":
				document.id(tb).set('value', '1');
				break;
			default:
			
				newValue = document.id(tb).get('value').toInt();
				
				if(newValue == "NaN"){
					
					newValue = 1;
				}else{
					
					newValue = newValue + 1;	
				}
				document.id(tb).set('value', newValue);
				break;
			
		}
		
		document.id(qtyForm).send();
		
		refreshMenuCart();
		
	});
	
	$$('a.qty-down').addEvent('click', function(e){

		e.stop();

		var tb = "qty" + this.get('rel');
		var qtyForm = "qtyForm" + this.get('rel');
		var current = document.id(tb).get('value');
		
		switch(current){
			
			case "":
			case "0":
				document.id(tb).set('value', '0');
				break;
			default:
			
				newValue = document.id(tb).get('value').toInt();
				
				if(newValue == "NaN"){
					
					newValue = 1;
				}else{
					
					newValue = newValue - 1;	
				}
				
				if(newValue < 0) newValue = 0;
				
				document.id(tb).set('value', newValue);
				break;
			
		}
		
		document.id(qtyForm).send(); 
		
		refreshMenuCart();
		
	});
	
	var colHeight = 0;
	
	['mainTwoCol', 'leftTwoCol'].each(function(item, index){
									
		if(document.id(item)){
									
			var size = document.id(item).getSize();
		
			if(colHeight < size.y){
				
				colHeight = size.y;
				
			}
			
			
		}
	
	});
	
	if(document.id('leftSidebar')){
		
		var size = document.id('leftSidebar').getSize();
	
		document.id('leftSidebar').setStyle('height', colHeight);
	}
	
	$$('input.print-button').addEvent('click', function(){
												  
		print();											  
	});	
	
	$$('input.close-button').addEvent('click', function(){
														
		window.parent.Shadowbox.close();													
	});

})
