﻿    function is_number(str)  
	{   
	if(isNaN(str))
	{
	return false;
	} 
	return true;
	}

     
    //清空空格
    
     function is_trim(st)
     { 
           return st.replace(/(^\s*)|(\s*$)/g, ""); 
     }
        // 替换回车换行符 
        
      function formatStr(str)
    { 
       str = str.replace("<", "&lt;");
        str = str.replace(">", "&gt;");
        str=str.replace(/\r\n/ig,"<br/>");
       
        return str;
    }
 
 function Product_add_card()
 {
    var str_pid=document.getElementById("Hidden_product_id").value;
    var str_pid_num=document.getElementById("Product_num").value;
    var txt_option=document.getElementById("Product_option");
    var str_option="";
    var is_error=true;
     if (txt_option!=null)
     {
          str_option=txt_option.value;
         if (str_option=="")
         {
            is_error=false;
              alert("Please select the parameter!");
         }
       
     }
     
     if (parseInt(str_pid_num)==0)
     {
       is_error=false;
     }
     
    if (is_error)
    {

        addToBasketN(str_pid,str_pid_num,str_option);
   
    }
   
 }
 function Product_txt_card(str)
 {
  if (str!=null)
  {
 
      document.getElementById("Shopping_cart").innerHTML=str.value.split("{<[*]>}")[0];
      document.getElementById("product_cart_price").innerHTML=str.value.split("{<[*]>}")[1];
  }

 	
 }
 

 
 
  var patterns = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; 
  
 function error_review()
 {
      var is_Email=true;
      var txt_review_email=is_trim(document.getElementById("Input_review_email").value);
      var txt_Content_review=is_trim(document.getElementById("Input_Content_review").value);
      var str_pid=document.getElementById("Hidden_product_id").value;
      var error_review_str="";
      if (txt_review_email=="")
      {
        
        is_Email=false;
        error_review_str+="* Email can not be empty.<br>";
      }
      else
      {
             if(!patterns.test(txt_review_email))
             {
             
               is_Email=false;
                 error_review_str+="* Email entry error.<br>";
           
             }
         
      }
      
      if (txt_Content_review=="")
      {
         
         is_Email=false;
           error_review_str+="* Content can not be empty.<br>";
       
      }
    
      
     if (is_Email)
     {
     //ftgh
         review_product_show();
       ProductAjax.review_add(str_pid,txt_review_email,formatStr(txt_Content_review),review_info);
          var leave_error_txt=document.getElementById("leave_error");
            leave_error_txt.className="error_1";
         leave_error_txt.innerHTML="* Post the success of."; 
     }
     else
     {
          var leave_error_txt=document.getElementById("leave_error");
            leave_error_txt.className="error_2";
         leave_error_txt.innerHTML=error_review_str; 
      }
 	
 }
 
 function review_info(str)
 {
     
     if (str!=null)
     {
       document.getElementById("Product_Review").innerHTML=str.value;
       document.getElementById("Input_review_email").value="";
       document.getElementById("Input_Content_review").value="";
       document.getElementById("span_review_email").innerHTML="";
        document.getElementById("span_Content_review").innerHTML="";
     }	
     product_Review();
 }
  
 function _question()
 {
    if(document.getElementById("product_question").style.display=="block")
    {
     document.getElementById("product_question").style.display="none";
    } 
    else
    {
 	document.getElementById("product_question").style.display="block";
 	}
 }
 
 
 
 var flyingSpeed = 15;
var shopping_cart_div = false;
var flyingDiv = false;
var currentProductDiv = false;

var shopping_cart_x = false;
var shopping_cart_y = false;

var slide_xFactor = false;
var slide_yFactor = false;

var fly_diffX = false;
var fly_diffY = false;

var currentXPos = false;
var currentYPos = false; 
 function addToBasketN(productId,str_pid_num,str_option)
{
    
//	debugger
 
	if(!shopping_cart_div)shopping_cart_div = document.getElementById("cart_products");
	if(!flyingDiv){
		flyingDiv = document.createElement('DIV');
		flyingDiv.style.position = 'absolute';
		document.body.appendChild(flyingDiv);
	}
	
	shopping_cart_x = shoppingCart_getLeftPos(shopping_cart_div);
	shopping_cart_y = shoppingCart_getTopPos(shopping_cart_div);

	currentProductDiv = document.getElementById('product_img_image');
	
	currentXPos = shoppingCart_getLeftPos(currentProductDiv);
	currentYPos = shoppingCart_getTopPos(currentProductDiv);
	
	fly_diffX = shopping_cart_x - currentXPos;
	fly_diffY = shopping_cart_y - currentYPos;
	

	
	var shoppingContentCopy = currentProductDiv.cloneNode(true);
	shoppingContentCopy.id='';
	flyingDiv.innerHTML = '';
	flyingDiv.style.left = currentXPos + 'px';
	flyingDiv.style.top = currentYPos + 'px';
	flyingDiv.appendChild(shoppingContentCopy);
	flyingDiv.style.display='block';
	flyingDiv.style.width = currentProductDiv.offsetWidth + 'px';
	 flyToBasketN(productId,str_pid_num,str_option);	
}
   
 function flyToBasketN(productId,str_pid_num,str_option)
{

	var maxDiff = Math.max(Math.abs(fly_diffX),Math.abs(fly_diffY));
	var moveX = (fly_diffX / maxDiff) * flyingSpeed;
	var moveY = (fly_diffY/ maxDiff) * flyingSpeed;
	var startZoom=1;
	var endZoom=0.1;
	
	currentXPos = currentXPos + moveX;
	currentYPos = currentYPos + moveY ;
	
	flyingDiv.style.left = Math.round(currentXPos) + 'px';
	flyingDiv.style.top = Math.round(currentYPos) + 'px';
	if(!flyingDiv.style.zoom){
		flyingDiv.style.zoom = startZoom;
	}else{
		flyingDiv.style.zoom = (flyingDiv.style.zoom -endZoom)*0.95+endZoom;
	}
	
	
	if(moveX>0 && currentXPos > shopping_cart_x){
		flyingDiv.style.display='none';		
	}
	if(moveX<0 && currentXPos < shopping_cart_x){
		flyingDiv.style.display='none';		
	}
	
	if(flyingDiv.style.display=='block'){
		setTimeout("flyToBasketN('" + productId + "','"+str_pid_num+"','"+str_option+"')",10);
	} 
	else
	{
	 ProductAjax.add_card(productId,str_pid_num,str_option,Product_txt_card)
 
	
	}
 
}

 
 function shoppingCart_getTopPos(inputObj)
{
      var returnValue = inputObj.offsetTop;
      while((inputObj = inputObj.offsetParent) != null){
  	    if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
      }
      return returnValue;
}

