﻿// JScript File
 
function  HighlightTab(e)
{
    try
    {
        
        var c = top.document.getElementById(e).parentElement; 
         
         Highlight(c);
    }
    catch(ee)
    {

    }


} 

function  Highlight(e)
{
    try
    {
        //CartContainer3
        
        e.style.background = "#ffffc8";
    }
    catch(ee)
    {

    }


} 

function  HighlightLabTitleTab()
{
    try
    {
        
       HighlightTab(LabTitleElement);
    }
    catch(ee)
    {
    }

  
}

function  HighlightCartTitleTab()
{
    try
    {
        
       HighlightTab(CartTitleElement);
    }
    catch(ee)
    {
    }

      try
    {
       var e =   document.getElementById('CartContainer3');  
        
          Highlight(e);
       
    }
    catch(err)
    {
    }
}

function SetLabCount(e)
{    
     LabCount = LabCount + e;
}

function SetCartCount(e)
{
    CartCount = CartCount + e;
}

function AddRemoveCart(e,ProductModel )
{

        var URL ='/CommerceProcessor/Pages/Products/ProductShoppingList.aspx?';
        var img = e.firstChild;
      
        if (e.IsAdded==true||e.IsAdded=='true')
        {   
        
            URL = URL + 'CancelHTTPEnforce=1&Remove=' + ProductModel;            
            top.SetCartCount(-1);
            e.IsAdded =true;
        }else
        {      
           // alert('Item Added!');
            URL = URL + 'CancelHTTPEnforce=1&ProductModel=' + ProductModel;
            
            top.SetCartCount(1);          
            e.IsAdded =false;
            top.HighlightCartTitleTab();
           
           try
           {
            var l = document.getElementById('Lab' + e.id);       
            
            top.AddRemoveLab(l,l.PID);
           }
           catch(eee)
           {
          // alert(eee);
           }
           
//           var newProductModel = ProductModel.toUpperCase();  
//           
//           if (newProductModel.substr(0,1)=='T')           
//           {           
//               ///- jump to Tetramer page
//               alert(TetramerURL);
//               alert(window.location.hostname);
//               window.location.href='http://' + window.location.hostname + TetramerURL;
//               window.navigate(TetramerURL);
//           }
            
        }
        
        
        e.IsAdded = !e.IsAdded;
        
        ManageCartImage(img,!e.IsAdded);
   
        CallUrl(URL); 
       
        Complete();    

}
 function pause() 
 {
 pausecomp(1000) ;
 
 }
 
 
function pausecomp(millis) 
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); } 
while(curDate-date < millis);
} 


function CallUrl(URL)
{
pause() ;
        var GSAjax = new GS_Ajax_Object();     
        GSAjax.GetAsyncRequestNoCallback(URL); 
}

function Complete()
{
    top.window.status=' ';
    top.UpdateCartTitles();
    top.UpdateCompareTitles();
    top.UpdateLabTitles();
}

function AddRemoveLab(e,ProductModel)
{
      if (e==null)
      {
        return null;
      }
     
            var URL = '/CommerceProcessor/Pages/Products/Product_Lab.aspx?Action=Lab&';    
            var img = e.firstChild;

         

            if (e.IsAdded==true||e.IsAdded=='true')
            {   

                 URL = URL + 'Remove=' + ProductModel;    
                // LabCount = LabCount - 1;
                 e.IsAdded =true;
                 
            }else
            {      

                URL = URL + 'Add=' + ProductModel;
                //LabCount = LabCount + 1;
                top.SetLabCount(1);
                e.IsAdded =false;
                e.IsAdded = !e.IsAdded;
                ManageLabImage(img,e.IsAdded);
              
                top.HighlightLabTitleTab();

              // alert(URL);
                ///e.style.display='none'; 
                ///e.style.visibility='hidden';       

                CallUrl(URL); 

                Complete();   


            } 
    
    
    

}


function AddRemoveFromCompare(e,ProductModel)
{
     
     
    var URL = '/CommerceProcessor/Pages/Products/ProductShoppingList.aspx?Action=Compare&';      
    

    if(e.checked==true)
    {
        URL = URL + 'Add=';
        CompareCount = CompareCount+1;
        HighlightTab(CompareTitleElement);
    }
    else
    {    
        URL = URL + 'Remove=';
        CompareCount = CompareCount-1;
    }
    
    URL = URL + ProductModel;   
    CallUrl(URL);    
    Complete();

}

function ManageLabImage(img,IsAdd)
{
        if (IsAdd==true)
        {
            img.src = '/CommerceProcessor/DataWarehouse/Site/Graphics/Misc/Flask_On.gif';
            img.title = '';

        }
        else
        {
            img.src = '/CommerceProcessor/DataWarehouse/Site/Graphics/Misc/Flask_Off.gif';
           // img.title = 'Remove from My Lab';
        }
 

}


function ManageCartImage(img,IsAdd)
{
        if (IsAdd==true)
        {
            img.src = '/CommerceProcessor/DataWarehouse/Site/Graphics/Misc/Cart.gif';
            img.title = 'Add to cart';

        }
        else
        {
            img.src = '/CommerceProcessor/DataWarehouse/Site/Graphics/Misc/Cart_Remove.gif';
            img.title = 'Remove from cart';
        }
 

}

