// JavaScript Document
function makeInstance() {
	var http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
	} 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('Giving up sad.gif Cannot create an XMLHTTP instance');
		return false;
	}
	
	return http_request;
	
}

// validate form
function validateForm(objForm, file, submitOnSuccess)
{
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 1) 
		{	
			if(submitOnSuccess == null)
			{
				document.getElementById('status').innerHTML = '<span id="gray">Validating Submission...</span>';		
			}
		}
		
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{
			
			if(ajax.responseText == 0) 
			{		
					if(submitOnSuccess == null)
					{
						document.getElementById('status').innerHTML = '<span id="green">Submission Valid! Processing...</span><br/>';
						objForm.submit(); 
					}
					else
					{
						document.getElementById('status').innerHTML = '';
					}
			} 
			else 
			{
					document.getElementById('status').innerHTML = '<span id="red">' + ajax.responseText + '</span><br/>';
			}
		}				
	}
	ajax.open('POST',file,true);
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax.send(getRequestBody(objForm));
}

function getRequestBody(fobj) { 
	 var str = ""; 
	 var ft = ""; 
	 var fv = ""; 
	 var fn = ""; 
	 var els = ""; 
	 for(var i = 0;i < fobj.elements.length;i++) { 
	  els = fobj.elements[i]; 
	  ft = els.title; 
	  fv = els.value; 
	  fn = els.name; 
	 switch(els.type) { 
	  case "text": 
	  case "hidden": 
	  case "password": 
	  case "textarea":
		case "file":

	  str += fn + "=" + encodeURI(fv) + "&"; 
	  break;  
	 
	  case "checkbox": 
	  case "radio": 
	   if(els.checked) str += fn + "=" + encodeURI(fv) + "&"; 
	  break;     
	 
	 	case "select-one":
	    str += fn + "=" + 
	    els.options[els.selectedIndex].value + "&"; 
		break;
		
	  case "select-multiple":
		
			for(j=0; j<els.length; j++)
			{
				if(els.options[j].selected)
				{
					str += fn + "=" + 
					els.options[j].value + "&";
				}
			}
			
	  break; 
	  } // switch 
	 } // for 
	 str = str.substr(0,(str.length - 1)); 
return str; 
} 

// get categories in the menu
function getMenu(sitevalue)
{
	
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('menu').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/getmenu.php?sid='+sitevalue, true);
	ajax.send(null);
}

// get files for folder with id = intFolderID
function getFiles(intFolderID, txtFileType) // txtFileType: image, file or flash 
{
	
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('filelist').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/getfiles.php?intFolderID='+intFolderID+'&txtFileType='+txtFileType, true);
	ajax.send(null);
}

function swapPageOrder(prevcurr, level)
{
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 1)
		{	
			document.getElementById('orderstatus').innerHTML = "Processing action. Please Wait...";
			document.getElementById('orderstatus').style.visibility = "visible";
		}
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('orderstatus').style.visibility = "hidden";
			document.getElementById('orderstatus').innerHTML = '';
			//alert(ajax.responseText);
			document.getElementById('displayorder').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/swaporder/swappageorder.php?prevcurr='+prevcurr+'&level='+level, true);
	ajax.send(null);
}

function swapCategoryOrder(prevcurr)
{
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 1)
		{	
			document.getElementById('orderstatus').innerHTML = "Processing action. Please Wait...";
			document.getElementById('orderstatus').style.visibility = "visible";
		}
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('orderstatus').style.visibility = "hidden";
			document.getElementById('orderstatus').innerHTML = '';
			document.getElementById('displayorder').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/swaporder/swapcategoryorder.php?prevcurr='+prevcurr, true);
	ajax.send(null);
}

function removePage(pid)
{
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 1)
		{	
			document.getElementById('orderstatus').innerHTML = "Processing action. Please Wait...";
			document.getElementById('orderstatus').style.visibility = "visible";
		}
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('orderstatus').style.visibility = "hidden";
			document.getElementById('orderstatus').innerHTML = '';
			document.getElementById('displayorder').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/remove/removepage.php?id='+pid, true);
	ajax.send(null);
	
}

function removeCategory(cid)
{
	ajax = makeInstance();
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 1)
		{	
			document.getElementById('orderstatus').innerHTML = "Processing action. Please Wait...";
			document.getElementById('orderstatus').style.visibility = "visible";
		}
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{	
			document.getElementById('orderstatus').style.visibility = "hidden";
			document.getElementById('orderstatus').innerHTML = '';
			document.getElementById('displayorder').innerHTML = ajax.responseText;
		}
	}
	ajax.open('GET','../ajax/remove/removecategory.php?id='+cid, true);
	ajax.send(null);
	
}

// get all pages that exists under the selected categories
function getPages(objSelectedCategories)
{
	var txtSelectedCategories = "";	
	ajax = makeInstance();
	
	for(j=0; j<objSelectedCategories.length; j++)
	{
		if(objSelectedCategories.options[j].selected)
		{
			txtSelectedCategories += "cid[]=" + objSelectedCategories.options[j].value + "&";					
		}
	}
	txtSelectedCategories = txtSelectedCategories.substr(0,(txtSelectedCategories.length - 1));
	
	ajax.onreadystatechange = function()
	{	
		
		if((ajax.readyState == 4)&&(ajax.status == 200)) 
		{
			//alert(ajax.responseText);
			document.getElementById('pagelist').innerHTML = ajax.responseText;
		}
	}
	ajax.open('POST','../ajax/getpages.php',true);
	ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax.send(txtSelectedCategories);
}