var site_url ="http://www.bodyvibe.com/";
var siteUrl ="http://www.bodyvibe.com/";

var TransAct = {

            process: function(){

		  var masLoop   = parseInt(document.getElementById('masterLoops').value);
		  var loop=0;
		  var indexer=0;
                   var dataString = new Array();

		  for(loop=0;loop<masLoop;loop++){

		     var detailLoop = parseInt(document.getElementById('detailLooper_'+loop).value);
			 var looper=0;
                        

				  for(looper=0;looper<detailLoop;looper++){

                                       var colorID = document.getElementById('colors_'+loop+'_'+looper).value;
                                       var prodID   = document.getElementById('prod_id_'+loop+'_'+looper).value;
                                       var disPrice = parseFloat(document.getElementById('realPrice_'+loop+'_'+looper).innerHTML.replace('$',''));
                                       var Quan     = parseInt(document.getElementById('txtQuantity_'+loop+'_'+looper).value);

                                       dataString[indexer] = colorID+'---'+prodID+'---'+disPrice+'---'+Quan;
                                       indexer++;
				  }

		  }
                 var subTotal = parseFloat(document.getElementById('product_total').innerHTML.replace('$',''));
                 
                 //data string
                 document.getElementById('floatdiv').style.display="block";
                 document.getElementById('floatdiv').innerHTML="<img style='margin-top: 80px' src='../images/productSaver.gif' /> <div style='font-size: 12px; color: #000000; letter-spacing: 1px; font-weight: bold;'> Getting Shoppingcart Summary .... </div>";

                 tosubmitInfo(dataString,subTotal);


          },
          
          HideCartMessage: function (){
              
              document.getElementById('floatdiv').style.display="none";

              var masLoop   = parseInt(document.getElementById('masterLoops').value);
	      var loop=0;
	      var totals=0.00;

		  for(loop=0;loop<masLoop;loop++){

		     var detailLoop = parseInt(document.getElementById('detailLooper_'+loop).value);
			 var looper=0;

		               for(looper=0;looper<detailLoop;looper++){

                                     //returning the original entries
                                       document.getElementById('realPrice_'+loop+'_'+looper).innerHTML = '$'+document.getElementById('idealPrice_'+loop+'_'+looper).value;
                                       document.getElementById('txtQuantity_'+loop+'_'+looper).value = 0;
                                        document.getElementById('totalItem_'+loop+'_'+looper).innerHTML = "$0.00";
				  }


		  }

                document.getElementById('product_total').innerHTML = "$0.00";

          },
          
          toShoppingCart: function(){
          
            this.HideCartMessage();
            window.location="https://www.bodyvibe.com/shoppingcart";

          }

  };
var submitProcess = getHTTPObject(); // We create the HTTP Object
/* ----------------------------------------------------------------------------------  AJAX SIDE */
       function process_productSubmission()
          {
             if(submitProcess.readyState == 4)
                {
                   if(submitProcess.status==200)
                      {
                             document.getElementById('floatdiv').innerHTML = submitProcess.responseText;
                      }
               }

           }

        function tosubmitInfo(dataSource,subTotal)
          {
              site_url = "http://www.bodyvibe.com/";

	      submitProcess.open("GET",site_url+"includes/processProductDetailCal.php?dataSource="+dataSource+"&subTotal="+subTotal, true);
              submitProcess.onreadystatechange = process_productSubmission;
              submitProcess.send(null);
          }

