onerror=handleErr;

function handleErr(msg,url,l)
{
//Handle the error here
  alert(msg+"\n"+url+"\n"+l);
return false
}

function respond(XHR){
	if (XHR.readyState == 4) {
	  if (XHR.status == 200) {
		 var rText = new Object;
		 try {
			eval('rText = '+XHR.responseText);
			for (var action in rText){
			
			  if (rText[action].target) var results = document.getElementById(rText[action].target);
			  
			  if (rText[action].type=='alert') {
				 alert(rText[action].text);
				 
			  } else if (rText[action].type=='exec_js'){
				 eval(rText[action].text);
			  
			  } else if (rText[action].type=='replace'){
				 if (results) results.innerHTML = rText[action].text;
			  
			  } else if (rText[action].type=='id'){
				 if (results) results.id = rText[action].text;
			  
			  } else if (rText[action].type=='onclick'){
				 if (results) results.onclick_ = results.onclick;
				 if (results) results.onclick = rText[action].text;
			  
			  } else if (rText[action].type=='value'){
				 if (results) results.value = rText[action].text;
			  
			  } else if (rText[action].type=='focus'){
				 if (results) results.focus();
				 
			  } else if (rText[action].type=='select'){
				 if (results) results.select();
				 
			  } else if (rText[action].type=='class'){
				 if (results) results.className = rText[action].text;
				 
			  } else if (rText[action].type=='style'){
				 if (results) results.style[rText[action].attr] = rText[action].text;
				 
			  }
			}
			rText=null;
		 } catch (err){
			alert('Response Text Format Error.\n\n'+XHR.responseText);
		 }
	  } else {
		 alert("Problem: Status = " + XHR.status);
	  }
	}
 }

function HttpRequest(url,params) {
  var http = null;
  try { http= new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {};
  try { http= new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}; 
  try { http= new XMLHttpRequest();} catch(e) {};
  
  if (http != null){
		http.open("POST", url, true);
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
		http.onreadystatechange =function (){respond(http)};
		http.send(params);
		return http;
	}
}

function ProcessForm(ths,ii) {
  var frm = ths.form;
  var params='';
  for (var $i=0; $i<frm.elements.length;$i++){

    if (   frm.elements[$i].type!='button' 
        && frm.elements[$i].type!='submit' 
        && frm.elements[$i].type!='reset' 
        && frm.elements[$i].type!='select-multiple' 
        && frm.elements[$i].type!='radio' 
        && frm.elements[$i].type!='checkbox') {
      if (params != '') params += '&';
      params += frm.elements[$i].name+"="+encodeURIComponent(frm.elements[$i].value);
      
    } else if (frm.elements[$i].type=='select-multiple'){
      for (var $j=0; $j<frm.elements[$i].options.length;$j++){
        if (frm.elements[$i].options[$j].selected) {
          if (params != '') params += '&';
          params += frm.elements[$i].name+"="+encodeURIComponent(frm.elements[$i].options[$j].value);
        }
      }
      
    } else if (frm.elements[$i].type=='radio' || frm.elements[$i].type=='checkbox'){
      if (frm.elements[$i].checked) {
        if (params != '') params += '&';
        params += frm.elements[$i].name+"="+encodeURIComponent(frm.elements[$i].value);
      }
    }
  }
  if (ths.type=='button' || ths.type=='submit' ){
    if (params != '') params += '&';
    params += ths.name+"="+encodeURIComponent(ths.value);
  }
  HttpRequest(frm.action,params);
  return false;
}

function processInput(ths,ii,extra){
  var params='';
  
  if (!ii) ii='A';
  
  if (ths.type=='select-multiple'){
    for (var $j=0; $j<ths.options.length;$j++){
      if (ths.options[$j].selected) {
        if (params != '') params += '&';
        params += ths.name+"="+encodeURIComponent(ths.options[$j].value);
      }
    }
  } else {
    params = 'value='+encodeURIComponent(ths.value)+'&field='+ths.name;
  }
  
  if (extra) {params = params+'&'+extra;}
  var action = ths.form.action;
  HttpRequest(action,params);
  return false;
}

function processLinkGet(ths,ii) {
  HttpRequest(ths.href,'');
  return false;
}

function processLinkPost(ths,ii) {
  var s = new String (ths.href);
  var a = s.split('\?');
  HttpRequest(a[0],a[1]);
  return false;
}

function processUrl(url,ii) {
  HttpRequest(url,'');
  return false;
}

function clear_div(tg){
  var results = document.getElementById(tg);
  results.innerHTML = ''; 
  }
