var goodsGrpMap = { 
	current:[],
	lang:{},
	storage:0,
	c:function(obj){
		if(obj){
			goodsGrpMap.setImg(obj);
			var e =  document.getElementsByTagName('input');
			goodsGrpMap.current[obj.getAttribute('depth')] = obj.value;

			for(var i=0;i<e.length;i++){
				if(e[i].getAttribute('depth') && e[i].type=='radio'){
					if(goodsGrpMap.d(e[i].getAttribute('depth'),e[i].value)){
						e[i].disabled=false;
						e[i].className='enabled';
					}else{
						e[i].className='disabled';
						e[i].disabled=true;
					}
				}
			}

			var itemStr='propmap';
			for(var j=0;j<goodsGrpMap.current.length;j++){
				itemStr+='['+goodsGrpMap.current[j]+']';
			}
			var grpInfo = eval(itemStr);
			if(grpInfo){
				goodsGrpMap.price.base = grpInfo.p;
				goodsGrpMap.price.market = grpInfo.m;
				goodsGrpMap.setNextStep(grpInfo.s>0);
				document.getElementById('FORM_GOODS_GRP').value = grpInfo.g;
				goodsGrpMap.price.rePrice();
			}else{
				document.getElementById('nextBtn').style.display='none';
				document.getElementById('favBtn').style.display='none';
				document.getElementById('nogoods').style.display='';
			}
		}
	},
	setImg:function(obj){
		var imgsrc = obj.getAttribute('img');
		if(obj.getAttribute('adjunct') && obj.type=='checkbox' && !obj.checked){

			var imgsrc = obj.getAttribute('img');

	        while(obj.tagName!='TR'){
	            obj = obj.parentNode;
	        }
	
	        var current = obj.getElementsByTagName('INPUT');
	        for(var i=0;i<current.length;i++){
					if((current[i].type=='checkbox'
							&& current[i].getAttribute('adjunct')
							&& current[i].checked) || (current[i].type=='hidden' && current[i].getAttribute('img'))){
							var imgsrc = current[i].getAttribute('img');
					}
	        }
	
		}else{
			while(obj.tagName!='TR'){
				obj = obj.parentNode;
			}
		}
	
		//alert(obj.tagName);
		var imgs = obj.getElementsByTagName('img');
	
		if(imgsrc){
			imgs[0].src = imgsrc;
			imgs[0].style.visibility= 'visible';
		}else{
			imgs[0].style.visibility= 'hidden';
		}
	},
	action:{
			buy:function(){
					document.getElementById('FORM_NEXT_STEP').value='addshopcart.do';
					document.getElementById('FORM_TPL_GOODSINFO').submit();
			 },
			nobuy:function(){
					document.getElementById('FORM_NEXT_STEP').value='goodsnotify.dwt';
					document.getElementById('FORM_TPL_GOODSINFO').submit();
				},
			fav:function(){
					document.getElementById('FORM_NEXT_STEP').value='addmembergoods.do';
					document.getElementById('FORM_TPL_GOODSINFO').submit();
			},
			sendfrd:function(addinfo){
					document.getElementById('FORM_NEXT_STEP').value='sendtofriend.dwt';
					document.getElementById('FORM_TPL_GOODSINFO').submit();
			}
 	},
	setNextStep:function(d){
		document.getElementById('nextBtn').style.display='';
		document.getElementById('favBtn').style.display='';
		document.getElementById('nogoods').style.display='none';

		if(d){
			document.getElementById('nextBtn').onclick=goodsGrpMap.action.buy;
//			document.getElementById('nextBtn').innerHTML = goodsGrpMap.lang.buy;
			document.getElementById('nextBtn').src = goodsGrpMap.imgsrc+'buy.gif';
		}else{
			document.getElementById('nextBtn').onclick=goodsGrpMap.action.nobuy;
//			document.getElementById('nextBtn').innerHTML = goodsGrpMap.lang.nobuy;
			document.getElementById('nextBtn').src = goodsGrpMap.imgsrc+'nobuy.gif';
		}
	},
	setPrice:function(){
		goodsGrpMap.price.base + goodsGrpMap.price.adjunct;
	}
	,
	d:function(depth,value){
		var itemStr='propmap';
		for(var j=0;j<goodsGrpMap.current.length;j++){
			itemStr+='['+(j==depth?value:goodsGrpMap.current[j])+']';
		}
		try{
			var info = eval(itemStr);
			return typeof(info)=='object';
		}catch(e){ return false }
	},
	setCurrent:function(){
		if (goodsGrpMap.current.length < 1){
			goodsGrpMap.setNextStep(goodsGrpMap.storage);
			return;
		}
			var currentProp=[];
			var j=0;
			for(var i=0;i<goodsGrpMap.current.length;i++){
				currentProp[goodsGrpMap.current[i]] = 1;
			}

			var e =  document.getElementsByTagName('input');
			for(var i=0;i<e.length;i++){
				if(e[i].getAttribute('depth')){
					if(currentProp[e[i].value]){
						goodsGrpMap.setImg(e[i]);
						e[i].checked = true;
						j=i;
					}
				}else if( e[i].getAttribute('adjunct')){
						goodsGrpMap.setImg(e[i]);
				}
			}

			var e =  document.getElementsByTagName('select');
			for(var i=0;i<e.length;i++){
				if(e[i].getAttribute('depth')){
					for(var j=0,k=0;j<e[i].childNodes.length;j++){
						if(currentProp[e[i].childNodes[j].value]){
							e[i].selectedIndex = k;
						}
						if(e[i].childNodes[j].tagName=='OPTION')k++;
					}
					goodsGrpMap.setImg(e[i]);
				}else if( e[i].getAttribute('adjunct')){
						goodsGrpMap.setImg(e[i]);
				}
			}
			goodsGrpMap.c(e[j]);
	},

	price:{/*{{{*/
		base:0,
		adjunct:0,
		market:0,
		oPrice:function(obj){
			return obj.parentNode.nextSibling.nextSibling.firstChild.nextSibling.nextSibling;
		},
		oInput:function(obj){
			return obj.parentNode.nextSibling;
		},
		add:function(obj){
			if(Number(obj.previousSibling.value) < goodsGrpMap.price.oInput(obj).getAttribute('maxnum')){
				obj.previousSibling.value = Number(obj.previousSibling.value)+1;
				goodsGrpMap.price.oPrice(obj).innerHTML = (goodsGrpMap.price.oInput(obj).getAttribute('price') * Number(obj.previousSibling.value)).toFixed(2);
				goodsGrpMap.price.rePrice();
			}
			obj.previousSibling.focus();
		},
		subtraction:function(obj){
			if(Number(obj.nextSibling.value) > ((goodsGrpMap.price.oInput(obj).getAttribute('minnum') > 0)?goodsGrpMap.price.oInput(obj).getAttribute('minnum'):0)){
				obj.nextSibling.value = Number(obj.nextSibling.value)-1;
				goodsGrpMap.price.oPrice(obj).innerHTML = (goodsGrpMap.price.oInput(obj).getAttribute('price') * Number(obj.nextSibling.value)).toFixed(2);				
				goodsGrpMap.price.rePrice();
			}
			obj.nextSibling.focus();
		},
		change:function(obj){
			if(obj.value>goodsGrpMap.price.oInput(obj).getAttribute('maxnum')){
				obj.value=goodsGrpMap.price.oInput(obj).getAttribute('maxnum');
			}else if(obj.value<goodsGrpMap.price.oInput(obj).getAttribute('minnum')){
				obj.value=goodsGrpMap.price.oInput(obj).getAttribute('minnum');
			}
		},
		rePrice:function(obj,p){

			var e =  document.getElementsByTagName('input');
			var p_adj =0;
			for(var i=0;i<e.length;i++){
				if(e[i].getAttribute('adjunct')){
						if(e[i].checked || e[i].type=='hidden'){
							p_adj+=Number(e[i].nextSibling.firstChild.nextSibling.nextSibling.innerHTML);
						}
				}
			}
			var e =  document.getElementsByTagName('select');
			for(var i=0;i<e.length;i++){
				if(e[i].getAttribute('adjunct')){
					p_adj+=Number(e[i].childNodes[e[i].selectedIndex].getAttribute('price'));
				}
			}
			document.getElementById('newprice').innerHTML=(goodsGrpMap.price.base + p_adj).toFixed(2);
			document.getElementById('FORM_GOODS_PRICE').value=(goodsGrpMap.price.base + p_adj).toFixed(2);
			//document.getElementById('mktprice').innerHTML=(goodsGrpMap.price.market + p_adj).toFixed(2);
			//if(document.getElementById('save_price'))document.getElementById('save_price').innerHTML=(goodsGrpMap.price.market - goodsGrpMap.price.base)>0?(goodsGrpMap.price.market - goodsGrpMap.price.base).toFixed(2):0;
		}
	}/*}}}*/
	
};

