/*
 * JSObject 0.0.2
 */
 

function $(p){
	if(typeof(p) == "string" || !p)	return new OJ(document.getElementById(p));
	if(typeof(p) == "object") return new OJ(p);
}

function OJ(o){this.o = o;}
OJ.prototype = 
{
  Parent:function(){return new OJ(this.o.parentNode);},
  ajahj:function(u,a,_f1_,_f2_,_f3_,_f4_,m,c)
  {
    var r = new Subsys_JsHttpRequest_Js();
    var e = this.o;
    r.onreadystatechange = function()
    {
      switch(r.readyState)
      {
        case 1:(_f1_)?eval(_f1_):null;break;
        case 2:(_f2_)?eval(_f2_):null;break;
        case 3:(_f3_)?eval(_f3_):null;break;
        case 4:
          (e)?e.innerHTML=r.responseText:null;
          (r.responseJS.script)?$().script(r.responseJS.script):null;
          (_f4_)?eval(_f4_):null;
          (r.responseJS.AjaxLinksID && r.responseText != "")?$(r.responseJS.AjaxLinksID).ajaxBlock():null;
        break;
      }
    }
    r.open(m,u,c);
    r.send(a);
  },
  script:function(s)
  {
  	var MyEval = function(js)
  	{
      if(js != '')
      {
        if(window.execScript) window.execScript(js);
          else window.setTimeout(js, 0);
      }
    }
  	for(var i=0;i<s.length;i++)	MyEval(s[i])
  }
  ,
  load:function(u,a,f){this.ajahj(u,a,null,null,null,f,'',true)},
  post:function(u,a,f){this.ajahj(u,a,null,null,null,f,'post',true)},
  get:function(u,a,f){this.ajahj(u,a,null,null,null,f,'get',true)},
  formArray:function()
  {
    var fm = this.o.elements;
    if(!fm) return null;
    var rA = new Array();
    for(var i = 0; i < fm.length; i++)
  	  switch(fm[i].type.toLowerCase())
  	  {
  	    case"text": case"hidden": case"button": case"submit": case"password": case"select-one": case"textarea":rA[fm[i].name] = fm[i].value;break;
  	    case"radio": case"checkbox":if(fm[i].checked) rA[fm[i].name] = fm[i].value;break;
  	    default:break;
  	  }
  return rA;
  },
  formSubmit:function(fr, _f_)
  {
  	if(typeof(fr) == "string") fr = document.getElementById(fr);
	  if(typeof(fr) == "object") fr = fr;
  	if(!fr.elements) return null;
    if(fr.getAttribute("method").toLowerCase() == "post")	$(this.o).post(fr.action, $(fr).formArray(), _f_);
      else $(this.o).get(fr.action, $(fr).formArray(), _f_);
  }
}




