function addToWishList(){
	doRequiredLoginAction(function(){
		$import(["/scripts/ecom/catalog/wishlist.js","/scripts/ecom/myaccount/wishlistSelector.js","/dwr/interface/wishlistManager.js"],function(){
		WishlistSelector.showDlg();
		});
	});
}
var dlgemailYourFriend=null;
function emailYourFriedsAction(){
	$importDwr(function(){
		if (dlgemailYourFriend==null){
			dlgemailYourFriend = fnCreateSimpleDialog("EmailYourFriend",__FMT.send_friend,null,{
			dialogWidth:"580px",
			dialogHeight:"300px"
			});
		}
		dlgemailYourFriend.showDialog(__ctxPath+"/catalog/emailYourFried.html?decorator=selecter&productId="+$("productId").value+"&categoryId="+$("categoryId").value);
	});
}
function sendYourFriendAction(form){
	if(validateEmailYourFriedsForm(form)){
		$importDwr(function(){
			$importSync("/dwr/interface/productFrontDwr.js");
			var emailYourFriendCmd={recipientName:$("recipientName").value,recipientEmail:$("recipientEmail").value,sendEmail:$("sendEmail").value,sendName:$("sendName").value,message:$("message").value,linkUrl:$("linkUrl").value,productName:$("productName").value,productId:$("productId").value};            
			productFrontDwr.createEmailToFriend(emailYourFriendCmd,doSendYourFriendAction);     
		});
	}
}
function doSendYourFriendAction(data){
	if(data){
		alert(__FMT.product_emailYourFriendHint); 
	if (dlgemailYourFriend!=null) 
		dlgemailYourFriend.closeDialog();         
	}else{
		alert(__FMT.product_emailYourFriendErr); 
	if (dlgemailYourFriend!=null) 
		dlgemailYourFriend.closeDialog();    
	}
}
function validateEmailYourFriedsForm(form){
	if(__fnIsEmptyOrOverMaxLength(form.recipientName,__FMT.emailYourFriend_recipientName_isRequired)){
	}else if(__fnIsEmptyOrOverMaxLength(form.recipientEmail,__FMT.emailYourFriend_recipientEmail_isRequired)){
	}else if(__fnIsErrorEmail(form.recipientEmail,__FMT.emailYourFriend_emailformat_err)){
	}else if(__fnIsEmptyOrOverMaxLength(form.sendName,__FMT.emailYourFriend_sendName_isRequired)){
	}else if(__fnIsEmptyOrOverMaxLength(form.sendEmail,__FMT.emailYourFriend_sendEmail_isRequired)){
	}else if(__fnIsErrorEmail(form.sendEmail,__FMT.emailYourFriend_emailformat_err)){
	}else{
	return true;
	}
	return false;
}

var dlgFeedBack=null;
function addFeedBackAction(){
	doRequiredLoginAction(function(){
		if (dlgFeedBack==null)
		{
			dlgFeedBack= fnCreateSimpleDialog("FeedBack",__FMT.feed_kui,null,{
			dialogWidth:"480px",
			dialogHeight:"300px"
			});
		}
		dlgFeedBack.showDialog(__ctxPath+"/catalog/feedback.html?decorator=selecter&productId="+$("productId").value);
	});
} 
function doFeedbackAction(form){
	var customerId=getCurrentUserId();            
	if(validateFeedbackForm(form)){
		$importSync("/dwr/interface/feedbackDwr.js");
		var feedback={subject:$("feedback_subject").value,content:form.content.value,productId:$("productId").value,appuserId:customerId,email:$("email").value,replyType:$("replyType").value,status:0,threadId:0,feedbackType:$("feedbackType").value};          
		feedbackDwr.saveFeedbackAction(feedback,doAfterSaveFeedbackAction) 
	}
}
function doAfterSaveFeedbackAction(data){
    if(data){
        alert(__FMT.product_feedback_add_success);
        if (dlgFeedBack!=null)
        	dlgFeedBack.closeDialog();
    }else{
        alert(__FMT.product_feedback_add_unsuccess);   
        if (dlgFeedBack!=null)
        	dlgFeedBack.closeDialog();
    }
}
function validateFeedbackForm(form){
	if(__fnIsEmptyOrOverMaxLength(form.feedback_subject,__FMT.product_feedback_subject_isRequired)){
	}else if(__fnIsEmptyOrOverMaxLength(form.content,__FMT.product_feedback_content_isRequired)){
	}else{
		return true;
	}
	return false;
}
    
function printProduct(){
	var strurl = document.location.href;
	window.open(strurl+"?printable=true");
}
  
var dlgReview=null;   
function addReviewAction(isAllowAnonymousReview){
	var __addReview=function(){
		var customerId=getCurrentUserId();
		if (dlgReview ==null){
				dlgReview = fnCreateSimpleDialog("Review",__FMT.add_Review,null,{
				dialogWidth:"520px",
				dialogHeight:"350px"
				});
		}
		dlgReview.showDialog(__ctxPath+"/review/productReview.html?productId="+$("productId").value+"&decorator=selecter");
	}
	if(isAllowAnonymousReview){
		__addReview.call();
	}else{
		doRequiredLoginAction(__addReview);
	}
}
    