function shoppingCart_getLeftPos(inputObj)
{
      var returnValue = inputObj.offsetLeft;
      while((inputObj = inputObj.offsetParent) != null){
  	    if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
      }
      return returnValue;
}
 
 
 
 function check_question()
 {
    var txt_question=document.getElementById("TB_question_content").value.replace(/(^\s*)|(\s*$)/g, "");
    var txt_question_email=document.getElementById("TB_question_email").value.replace(/(^\s*)|(\s*$)/g, "");
    var str_txt_question_error="";
    var is_error=true;
    if (txt_question=="")
    {
      
          is_error=false;
          str_txt_question_error+="* Content can not be empty.<br>";
    }
   
    
    if (txt_question_email=="")
    {
    
          is_error=false;
           str_txt_question_error+="* Email can not be empty.<br>";
    }
    else
    {
    
           if(!patterns.test(txt_question_email))
             {
           
               is_error=false;
                str_txt_question_error+="* Email entry error.<br>";
           
             }
       
     } 
   
   if (is_error) {
   
        var p_name=document.getElementById("product_name").innerHTML;
       ProductAjax.send_leave("Inquiry about "+p_name,formatStr(txt_question),txt_question_email)  ;
       document.getElementById("span_question_email").innerHTML="";
      document.getElementById("span_question_content").innerHTML="";
      document.getElementById("TB_question_content").value="";
      document.getElementById("TB_question_email").value="";
      _question();
         var leave_error_txt_q=document.getElementById("product_question_error");
            leave_error_txt_q.className="";
         leave_error_txt_q.innerHTML=""; 
      
   }
   else
   {
       var leave_error_txt_q=document.getElementById("product_question_error");
         leave_error_txt_q.className="error_2";
         leave_error_txt_q.innerHTML=str_txt_question_error; 
   } 
   
   
   
 } 
 
 
 
 
 
  function compute_numberSubtract()
 {
   var numberSubtract=document.getElementById("Product_num");
   if(is_trim(numberSubtract.value)=="")
   {
      numberSubtract.value=1;
   }
   else
   {
      if(!is_number(numberSubtract.value))
      {
          numberSubtract.value=1;
      }
      else
      {
         if(parseInt(is_trim(numberSubtract.value))<2)
         {
          numberSubtract.value=1;
         }
         else
         {
          numberSubtract.value=parseInt(is_trim(numberSubtract.value))-1;
         }
      }
   }
   
 }
 
 
  function compute_numberSum()
 {
   var numberSubtract=document.getElementById("Product_num");
   if(is_trim(numberSubtract.value)=="")
   {
      numberSubtract.value=1;
   }
   else
   {
      if(!is_number(numberSubtract.value))
      {
          numberSubtract.value=1;
      }
      else
      {
         if(parseInt(is_trim(numberSubtract.value))<0)
         {
          numberSubtract.value=1;
         }
         else
         {
          numberSubtract.value=parseInt(is_trim(numberSubtract.value))+1;
         }
      }
   }
   
 }
 
 
 
 function review_product_close()
 {
   document.getElementById("review_product").style.display="none";
 }
 
 
 
  function review_product_show()
 {
   document.getElementById("review_product").style.display="block";
 }
 
 
 
 
 
 function checktext(text) 
{ 
    allValid = true; 
    for (i = 0; i < text.length; i++) 
    { 
    if (text.charAt(i) != " ") 
    { 
    allValid = false; 
    break; 
    } 
    } 
    return allValid; 
} 

function gbcount(message,total,used) 
{ 
    var max; 
    max = document.getElementById(total).value; 
    if (document.getElementById(message).value.length > max) { 
    document.getElementById(message).value = document.getElementById(message).value.substring(0,max); 
    document.getElementById(used).value = max; 
     
    } 
    else { 
    document.getElementById(used).value = document.getElementById(message).value.length; 
     
    } 
} 










 
 
 
