/*****************************************************************

	blueCart E-Commerce 2007 - (c) 2007-2008 Bergan Blue, Australia
	THIS IS COMMERCIAL SOFTWARE. DO NOT COPY/USE/SELL.
	
	Filename			: ajax-admin.js (JavaScript)
	File Version		: 1.00.00
	File Summary		: JavaScript Library to handle all Administration Panel AJAX functions such as
						  the image manager and product options manager.
	
	Developed by		: Jon Bergan <jbergan@berganblue.com.au>
	Creation Date		: 25 Sep 2007
	
	Modifications		: None
	
*****************************************************************/

function retrieveSecureData(orderNumber, key)
{
	getContent('ajaxContentSecureForm', 'ajaxLoaderSecureForm', 'admin/admin-ajax.php?ajaxCmd=retrieveSecureData&id='+orderNumber+'&key='+key);
}

function updateProductOptionDetails(type, id)
{
	getContent('ajaxContent', 'ajaxLoader', 'admin/admin-ajax.php?ajaxCmd=paymentOptionDetails&id='+id+'&type='+type);
}

function deleteProductFromCategory(productId, categoryId)
{
	var queryString = "?ajaxCmd=deleteProductFromCategory&id="+productId+"&categoryId="+categoryId;
	updateAjaxPanel("ajaxCategoryProducts", "admin-ajax.php" + queryString);
}

function checkAnswerFields(fieldId, fieldName)
{
	var fieldType = 'inputTextbox';

	e = document.getElementById(fieldName);

	if (e.options[0].selected)
		getContent('ajaxContent', 'ajaxLoader', 'admin/admin-ajax.php?ajaxCmd=customFieldAnswers&id='+fieldId+'&totalNumber=0');
}

function displayAnswerFields(fieldId, eventId)
{
	var newValue;

	newValue = document.getElementById('customFieldOptionTotal').value;

	getContent('ajaxContent', 'ajaxLoader', 'admin/admin-ajax.php?ajaxCmd=customFieldAnswers&id='+fieldId+'&totalNumber='+newValue);
}

function toggleOrderFilter()
{
	if (document.getElementById('orderFilter'))
	{
		if (showOrderFilter == '0')
		{
			document.getElementById('orderFilter').style.visibility = "visible";
			document.getElementById('orderFilter').style.display = "block";
			showOrderFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setOrderFilter&setting='+showOrderFilter);
		} else {
			document.getElementById('orderFilter').style.visibility = "hidden";
			document.getElementById('orderFilter').style.display = "none";
			showOrderFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setOrderFilter&setting='+showOrderFilter);
		}
	}
}

function toggleUserFilter()
{
	if (document.getElementById('userFilter'))
	{
		if (showUserFilter == '0')
		{
			document.getElementById('userFilter').style.visibility = "visible";
			document.getElementById('userFilter').style.display = "block";
			showUserFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setUserFilter&setting='+showUserFilter);
		} else {
			document.getElementById('userFilter').style.visibility = "hidden";
			document.getElementById('userFilter').style.display = "none";
			showUserFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setUserFilter&setting='+showUserFilter);
		}
	}
}

function toggleDiscountFilter()
{
	if (document.getElementById('discountFilter'))
	{
		if (showDiscountFilter == '0')
		{
			document.getElementById('discountFilter').style.visibility = "visible";
			document.getElementById('discountFilter').style.display = "block";
			showDiscountFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setDiscountFilter&setting='+showDiscountFilter);
		} else {
			document.getElementById('discountFilter').style.visibility = "hidden";
			document.getElementById('discountFilter').style.display = "none";
			showDiscountFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setDiscountFilter&setting='+showDiscountFilter);
		}
	}
}

function toggleVoucherFilter()
{
	if (document.getElementById('voucherFilter'))
	{
		if (showVoucherFilter == '0')
		{
			document.getElementById('voucherFilter').style.visibility = "visible";
			document.getElementById('voucherFilter').style.display = "block";
			showVoucherFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setVoucherFilter&setting='+showVoucherFilter);
		} else {
			document.getElementById('voucherFilter').style.visibility = "hidden";
			document.getElementById('voucherFilter').style.display = "none";
			showVoucherFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setVoucherFilter&setting='+showVoucherFilter);
		}
	}
}