function doReviewAction(form){   
	if(!validateProductRating(form)){
		alert(__FMT.productView_allRatingItem_isRquired);
		return false;
	}
	if(validateProductReviewForm(form)){
		$importDwr(function(){
			$importSync("/dwr/interface/productReviewDwr.js");
			var attrRates=getAttrRates(form);
			productReviewDwr.saveProductReview($("productId").value,$("subject").value,$("message").value,$("productReview_username").value,$("rate_0").value,attrRates,fndoReviewAction);
		});
	}
}
function getAttrRates(form){
	var attrRates=new Array();
	var inputs=form.getElementsByTagName("input");
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].name.indexOf("rate_")!=-1){
			var attrRate=inputs[i].name;
			attrRate=attrRate.substring(5,attrRate.length);
			if(attrRate==0){
				continue;
			}
			attrRate=attrRate+"_"+inputs[i].value;
			attrRates.push(attrRate);
		}
	}
	return attrRates;
}
    
function fndoReviewAction(data){
	alert(__FMT.product_addReview_success);
	if (dlgReview!=null)
		dlgReview.closeDialog();
	fnGetProductReviewList($("productId").value);
}
	
function fnGetProductReviewList(productId){
	var url=__ctxPath+'/review/productReview.html';
	var pars='doAction=showProductReviews&decorator=selecter&productId='+productId;
	fillDivWithPage("tab_content_3", url, pars, null, "get", true);
}

function validateProductReviewForm(form){
	if(! validateProductRating(form)){
		alert(__FMT.productView_allRatingItem_isRquired);
	}else if(__fnIsEmptyOrOverMaxLength(form.subject,__FMT.productReview_subject_required,128,__FMT.productReview_subject_maxlength)){
	}else if(__fnIsEmptyOrOverMaxLength(form.message,__FMT.productReview_message_required,1024,__FMT.productReview_message_maxlength)){
	}else if(__fnIsEmptyOrOverMaxLength(form.productReview_username,__FMT.productReview_username_required)){
	}else {
		return true;
	}
	return false;
}
	
function validateProductRating(form){
	var flag=true;
	var el=form.elements;
	if(el!=null&&el.length>0){
		var len=el.length;
		for(var t=0;t<len;t++){
			var e=el[t];
			if(e.type=="hidden"&&e.name!=""&&e.name.indexOf("rate_")!=-1){
				var rateValue=e.value;
				if(rateValue==null||rateValue==""){
					flag=false;
					break;
				}
			}
		}
	}
	return flag;
}
     
   
function fnChooseStar(flag, index){
	$("rate_"+flag).value=index;
	$("star_"+flag).innerHTML=index;  
	var star=$("rate_"+flag).value;
	for (var i = 1; i <= 5; i++){
		if (i <= star)
			$("star_"+flag+'_'+i).src=__ctxPath+"/images/img/stars_4.gif";
		else
			$("star_"+flag+'_'+i).src=__ctxPath+"/images/img/stars_0.gif";
	}
}
function fnVote(reviewId, voteFlag){
	doRequiredLoginAction(function(){
		if (!isLoginedAtServer()){
			window.location.reload();
			return;
		}
		$importSync("/dwr/interface/productReviewDwr.js");
		productReviewDwr.voteReview(reviewId, voteFlag, 
			function($data){
				if ($data == 1){
					var info = $('info_'+reviewId);
					removeClass(info,"cRed");
					addClass(info,"cGreen");
					info.innerHTML=__FMT.productReview_voteSuccess;
				}else if ($data == 2){
					var info = $('info_'+reviewId);
					addClass(info,"cGreen");
					removeClass(info,"cRed");
					info.innerHTML=__FMT.productReview_isVoted;
				}else if ($data == 3){
					var info = $('info_'+reviewId);
					removeClass(info,"cGreen");
					addClass(info,"cRed");
					info.innerHTML=__FMT.productReview_isSelfReview;
				}
		}); 
	});
}

function fnGetProductJSONData(){
	var paramData="productId=106";
	getJSON("/catalog/products.html?doAction=productJSONData",paramData,fnGetProductJSONDataHandler);
}
var jsonProduct=null;
function fnGetProductJSONDataHandler(product){
	jsonProduct=product;
	$("productStockSpan").innerHTML=jsonProduct.defaultProductSku.inventory.availableQuantity;
}
function fnGetSelectedCheckBoxValues(checkBoxName){
	var accessoriesCodes=new Array();
	var temp_checkBoxInputs=document.getElementsByName(checkBoxName);
	if(temp_checkBoxInputs){
		for(var i=0;i<temp_checkBoxInputs.length;i++){
			if(temp_checkBoxInputs[i].checked){
				accessoriesCodes.push(temp_checkBoxInputs[i].value);
			}
		}
	}
	return accessoriesCodes.join(",");
}
function __fnIsEmptyOrOverMaxLength(input,msg,maxLength,msg2){
	if(input.value==null||input.value.trim()==""){
		alert(msg);
		input.focus();
		return true;
	}else if(maxLength&&msg2){
		return __fnIsOverMaxLength(input,maxLength,msg2);
	}
	return false;
}
function __fnIsOverMaxLength(input,maxLength,msg){
	if(input.value.length>maxLength){
		alert(msg);
		input.focus();
		return true;
	}
	return false;
}
function __fnIsErrorEmail(input,msg){
	if(!fnValidateEmail(input)){
		alert(msg);
		input.focus();
		return true;
	}
	return false;
}