function closeLightBox(div_id) {
	if (div_id == '') {
		document.getElementById('lightBoxOpacity').style.display = 'none';
		document.getElementById('lightBox').style.display = 'none';
		document.getElementById('someLightboxes').style.display = 'none';
	} else {
		document.getElementById('lightBoxOpacity').style.display = 'none';
		document.getElementById(div_id).style.display = 'none';
		document.getElementById('someLightboxes').style.display = 'none';
	}
}

function openLightBox(div_id) {
	if (div_id == '') {
		document.getElementById('lightBoxOpacity').style.display = 'block';
		document.getElementById('lightBox').style.display = 'block';
		document.getElementById('someLightboxes').style.display = 'block';
	} else {
		document.getElementById('lightBoxOpacity').style.display = 'block';
		document.getElementById(div_id).style.display = 'block';
		document.getElementById('someLightboxes').style.display = 'block';
	}
}

/*Usage
* var request = getHTTPObject();
* if(request){
* AJAX CODE HERE
* }
* If returns false, the browser isn't Ajax compatible.
*/
function getHTTPObject() {
	var xhr = false;//set to false, so if it fails, do nothing
	if(window.XMLHttpRequest) {//detect to see if browser allows this method
		var xhr = new XMLHttpRequest();//set var the new request
	} else if(window.ActiveXObject) {//detect to see if browser allows this method
		try {
			var xhr = new ActiveXObject("Msxml2.XMLHTTP");//try this method first
		} catch(e) {//if it fails move onto the next
			try {
				var xhr = new ActiveXObject("Microsoft.XMLHTTP");//try this method next
			} catch(e) {//if that also fails return false.
				xhr = false;
			}
		}
	}
	return xhr;
}

function isNumberKey(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57))
      return false;

   return true;
}

/**
 * Allows only numbers and basic keys (like Tab, Enter, F1-12 etc.) on key press
 * and disallows any other symbols.
 * Note: with Ctrl+V you're still able to input anything
 * @param event obj e
 */
function numbersonly(e){
	var unicode = false;
	if(e.charCode && !(e.ctrlKey || e.altKey)) //Chrome and FireFox
		unicode = e.charCode;
	else if(e.keyCode && e.keyCode > 47) // FireFox and IE8, IE7, IE6 (till 47 it's a key like Enter, Bksp etc.)
		unicode = e.keyCode;

	if(!unicode) return true;

	if(unicode<48||unicode>57) //if not a number
		return false; //disable key press
}

/**
 * Clears everything except numbers
 */
function clear_input(elt){
	elt.value = elt.value.replace(/[^\d]+/i, "");
}

/**
 * Extend the JQuery with our safeSubmit function
 */
jQuery.fn.safeSubmit = function()
{
    var me = $(this);
    me.bind('safesubmit safesubmit_reset',function(e) {
        if (e.type=='safesubmit') {
			if($.data(e.target,"beenSubmitted")) return;
            $('<div>',{'text':'Saving...','class':'ss_message'}).insertAfter($(e.target).addClass('ss_trigger').hide());
			$.data(e.target,"beenSubmitted","true");
            
        } else {
			$.removeData(e.target,"beenSubmitted");
            me.find('.ss_message').remove();
            me.find('.ss_trigger').show();
        }
    });
    me.find("input[type=submit]").click(function(e) { $(this).trigger('safesubmit'); });
    return me;
};

/**
 * disableOnSubmit - disable submit button on form submit
 */
jQuery.fn.disableOnSubmit = function() {
    var self = $(this),
        submit_btn = self.find('input[type=submit]');

        submit_btn.removeAttr('disabled');
        self.submit(function() {submit_btn.attr('disabled', 'disabled');});
        return this;
};

/**
 * Page load actions
 */
$(function(){
	$("form.safe_submit").each(function(i){
		$(this).safeSubmit();
	});
});
