document.observe("dom:loaded", function() {
	
	recordListMaster();
	HoverForResultlist();
	errorHandler();
	panelLinks();
	addOpenClick();
	poolsearch();
	stopButtons();
	
});

stopButtons = function() {
	$$('button.mdmOperation').each(function(element) {
		element.observe('click', function(event) {event.stop();}, false);	
	});
}

errorHandler = function() {
	if ($('errorDiv')) {
		new Draggable('errorDiv', {
			handle: 'errorHandle'
		});
	}
}


recordListMaster = function() {
	$$('.selectedRecordsMaster').each(function (element) {
		element.observe('change', function(event) {
			var master = event.element();
			var clsName = "selectedRecords";
			if (master.hasAttribute('rel')) {
				clsName = master.getAttribute('rel'); 
			}
			var checkTo = master.checked;

			$$('input.'+clsName).each(function(element) {
				element.checked = checkTo;
			});
		}, false);
	});
}

HoverForResultlist = function() {
	$$('tr.tablerowodd, tr.tableroweven').each(function(element) {
		element.observe('mouseover', HoverOn, false);
		element.observe('mouseout', HoverOff, false);
	});	
}

HoverOn = function(event) {
	element = event.findElement('tr');
	element.backgroundColorCache = element.style.backgroundColor;
	element.style.backgroundColor = FOCUSCOLOR;
	
}

HoverOff = function(event) {
	element = event.findElement('tr');
	if (element.backgroundColorCache) {
		 element.style.backgroundColor = element.backgroundColorCache;
	} else {
		element.style.backgroundColor = "";
	}
	element.backgroundColorCache = false;
}  

addOpenClick = function() {
	$$('td.dipslayRecord').each(function(element) {
		element.observe('click', function(event) {
			window.location.href=event.element().down('a').href;
		}, false);
	});
	
} 


changeSidePanel = function(type) {
	$$('div.sidePanel').invoke('hide');
	switch (type) {
		case 'extended':
			$('extendedSidePanel').show();
			break;
		case 'advanced':
			$('advancedSidePanel').show();
			break;
		case 'simple':
		default:
			$('simpleSidePanel').show();
			break;	
	}
}

panelLinks = function() {
	$$('a.switchSidePanelExtended').each(function(element) {
		element.observe('click', function(event){
			event.stop();
			changeSidePanel('extended');
		}, false);
	});
	$$('a.switchSidePanelSimple').each(function(element) {
		element.observe('click', function(event){
			event.stop();
			changeSidePanel('simple');
		}, false);
	});
	$$('a.switchSidePanelAdvanced').each(function(element) {
		element.observe('click', function(event){
			event.stop();
			changeSidePanel('advanced');
		}, false);
	});
}

var MDM_TRANS_ARE_YOU_SURE = "Are you sure?";
document.observe('dom:loaded', function() {
	$$('a.logoutLink').each(function(element) {
		element.observe('click', function(e) {
			if (!confirm(MDM_TRANS_ARE_YOU_SURE)) {
				e.stop();
			}
		}, false);
	});
}, false);
	

poolsearch = function() {
	$$('#mdmsearchresulttop a.PoolSearchLink').each(function(element) {
		element.observe('click', function(event){
			event.stop();
			var idx = event.element().up('a.PoolSearchLink').getAttribute('ref');
			changeSidePanel('extended');
			$A($('sidepanel_first_field').options).each(function(opt){
				if (opt.value == idx) {
					opt.selected = true;
					$break;
				}
			});
			$('sidepanel_extended_form').submit();
		}, false);
	});
}

addCommandFunction = function(fname, keycode) {
	document.observe('keypress', function(event) {
	    var key = event.which || event.keyCode;
	    if ((event.ctrlKey || event.commandKey) && key == keycode) {
	    	event.stop();
	    	if (event.element().blur) {
	    		event.element().blur();
	    	}
	        fname();
	        if (event.element().focus) {
	        	event.element().focus();
	        }
	    }
	}, false);
}

document.observe('dom:loaded', function() {
	$$('img[src="'+MDM_JS_TEMPLATE_ROOT+'/images/icons/save.png"]').each(function(element) {
		var evalTxt = element.up('a').href.replace(/javascript:/, 'test = function() {').replace(/%20/g, ' ') + "}";
		eval(evalTxt);
		addCommandFunction(test, 115);
	});
	
	$$('img[src="'+MDM_JS_TEMPLATE_ROOT+'/images/icons/new.png"]').each(function(element) {
		var evalTxt = element.up('a').href.replace(/javascript:/, 'test = function() {').replace(/%20/g, ' ') + "}";
		eval(evalTxt);
		addCommandFunction(test, 110);
	});
	
	$$('img[src="'+MDM_JS_TEMPLATE_ROOT+'/images/icons/delete.png"]').each(function(element) {
		var evalTxt = element.up('a').href.replace(/javascript:/, 'test = function() {').replace(/%20/g, ' ') + "}";
		eval(evalTxt);
		addCommandFunction(test, 120);
	});
});

