/* Java script for minicart*/
var TotalProductAvail='0';
var resetCartHover=true;
var Custid;
var XmlHttp;
var timevar;
var options = { to: "#lkItems", className: 'ui-effects-transfer' };
var eleForTransfer=null;
var CartVisible=false;
var fadingOut=false;
function hideLayer(elementId) 
{
    CartVisible=false;
    if(document.getElementById(elementId) != null) 
    {
        document.getElementById(elementId).style.display = "none";
    }
}

function showLayer(elementId) 
{ 
    if(document.getElementById(elementId) != null) 
    {
        document.getElementById(elementId).style.display = "block";
    }
} 
  
function AddCart(Items,eleclicked)
{
    arrayPageSizeForPopup = getPageSizeForPopup();
    arrayPageScrollForPopup = getPageScrollForPopup();
	var offsetY = arrayPageScrollForPopup[1] + (arrayPageSizeForPopup[3]/2);
	var offsetX = (arrayPageSizeForPopup[2]/2);
	if(document.getElementById('pnlUpdate'))
    {       
        document.getElementById('pnlUpdate').style.left=offsetX +'px';
        document.getElementById('pnlUpdate').style.top=offsetY+'px'; 
        document.getElementById('pnlUpdate').style.display="block";
        //document.getElementById('pnlUpdate').innerHTML="<img align='absmiddle' src=\"/Client/images/loading.gif\" alt=\"\" />";
    }
    
    
    eleForTransfer=document.getElementById(eleclicked);
    if(document.getElementById('hiddenCustID'))
    {
         Custid=document.getElementById('hiddenCustID').value;
    }
    resetHover();
    hideMiniCart();
    
    //var CurrentDate=new Date();   
    //var strDate=CurrentDate.getDate()+"-"+CurrentDate.getMonth()+"-"+CurrentDate.getFullYear()+" "+CurrentDate.getHours()+":"+CurrentDate.getMinutes()+":"+CurrentDate.getSeconds()+":"+CurrentDate.getMilliseconds();;

    var randomnumber=Math.floor(Math.random()*10000);

    var requestUrl="/MiniCartCall.aspx?RandomStr="+randomnumber+"&Mode=Add&CustID="+Custid;
    
    if(Items > 1)
        document.getElementById('lkItems').innerHTML ="Shopping Cart ("+Items+" Items)"; 
    else
        document.getElementById('lkItems').innerHTML ="Shopping Cart ("+Items+" Item)"; 
    
    document.getElementById('hiddenTotalItems').value=Items;
        
    CreateXmlHttp();
    XmlHttp.onreadystatechange = HandleResponse;

    XmlHttp.open("GET",requestUrl,true);
    XmlHttp.send(null);

    return true;
}

function CreateXmlHttp()
{

    XmlHttp=null;
    //Creating object of XMLHTTP in IE
    try
    {
        XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        
    }
    catch(e)
    {
    
        try
        {
            XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e1)
        {
            XmlHttp = null;
        }
    }
    //Creating object of XMLHTTP in Mozilla and Safari
    if(!XmlHttp && typeof XMLHttpRequest != "undefined")
    {
        XmlHttp = new XMLHttpRequest();
    }
}

