function createRequestObject() { 

   var req; 

   if(window.XMLHttpRequest){ 
      // Firefox, Safari, Opera... 
      req = new XMLHttpRequest(); 
   } else if(window.ActiveXObject) { 
      // Internet Explorer 5+ 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
   } else { 
      // There is an error creating the object, 
      // just as an old browser is being used. 
      alert('Problem creating the XMLHttpRequest object'); 
   } 

   return req; 

} 

// Make the XMLHttpRequest object 
var http = createRequestObject();
var httpCol = createRequestObject();
var httpDel = createRequestObject();

function columnS(id,col) { 

   // Open PHP script for requests 
   httpCol.open('get', 'setCol.php?id='+id+'&col='+col); 
   httpCol.onreadystatechange = handleColResponse; 
   httpCol.send(null); 

}

function getItem(id) { 

   // Open PHP script for requests 
   http.open('get', 'queryDB.php?id='+id); 
   http.onreadystatechange = handleResponse; 
   http.send(null); 

}

function phpDeleteItem(id) { 

   // Open PHP script for requests 
   httpDel.open('get', 'deleteItem.php?id='+id); 
   httpDel.onreadystatechange = handleDeleteResponse; 
   httpDel.send(null); 

}

function handleColResponse() {
	if(httpCol.readyState == 4 && httpCol.status == 200){ 

    	// Text returned FROM the PHP script 
    	var response = httpCol.responseText; 
		document.getElementById('lists').innerHTML = response;
		updateSortableLists();
	}
}

function handleDeleteResponse() {
	if(httpDel.readyState == 4 && httpDel.status == 200){ 

    	// Text returned FROM the PHP script 
    	var response = httpDel.responseText; 
		window.location.reload( true );
	}
}

function handleResponse() { 

   if(http.readyState == 4 && http.status == 200){ 

      // Text returned FROM the PHP script 
      var response = http.responseText; 

      if(response) { 
         // UPDATE ajaxTest content 
			var resultArray = response.split(/%%%/);

			if (navigator.appName == "Microsoft Internet Explorer"){
				if (resultArray[2] == 'cat'){
					gusLiteDiv('250','155','editCat');
					var formEl = document.getElementById('gusLite_src').getElementsByTagName("input");
					formEl[1].value = resultArray[0];
					formEl[2].value = resultArray[1];
				}else{
					gusLiteDiv('250','250','editLink');
					var formEl = document.getElementById('gusLite_src').getElementsByTagName("input");
					formEl[1].value = resultArray[0];
					formEl[2].value = resultArray[1];
					formEl[3].value = resultArray[2];
					formEl[4].value = resultArray[4];
				}
			}else if (navigator.appName == "Netscape" || navigator.appName == "Opera"){
				if (resultArray[3] == 'cat'){
					gusLiteDiv('250','155','editCat');
					var formEl = document.getElementById('gusLite_src').getElementsByTagName("input");
					formEl[1].value = resultArray[0];
					formEl[2].value = resultArray[1];
					document.forms['editCat'].elements['id'].value = resultArray[0];
					document.forms['editCat'].elements['catLabel'].value = resultArray[1];
				}else{
					gusLiteDiv('250','250','editLink');
					var formEl = document.getElementById('gusLite_src').getElementsByTagName("input");
					formEl[1].value = resultArray[0];
					formEl[2].value = resultArray[1];
					formEl[3].value = resultArray[2];
					formEl[4].value = resultArray[4];
				}
			}

      } 

   }

}

function updateSortableLists(){
	
	Sortable.create("linkList1",{dropOnEmpty:true,handle:'handle',containment:["linkList1"],constraint:false,only:"userObj",onUpdate:function generateDBRep(){
	obj = document.getElementById('linkList1');
	CN = obj.childNodes; x = 0; result1 = ""; 
	while(x < CN.length){
		result1 = result1 + CN[x].id + "$$"; x++; 
	}
	saveLists('1',result1);
	}});
	
	Sortable.create("linkList2",{dropOnEmpty:true,handle:'handle',containment:["linkList2"],constraint:false,only:"userObj",onUpdate:function generateDBRep(){
	obj = document.getElementById('linkList2');
	CN = obj.childNodes; x = 0; result2 = ""; 
	while(x < CN.length){
		result2 = result2 + CN[x].id + "$$"; x++; 
	}
	saveLists('2',result2);
	}});
	   
	Sortable.create("linkList3",{dropOnEmpty:true,handle:'handle',containment:["linkList3"],constraint:false,only:"userObj",onUpdate:function generateDBRep(){
	obj = document.getElementById('linkList3');
	CN = obj.childNodes; x = 0; result3 = ""; 
	while(x < CN.length){
		result3 = result3 + CN[x].id + "$$"; x++; 
	}
	saveLists('3',result3);
	}});
	
	Sortable.create("linkList4",{dropOnEmpty:true,handle:'handle',containment:["linkList4"],constraint:false,only:"userObj",onUpdate:function generateDBRep(){
	obj = document.getElementById('linkList4');
	CN = obj.childNodes; x = 0; result4 = ""; 
	while(x < CN.length){
		result4 = result4 + CN[x].id + "$$"; x++; 
	}
	saveLists('4',result4);
	}});
	
	document.getElementById('saving').style.display = 'none';
}