var xmlHttp = createXmlHttpRequestObject(); 

function createXmlHttpRequestObject()  
{  
  // will store the reference to the XMLHttpRequest object 
  var xmlHttp; 
  // if running Internet Explorer 
  if(window.ActiveXObject) 
  { 
    try 
    { 
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e)  
    { 
      xmlHttp = false; 
    } 
  } 
  // if running Mozilla or other browsers 
  else 
  { 
    try  
    { 
      xmlHttp = new XMLHttpRequest(); 
    } 
    catch (e)  
    { 
      xmlHttp = false; 
    } 
  } 
  // return the created object or display an error message 
  if (!xmlHttp) 
      alert("Error creating the XMLHttpRequest object."); 
  else  
    return xmlHttp; 
} 
 
// make asynchronous HTTP request using the XMLHttpRequest object  
function get_cat_attributes(catid, updid) 
{ 
  // proceed only if the xmlHttp object isn't busy 
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) 
  { 
    // execute the quickstart.php page from the server 
      document.getElementById("attributes").innerHTML =  
                                            '<img src="images/processing.gif" />';     
    if(updid){
    	xmlHttp.open("GET", "products/action/ajax_attributes.php?cat=" + catid+"&recid="+updid, true);
    }
    else{
    	xmlHttp.open("GET", "products/action/ajax_attributes.php?cat=" + catid, true);
    }
    	   
    // define the method to handle server responses 
    xmlHttp.onreadystatechange = handleServerResponse; 
    // make the server request 
    xmlHttp.send(null); 
  } 
  else 
    // if the connection is busy, try again after one second   
  	if(updid){
    	// if the connection is busy, try again after one second   
    	setTimeout('get_cat_attributes('+catid+', '+updid+')', 1000);
    }
    else{
    	setTimeout('get_cat_attributes('+catid+')', 1000);
    }    
} 
 
// executed automatically when a message is received from the server 
function handleServerResponse()  
{ 
  // move forward only if the transaction has completed 
  if (xmlHttp.readyState == 4)  
  { 
    // status of 200 indicates the transaction completed successfully 
    if (xmlHttp.status == 200)  
    { 
      // extract the XML retrieved from the server 
      xmlResponse = xmlHttp.responseXML; 
      // obtain the document element (the root element) of the XML structure 
      xmlDocumentElement = xmlResponse.documentElement; 
      // get the text message, which is in the first child of 
      // the the document element 
      helloMessage = xmlDocumentElement.firstChild.data; 
      // update the client display using the data received from the server 
      document.getElementById("attributes").innerHTML =  
                                            '<i>' + helloMessage + '</i>'; 

    }  
    // a HTTP status different than 200 signals an error 
    else  
    { 
      alert("There was a problem accessing the server: " + 
xmlHttp.statusText); 
    } 
  } 
}



// make asynchronous HTTP request using the XMLHttpRequest object  
function get_cat_relations(catid, updid) 
{ 
  // proceed only if the xmlHttp object isn't busy 
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) 
  { 
  
      document.getElementById("relations").innerHTML =  
                                            '<img src="images/processing.gif" />';   
  
    // execute the quickstart.php page from the server 
    if(updid){
    	xmlHttp.open("GET", "products/action/ajax_relations.php?cat=" + catid+"&recid="+updid, true);
    }
    else{
    	xmlHttp.open("GET", "products/action/ajax_relations.php?cat=" + catid, true);
    }
    	   
    // define the method to handle server responses 
    xmlHttp.onreadystatechange = set_relations; 
    // make the server request 
    xmlHttp.send(null); 
  } 
  else{ 
  	if(updid){
    	// if the connection is busy, try again after one second   
    	setTimeout('get_cat_relations('+catid+', '+updid+')', 1000);
    }
    else{
    	setTimeout('get_cat_relations('+catid+')', 1000);
    }	
  }   
} 
 
// executed automatically when a message is received from the server 
function set_relations()  
{ 
  // move forward only if the transaction has completed 
  if (xmlHttp.readyState == 4)  
  { 
    // status of 200 indicates the transaction completed successfully 
    if (xmlHttp.status == 200)  
    { 
      // extract the XML retrieved from the server 
      xmlResponse = xmlHttp.responseXML; 
      // obtain the document element (the root element) of the XML structure 
      xmlDocumentElement = xmlResponse.documentElement; 
      // get the text message, which is in the first child of 
      // the the document element 
      helloMessage = xmlDocumentElement.firstChild.data; 
      // update the client display using the data received from the server 
      document.getElementById("relations").innerHTML =  
                                            '<i>' + helloMessage + '</i>'; 

    }  
    // a HTTP status different than 200 signals an error 
    else  
    { 
      alert("There was a problem accessing the server: " + 
xmlHttp.statusText); 
    } 
  } 
}



