function addNewCategory(elem)
{
	document.forms[0].mode.value='add';
	document.forms[0].type.value=elem;
	
	document.forms[0].submit();
}

function saveCategory(elem)
{
	if(confirm("Save Changes?"))
	{
		document.forms[0].mode.value='edit';
		document.forms[0].type.value=elem;
		
		document.forms[0].submit();	
	}
}

function saveOrder(elem)
{
	document.forms[0].mode.value='saveorder';
	document.forms[0].type.value=elem;
	document.forms[0].submit();	
}

function remove(elem)
{
	if(elem == "cat_2")
	{
		if(confirm("Remove selected category?\nNOTE: All child categories will be deleted as well"))
		{
			document.forms[0].mode.value='remove';
			document.forms[0].type.value=elem;
			document.forms[0].submit();			
		}
	}
	else
	{
		if(confirm("Remove selected category?"))
		{
			document.forms[0].mode.value='remove';
			document.forms[0].type.value=elem;
			document.forms[0].submit();
		}
	}
}

function loadArr(elem,val,txt,k,s)
{
	elem.length = 0;
	j = 0;r = 0;
	if(k != '')
	{
		elem.options[j++] = new Option(k,'');
	}
	var len = val.length;
	for(i = j; i < (j + len); i++)
	{
		elem.options[i] = new Option(txt[r],val[r]);
		if(val[r] == s)
		{
			elem.options[i].selected = true;
		}
		r++;
	}
}

function doPreLoadCat_2()
{
	if(document.forms[0].cat_1_order.value != '')
	{
		if(!confirm("Please save the order before you edit a category\n\nContinue anyway?"))
		{
			document.forms[0].cat_1_order.value = '';
			return false;
		}
	}
	
	return true;
}


function loadCat_2(sel,form2)
{	
	var id = sel.options[sel.options.selectedIndex].value;
	var indexes = getIndexes(id,cat_2_parent_id);
	
	var content = getTextValue(indexes,cat_2_cat_name,cat_2_cat_id);
	
	var txt = content[0];
	var value = content[1];

	loadArr(form2.elements['cat_2[]'],value,txt,'','');
}

function loadCat_2_2(sel,form2)
{	
	var id = sel.options[sel.options.selectedIndex].value;
	var indexes = getIndexes(id,cat_2_parent_id);
	
	var content = getTextValue(indexes,cat_2_cat_name,cat_2_cat_id);
	
	var txt = content[0];
	var value = content[1];

	loadArr(form2.elements['sid'],value,txt,'Select One','');
}

function doPostLoadCat_2(sel,form2)
{
	form2.cat_1_name.value = sel.options[sel.options.selectedIndex].text;
	form2.cat_2_name.value = "";	
	
	loadCat_1_images('edit');
	loadCat_2_images('add');
}

function loadProducts(sel,form2)
{	
	var id = sel.options[sel.options.selectedIndex].value;
	var indexes = getIndexes(id,p_cat_2);
	
	var content = getTextValue(indexes,p_name,p_id);
	
	var txt = content[0];
	var value = content[1];

	loadArr(form2.elements['products[]'],value,txt,'','');
}

function getIndexes(v,arr)
{
	var indexes = new Array();
	var len = arr.length;
	
	var j = 0;
	
	for(i = 0; i < len; i++)
	{
		if(arr[i] == v)
		{
			indexes[j++] = i;
		}
	}
	return indexes;
}

function getTextValue(indexes,arr1,arr2)
{
	var text = new Array();
	var value = new Array();
	var content = new Array();
	var len = indexes.length;
	
	for(i = 0; i < len; i++)
	{
		text[i] = arr1[indexes[i]];
		value[i] = arr2[indexes[i]];
	}
	
	content[0] = text;
	content[1] = value;
	
	return content;
}

function moveEm(direction,listname) 
{

	dfr = eval("document.forms[0].elements['" + listname + "']");

	boxLen = dfr.length;
	currentItem = dfr.selectedIndex;
	
	if ((direction == 'up') && (currentItem > 0))
	{
		selText = dfr.options[currentItem].text;
		swpText = dfr.options[currentItem - 1].text;
		
		selValue = dfr.options[currentItem].value;
		swpValue = dfr.options[currentItem - 1].value;
		
		dfr.options[currentItem - 1].text = selText;
		dfr.options[currentItem].text     = swpText;
		
		dfr.options[currentItem - 1].value = selValue;
		dfr.options[currentItem].value     = swpValue;
		
		dfr.selectedIndex = currentItem - 1;
	} 
	else if ((direction == 'down') && (currentItem < boxLen - 1) && (currentItem != -1)) 
	{
		selText = dfr.options[currentItem].text;
		swpText = dfr.options[currentItem + 1].text;
		
		selValue = dfr.options[currentItem].value;
		swpValue = dfr.options[currentItem + 1].value;
		
		dfr.options[currentItem + 1].text = selText;
		dfr.options[currentItem].text     = swpText;
		
		dfr.options[currentItem + 1].value = selValue;
		dfr.options[currentItem].value     = swpValue;
		
		dfr.selectedIndex = currentItem + 1;
	} 
	else if (currentItem == -1) 
	{
		alert("You must select an item before you can move it.");
	} 
	
	if(listname == 'cat_1')
	{
		loadCat_1_images('order');
		document.forms[0].cat_1_order.value = generateOrderString(dfr);
	}
	else if(listname == 'cat_2[]')
	{
		loadCat_2_images('order');
		document.forms[0].cat_2_order.value = generateOrderString(dfr);
	}
}

function generateOrderString(elem)
{
	var len = elem.options.length;
	var s = new Array();
	
	for(i = 0; i < len; i++)
	{
		s.push(elem.options[i].value);
	}
	
	return s.join(",");
}

function editCat_2(sel)
{
	document.forms[0].cat_2_name.value = sel.options[sel.options.selectedIndex].text;
	
	loadCat_2_images('edit');
}