var Detail = {

		   oldValue:0.00,
		   apply_oldValue:0.00,
                   activeQuan: 0,
                   setRows1:0,
                   setRows2:0,
                   currentItem:'',
                   fieldEntryActivator:0,
                   
                   rowSetter: function (rows1,rows2){

                      Detail.setRows1 = rows1;
                      Detail.setRows2 = rows2;

                    },
                   ReturnData: function(obj){



                    },
                   ActiveItem: function(obj){

                      if (obj.value=='0' || obj.value==0){

                          obj.value='';
                      }

                   },
                   InactiveItem: function(obj){

                      if (isNaN(obj.value)){

                          obj.value=0;
                      }

                   },
		   displayList: function(loop){

		      if(document.getElementById('gaugeDetailInfo_'+loop).style.display=="" || document.getElementById('gaugeDetailInfo_'+loop).style.display=="none")
			      {
				    document.getElementById('gaugeDetailInfo_'+loop).style.display="block";
					document.getElementById('director_'+loop).innerHTML=document.getElementById('arrowDown').innerHTML;
				  }
			  else
			      {
				    document.getElementById('gaugeDetailInfo_'+loop).style.display="none";
					document.getElementById('director_'+loop).innerHTML=document.getElementById('arrowUp').innerHTML;
				  }
			 	  
		   },
		   
		   calculateItem: function(obj,loop,looper){
		   
                            var QuanVal = 0;

                             if( parseInt(obj.value) <= 0 || isNaN(obj.value) )
                                    {
                                      
                                      QuanVal = 0;
                                      alert(obj.value);
                                      
                                    }
                             else
                                  QuanVal = parseInt(obj.value);


                             if(QuanVal=='NaN')
                                 QuanVal =0;


        						  var disChartMode = document.getElementById('discountChart_'+loop+'_'+looper).value;
        						  var realPrice    = parseFloat(document.getElementById('idealPrice_'+loop+'_'+looper).value);
        						  var itemTotal =0.00;

        						  if(disChartMode=='inactive')
        						    var discountPrice = 0;
                                                          else
                                                            {
                                                              var disPer =  parseFloat(Detail.getDisPercentage(disChartMode,QuanVal)).toFixed(2);
                                                              var discountPrice = parseFloat(realPrice * parseFloat(disPer));
                                                            }

        						  itemTotal = parseFloat((realPrice - discountPrice) * parseInt(QuanVal)).toFixed(2);

        						  document.getElementById('realPrice_'+loop+'_'+looper).innerHTML = "$"+parseFloat(realPrice - discountPrice).toFixed(2);
        						  document.getElementById('totalItem_'+loop+'_'+looper).innerHTML = "$"+parseFloat(itemTotal).toFixed(2);

                                                          this.masterSource();


		   },
		   
		   setCurrentItem : function(obj){
		   
		     this.oldValue = obj.value;
		     this.currentItem = obj;

		   },
		   
		   getDisPercentage: function(disChartMode,itemProd){
		   
		       if(disChartMode=='inactive')
			       return 1;
			   else
			       {
				     
					   if(itemProd > 0 && itemProd < 3 )
					       return 0.00;
					   
					   if(itemProd > 2 && itemProd < 6 )
					       return .15;
						   
					   if(itemProd > 5 && itemProd < 12 ) 	   	   
					       return .25;
					
					   if(itemProd > 11 ) 	  	  
					      return .35;

				   
				   }
			   
		   },
		   getOldValue: function(){
		   
		   return this.oldValue;
		   },

		   checkEnter: function(e){
                   

                        var characterCode;

                        if(e && e.which){ //if which property of event object is supported (NN4)
                        e = e
                        characterCode = e.which //character code is contained in NN4's which property
                        }
                        else{
                        e = event
                        characterCode = e.keyCode //character code is contained in IE's keyCode property
                        }
    

                          if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
                                  
                                  if (parseInt(document.getElementById('txt_ApplyAll').value)  < 1){
                                        alert("Invalid Entry");
                                        return false;
                                  }
                                  else
                                     {
                                       Detail.applyAll(); //submit the form
                                     }

                          return false
                          }
                          else{ return true }


                   },
		   checkEnterField: function(e){


                        var characterCode;

                        if(e && e.which){ //if which property of event object is supported (NN4)
                        e = e
                        characterCode = e.which //character code is contained in NN4's which property
                        }
                        else{
                        e = event
                        characterCode = e.keyCode //character code is contained in IE's keyCode property
                        }


                          if(characterCode == 13) //if generated character code is equal to ascii 13 (if enter key)
                                Detail.Recalculate();
                                //Detail.calculateItem(this.currentItem,this.setRows1,this.setRows2);

                        return false;


                   },
                   
                   Recalculate: function (){

					  var masLoop   = parseInt(document.getElementById('masterLoops').value);
					  var loop=0;
					  var totals=0.00;


					  for(loop=0;loop<masLoop;loop++){

		  				          document.getElementById('director_'+loop).innerHTML = document.getElementById('arrowDown').innerHTML;
							  document.getElementById('gaugeDetailInfo_'+loop).style.display='block';

							  var detailLoop = parseInt(document.getElementById('detailLooper_'+loop).value);
							  var looper=0;

							for(looper=0;looper<detailLoop;looper++){


								 var obj = document.getElementById('txtQuantity_'+loop+'_'+looper);


								if(parseInt(obj.value) >= 0 || !isNaN(obj.value) )
                                                                  {


                                                                    var disChartMode = document.getElementById('discountChart_'+loop+'_'+looper).value;
								    var realPrice    = parseFloat(document.getElementById('idealPrice_'+loop+'_'+looper).value);
								    var itemTotal =0.00;

								    var discountPrice = parseFloat(realPrice * parseFloat(this.getDisPercentage(disChartMode,obj.value).toFixed(2)));

								    itemTotal = parseFloat((realPrice - discountPrice) * parseInt(obj.value)).toFixed(2);

									 document.getElementById('realPrice_'+loop+'_'+looper).innerHTML = "$"+parseFloat(realPrice - discountPrice).toFixed(2);
									 document.getElementById('totalItem_'+loop+'_'+looper).innerHTML = "$"+parseFloat(itemTotal).toFixed(2);

                                                                 }

														   
							 }

					}

				 
                                 this.masterSource();


                   },

                   updateDiscountChart: function (loop,looper){

	                var disChartMode = document.getElementById('discountChart_'+loop+'_'+looper).value;
			var realPrice    = parseFloat(document.getElementById('idealPrice_'+loop+'_'+looper).value);
		     
			 if(disChartMode=='active'){

			    document.getElementById('discountChart_message').style.display="none";
				document.getElementById('tblDiscountChart').style.display="block";
				
			    document.getElementById('tblDiscountChart').rows[2].cells[2].innerHTML = "$"+(realPrice).toFixed(2)+" each";
				document.getElementById('tblDiscountChart').rows[3].cells[2].innerHTML = "$"+(realPrice - (realPrice * .15)).toFixed(2)+" each";
				document.getElementById('tblDiscountChart').rows[4].cells[2].innerHTML = "$"+(realPrice - (realPrice * .25)).toFixed(2)+" each";
				document.getElementById('tblDiscountChart').rows[5].cells[2].innerHTML = "$"+(realPrice - (realPrice * .35)).toFixed(2)+" each";
				      
			 }
			 else
			 {
			    document.getElementById('discountChart_message').style.display="block";
				document.getElementById('tblDiscountChart').style.display="none";
			 }
		   },
		  
		  masterSource: function(){

		  var masLoop   = parseInt(document.getElementById('masterLoops').value);
		  var loop=0;
		  var totals=0.00;

		  for(loop=0;loop<masLoop;loop++){

		     var detailLoop = parseInt(document.getElementById('detailLooper_'+loop).value);
			 var looper=0;


				  for(looper=0;looper<detailLoop;looper++){

				  totals = totals + parseFloat(document.getElementById('totalItem_'+loop+'_'+looper).innerHTML.replace('$',''));

				  }

		  }


                 document.getElementById('product_total').innerHTML = "$"+parseFloat(totals).toFixed(2);

		  },
		  
		  applyMessage: function(mode){
		  
           		   switch(mode){
				     case '1': 
					       document.getElementById('apply_message').style.display="block"
					 break;
					 
					 case '0': 
					       document.getElementById('apply_message').style.display="none";
					 break;
				   
				   }
		  },
		  
		  applyAll: function(){
		  
		    if(!isNaN(document.getElementById('txt_ApplyAll').value))
		       {
		  
					  var masLoop   = parseInt(document.getElementById('masterLoops').value);
					  var loop=0;
					  var totals=0.00;
					  var itemAll = parseInt(document.getElementById('txt_ApplyAll').value);
			
			
			
									  for(loop=0;loop<masLoop;loop++){
										  
											 document.getElementById('director_'+loop).innerHTML = document.getElementById('arrowDown').innerHTML;
											 document.getElementById('gaugeDetailInfo_'+loop).style.display='block';
											 
											 var detailLoop = parseInt(document.getElementById('detailLooper_'+loop).value);
											 var looper=0;
												  
													for(looper=0;looper<detailLoop;looper++){
													
														   document.getElementById('txtQuantity_'+loop+'_'+looper).value = itemAll;
														   
														   var obj = document.getElementById('txtQuantity_'+loop+'_'+looper);
														   
														   var disChartMode = document.getElementById('discountChart_'+loop+'_'+looper).value;
														   var realPrice    = parseFloat(document.getElementById('idealPrice_'+loop+'_'+looper).value);
														   var itemTotal =0.00;

														   var discountPrice = parseFloat(realPrice * parseFloat(this.getDisPercentage(disChartMode,obj.value).toFixed(2)));

														   itemTotal = parseFloat((realPrice - discountPrice) * parseInt(obj.value)).toFixed(2);

														   var specialDealMode = document.getElementById('specialDeal_Mode').value;

                                                                                                                   if(specialDealMode=="0" || specialDealMode =="")
                                                                                                                     {
                                                                                                                      document.getElementById('realPrice_'+loop+'_'+looper).innerHTML = "$"+parseFloat(realPrice - discountPrice).toFixed(2);
														      document.getElementById('totalItem_'+loop+'_'+looper).innerHTML = "$"+parseFloat(itemTotal).toFixed(2);
														     }
														  else
                                                                                                                  {
                                                                                                                     document.getElementById('totalItem_'+loop+'_'+looper).innerHTML = "$"+parseFloat(realPrice*itemAll).toFixed(2);
                                                                                                                  }

															  
														   
													  } 
											 
										  }
										  
										 this.masterSource(); 

		         }
		     
			 else{  
			     alert("This entry is not a number ");
			    document.getElementById('txt_ApplyAll').value=this.apply_oldValue; 	}		 
		
		  },
		  applyAll_oldValue: function(val){
		  		  
				     this.apply_oldValue = val;
	
			     	 
		  },
		  
		  testApplyAll: function(){
		  
		      alert("same");
		  } ,
		  
		  ApplyOrigEntry: function (obj){
		  
		        this.apply_oldValue  = obj.value;
		  }

};
var NavButtons = {

           Hover: function(obj){
		   
			obj.style.background='#FEB12D';
			obj.style.color='#ffffff';
			
		   },
		   Out: function (obj){
		   
			obj.style.background='#FFFFCF';		   
			obj.style.color='#000000';
		   },
		   Click: function(direction,currentID){
		   
		      getNavigationProd(direction,currentID);
		   }

		   
		   
};