function HandleResponse()
{
    if(XmlHttp.readyState == 4)
    {
        if(document.getElementById('pnlUpdate'))
        {       
            document.getElementById('pnlUpdate').style.display="none";
        }
        if(XmlHttp.status == 200)
        {
            //alert(XmlHttp.responseText);
            document.getElementById("divCart").innerHTML=XmlHttp.responseText;
            
            if(document.getElementById('divMiniCart')) 
            {     
                showLayer('divMiniCart');  
            }     
            //document.getElementById("lkItems").focus();
            jQuery().scrollTo( {top:'0px', left:'00px'}, 1000 );
            if(eleForTransfer!=null)
            {
                jQuery(eleForTransfer).show("transfer",options,1000,showMiniCart);
                //setTimeout("showMiniCart()",1000);
                eleForTransfer=null;
            }
            else
                setTimeout("showMiniCart()",1000);
        }
        else
        {
            alert("There was a problem retrieving data from the server." );
        }
    }
}
function ShowHideCart()
{
    if(window.location.pathname.toLowerCase().indexOf('/addtocart.aspx')!=-1
      || window.location.pathname.toLowerCase().indexOf('/checkoutcommon.aspx')!=-1
      || window.location.pathname.toLowerCase().indexOf('/order.aspx')!=-1)
    {
        hideLayer('divMiniCart'); 
        return;
    }
    if(document.getElementById('hiddenTotalItems').value==0)
    {
         hideLayer('divMiniCart'); 
    }
    else
    {
         showLayer('divMiniCart');
         showMiniCart();
    }
}
function RemoveProduct(ProductDetails)
{ 
    arrayPageSizeForPopup = getPageSizeForPopup();
    arrayPageScrollForPopup = getPageScrollForPopup();
	var offsetY = arrayPageScrollForPopup[1] + (arrayPageSizeForPopup[3]/2);
	var offsetX = (arrayPageSizeForPopup[2]/2);
	if(document.getElementById('pnlUpdate'))
    {       
        document.getElementById('pnlUpdate').style.left=offsetX +'px';
        document.getElementById('pnlUpdate').style.top=offsetY+'px'; 
        document.getElementById('pnlUpdate').style.display="block";
        //document.getElementById('pnlUpdate').innerHTML="<img align='absmiddle' src=\"/Client/images/loading.gif\" alt=\"\" />";
    }
    
    if(document.getElementById('hiddenCustID'))
    {
        Custid=document.getElementById('hiddenCustID').value;
    }
                
    // var requestUrl="/MiniCartCall.aspx?Mode=Delete&ProdID="+ProdId+"&CustID="+Custid+"&VariantNames="+Names+"&VariantValues="+Values;
    var randomnumber=Math.floor(Math.random()*10000);
    var requestUrl="/MiniCartCall.aspx?Mode=Delete&RandomNum="+randomnumber+"&CustID="+Custid+"&Products="+ProductDetails;
    CreateXmlHttp();


    XmlHttp.onreadystatechange=HandleResponseforUpdateRemove;
    XmlHttp.open("GET",requestUrl,true);
    XmlHttp.send(null);
    return true;
}

function UpdateProduct()
{
    arrayPageSizeForPopup = getPageSizeForPopup();
    arrayPageScrollForPopup = getPageScrollForPopup();
	var offsetY = arrayPageScrollForPopup[1] + (arrayPageSizeForPopup[3]/2);
	var offsetX = (arrayPageSizeForPopup[2]/2);
	if(document.getElementById('pnlUpdate'))
    {       
        document.getElementById('pnlUpdate').style.left=offsetX +'px';
        document.getElementById('pnlUpdate').style.top=offsetY+'px'; 
        document.getElementById('pnlUpdate').style.display="block";
        //document.getElementById('pnlUpdate').innerHTML="<img align='absmiddle' src=\"/Client/images/loading.gif\" alt=\"\" />";
    }
    var allElts;
    if(document.form1)
        allElts  = document.form1.elements;

    if(document.aspnetForm)
        allElts = document.aspnetForm.elements;
        
    var i;
    var ProductDetails="";
    for (i=0; i<allElts.length; i++)
    {
        var elt = allElts[i];
        if (elt.type == "text" && elt.id.toLowerCase().indexOf('txtqty-')!=-1) 
        {
            ProductDetails= ProductDetails + elt.id + "-" + elt.value + "*";
            
            if(isNaN(elt.value) || elt.value <=0)
            {
                elt.value=1;
                alert('Please enter valid Quantity in Cart');
                elt.focus();
                
                    
                    if(document.getElementById('pnlUpdate'))
                    {       
                        document.getElementById('pnlUpdate').style.display="none";
                    }
                return false;
            }

        }
    }
    if(document.getElementById('hiddenCustID'))
    {
        Custid=document.getElementById('hiddenCustID').value;
    }
    var randomnumber=Math.floor(Math.random()*10000);
    var requestUrl="/MiniCartCall.aspx?Mode=Update&RandomNum="+randomnumber+"&CustID="+Custid+"&Products="+ProductDetails;
    CreateXmlHttp();
    XmlHttp.onreadystatechange=HandleResponseforUpdateRemove;
    XmlHttp.open("GET",requestUrl,true);
    XmlHttp.send(null);
    return true;
}