function toggleCategoryFilter()
{
	if (document.getElementById('categoryFilter'))
	{
		if (showCategoryFilter == '0')
		{
			document.getElementById('categoryFilter').style.visibility = "visible";
			document.getElementById('categoryFilter').style.display = "block";
			showCategoryFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setCategoryFilter&setting='+showCategoryFilter);
		} else {
			document.getElementById('categoryFilter').style.visibility = "hidden";
			document.getElementById('categoryFilter').style.display = "none";
			showCategoryFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setCategoryFilter&setting='+showCategoryFilter);
		}
	}
}

function toggleProductFilter()
{
	if (document.getElementById('productFilter'))
	{
		if (showProductFilter == '0')
		{
			document.getElementById('productFilter').style.visibility = "visible";
			document.getElementById('productFilter').style.display = "block";
			showProductFilter = '1';
			runScript('admin-ajax.php?ajaxCmd=setProductFilter&setting='+showProductFilter);
		} else {
			document.getElementById('productFilter').style.visibility = "hidden";
			document.getElementById('productFilter').style.display = "none";
			showProductFilter = '0';
			runScript('admin-ajax.php?ajaxCmd=setProductFilter&setting='+showProductFilter);
		}
	}
}

function submitProductOptionTemplate()
{
	var ajaxDisplay = document.getElementById("ajaxOptionsManager");
	var optionsForm = document.getElementById('formOptionsId');

	optionsForm.submit();
	
	deleteWindowSmall();
	displayOptionsManager();
}

function submitProductOptions()
{
	var ajaxDisplay = document.getElementById("ajaxOptionsManager");
	var optionsForm = document.getElementById('formOptionsId');

	if (checkAdminAddProductOptionsForm())
	{
		optionsForm.submit();
		deleteWindowSmall();
		displayOptionsManager();
	}
}

function addProductOptionTemplate(gid)
{
	newSmallWindow('admin-ajax-options-mgr.php?type=loadProductOptionsTemplate&id='+gid);
}

function addProductOptionsToGroup(optid, gid)
{
	newWindow('admin-ajax-options-mgr.php?type=manageProductOptions&id='+optid+'&gid='+gid);
}

function modifyProductOptionsGroup(gid, pid)
{
	newSmallWindow('admin-ajax-options-mgr.php?type=manageProductOptionsGroup&id='+gid+'&pid='+pid);
}

function deleteProductOptionsGroup(gid)
{
    var queryString = "?type=deleteProductOptionsGroup&id="+gid;
    updateAjaxPanel("ajaxOptionsManager", "admin-ajax-options-mgr.php" + queryString);

	displayOptionsManager();
}

function windowProductOption(gid,pid)
{
	newSmallWindow('admin-ajax-options-mgr.php?type=manageProductOptionsGroup&id='+gid+"&pid="+pid);
}

function modifyProductOptions(id,gid)
{
	newWindow('admin-ajax-options-mgr.php?type=manageProductOptions&id='+id+"&gid="+gid);
}

function deleteProductOptions(id)
{
    var queryString = "?type=deleteProductOptions&id="+id;
    updateAjaxPanel("ajaxOptionsManager", "admin-ajax-options-mgr.php" + queryString);

	displayOptionsManager();
}

function submitProductOptionGroup()
{
	var ajaxDisplay = document.getElementById("ajaxOptionsManager");
	var optionsForm = document.getElementById('formOptionsId');

	if (checkAdminAddProductOptionGroupForm())
	{
		optionsForm.submit();
		deleteWindowSmall();
		displayOptionsManager();
	}
}

function deleteImage(dbId, imgId)
{
    var queryString = "?type="+adminCurrentCmd+"&command=deleteimage&id=" + dbId + "&imgId=" + imgId;
    updateAjaxPanel("ajaxImageManager", "admin-ajax-image-mgr.php" + queryString);

	refreshImageManager();
}

function uploadImage(dbId)
{
	var ajaxDisplay = document.getElementById("ajaxImageManager");
	var uploadForm = document.getElementById('formId');

	var currentAction = uploadForm.action;
	var currentTarget = uploadForm.target;
	
	uploadForm.action = "admin-ajax-image-mgr.php?type="+adminCurrentCmd+"&command=uploadimage&id="+dbId;
	uploadForm.target = "formProcessor";

	ajaxDisplay.innerHTML = '<table><tr><td><img src="/bluecart/admin/templates/images/admin-loading.gif" alt="" /></td><td id="uploadBox"> Uploading Image ...</td></tr></table>';

	uploadForm.submit();

	uploadForm.action = currentAction;
	uploadForm.target = currentTarget;
}