function ShowWait(img )
{

 img.src = '/CommerceProcessor/DataWarehouse/Site/Graphics/Misc/Wait_Small.gif';
 
 top.window.status='Please wait...';
}


function GetCartCount()
{

    var URL = '/CommerceProcessor/Pages/Products/ProductShoppingList.aspx?Action=GetCartCount';
    var x = GS_XML.LoadXMLDomByXMLHTTP(URL);
    return  x.lastChild.firstChild.text;
}

function ResetColor()
{

}

function SetTitle(e,Title)
{ 

 
            if(document.all)
            {             
                e.innerText = Title;
            }
            else
            {
                e.textContent = Title;
            }

}

function UpdateCartTitles()
{
   try
    { 
   
    
    var e =  document.getElementById(CartTitleElement);
    var c = CartCount;//GetCartCount();
    var ref = '/CommerceProcessor/Pages/Products/ProductShoppingList.aspx';
    
    if (c<0)
    {
        c=0;
    }

 // No need to update the old Tab title , No longer there
    
//        e.innerText = 'Check Out ( ' + c + ' )';  
//        e.disabled = (c<1);
//        e.href = ref;
//          
//        if (c>0)
//        {
//            if (e.parentElement.tagName=='TD')
//            {
////                var TD =  e.parentElement;
////                var img  = new Image();
////                TD
////                alert(TD.id);
////                TD.HoldBC =  TD.bgColor;            
////                TD.bgColor =  '#ffff66';
////                alert(TD.bgColor);
////                // intValue=window.setTimeout('myMethod()', 1000);">              
//            } 
//        } 
          
      
        
    }
    
    catch(err)
    {    
    }
 
   var tt = c + ' items in your shopping cart'; 
    try
    {
      
        e =  top.document.getElementById('CartTitle2');  
        SetTitle(e,tt);
        e.disabled = (c<1);
        e.href = ref;
        
    }
    catch(err)
    {
    }
 
 
    try
    {

        e =  top.document.getElementById('CartTitle3');  
        SetTitle(e,tt);
        e.disabled = (c<1);
        e.href = ref;

    }
    catch(err)
    {
    }
    
    
  
    
  
}
 
    
 
function UpdateCompareTitles()
{

   var e =  document.getElementById(CompareTitleElement);
   var tt;
    try
    {
    
    var c = CompareCount;//GetCartCount();
   // var ref = '/CommerceProcessor/Pages/Products/ProductShoppingList.aspx';
    
    if (c<0)
    {
        c=0;
    }

       tt = 'Compare ( ' + c + ' )';   
        
        SetTitle(e,tt);
        e.disabled = (c<1);       
      
        
    }    
    catch(err)
    {    
    }
 
 
   
 
    
}

function UpdateLabTitles()
{
   if(!IsTop)
   {
     top.UpdateLabTitles();
   }
  var e =  document.getElementById(LabTitleElement);
  var tt;
   var c = LabCount; 
 
    try
    {
       
   
  
    
    if (c<0)
    {
        c=0;
    }

 
      
         tt = 'My Lab ( ' + c + ' )';   
         if (e!=null)
      {
        SetTitle(e,tt);
        e.disabled = (c<1);     
        }
    }    
    catch(err)
    {  
        
    }
 
   try
    {
       
    
        e =   document.getElementById('LabTitle4');
        tt = c + ' items in your lab';   
      if (e!=null)
      {
        SetTitle(e,tt);
       // e.disabled = (c<1);  
      }
         
        
         
        
    }    
    catch(err)
    {   
  
    }
 
   
 
    
}

function IsTop()
{
  
return (top.document==document);

}


function UpdateAllTitles()
{
   
    UpdateLabTitles();
    UpdateCompareTitles();
    UpdateCartTitles();
  if(!IsTop())
   {
   top.UpdateAllTitles();
   }
}
var CartTitleElement ;
var CompareTitleElement ;
var LabTitleElement ;
var CartCount =0;
var CompareCount =0;
var LabCount =0;
var TetramerURL;

function RegisterTetramerURL(URL)
{
     TetramerURL = URL;
     UpdateAllTitles();
}

function RegisterLabTitleElement(ID)
{
    
       LabTitleElement = ID;
     UpdateAllTitles();
   

     
     
}

function RegisterCartTitleElement(ID)
{
    CartTitleElement = ID;
    UpdateAllTitles();
}

function RegisterCompareElement(ID)
{
    CompareTitleElement = ID;
    
}

function RegisterCartCount(c)
{
   
   CartCount = c;
   
  if(!IsTop())
   {
    top.RegisterCartCount(c);
   } 
    
     UpdateAllTitles();
    
}
function RegisterCompareCount(c)
{
    CompareCount = c;
    
  if(!IsTop())
   {
    top.RegisterCompareCount(c);
   } 
     UpdateAllTitles();
}

function RegisterLabCount(c)
{
    LabCount = c;
    
     if(!IsTop())
   {
   
    top.RegisterLabCount(c);
   } 
   
     UpdateAllTitles();
}