function HandleResponseforUpdateRemove()
{
    if(XmlHttp.readyState == 4)
    {
        if(document.getElementById('pnlUpdate'))
        {       
            document.getElementById('pnlUpdate').style.display="none";
        }
        if(XmlHttp.status == 200)
        {
            document.getElementById("divCart").innerHTML="";
            document.getElementById("divCart").innerHTML=XmlHttp.responseText;
            
            if(document.getElementById("divCart").innerHTML.toLowerCase().indexOf('not enough inventory')!=-1)
            {
            alert('Not enough Inventory...');
            return false;
            }
            
            //showLayer('CartLayer');  
            if(document.getElementById('divMiniCart')) 
            {     
                showLayer('divMiniCart');  
            } 
            SetTotalQuantity();
           //document.getElementById("lkItems").focus();
            jQuery().scrollTo( {top:'0px', left:'00px'}, 1000 );
            if(eleForTransfer!=null)
            {
                jQuery(eleForTransfer).show("transfer",options,1000,showMiniCart);
                //setTimeout("showMiniCart()",1000);
                eleForTransfer=null;
            }
            else
                setTimeout("showMiniCart()",1000);
        }
        else
        {
            alert("There was a problem retrieving data from the server." );
        }
    }
}




function SetCustomer(CustomerID)
{
    Custid=CustomerID;
    document.getElementById('hiddenCustID').value=CustomerID;
}

function SetTotalQuantity()
{
    var allElts;
    if(document.form1)
        allElts  = document.form1.elements;

    if(document.aspnetForm)
        allElts = document.aspnetForm.elements;
        
    var i;
    var Total=0;
    for (i=0; i<allElts.length; i++)
    {
        var elt = allElts[i];
        if (elt.type == "text" && elt.id.toLowerCase().indexOf('txtqty-')!=-1) 
        {       
          Total= parseInt(Total) + parseInt(elt.value);
        }
    }
    document.getElementById('hiddenTotalItems').value=Total;
    
    if(Total > 1)
        document.getElementById('lkItems').innerHTML ='Shopping Cart ('+Total+' Items)'; 
    else
        document.getElementById('lkItems').innerHTML ='Shopping Cart ('+Total+' Item)';
        
    if(Total==0)
    {
       if(document.getElementById('divMiniCart'))
           hideLayer('divMiniCart');  
    } 
    
         
}


function CheckQty(e)
{
     var key = window.event ? window.event.keyCode : e.which;
     
     if(key == 13)
     {
     UpdateProduct();
     return false;
     }
     
     if(  key == 8 || key == 9 || key == 189 || key == 109 || key == 0)
     {
        return key;                                        
     }
            
     var keychar = String.fromCharCode(key);
     var reg = /\d/;
     if(window.event)
        return event.returnValue=reg.test(keychar);
     else
        return reg.test(keychar);
        
}