function refreshImageManager()
{
	var objDiv = document.getElementById("ajaxImageManager");
    objDiv.scrollTop = objDiv.scrollHeight;
}

function setImageAsPrimary(dbId, imgId)
{
    var queryString = "?type="+adminCurrentCmd+"&command=setprimary&id=" + dbId + "&imgId=" + imgId;
    updateAjaxPanel("ajaxImageManager", "admin-ajax-image-mgr.php" + queryString);

	refreshImageManager();
}

function displayImageManager()
{
	if (document.getElementById("ajaxImageManager"))
	{
		var queryString = "?type="+adminCurrentCmd+"&id="+adminCurrentId;
		updateAjaxPanel("ajaxImageManager", "admin-ajax-image-mgr.php" + queryString);
	}
}

function refreshOptionsManager()
{
	var objDiv = document.getElementById("ajaxOptionsManager");
	objDiv.scrollTop = objDiv.scrollHeight;
}

function displayOptionsManager()
{
	var queryString = "?type=manageOptions&id="+adminCurrentId;
	updateAjaxPanel("ajaxOptionsManager", "admin-ajax-options-mgr.php" + queryString);
}

function displayCategoryProducts()
{
	var queryString = "?ajaxCmd=categoryProductsListing&id="+adminCurrentId;
	updateAjaxPanel("ajaxCategoryProducts", "admin-ajax.php" + queryString);
}

function ajaxIMInit() 
{
	if (document.getElementById("ajaxCategoryProducts"))
	{
		displayCategoryProducts();
	}

	if (document.getElementById('ajaxUpdateNotices'))
	{
		getContent('ajaxUpdateNotices','ajaxLoader','admin/admin-ajax.php?ajaxCmd=viewBluecartUpdates');
	}

	if (document.getElementById('categoryFilter'))
	{
		if (showCategoryFilter == '1')
		{
			document.getElementById('categoryFilter').style.visibility = "visible";
			document.getElementById('categoryFilter').style.display = "block";
		} else {
			document.getElementById('categoryFilter').style.visibility = "hidden";
			document.getElementById('categoryFilter').style.display = "none";
		}
	}

	if (document.getElementById('discountFilter'))
	{
		if (showDiscountFilter == '1')
		{
			document.getElementById('discountFilter').style.visibility = "visible";
			document.getElementById('discountFilter').style.display = "block";
		} else {
			document.getElementById('discountFilter').style.visibility = "hidden";
			document.getElementById('discountFilter').style.display = "none";
		}
	}

	if (document.getElementById('voucherFilter'))
	{
		if (showVoucherFilter == '1')
		{
			document.getElementById('voucherFilter').style.visibility = "visible";
			document.getElementById('voucherFilter').style.display = "block";
		} else {
			document.getElementById('voucherFilter').style.visibility = "hidden";
			document.getElementById('voucherFilter').style.display = "none";
		}
	}

	if (document.getElementById('productFilter'))
	{
		if (showProductFilter == '1')
		{
			document.getElementById('productFilter').style.visibility = "visible";
			document.getElementById('productFilter').style.display = "block";
		} else {
			document.getElementById('productFilter').style.visibility = "hidden";
			document.getElementById('productFilter').style.display = "none";
		}
	}

	if (document.getElementById('orderFilter'))
	{
		if (showOrderFilter == '1')
		{
			document.getElementById('orderFilter').style.visibility = "visible";
			document.getElementById('orderFilter').style.display = "block";
		} else {
			document.getElementById('orderFilter').style.visibility = "hidden";
			document.getElementById('orderFilter').style.display = "none";
		}
	}

	if (document.getElementById('userFilter'))
	{
		if (showUserFilter == '1')
		{
			document.getElementById('userFilter').style.visibility = "visible";
			document.getElementById('userFilter').style.display = "block";
		} else {
			document.getElementById('userFilter').style.visibility = "hidden";
			document.getElementById('userFilter').style.display = "none";
		}
	}
}

window.onload = ajaxIMInit;
