// JavaScript Document
/////

/// Function Name: CreateXMLHTTPRequestObject

/// Description: Creates an XML HTTP Request Object

/// Parameters: NONE

/// Return: 

/// 	An XML HTTP request object on completion

/// 	On Error returns false

/// Create Date: 22 Aug 2008

/// Last Edited: 22 Aug 2008

/// Usage:

/// Notes:

/// Version: 1.0.0

/////

function CreateXMLHTTPRequestObject(){

	var xmlhttp = false;

	

	try{

		//javascript ver > 5

		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

	} catch(e){

		//If not, use older active x object

		try{

			//IF IE

			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

		} catch (e){

			//else non-IE browser

			xmlhttp = false;

		}

	}

	

	//if non-IE, create javascript instance of object.

	if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){

		xmlhttp = new XMLHttpRequest();

	}

	

	return xmlhttp;

}



/////

/// Function Name: processAjax

/// Description: Processes ajax requests

/// Parameters:

/// 	serverPage - The page the request is sent to as a string

///		insertIntoObj - The document element into which the return from serverPage is inserted

///		optionStr - Additional options that need to be passed to serverPage

///		requestType - method to send request; POST or GET

/// Return:

/// 	1 - Could not create xmlhttp request object

/// Create Date: 22 Aug 2008

/// Last Edited: 22 Aug 2008

/// Usage:

///		var obj = document.getElementById('subcat_options');

///		var str = "cat=3&id=7&name=John";

///		processAjax("get_subcat2.php",obj,str,"POST");

/// Notes: Need to include CreateXMLHTTPRequestObject() snippets

/// Version: 1.0.0

/////

function processAjax(serverPage, insertIntoObj, optionStr, requestType){

	var xmlhttp = CreateXMLHTTPRequestObject();

	if(xmlhttp == null) {alert("False"); return 1;}

	xmlhttp.open("POST", serverPage, true);		

	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');	

	xmlhttp.onreadystatechange = function() {		

		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){

			insertIntoObj.innerHTML = xmlhttp.responseText;
		}

	}

	xmlhttp.send(optionStr);

}



//Function to get subcategories

//parameter multiple takes 1 for true. anything else is false

function get_cat(){

	var objToInsertIn = document.getElementById('cat_options');

	var obj2 = document.getElementById('sec_name');

        var obj3 = this.document.getElementById('prod_options');

	obj3.innerHTML = "";

        var obj4 = this.document.getElementById('subcat_options');

	obj4.innerHTML = "";

	var str = "sec=" + obj2.value;

	processAjax("get_cat.php",objToInsertIn,str,"POST");

}

function get_subcat(multiple){

	var obj2 = document.getElementById('cat');

	var objToInsertIn = document.getElementById('subcat_options');

	var str;

	if(multiple==1){

	    str = "cat=" + obj2.value +"&multiple=TRUE";

	}

	else

	    str = "cat=" + obj2.value;

	processAjax("get_subcat.php",objToInsertIn,str,"POST");

	get_prod();

}



function get_subcat2(){

	var objToInsertIn = document.getElementById('subcat_options');

	var obj2 = this.document.getElementById('cat');

	var obj3 = this.document.getElementById('prod_options');

	obj3.innerHTML = "";

	var str = "cat=" + obj2.value;

	processAjax("get_subcat2.php",objToInsertIn,str,"POST");

}



function get_prod(){

	var objToInsertIn = document.getElementById('prod_options');

	var obj2 = document.getElementById('subcat_name');

    var str = "subcat_id=" + obj2.value;

	processAjax("get_prod.php",objToInsertIn,str,"POST");	

}



function get_proddetails(){

	var objToInsertIn = document.getElementById('prod_details');

	var obj2 = document.getElementById('prod_name');

    var str = "prod_id=" + obj2.value;

	processAjax("get_proddetails.php",objToInsertIn,str,"POST");

}

