//global var
//3种状态样式
var optional_class="box-color";
var block_class="block-color";
var selected_class="selected-color";
//undeterminedAttributes存储未选属性,
var undeterminedAttributes="";
var productVariationAttributes=new Array();
var productVariationAttributeNames=new Array();
var productVariations=new Array();
var productVariationOptions=new Array();
var inited=false;
function variationChangeAction(in_attributeId,in_attributeOptionId,init){
	//防止未初始就选择
	if(!init){
		if(!inited){
			return;
		}
	}
	var selected_productVariationAttributeItem=$("div_"+in_attributeId+"_"+in_attributeOptionId);
	var selected_optionValue=$("option_value_"+in_attributeId).value;
	if(selected_productVariationAttributeItem.className==optional_class){//点击可选择
		$("div_"+in_attributeId+"_"+in_attributeOptionId).className=selected_class;
		$("option_value_"+in_attributeId).value=in_attributeOptionId;
		if(selected_optionValue!=""){//将本属性原已选择的,去掉,转为optional_class可选择状态
			$("div_"+in_attributeId+"_"+selected_optionValue).className=optional_class;
		}
	}else if(selected_productVariationAttributeItem.className==selected_class){//选择已选择,即去除当前已选择状态,恢复为可选状态
		$("div_"+in_attributeId+"_"+in_attributeOptionId).className=optional_class;
		$("option_value_"+in_attributeId).value="";
	}else{//点击block_class状态的,不作任务处理
		return;
	}
	var div_productVariationAttributes=document.getElementById("productVaritionAttributes");
	var div_productVariationAttributeItems=div_productVariationAttributes.getElementsByTagName("div");
	for (var i = 0; i < div_productVariationAttributeItems.length; i++) {
		var div_productVariationAttributeItem = div_productVariationAttributeItems[i];
		var productVariationAttributeTempId = div_productVariationAttributeItem.id;
		if (productVariationAttributeTempId.indexOf("div_") != -1) {
			var tempAttributeId=productVariationAttributeTempId.substring(productVariationAttributeTempId.indexOf("_")+1,productVariationAttributeTempId.lastIndexOf("_"));
			//非当前点击属性的其他属性的可选项全转为不可选状态block_class
			if(tempAttributeId != in_attributeId&&div_productVariationAttributeItem.className==optional_class){
				div_productVariationAttributeItem.className=block_class;
			}
		}
	}
	//selectedOptionIds获取所有选项已选定的Id
	var selectedOptionIds=new Array();
	//undeterminedAttributes存储未选属性,
	undeterminedAttributes="";
	for(var i=0;i<productVariationAttributes.length;i++){
		var optionValue=$("option_value_"+productVariationAttributes[i]).value;
		selectedOptionIds.push(optionValue);
		if(optionValue==""){
			undeterminedAttributes=undeterminedAttributes+productVariationAttributeNames[i]+","
		}
	}
	//tempProductVariations保存可能产生的productVariation(组合可能产生的)
	var tempProductVariations=new Array();
	for(var i=0;i<productVariations.length;i++){
		var flag=true;
		for(var j=0;j<selectedOptionIds.length;j++){
			flag=(selectedOptionIds[j]==""||selectedOptionIds[j]==productVariations[i][j]);
			if(!flag){
				break;
			}
		}
		if(flag){
			//todo可优化,消除重复
			tempProductVariations.push(productVariations[i]);
		}
	}
	//更新属性状态,转为可选
	for(var i=0;i<tempProductVariations.length;i++){
		for(var j=0;j<productVariationAttributes.length;j++){
			var attributeId=productVariationAttributes[j];
			var optionId=tempProductVariations[i][j];
			if($("div_"+attributeId+"_"+optionId).className==block_class){
				$("div_"+attributeId+"_"+optionId).className=optional_class;
			}
		}
	}
	///更新单个属性选项(将已选定其他选项转为可选)
	var tempProductVariations2=new Array();
	for (var j = 0; j < selectedOptionIds.length; j++) {
		for (var i = 0; i < productVariations.length; i++) {
			if(selectedOptionIds[j]==""){
				break;
			}
			var flag=true;
			for (var k = 0; k < selectedOptionIds.length; k++) {
				flag=(selectedOptionIds[k]==""||selectedOptionIds[k]==productVariations[i][k]||selectedOptionIds[j]==selectedOptionIds[k]);
				if(!flag){
					break;
				}
			}
			if(flag){
			//todo可优化,消除重复
				tempProductVariations2.push(productVariations[i]);
			}
		}
	}
	//更新属性状态,转为可选(只更新已选定的属性)
	for(var i=0;i<tempProductVariations2.length;i++){
		for(var j=0;j<productVariationAttributes.length;j++){
			var attributeId=productVariationAttributes[j];
			var optionId=tempProductVariations2[i][j];
			var optionValue=$("option_value_"+attributeId).value;
			if(optionValue!=""&&$("div_"+attributeId+"_"+optionId).className==block_class){
				$("div_"+attributeId+"_"+optionId).className=optional_class;
			}
		}
	}
	if(undeterminedAttributes!=""){
		undeterminedAttributes=undeterminedAttributes.substring(0,undeterminedAttributes.length-1);
		$("productCode_AddToCat").value="";
		return ;
	}
	//获取相应的productVariation,更新页面信息
	var selectedProductVariation=null;
	for(var i=0;i<productVariations.length;i++){
		flag=true;
		for(var j=0;j<selectedOptionIds.length;j++){
			flag=(selectedOptionIds[j]==productVariations[i][j]);
			if(!flag){
				break;
			}
		}
		if(flag){
			selectedProductVariation=productVariations[i][selectedOptionIds.length];
			break;
		}
	}
	if(selectedProductVariation){
		//log("selected Product Variation:"+selectedProductVariation);
		changeProduct(selectedProductVariation);
	}else{
		log("没有相应的productVariation,暂时不存在(必须所有属性已选)");
	}
}
/*页面设置相应值*/
function changeProduct(productVariation){
	$("productCode_AddToCat").value=productVariation.productCode;
	$("productCodeSpan").innerHTML=productVariation.productCode;
	$("productStockSpan").innerHTML=productVariation.stockQty;
	var tmpPrice=productVariation.price+"";
    tmpPrice=tmpPrice.indexOf(".")!=-1? tmpPrice: productVariation.price+".00";  	 
    $("priceSpan").innerHTML=__defaultCurrencySymbol+tmpPrice;
    if(productVariation.normalImageUrl){
   		lastdotindex=productVariation.normalImageUrl.lastIndexOf(".");
    	//当前变种的标准图URL
		productVariationSPUrl=__mediaPath+productVariation.normalImageUrl.substring(0,lastdotindex)+"_md"+productVariation.normalImageUrl.slice(lastdotindex);
   		$("IMG_DIV").src=productVariationSPUrl;
    }
}
