﻿/* functions for better client interaction */

var CurrentSubmission = '';
var Submitting = 0;
var SubmitButtons = new Array();

function DisableSubmitButtons(){
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    var isPartial = prm._postBackSettings.async;
//    window.alert(isPartial);

    // don't need to cast global restriction if is partial submit
    if (isPartial) return true;

    var b = CurrentSubmission;
    if (CurrentSubmission=='') return true;
	if (Submitting != 0) {
	    // when submitting, disable the button
		var c = document.getElementById(b);
        if (c != null) c.disabled = true;
	    return false;
	}
	
	// not submitting, set global flag
	Submitting = 1;
	for (var i = 0; i < SubmitButtons.length; i++){
	    if (SubmitButtons[i] != b){
		    var c = document.getElementById(SubmitButtons[i]);
		    if (c != null && !c.disabled) c.disabled = true;
		}
	}	
	return true;	
}

function AddSubmitButton(button){
	SubmitButtons[SubmitButtons.length] = [button];
	return;
}

function SetCurrentSubmission(b){
    CurrentSubmission = b;
}

function CheckAll(panelObject, prefix){
    var items = panelObject.children;
    var theBox = (panelObject.type == "checkbox") ? panelObject: panelObject.children.item[0];
    var state = theBox.checked;
    var formElements = theBox.form.elements;
    for (i = 0; i < formElements.length; i++){
        if (formElements[i].type == "checkbox" && formElements[i].id != theBox.id && formElements[i].id.indexOf(prefix) != -1){
            if (formElements[i].checked != state) formElements[i].click();
        }
    }
}