//Brands - collection stuff


// make asynchronous HTTP request using the XMLHttpRequest object  
function get_collections(catid, updid) 
{ 
  // proceed only if the xmlHttp object isn't busy 
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) 
  { 
    // execute the quickstart.php page from the server 
    if(updid){
    	xmlHttp.open("GET", "products/action/get_collections.php?cat=" + catid+"&recid="+updid, true);
    }
    else{
    	xmlHttp.open("GET", "products/action/get_collections.php?cat=" + catid, true);
    }
    	   
    // define the method to handle server responses 
    xmlHttp.onreadystatechange = handleServerResponseCol; 
    // make the server request 
    xmlHttp.send(null); 
  } 
  else 
    // if the connection is busy, try again after one second   
    setTimeout('get_cat_attributes('+catid+')', 1000); 
} 


// executed automatically when a message is received from the server 
function handleServerResponseCol()  
{ 
  // move forward only if the transaction has completed 
  if (xmlHttp.readyState == 4)  
  { 
    // status of 200 indicates the transaction completed successfully 
    if (xmlHttp.status == 200)  
    { 
      // extract the XML retrieved from the server 
      xmlResponse = xmlHttp.responseXML; 
      // obtain the document element (the root element) of the XML structure 
      xmlDocumentElement = xmlResponse.documentElement; 
      // get the text message, which is in the first child of 
      // the the document element 
      helloMessage = xmlDocumentElement.firstChild.data; 
      // update the client display using the data received from the server 
      document.getElementById("collections").innerHTML =  
                                            '<i>' + helloMessage + '</i>';
                                             
	  document.getElementById("collections").disabled = false;
    }  
    // a HTTP status different than 200 signals an error 
    else  
    { 
      alert("There was a problem accessing the server: " + 
xmlHttp.statusText); 
    } 
  } 
}



function setstatus(value, order){
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) 
  { 
    xmlHttp.open("GET", "orders/status.php?status="+value+"&orderid="+order, true);
    xmlHttp.send(null); 
  }
  else 
    setTimeout('setstatus('+value+', '+order+')', 1000); 
}










// make asynchronous HTTP request using the XMLHttpRequest object  
function get_search_cat_attributes(catid, selected_stuff) 
{ 
  // proceed only if the xmlHttp object isn't busy 
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) 
  { 
    // execute the quickstart.php page from the server 
      document.getElementById("attributes").innerHTML =  
                                            '<img src="images/processing.gif" />';     
    if(selected_stuff){
    	xmlHttp.open("GET", "../site_parts/search/ajax_search_attributes.php?cat=" + catid+"&sel="+selected_stuff, true);
    }
    else{
    	xmlHttp.open("GET", "../site_parts/search/ajax_search_attributes.php?cat=" + catid, true);
    }
    	   
    // define the method to handle server responses 
    xmlHttp.onreadystatechange = set_serch_fields; 
    // make the server request 
    xmlHttp.send(null); 
  } 
  else 
    // if the connection is busy, try again after one second   
  	if(selected_stuff){
    	// if the connection is busy, try again after one second   
    	setTimeout('get_search_cat_attributes('+catid+', '+selected_stuff+')', 1000);
    }
    else{
    	setTimeout('get_search_cat_attributes('+catid+')', 1000);
    }    
}


 
// executed automatically when a message is received from the server 
function set_serch_fields()  
{ 
  // move forward only if the transaction has completed 
  if (xmlHttp.readyState == 4)  
  { 
    // status of 200 indicates the transaction completed successfully 
    if (xmlHttp.status == 200)  
    { 
      // extract the XML retrieved from the server 
      xmlResponse = xmlHttp.responseXML; 
      // obtain the document element (the root element) of the XML structure 
      xmlDocumentElement = xmlResponse.documentElement; 
      // get the text message, which is in the first child of 
      // the the document element 
      helloMessage = xmlDocumentElement.firstChild.data; 
      // update the client display using the data received from the server 
      document.getElementById("attributes").innerHTML =  
                                            '<i>' + helloMessage + '</i>'; 

    }  
    // a HTTP status different than 200 signals an error 
    else  
    { 
      alert("There was a problem accessing the server: " + mlHttp.statusText); 
    } 
  } 
}