function InsertProduct(Pid,eleclicked)
{
    
    if(document.getElementById('txtQty').value<=0 || document.getElementById('txtQty').value =='' || isNaN(document.getElementById('txtQty').value))
    {
        alert("Please enter valid Quantity.");
        document.getElementById('txtQty').value='1';
        document.getElementById('txtQty').focus();
        return false;
    }
    
    arrayPageSizeForPopup = getPageSizeForPopup();
    arrayPageScrollForPopup = getPageScrollForPopup();
	var offsetY = arrayPageScrollForPopup[1] + (arrayPageSizeForPopup[3]/2);
	var offsetX = (arrayPageSizeForPopup[2]/2);
	if(document.getElementById('pnlUpdate'))
    {       
        document.getElementById('pnlUpdate').style.left=offsetX +'px';
        document.getElementById('pnlUpdate').style.top=offsetY+'px'; 
        document.getElementById('pnlUpdate').style.display="block";
        //document.getElementById('pnlUpdate').innerHTML="<img align='absmiddle' src=\"/Client/images/loading.gif\" alt=\"\" />";
    }
    eleForTransfer=document.getElementById(eleclicked);    
    resetHover();
    hideMiniCart();

    var quantity;
    var ProductID=Pid;

    if(document.getElementById('ctl00_ContentPlaceHolder1_txtQty'))
    {
        quantity=document.getElementById('ctl00_ContentPlaceHolder1_txtQty').value;
    }
    if(document.getElementById('txtQty'))
    {
        quantity=document.getElementById('txtQty').value;
    }

    if(document.getElementById('ProductID'))
    {
        ProductID=document.getElementById('ProductID').value;
    }

    var allElts;
    
    if(document.form1)
        allElts  = document.form1.elements;

    if(document.aspnetForm)
        allElts = document.aspnetForm.elements;
        
    var i;
    var Names="";
    var Values="";
    for (i=0; i<allElts.length; i++)
    {
        var elt = allElts[i];
        if (elt.type=='select-one' && elt.id.toLowerCase().indexOf('selattribute')!=-1) 
        {
        
            var TempNames=elt.id.split("selAttribute");
            Names=Names+TempNames[1]+",";
            
            var TempValues=elt.options[elt.selectedIndex].value;
            Values=Values+TempValues+",";
        }
    }
    

    if(document.getElementById('hiddenCustID'))
    {
        Custid=document.getElementById('hiddenCustID').value;
    }
    
    //var CurrentDate=new Date();   
    //var strDate=CurrentDate.getDate()+"-"+CurrentDate.getMonth()+"-"+CurrentDate.getFullYear()+" "+CurrentDate.getHours()+":"+CurrentDate.getMinutes()+":"+CurrentDate.getSeconds()+":"+CurrentDate.getMilliseconds();;
    var randomnumber=Math.floor(Math.random()*10000);
    var requestUrl="/MiniCartCall.aspx?Mode=Insert&RandomNum="+randomnumber+"&ProdID="+ProductID+"&Quantity="+quantity+"&VariantNames="+Names+"&VariantValues="+Values;
    CreateXmlHttp();
    XmlHttp.onreadystatechange=HandleResponseforInsertProduct;
    XmlHttp.open("GET",requestUrl,true);
    XmlHttp.send(null);
    return true;
}

function HandleResponseforInsertProduct()
{
    if(XmlHttp.readyState == 4)
    {
        if(document.getElementById('pnlUpdate'))
        {       
            document.getElementById('pnlUpdate').style.display="none";
        }
        if(XmlHttp.status == 200)
        {
             var result=XmlHttp.responseText;
            
            if(result.toLowerCase().indexOf('not enough inventory')!=-1)
            {
            
            alert('Not enough Inventory...');
            styledPopupClose();
            return false;
            }
            
            document.getElementById("divCart").innerHTML="";
            document.getElementById("divCart").innerHTML=result;
            
            //showLayer('CartLayer');  
            if(document.getElementById('divMiniCart')) 
            {     
                showLayer('divMiniCart');  
            } 
            SetTotalQuantity();
            //document.getElementById("lkItems").focus();
            jQuery().scrollTo( {top:'0px', left:'00px'}, 1000 );
            if(eleForTransfer!=null)
            {
                jQuery(eleForTransfer).show("transfer",options,1000,showMiniCart);
                //setTimeout("showMiniCart()",1000);
                eleForTransfer=null;
            }
            else
                setTimeout("showMiniCart()",1000);
                
            styledPopupClose();                        
        }
        else
        {
            alert("There was a problem retrieving data from the server." );
        }
    }
}
function onKeyPressBlockNumbers(e)
{
    var key = window.event ? window.event.keyCode : e.which;

    if( key == 13 || key == 8 || key == 9 || key == 189 || key == 109 || key == 0)
    {
        return key;                                        
    }

    var keychar = String.fromCharCode(key);
    var reg = /\d/;
    if(window.event)
        return event.returnValue=reg.test(keychar);
    else
        return reg.test(keychar);  
}

