
var curOS ;
if (navigator.appVersion.indexOf("Win")!=-1) curOS="Windows";
else if (navigator.appVersion.indexOf("Mac")!=-1) curOS="MacOS";
else if (navigator.appVersion.indexOf("X11")!=-1) curOS="UNIX";
else if (navigator.appVersion.indexOf("Linux")!=-1) curOS="Linux";
else curOS="unknown";

if (window.ActiveXObject) window.ie = window[window.XMLHttpRequest ? 'ie7' : 'ie6'] = true ;
else if (document.childNodes && !document.all && !navigator.taintEnabled) window.khtml = true ;
else if (document.getBoxObjectFor != null) window.gecko = true ;
if (window.ie6) try {document.execCommand("BackgroundImageCache", false, true);} catch (e){} ;

// Disable a form's submit/cancel button and submit the form. Before submitting, 
// we'll execute a callback function, if applicable...
var disableAndSubmit = function(submitIds, formId, callback, options){
	// Setup default options
	if (typeof(options) !== 'object') {
		options = {} ;
	}
	options['return'] = options['return'] !== undefined ? options['return'] : true ;
	var oldSubmitIds = _disableFormButtons(submitIds, formId) ;
	var callback_retval = true ;
	if (typeof(callback) == 'function') {
		callback_retval = callback(formId) ;
	}
	_enableFormButtons(submitIds, oldSubmitIds, formId) ;
	if (options['return']) {
		if (callback_retval == true) {
			return true ; 
		} else {
			return false ;
		}
	}
} ;

var _disableFormButtons = function(submitIds, formId){
	var oldSubmitIds = {} ;
	$A(submitIds).each(function(arg, ind){
		var argElem = document.id(arg) ;
		if (argElem) {
			if (argElem.get('tag') == 'input') {
				argElem.setProperty('disabled', true) ;
			} else if (argElem.get('tag') == 'a') {
				oldSubmitIds[arg] = argElem.getProperty('href') ;
				argElem.setProperty('href','javascript:void(0)') ;
			} else if (argElem.get('tag') == 'img' || argElem.get('tag') == 'div') {
				oldSubmitIds[arg] = argElem.getProperty('onClick') ;
				argElem.setProperty('onClick','void(0)') ;
			} 
			argElem.setStyles({ opacity: 0.5, filter: 'alpha(opacity = 50)' }) ;
		}
	}) ;
	return oldSubmitIds ;
} ;

var _enableFormButtons = function(submitIds, oldSubmitIds, formId){
	$A(submitIds).each(function(arg, ind){
		if ($chk($(arg))) {
			if ($(arg).get('tag') == 'input') {
				$(arg).setProperty('disabled', false) ;
			} else if ($(arg).get('tag') == 'a') {
				$(arg).setProperty('href', oldSubmitIds[arg]) ;
			} else if ($(arg).get('tag') == 'img' || $(arg).get('tag') == 'div') {
				$(arg).setProperty('onClick', oldSubmitIds[arg]) ;
			} 
			$(arg).setStyles({ opacity: 1, filter: 'alpha(opacity = 100)' }) ;
		}
	}) ;
} ;

var confirmAction = function(el_name, el_action, el_url) {
	var do_it = confirm("Do you really want to " + el_action + " " + el_name + "?") ;
	
	if (do_it) {
		// Test for $#%!ing IE, manually set the 
		// referer and simulate a click.
		// Damn, does IE suck nuts or what!!!
		if (Browser.Engine.trident) {
			var referLink = new Element('a').inject(document.body, 'top').setProperty('href', el_url).click() ;
		} else {
			location.href = el_url ;
		}
	}
} ;


