// JavaScript Document
http        = false;
dropTarget  = "";
msgTarget   = "";
processType = 0;
webEditor   =null;


function writeMessage(message,id){ 
 if(id!=null){
  elem=document.getElementById(id); 
  if(elem.type=="select-one" || elem.type=="select"){   
   elem.options[elem.selectedIndex].text=message; 
   elem.readOnly=true;  
  }else{
  }
 }
}

function ajaxSupported(){  
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			http = new XMLHttpRequest();
        } catch(e) {
			http = false;			
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	http = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		http = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		http = false;
        	}
		}
    }
	
	
	if(!http) {
	  return false;
	}	
	else{ 	 
	 return true;
	} 
}

function loadXMLDoc(url,dropT,msgT,proType,wEditor){ 
    if(dropT!=null){ 
     dropTarget =dropT;
   }
   if(msgTarget!=null){ 
    msgTarget  =msgT;  
   }
   if(wEditor!=null){  
     webEditor=wEditor;
   }	 
   if(proType!=null){  
     processType=proType;
   }
	if(http) {
	   http.onreadystatechange = processRequest;		   
	   http.open("GET", url, true);
	   http.send(null);
	   writeMessage("Loading...",msgTarget);
	}
	else{
	 return false;
	} 
}

function processRequest() {   	
	    /*
		 +---------------------------------------------------------+
          Make sure that the transaction has finished. The
          XMLHttpRequest object has a property called readyState
          with several states:
		  0: Uninitialized
		  1: Loading
		  2: Loaded
		  3: Interactive
		  4: Finished
         +---------------------------------------------------------+*/
	switch(http.readyState){
          case 0:
          case 1:		        
           break;
          case 2:		       			   
           break;
          case 3:		       			   
           break;
          case 4:
              /*+----------------------------------------------------------+
                We have got the response from the server-side script,
	            let's see just what it was. using the responseText
                property of the XMLHttpRequest object.
                +----------------------------------------------------------+*/
				
				if (http.status == 200) {
                  //...processing statements go here...
			      var response = http.responseText;
				  
				  writeResponse(response);				  
                } else {
                  //writeMessage("Error : "+http.statusText);
                }
	           /*+----------------------------------------------------------+
                And now we want to change the product_categories
                <div> content.we do this using an ability to get/change the
                content of a page element that we can find: innerHTML.
                +----------------------------------------------------------+*/
                break;
        }	
}

function writeResponse(response){ 
   switch(processType){
	case -1:
	return;
	break;
   case 0:
    document.getElementById(dropTarget).innerHTML = response;
	break;
   case 1:
    data=response;
	break;
   case 2:
    webEditor.SetHTML(response);	
	break; 
  }		
}

