function Security (id, form) {
  if (!id) return;
  this._id = id;
  this._form = form;
  this.init();
  return true;
}

Security.prototype = {
  _request : false,
  _requestTimeout : false,
  init : function () {
    eval('addEvent(window, \'load\', function(){window.Security_' + this._id + '.request();});');
  },
  request : function() {
    this._requestTimeout = window.setTimeout("window.Security_" + this._id + ".abort();", 15000)
    this._request = new callAjax("get", "gd.php", "new." + this._id + "." + this._form, "", "xml", null, this);
  
    $('security_image_container_' + this._id).className = 'isloading';
    $('security_image_' + this._id).src = '';
    $('security_id_' + this._id).value = '';
    $('security_code_' + this._id).value = '';
    $('security_code_' + this._id).disabled = true;
    if (this._form) disableSubmits(this._form);
    //alert("request: {id: '"+this._id+"', form: "+(this._form?"'"+this._form+"'":'false')+'}')
  }, 
  process : function(xmldoc) {
    /*alert(xmldoc)
    alert(this)*/
    var xmldoc = xmldoc.documentElement;
    var codeID = xmldoc.getElementsByTagName('codeID');
    var id = xmldoc.getElementsByTagName('id');
    id = id[0].childNodes[0].nodeValue;
    var form = xmldoc.getElementsByTagName('form');
    form = form[0].childNodes[0].nodeValue;
    clearTimeout(this._requestTimeout);
  
    if (form == '0') form = false;
  
    if ((this._id !== id) && (this._form !== form)) {
      if (isFunction(this.abordNew)) this.abordNew();
	  return;
    }

    if (isDefined(codeID)) codeID = codeID[0].childNodes[0].nodeValue;
    else {
      this.abort();
      return;
    }

    $('security_image_' + this._id).src = 'gd.php?' + codeID + '.' + this._id + '.' + (this._form?this._form:'0');
    $('security_image_container_' + this._id).className = 'hasimage';
    $('security_id_' + this._id).value = codeID;
    $('security_code_' + this._id).value = '';
    $('security_code_' + this._id).focus;
    $('security_code_' + this._id).disabled = false;
    if (this._form) enableSubmits(this._form);
  },
  abort : function() {
    $('security_image_' + this._id).src = 'images/spacer.gif';
    $('security_image_container_' + this._id).className = 'aborded';
    $('security_id_' + this._id).value = '';
    $('security_code_' + this._id).value = '';
    $('security_code_' + this._id).disabled = true;
    if (this._form) disableSubmits(this._form);
    Modalbox.show("Security Error", "secnonew.html", {width: 600});
    //alert("aborded: {id: '"+this._id+"', form: "+(this._form?"'"+this._form+"'":'false')+'}')
  }
}

addEvent(window, 'load', function(){
  preloadImage('../images/aborded.gif');
});
