// JavaScript Document

function createExternalLinks(){
	var links = $$('a');
	links.each(function(el){
		if (el.rel == "external"){
			el.target = '_blank';
		}
	});
}

function sortColumns(){
	var column = $$('.column');
	if (column){
		column.each (function(el){
			var li = $ES('li a', el);
			var columns = el.getProperty('rel');
			if (columns > 1){
				var lis = '';
				var per_col = Math.ceil(li.length/ columns);
				var div = new Element ('div');
				div.className = 'footer_container';
				var li_inside = '';
				for (col = 0; col < columns; col++){
					var ulObject = new Element('ul');
					ulObject.className = 'column';
					li_inside = '';
					for(a=0; a<per_col; a++){
						var current = (col * per_col) + a;
						if (li[current]){
							li_inside += '<li><a href="' + li[current].href + '">' + li[current].innerHTML + '</a></li>';
						}
					}
					ulObject.setHTML (li_inside);
					ulObject.injectInside(div);
				}
				el.replaceWith(div);
			}
		});
	}
}

function replaceIEObjects(){
	
	if (navigator.appName == "Microsoft Internet Explorer") {

		//Array of elements to be replaced
		var arrElements = new Array(3);
		arrElements[0] = "object";
		arrElements[1] = "embed";
		arrElements[2] = "applet";
	
		//Loop over element types
		
		for (n = 0; n < arrElements.length; n++) {
		
			//set object for brevity
			replaceObj = document.getElementsByTagName(arrElements[n]);
			
			//loop over element objects returned
			for (i = 0; i < replaceObj.length; i++ ) {
			
				//set parent object for brevity
				parentObj = replaceObj[i].parentNode;
				
				//grab the html inside of the element before removing it from the DOM
				newHTML = parentObj.innerHTML;
				
				//remove element from the DOM
				parentObj.removeChild(replaceObj[i]);
				
				//stick the element right back in, but as a new object
				parentObj.innerHTML = newHTML;
			
			}
		}
	}
	
}

function show_notice(){
	var cartNotice = $$('#cart_notice');
	if (cartNotice.length > 0){
		var myFx = new Fx.Style('cart_notice', 'top', {'duration': 1500});
		myFx.start(-150,0).chain(function(){
			var myFx = new Fx.Style('cart_notice', 'opacity', {'duration': 3000});
			myFx.start(1,0);
		});
	}
}

function getmap(){
	var map_exists = $$('#reserve_map');
	if (map_exists.length > 0){
		window.addEvent('load', load);	
		window.addEvent('unload', GUnload);
	}
}

function reservesMap(){
	var mapExists = $('reserves_map');
	if (mapExists){
		window.addEvent('load', load);
		window.addEvent('unload', GUnload);
	}
}

function createMapMarker(){
	
}
function createColumns(){
	var columns = $$('.columns');
	if (columns.length > 0){
		columns.each (function(el){
			var display = '';
			var qty = el.getProperty('rel');
			var listItems = $$('#' + el.id + ' li');
			var numItems = listItems.length;
			var itemsPerCol = Math.ceil(numItems/ qty);
			for (a=0; a<qty; a++){
				display += '<ul class="column_' + qty + '">';
				for (b=0; b<itemsPerCol; b++){
					var currItem = (a * itemsPerCol) + b;
					display += '<li>' + listItems[currItem].innerHTML + '</li>';
				}
				display += '</ul>';
			}
			var div = new Element('div');
			div.setHTML (display);
			el.replaceWith(div);
		});
	}
}

function showLoading(){
	
}

window.addEvent ('domready', function(){
	createExternalLinks();
	replaceIEObjects();
	sortColumns();
	reservesMap();
	getmap();
});

window.addEvent ('unload', function(){
	showLoading();
});