var Products = {

      current_id:0,
	  mode:'inactive'
};


//----------------------------------------------- -------------  AJAX HERE
var NaviProcess = getHTTPObject(); // We create the HTTP Object
/* ----------------------------------------------------------------------------------  AJAX SIDE */
       function process_productNavigation()
          {
             if(NaviProcess.readyState == 4)
                {
                   if(NaviProcess.status==200)
                      {

                                   var LargeData = NaviProcess.responseText.split('***');

						 document.getElementById('detailImage').innerHTML = LargeData[1];
						 Products.current_id = LargeData[0];

						 //detail part
						 document.getElementById('product_detail_con').innerHTML =LargeData[2];

						 //discountChart
                                                 if(document.getElementById('customer_id').value!="")
                                                       document.getElementById('product_discount').innerHTML = LargeData[3];


						//checking if there only one item
						  if(LargeData[4]=="1"){
                                                       document.getElementById('gaugeDetailInfo_0').style.display='block';
						       document.getElementById('director_0').innerHTML=document.getElementById('arrowDown').innerHTML;
						  }


                      }


               }

           }
        function getNavigationProd(flow,CurrentProdID)
          {
                 document.getElementById('detailImage').innerHTML = "<div style='padding-top: 100px; padding-bottom: 30px '>"+document.getElementById('imageLoader1').innerHTML+"<div style='margin-top: -5px; color: #ffffff; font-size:11px'> Loading Detail Image... </div></div>";
		 document.getElementById('product_detail_con').innerHTML = "<div style='padding-top: 170px; '><img src='../images/loading-bar-black.gif' /><div style='margin-top: -5px; color: #ffffff; font-size:11px'> Retrieving Detail Information... </div>  </div>";

                 
                 if(document.getElementById('customer_id').value!="")
                      {
                        document.getElementById('product_discount').innerHTML = "<div style='padding-top: 20px; '><img src='../images/loading-bar-black.gif' /><div style='margin: -5px 0px 20px 0px; color: #ffffff; font-size:11px'> Retrieving Discount Chart ... </div>  </div>";
                      }

		 var prodList = document.getElementById('listRelatedProduct').value.replace(",","--");


                 var ProdId = 0;

			  if(Products.mode=='inactive')
			      {
				    Products.current_id = CurrentProdID;
				    Products.mode= 'active';

				    ProdId = CurrentProdID;
			      }
			  else
			    {   ProdId = Products.current_id; 	}

              NaviProcess.open("GET",site_url+"includes/prodDetailNavigation_final.php?CurrentDetail_id="+ProdId+"&flow="+flow, true);
              //NaviProcess.open("GET",site_url+"includes/prodDetailNavigation_final.php?CurrentDetail_id="+ProdId+"&flow="+flow,true);
              NaviProcess.onreadystatechange = process_productNavigation;
              NaviProcess.send(null);

          }

function getHTTPObject()
 {
  var xmlhttp;

  if(window.XMLHttpRequest){  xmlhttp = new XMLHttpRequest();  }
  else
     if (window.ActiveXObject)
           {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                 if (!xmlhttp){ xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
           }
  return xmlhttp;
}




//----------------------------------------------- -------------  AJAX HERE
