/**
 * @author john
 * 
 * more class for device 	= device_menu_item_more
 * back class for device	= device_menu_item_back
 * 
 * more class for model		= model_menu_item_more
 * back class for model		= model_menu_item_back
 * 
 * 
 */
var q = jQuery.noConflict();

	
	
if (typeof(_startStateDevice) == "undefined" || typeof(_startStateDevice) == null || _startStateDevice =="") {
	_startStateDevice	= 0;
}

if (typeof(_startStateModel) == "undefined" || typeof(_startStateModel) == null || _startStateModel =="") {
	_startStateModel	= 0;
}



if (typeof(_pageModelId) == "undefined" || typeof(_pageModelId) == null || _pageModelId =="") {
	_pageModelId	= 0;
}

if (typeof(_pageDeviceId) == "undefined" || typeof(_pageDeviceId) == null || _pageDeviceId =="") {
	_pageDeviceId	= 0;
}

_loadingImageId		= "loadingImage";

_moreDeviceClass	= "device_menu_item_more";
_backDeviceClass	= "device_menu_item_back";

_moreModelClass		= "model_menu_item_more";
_backModelClass		= "model_menu_item_back";

_iefixClass			= "iefix";

_menuID				= "menu";
_headerClass		= "root-category";

_mainCategoryArray	= new Array();
_subCategoryArray	= new Array();
_interval			= 10;  //Number of items in the list
_intervalModel		= 8;  //Number of items in the list
_imgPath			= _baseURL + "/images/loading.gif";
_oldCatId			= 0;
_replaceCatId		= 0;

_subCategoryArray[239]	= _startStateModel; 
 
 
 
q(document).ready(function(){
 
	q("#" + _menuID + " ." + _headerClass).click(function() {
		clickElem	= q(this);

    
		q("#" + _menuID + " ." + _headerClass).next().each(function(id){
			if (q(clickElem).html() != q(this).prev().html()) {
				q(this).hide('slow');
				
			}
		})
		
		
		
		
		q(this).next().toggle("slide");
		if (clickElem.attr("href") == "")
			return false;
		
		
	})
  //.next().hide();
	
	//q("." + _moreDeviceClass).click(registerMoreDeviceClick);
	//q("." + _backDeviceClass).click(registerDeviceBackClick);
	
	//q("." + _moreModelClass).click(registerMoreModelClick);
	//q("." + _backModelClass).click(registerBackModelClick);
	
	
	/*q(".root-category").each(function(){
		idArr		= q(this).attr("id").split("-");
		_mainCategoryArray[idArr[1]]	= _startStateDevice;
	});
	*/
	
	q(".device_menu_item").each(function(){
		if (q(this).attr("href") == "") {
			q(this).click(getDeviceList);
		}
	})
	
	
	

	if (_pageDeviceId > 0 && _pageModelId > 0) { //Some stuff to do when categories have been set. 

		_mainCategoryArray[_pageCatId]		= _devicePage;
		triggerCategoryClick(_pageCatId) 
		_subCategoryArray[_pageDeviceId]	= _modelPage;
		q("#dev-" + _pageModelId + "-" + _pageDeviceId).addClass("menu_active");
		//getModels(_pageDeviceId, _pageCatId);
		triggerDeviceClick(_pageDeviceId, _pageCatId);
		
	} 

	
});

/*
function registerMoreModelClick() {
	idArr		= q(this).attr("id").split("-");
	deviceId	= idArr[1];
	catId		= idArr[2];

	state		= parseInt(_subCategoryArray[deviceId]);
	_subCategoryArray[deviceId]	= (state + _intervalModel); 	
	
	q("#" + _loadingImageId).remove();
	q(this).prepend("<img id='" + _loadingImageId + "' src='" + _imgPath + "' />");
 
	
	getModels(deviceId, catId);		
	return false;
}
*/

/*function registerBackModelClick() {
	idArr		= q(this).attr("id").split("-");
	deviceId	= idArr[1];
	catId		= idArr[2];

	state		= parseInt(_subCategoryArray[deviceId]);
	if ((state - _intervalModel) >= 0)
		_subCategoryArray[deviceId]	= (state - _intervalModel); 	
	else 
		_subCategoryArray[deviceId]	= 0; 	
	
	q("#" + _loadingImageId).remove();
	q(this).prepend("<img id='" + _loadingImageId + "' src='" + _imgPath + "' />");
	
	getModels(deviceId, catId);	
	return false;	
}
*/

function getDeviceList() {
	//idArr		= q(this).attr("id").split("-");
	//deviceId	= idArr[1];
	//catId		= idArr[2];
 
	//_subCategoryArray[deviceId]	= _startStateModel;
	
	
	clickElem2	= q(this);
	
	/*
	q(this).prev().each(function(id){
			if (q(clickElem2).html() != q(this).next().html()) {
				q(this).next().hide('slow');
			}
		})
	*/	
		
	q(this).next().toggle("slide")
 	//q(".submenu").remove();
	//q("#" + _loadingImageId).remove();
	//q(this).prepend(" * ");
	
	
	//getModels(deviceId, catId);	
	return false;
}

/*
function registerMoreDeviceClick(){
	idArr		= q(this).attr("id").split("-");
	id			= idArr[1];
	state		= parseInt(_mainCategoryArray[id]);
	_mainCategoryArray[id]	= (state + _interval); 
	q("#" + _loadingImageId).remove();
	q(this).prepend("<img id='" + _loadingImageId + "' src='" + _imgPath + "' />");
	getDevices(id);
	return false;
}
*/

