﻿


//----------------------------------------------------------------------------

function disable_links() {
  for (var i = 0; i < document.getElementsByTagName("a").length; i++) {
    var item = document.getElementsByTagName("a").item(i);
    var arr = new String(item.className).split(" ");
    ArrayExtend(arr);
    if (arr.Contains("disableable")) {
      arr.push("disabled");
      item.className = arr.join(" ");
      item.onclick = function() {
        return false;
      }
    }
  }

}

//----------------------------------------------------------------------------

function disable_buttons() {
  for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
    var item = document.getElementsByTagName("input").item(i);
    if (item.type == "submit") {
      var arr = new String(item.className).split(" ");
      ArrayExtend(arr);
      if (arr.Contains("disableable")) {
        arr.push("disabled");
        item.className = arr.join(" ");
        item.onclick = function() {
          return false;
        }
      }
    }
  }
}



//----------------------------------------------------------------------------

function enable_buttons() {
  //var e = document.getElementById("ctl00_ctl00_BodyHolder_ContentPlaceHolder1_AddEditButtons_SaveButton");
  for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
    var item = document.getElementsByTagName("input").item(i);
    if (item.type == "submit") {
      var arr = new String(item.className).split(" ");
      ArrayExtend(arr);
      if (arr.Contains("disableable")) {
        arr.Remove("disabled");
        item.className = arr.join(" ");
        item.onclick = function() {
          return true;
        }
      }
    }
  }
}

var PageStatus;
var IsPostBack = false;

//----------------------------------------------------------------------------

var PageChanged = false;
function input_onkeypress(sender) {
  if (PageChanged == false) {
    //alert("page changed...");
    disable_links();
    enable_buttons();

    var arr = new String(PageStatus.value).split(";");
    arr = ArrayExtend(arr);
    if (!arr.Contains("PageChanged")) arr.push("PageChanged");
    PageStatus.value = arr.join(";");
    
    
    PageChanged = true;
  }
}

//----------------------------------------------------------------------------

function foreach_elements_onload() {
  for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
    var item = document.getElementsByTagName("input").item(i);
    if (item.type == "text" || item.type == "password") {
      item.onkeypress = function(sender) { return input_onkeypress(sender); }

      if (item.onchange != undefined) item.onchange0 = item.onchange;
      item.onchange = function(sender) {
        input_onkeypress(sender);
        if (this.onchange0 != undefined) {
          this.onchange0();
        }
      };
    }
  }
  for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
    var item = document.getElementsByTagName("input").item(i);
    if (item.type == "file") {
      item.onkeypress = function(sender) { return input_onkeypress(sender); }
      item.onclick = function(sender) { return input_onkeypress(sender); }

      if (item.onchange != undefined) item.onchange0 = item.onchange;
      item.onchange = function(sender) {
        input_onkeypress(sender);
        if (this.onchange0 != undefined) {
          this.onchange0();
        }
      };

    }

  }

  for (var i = 0; i < document.getElementsByTagName("textarea").length; i++) {
    var item = document.getElementsByTagName("textarea").item(i);
    item.onkeypress = function(sender) { return input_onkeypress(sender); };
    if (item.onchange != undefined) item.onchange0 = item.onchange;
    item.onchange = function(sender) {
      input_onkeypress(sender);
      if (this.onchange0 != undefined) {
        this.onchange0();
      }
    };

  }

  for (var i = 0; i < document.getElementsByTagName("select").length; i++) {
    var item = document.getElementsByTagName("select").item(i);
    var arr = new String(item.className).split(" ");
    ArrayExtend(arr);
    if (!arr.Contains("disableonchange")) {
      if (item.onchange != undefined) item.onchange0 = item.onchange;
      item.onchange = function(sender) {
        input_onkeypress(sender);
        if (this.onchange0 != undefined) {
          this.onchange0();
        }
      };
    }
  }
}


var window_onloads = new Object();
window_onloads["refreshStatus"] = function() {
  var ret = window.setInterval(refreshStatus, 1000 * 5 * 60)
}
window_onloads["elements_onload"] = function() {
  foreach_elements_onload();
  disable_buttons();
}
window_onloads["pageChaged_PostBack"] = function() {
  var arr = new String(PageStatus.value).split(";");
  arr = ArrayExtend(arr);
  if (arr.Contains("PageChanged")) 
  {
   disable_links();
  }
}


function window_onload(sender) {
  for (var i in window_onloads) {
    window_onloads[i]();
  }
}

function refreshStatus() {
  var element = document.getElementById('RefreshFrame');
  element.contentWindow.location = element.contentWindow.location;
}
window.onload = window_onload;

//----------------------------------------------------------------------------





