var goodsGrpMap = {
	current:[],
	lang:{},
	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){
						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(){

			var currentProp=[];

			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') && e[i].type=='radio'){
					if(currentProp[e[i].value]){
						goodsGrpMap.setImg(e[i]);
						e[i].checked = true;
						var 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++;
					}
				}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();
		},
		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){
							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);
			document.getElementById('save_price').innerHTML=(goodsGrpMap.price.market - goodsGrpMap.price.base)>0?(goodsGrpMap.price.market - goodsGrpMap.price.base).toFixed(2):0;
		}
	}/*}}}*/
	
};