/*function registerDeviceBackClick(){
	idArr		= q(this).attr("id").split("-");
	id			= idArr[1];
	state		= parseInt(_mainCategoryArray[id]);
	
	if ((state - _interval) >= 0)
		_mainCategoryArray[id]	= (state - _interval);
	else
		_mainCategoryArray[id]	= 0;
		
	q("#" + _loadingImageId).remove(); 
	q(this).prepend("<img id='" + _loadingImageId + "' src='" + _imgPath + "' />");
	getDevices(id);
	return false;
}
*/

/*
function getDevices(catId) {
	state		= _mainCategoryArray[catId];
	if (isNaN(state)) state = 0;
	
	q.get(_baseURL + "//menu/menu_xml_generator.php", {"cat_id":catId, "start":state, "mode":"device"}, function(data){

		if (typeof data == "string") {
			try {
				xml = new ActiveXObject("Microsoft.XMLDOM");
				xml.async = false;
				xml.loadXML(data);
			} catch (e) {
				xml = data;
			}
		} else {
			xml = data;
		}
		
		if (q("error", xml).length) { 	//basically checking for any session related errors. If positive, then reload window.
			window.location.reload();
		}
		
		listItems	= "<ol>";
		if (state > 0) {
			listItems	+= '<li><a href="" id="dev-' + catId + '-" class="' + _backDeviceClass + '">' + _backLabel + '</a></li>';
		}
		
		q("device", xml).each(function(){
			listItems	+= '<li><a id="dev-' + q(this).attr("device_id") + '-' + catId + '"';
			 
			if (q(this).attr("has_sub_cats") == "0")
				listItems	+= 'href="' + _baseURL + '/F02/PPF02P05.php?t_id=' + q(this).attr("device_id") + '&t_mode=cat" class="device_menu_item">';
			else
				listItems	+= 'href="" class="device_menu_item">';
				
			listItems	+=	q(this).attr("device_name") + '</a></li>';
		});

		total_devices	= parseInt(q("count", xml).eq("0").attr("size"));
		
		if ((state + _interval) < total_devices) {
			listItems	+= '<li class="' + _iefixClass + '"><a href="" id="dev-' + catId + '" class="' + _moreDeviceClass + '">' + _moreManuLabel + '</a></li>';
		}
		listItems	+= "</ol>";
 	 
		q("#cat-" + catId).next().remove();
		q("#cat-" + catId).after(listItems);

		q("#" + _loadingImageId).remove();
		
		q("." + _backDeviceClass).click(registerDeviceBackClick);
		q("." + _moreDeviceClass).click(registerMoreDeviceClick);

	 	q(".device_menu_item").each(function(){
			if (q(this).attr("href") == "") {
				q(this).click(getDeviceList);
			}
		})
		
	});
}
*/

/*
function getModels(deviceId, catId) {
	
	state	= _subCategoryArray[deviceId];
	if (isNaN(state)) state = 0;
	
	sortVal = 1;
	
	q.get(_baseURL + "//menu/menu_xml_generator.php", {"cat_id":deviceId, "start":state, "mode":"device", "limit":_intervalModel, "sort":sortVal}, function(data){
	
		if (typeof data == "string") {
			try {
				xml = new ActiveXObject("Microsoft.XMLDOM");
				xml.async = false;
				xml.loadXML(data);
			} catch (e) {
				xml = data;
			}
		} else {
			xml = data;
		}
		
		if (q("error", xml).length) {	//basically checking for any session related errors. If positive, then reload window.
			window.location.reload();
		}
		
		
		listItems	= "<ol class='submenu'>";
		
		if (state > 0) {
			listItems	+= '<li><a href="" id="dev-' + deviceId + '-' + catId + '" class="' + _backModelClass + '">' + _backLabel + '</a></li>';
		}
		
		q("device", xml).each(function(){
			listItems	+= '<li><a id="dev-' + q(this).attr("device_id") + '-' + deviceId + '"';
			listItems	+= 'href="' + _baseURL + '/F02/PPF02P05.php?t_id=' + q(this).attr("device_id") + '&t_mode=cat" class="device_menu_item">';
			listItems	+=	q(this).attr("device_name") + '</a></li>';
		});

		total_devices	= parseInt(q("count", xml).eq("0").attr("size"));
		if ((state + _intervalModel) < total_devices) {
			listItems	+= '<li><a href="" id="dev-' + deviceId + '-' + catId + '" class="' + _moreModelClass + '">' + _moreDeviceLabel + '</a></li>';
		}
		listItems	+= "</ol>";
		
		q("#" + _loadingImageId).remove();
		q(".submenu").remove(); 
		
		q("#dev-" + deviceId + "-" + catId).after(listItems);
		
		q("." + _moreModelClass).click(registerMoreModelClick);
		q("." + _backModelClass).click(registerBackModelClick);
		
		q(".submenu").slideDown("slow");
 
	})
}
*/

function triggerCategoryClick(catId) {
	q("#cat-" + catId).trigger("click");
}

function triggerDeviceClick(deviceId, catId) {
	q("#dev-" + deviceId + "-" + catId).trigger("click");
}