function CalculateSalePrice(CurrencySymbol)
{
    try
    { 
        var AttributePricesforItem=0;
        var AttributePrices=0;
        var i;
        var allElts;
        
        if(document.form1)
            allElts  = document.form1.elements;

        if(document.aspnetForm)
            allElts = document.aspnetForm.elements;
        
        for (i=0; i<allElts.length; i++)
        {
            var elt = allElts[i];
            if (elt.type=='select-one' && elt.id.toLowerCase().indexOf('selattr')!=-1) 
            {
                if(elt.options[elt.selectedIndex].text.toLowerCase().indexOf('select ')==-1)
                {
                    var temp="("+CurrencySymbol;
                    var TempNames=String(elt.options[elt.selectedIndex].text).split(temp);
                    AttributePrices=AttributePrices+ parseFloat(String(TempNames[1]).replace(')',''));    
                }
            }
            if (elt.type=='select-one' && elt.id.toLowerCase().indexOf('selattribute')!=-1) 
            {
                if(elt.options[elt.selectedIndex].text.toLowerCase().indexOf('select ')==-1)
                {
                    var temp="("+CurrencySymbol;
                    var TempNames=String(elt.options[elt.selectedIndex].text).split(temp);
                    AttributePricesforItem=AttributePricesforItem+ parseFloat(String(TempNames[1]).replace(')',''));    
                }
            }
        }
        
        var SalePrice;
        if(document.getElementById("SalePrice"))
            SalePrice=roundNumber( String(parseFloat(document.getElementById("SalePrice").value.replace(CurrencySymbol,''))),2);
        if(document.getElementById("SalePriceforItem"))
            SalePrice=roundNumber( String(parseFloat(document.getElementById("SalePriceforItem").value.replace(CurrencySymbol,''))),2);
        var FinalAttributePrices;
        
        if(AttributePricesforItem==0)
        {
            FinalAttributePrices= roundNumber( String(AttributePrices),2);
            var FinalPrice=roundNumber( String(parseFloat(SalePrice) + parseFloat(FinalAttributePrices)),2 );
            document.getElementById("divSalePrice").innerHTML=CurrencySymbol+(FinalPrice);
        }
        else
        {
            FinalAttributePrices= roundNumber( String(AttributePricesforItem),2);
            var FinalPrice=roundNumber( String(parseFloat(SalePrice) + parseFloat(FinalAttributePrices)),2 );
            document.getElementById("divSalePriceforItem").innerHTML=CurrencySymbol+(FinalPrice);
        }
    }
    catch(e)
    {}           
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function hideMiniCart()
{
    if(resetCartHover==false)
        return;
        
    CartVisible=false;
    if(document.getElementById('CartLayer') != null) 
    {
        fadingOut=true;
        jQuery(document.getElementById('CartLayer')).fadeOut('def',fadOutComplete);
    }
    clearTimeout(timevar);
}
function fadOutComplete()
{
    fadingOut=false;
}
function showMiniCart(optionalValue)
{
    resetCartHover=false;
    if(CartVisible==true)
        return;
    if(fadingOut==true)
        return;    
        
    optionalValue = optionalValue || 3000;
    clearTimeout(timevar);
    timevar= setTimeout("hideMiniCart()",optionalValue);
    
    if(document.getElementById('CartLayer') != null) 
    {
        jQuery(document.getElementById('CartLayer')).fadeIn('def');
    }
    CartVisible=true;
}
function resetHover()
{
    resetCartHover=true;
}
function onKeyPressforMiniItemQty(e)
{
    var key = window.event ? window.event.keyCode : e.which;
    if(key == 13)
    {
        InsertProduct(document.getElementById('ProductID').value,'PopupAddToBag');           
    }
    if(  key == 8 || key == 9 || key == 189 || key == 109 || key == 0)
    {
       return key;                                        
    }
    var keychar = String.fromCharCode(key);
    var reg = /\d/;
    if(window.event)
        return event.returnValue=reg.test(keychar);
    else
        return reg.test(keychar);
}

function showLoading()
{
    if(!arrayPageSizeForPopup)
        arrayPageSizeForPopup = getPageSizeForPopup();
    if(!arrayPageScrollForPopup)
        arrayPageScrollForPopup = getPageScrollForPopup();
        
      var offsetY = arrayPageScrollForPopup[1] + (arrayPageSizeForPopup[3]/2);
      var offsetX = (arrayPageSizeForPopup[2]/2);
      if(document.getElementById('pnlUpdate'))
    {       
        document.getElementById('pnlUpdate').style.left=offsetX +'px';
        document.getElementById('pnlUpdate').style.top=offsetY+'px'; 
        document.getElementById('pnlUpdate').style.display="block";
    }
}
window.onload=function(){
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(showLoading);
}
