

	var respArray = new Array();
	if (!isdefined('categoryFee'))
	{ var categoryFee = 0; }
	if (!isdefined('galleryFee'))
	{ var galleryFee = 0; }
	if (!isdefined('imageFee'))
	{ var imageFee = 0; }
	if (!isdefined('categoryLastFee'))
	var categoryLastFee = new Array();
	var debug_lvl = true;
	function isdefined( variable )
	{
	    return (typeof(window[variable]) == "undefined")?  false: true;
	}

	function define( variable )
	{
	    if (typeof(window[variable]) == "undefined")
	    	window[variable] = 0;

	    if (isNaN(window[variable]))
	    	window[variable] = 0;
	}

	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
	}

	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}

	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}

	function fnResetFee()
	{		define('categoryFee');

		if (isdefined('categoryFee'))
		document.getElementById('id_categoryFeeWrap').style.display = (categoryFee) ? 'block' : 'none';

		document.getElementById('selected_categoryFee').value = categoryFee;

		adFee = (isdefined('categoryFee')) ? parseFloat(categoryFee) : 0;
		if (isdefined('galleryFee'))
		if (document.getElementById('id_gallery').checked)
			adFee += parseFloat(galleryFee);

		var addImageFee = 0;
		if ($('id_photo_row_2').visible())
			if ((document.getElementById("itemPhoto_2").value != '') || (trim(document.getElementById("id_upfile_2").innerHTML) != ''))
				addImageFee = imageFee;
		if ($('id_photo_row_3').visible())
			if ((document.getElementById("itemPhoto_3").value != '') || (trim(document.getElementById("id_upfile_3").innerHTML) != ''))
				addImageFee = imageFee;
		if ($('id_photo_row_4').visible())
			if ((document.getElementById("itemPhoto_4").value != '') || (trim(document.getElementById("id_upfile_4").innerHTML) != ''))
				addImageFee = imageFee;

		adFee += addImageFee;

		document.getElementById('id_adFee').value = adFee;
		document.getElementById('adFeeHTML').innerHTML = (adFee) ? '$ '+adFee : 'Free of Charge';	}

	if (document.getElementById('id_categoryFeeWrap'))
		fnResetFee();

	function fnUpdateRegCategory_AJAX(obj, attr_num){
		var nodeAttribute = document.getElementById('product_att_' + attr_num);
		var nodeCurrent = obj;
		var nodeCurrentLi;
		var nodeCategory;
		for(var i = obj; i != null; i=i.parentNode){
			if(i.tagName && i.tagName.toLowerCase() == 'li'){
				nodeCurrentLi = i;
			}else if (i.tagName && i.tagName.toLowerCase() == 'ul'){
				nodeCategory = i;
				break;
			}
		}
		if (nodeCurrentLi == null || nodeCategory == null){

			return;
		}

		var allCategorySelectEls = nodeCategory.getElementsByTagName('select');
		var lastCategorySelectEl = allCategorySelectEls[allCategorySelectEls.length-1];
		var nodeLastLi = lastCategorySelectEl.parentNode;

		var levelCurrentCategory = parseInt(nodeCurrentLi.id.substring(nodeCurrentLi.id.lastIndexOf('_')+1));
		var levelLastCategory = parseInt(nodeLastLi.id.substring(nodeLastLi.id.lastIndexOf('_')+1));

		var objNextSelect;

        if (document.getElementById('id_categoryFee'))
        {
			categoryFee = parseFloat(categoryLastFee[obj.options[obj.selectedIndex].value]);
			document.getElementById('id_categoryFee').innerHTML = categoryFee;
			document.getElementById('id_categoryName').innerHTML = obj.options[obj.selectedIndex].text;
			fnResetFee();
        }

		var error = true;
		if (levelCurrentCategory == levelLastCategory){
			//alert("no remove category");
			objNextSelect = lastCategorySelectEl;
			error = false;
		}else if (levelCurrentCategory < levelLastCategory){
			var i = levelLastCategory;
			if (obj.value != parseInt(allCategorySelectEls[i].id.substring(allCategorySelectEls[i-1].id.lastIndexOf('_')+1))){
				while(i >= levelCurrentCategory + 1){
					objNextSelect = allCategorySelectEls[i];
					objNextSelect.id = objNextSelect.id.substring(0, objNextSelect.id.lastIndexOf('_')+1) + Math.round(Math.random()*1000000) + 'tmp';
					fnRemoveElementsFromNode(objNextSelect, 'option');
					objNextSelect.disabled = true;
					objNextSelect.style.display = 'none';
					i--;
				}
				error = false;

			}else{
				//alert("same select");
				return;
			}
		}else{
			//alert("error ")
			return;
		}

		if (error == false){
			var nodeAttributeUlList = nodeAttribute.getElementsByTagName('ul');
			var form = obj.form;
			var formName = form.formName.value;
			for (var i = levelCurrentCategory; i < nodeAttributeUlList.length; i++){
				fnRemoveElementsFromNode(nodeAttributeUlList[i] , 'li');
			}
			var lastCategorySelectEl = null;
			for (i = 0; i < allCategorySelectEls.length; i ++){
				if (allCategorySelectEls[i].value > 0){
					lastCategorySelectEl = allCategorySelectEls[i];
				}
			}
			if(lastCategorySelectEl==null){
				fnHiddenEmptyLi();
				fnCheckDisplay();
				return;
			}

			var req = 1;
			if(obj.value==''){
				req = 3;
			}

			//if (https) root = sroot;

			lroot = (window.location.protocol == 'https:') ? sroot : root;

			ajaxresp = new Ajax.Request(lroot + 'public_panel/ajax/product.php?mode=1&formName=' + formName + '&req=' + req + '&category='+lastCategorySelectEl.value, {
				method: 'get',
				onSuccess: function(resp) {
					eval('respArray = '+resp.responseText);
					fnUpdateRegCategory(objNextSelect, nodeAttribute);
				}
			});
		}
	}

	function fnUpdateRegCategory(objCategory, objAttribute){

		if (respArray['category']['ary'] && respArray['category']['ary'].length > 0){
			objCategory.id = objCategory.id.substring(0, objCategory.id.lastIndexOf('_')+1) + respArray['category']['id'];
			objCategory.name = objCategory.id.substring(0, objCategory.id.lastIndexOf('_')) + '[' + respArray['category']['id'] + ']';
			//objCategory.innerHTML = respArray['category']['html'];
			objCategory.disabled = false;
			objCategory.innerHTML = '';
			categoryLastFee = new Array();
			for(var i = 0; i < respArray['category']['ary'].length ; i++){
				var oOption 	= document.createElement("OPTION");
				var oText		= document.createTextNode(respArray['category']['ary'][i]['text']);
				oOption.appendChild(oText);
				oOption.value	= respArray['category']['ary'][i]['value'];
				objCategory.appendChild(oOption);

				categoryLastFee[ respArray['category']['ary'][i]['value'] ] = respArray['category']['ary'][i]['fee'];
			}

			objCategory.style.display = '';
		}
		var intNumEnd = 0;
		//set attributes;
		var nodeAttributeUlList = objAttribute.getElementsByTagName('ul');
		for (var i = 0; i < nodeAttributeUlList.length; i++){
			var num = parseInt(nodeAttributeUlList[i].id.substring(nodeAttributeUlList[i].id.lastIndexOf('_')+1));
			if (respArray['attribute']['html'][num]){
				nodeAttributeUlList[i].innerHTML = respArray['attribute']['html'][num];
				intNumEnd = num;
			}
		}
		fnHiddenEmptyLi();
		fnCheckDisplay();
	}

	var sw;
	function previewAd_AJAX(obj, form){
		sw = window.open('', 'sample');
		var tmpTarget = form.target;
		var tmpAction = form.action;
		form.target = 'sample';
		form.action = '/public_panel/ajax/sampleProduct.php';
		form.submit();
		form.target = '_self';
		form.action = tmpAction;
	}

	function fnCheckDisplay(){
		var cat = document.getElementById('category_tr');
		var att = document.getElementById('attributes_tr');

		var display;
		if (cat){
			var aryLi = cat.getElementsByTagName('li');
			if(aryLi.length < 1){
				display = 'none';
			}else{
				display = '';
			}
			var aryTd = cat.getElementsByTagName('td');
			for(var t = 0; t < aryTd.length; t++){
				aryTd[t].style.display = display;
			}
		}

		if (att){
			var aryLi = att.getElementsByTagName('li');
			if(aryLi.length < 1){
				display = 'none';
			}else{
				display = '';
			}
			var aryTd = att.getElementsByTagName('td');
			for(var t = 0; t < aryTd.length; t++){
				aryTd[t].style.display = display;
			}
		}


	}

