
function resetShareSelect() {
	for(var i = 0; i < $('ShoppingListShare').options.length; i++) {
		$('ShoppingListShare').options[i].selected = false;
	}
}

function createPopup(actionToRender, params, e, options) {
	if(options != null && options.width != null) {
		var width = options.width;
	}
	else {
		var width = 200;
	}
	var popup = document.createElement('div');
	popup.id  = 'popup';
	popup.style.width = parseInt(width) + 'px';
	var popupClose = document.createElement('div');
	popupClose.id = 'popupClose';
	popupClose.innerHTML = '<div id="popupSpinner"><img src="' + baseurl + 'img/spinner.gif" alt="Loading..." /></div><a id="popupCloseButton" href="javascript:void(0);">X</a>';
	var popupMsg = document.createElement('div');
	popupMsg.id = 'popupMsg';
	var popupBody = document.createElement('div');
	popupBody.id  = 'popupBody';
	popupBody.style.display = 'none';
	var popupInnerBody = document.createElement('div');
	popupInnerBody.id  = 'popupInnerBody';
	//popupInnerBody.style.opacity = 0;
	popup.appendChild(popupClose);
	popup.appendChild(popupMsg);
	popupBody.appendChild(popupInnerBody);
	popup.appendChild(popupBody);
	$('body').appendChild(popup);
	$('popupCloseButton').onclick = function() { fadePopup(); if(options != null && options.onclose != null) { options.onclose() } };
	movePopupBox($('popup'), e, width);
	$('popup').style.display = 'block';
	new Ajax.Updater('popupInnerBody', 
	                 actionToRender, 
	                 {parameters: params, 
	                 method: 'post',
	                 evalScripts: true,
	                 onLoading:showPopupSpinner, 
		             onComplete:showPopupBody}
	);
}

function fadePopup() {
	new Effect.Fade('popup', {duration: .4});
	setTimeout('destroyPopup()', 400);
}

function destroyPopup() {
	Element.remove('popup');
}

function showPopupSpinner() {
	$('popupSpinner').style.display = 'block';
}

function hidePopupSpinner() {
	new Effect.Fade('popupSpinner', {duration: .2});
}

function showPopupBody() {
	EventSelectors.start(GlobalRules);
	new Effect.SlideDown('popupBody', {duration: .4,scaleX:true, scaleY:true,scaleContent:false});
	setTimeout("new Effect.Appear('popupBody', {duration: .4});hidePopupSpinner();", 400);
}

function insertText(input, text) {
    var myField = $(input);
    var myValue = text;
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    //Mozilla/Firefox/Netscape 7+ support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)+ myValue+ myField.value.substring(endPos, myField.value.length);
    } else {
        myField.value += myValue;
    }
}

var GlobalRules = {/*
   'ul.tieredMenu li:mouseover' : function(element) {
   		element.addClassName('hover');
   },
   'ul.tieredMenu li:mouseout' : function(element, event) {
   		if(element.tagName == 'LI') {
			element.removeClassName('hover');
			Event.stop(event);
		}
   },
   'ul.tieredMenu li a:mouseover' : function(element, event) {
   		Event.stop(event);
   },*/
   'ul.tieredMenu, div.categoryNodes ul' : function(element) {
   		var items = $A(element.getElementsByTagName('li'));
   		items.each(function(item,index) {
   			Event.observe(item, 'mouseover', function() {
   												item.addClassName('hover');
   											});
   			Event.observe(item, 'mouseout', function() {
   												item.removeClassName('hover');
   											});
   		}
   	);
   },
   'input.date': function(element) {
		if(element.id=="") {
			element.id = element.name;
		}
		
		Calendar.setup({
			inputField : element.id, 
			ifFormat : "%m/%d/%y",
			showsTime : true,
			button : element.id,
			step : 1,
			weekNumbers: false,
			showsTime: false
		});   		
   },
   'a.editPermissionsAction:click' : function(element) {
   		var advancedPermissions = $('advancedPermissions');
   		if(advancedPermissions.visible()) {
   			new Effect.Fade('advancedPermissions');
   		} else {
   			new Effect.Appear('advancedPermissions');
   		}
   },
   'div.imageGallery .imageThumbnails img:click': function(element,event) {
   		var thumbnail = element;
   		var link = element.parentNode;
   		$('imageFrame').style.height = $('activeImage').offsetHeight+"px";
   		if($('activeImage').src != link.href) {
	   		var oldheight = $('activeImage').getDimensions().height;
	   		new Effect.Fade('activeImage',{afterFinish:function(){
		   		$('activeImage').onload = function() {
		   			var percent = $('activeImage').getDimensions().height/oldheight*100;
		   			new Effect.Scale('imageFrame', percent, {scaleMode: 'box', scaleContent : false,  scaleX : false, afterFinish:function(){new Effect.Appear('activeImage');}});
		   		}
		   		$('activeImage').src = link.href;
		   		$('activeCaption').innerHTML = thumbnail.alt;   	
	   		}});
   		}
	   	Event.stop(event);
   },
   'div.categoryNodes li:click' : function(element,event) {
   		if(element.tagName=="LI") {
	   		var children = element.getElementsByTagName("ul")[0];
	   		if(children && !element.hasClassName('dragged')) {
				children.toggle();	

	   		}
	   		element.removeClassName('dragged');
	   		Event.stop(event);
   		}
   }
}

function startRules() {
//	var time = new Date();
//	var start = time.getTime();
	EventSelectors.start(GlobalRules);
//	var time = new Date();
//	var end = time.getTime();
//	alert(end-start);
}

Event.observe(window,'load',startRules);