/***********************************************
* Dynamic Ajax Content- ?Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var loadedobjects="";
var rootdomain="http://"+window.location.hostname;
var http_request = false;

function loadpage(page_request, containerid){
  if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
	  document.getElementById(containerid).innerHTML=page_request.responseText
  }
}


function ajaxpage(url, containerid){
  var page_request = false
  if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
  else if (window.ActiveXObject){ // if IE
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch (e){
      try{
        page_request = new ActiveXObject("Microsoft.XMLHTTP")
      }
      catch (e){ alert ("GET FAIL");}
    }
  }
  else
    return false

    page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
    }
  url=addrandom(url);

  page_request.open('GET', url, true)
  page_request.send(containerid)
}

function addrandom(url){

  var ran_number=Math.floor(Math.random()*5000); 
 var newUrl;
  qp=url.indexOf("?");
 if ( qp == -1  ){
    newUrl=url+"?"+ran_number;
 }else{
    newUrl=url+"&"+ran_number;
 }
 return newUrl;
}

function makeRequest(url, parameters,area) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      // set type accordingly to anticipated content type
      //http_request.overrideMimeType('text/xml');
      http_request.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }
//  http_request.onreadystatechange = alertContents;
  http_request.onreadystatechange = function(){
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
// 	alert(http_request.responseText);
        result = http_request.responseText;
	if(result.indexOf("error :") ==-1){
        	document.getElementById(area).innerHTML = result;
		selfOK(area);
	}else{
	  selfError(result);
	}
      } else {
        alert('There was a problem with the request.');
      }
    }
  };
 // http_request.open('GET', url + parameters, true);
 // http_request.send(null);
}

function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
      output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}



function makeURL(url,obj) {
//alert(encodeURIComponent("³¯¤ô«ó","utf-8"));
  var getstr = "";
  for (i=0; i<obj.childNodes.length; i++) {
    if (obj.childNodes[i].tagName == "INPUT") {

      if (obj.childNodes[i].type == "text") {
        getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        //getstr += obj.childNodes[i].name + "=" + encodeURIComponent(obj.childNodes[i].value,"big5") + "&";
        //getstr += obj.childNodes[i].name + "=" + encodeURI(obj.childNodes[i].value,"big5") + "&";
       // getstr += obj.childNodes[i].name + "=" + URLEncode(obj.childNodes[i].value) + "&";
      }
      if (obj.childNodes[i].type == "hidden") {
        getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
      }
      if (obj.childNodes[i].type == "checkbox") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        } else {
          getstr += obj.childNodes[i].name + "=&";
        }
      }
      if (obj.childNodes[i].type == "radio") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        }
      }
    }
    if (obj.childNodes[i].tagName == "SELECT") {
      var sel = obj.childNodes[i];
      getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
    }
  }

  return getstr ;
}

function get(url,obj,area) {
  getstr ="?" + makeURL(url,obj);
  makeRequest(url, getstr,area);
  http_request.open('GET', url + getstr, true);
  http_request.send(null);
}

function post(url,obj,area) {
  poststr =  makeURL(url,obj);
  makeRequest(url, poststr,area);
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
  http_request.setRequestHeader("Content-length", poststr.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(poststr);
}


