﻿// JScript File

/*-------------------------------------------------------------*/
    /*---------------- methods for comparison ---------------------*/
    /*-------------------------------------------------------------*/
    
    function ajax_ToggleCheckBox(source)
    {
        if(source && source.tagName.toLowerCase()=="input")
            source.checked = !source.checked;
    }
    
    function TextBoxEnterKey(e, id) {
        var key;
        if (window.event)
            key = window.event.keyCode;
        else
            key = e.which;

        
        if (key != 13)
            return true;        
    }
    
    function ajax_ToggleCompare(id, mcId, source)
    {       
        createCompareMessage("Wait a moment...", "white", 4000);
    
        $.post("/Catalog/CatalogAjax.aspx",{
            Type: "ProductCompare",
            Id: id, 
            McId: mcId,
            Compare: source.checked
        }, function(response) {
                        
            var value = response.split("value=")[1].split(";")[0];
            var errorCode = response.split("errorCode=")[1].split(";")[0];
                        
            ajax_ProcessReturnCompareMessage(value, errorCode, source);
            
    }); 
        //Mediachase.eCF.PublicStore.SharedModules.CompareButtonModule.ToggleCompare(id, mcId, function(result) {ajax_ProcessReturnCompareMessage(result, source);});
    }
    
    // updates the label
    function ajax_ProcessReturnCompareMessage(value, errorCode, source)
    {
        if(value!=null)
        {
            //alert("AJAX: Error occured while processing the request, refresh the page. Message: " + result.error.Message + ", code: " + result.error.Code);
            //return;
        }
    
        //if(value == null || value.length < 2)
        //    return;
            
        var amount = value;
        //var errorCode = result.value[1];
        
        var msg = "";
        var color = "#4f4f4f";
                        
        if(errorCode <= -100) // error has occured
        {
            color = "red";
            
            if(errorCode == -100) // failed
                msg = "The product is already added!";
            else if(errorCode == -101) // max products to compare = 5
                msg = "Maximum products to compare - 5!";
            else if(errorCode == -102) // can add only products from the same met class
                msg = "The product is not comparable with already added products!";
                
           ajax_ToggleCheckBox(source);
        }
        else if(errorCode == -1) // removed from comparison folder
        {
            msg = "Product removed!";
        }
        else if(errorCode == -2) // cleared comparison folder
        {
            msg = "Cleared!";
        }
        else if(errorCode == 0) // done
        {
            msg = "Product added to comparison folder!";
        }
        
        
        createCompareMessage(msg, "white", 6000);
    }
    
    function ajax_ClearCompare(id, source)
    {
        Mediachase.eCF.PublicStore.MasterTemplates.Default.Modules.CompareModule.ClearCompare(function(result) {ajax_ProcessReturnCompareMessage(result, source);});
    }
    
    // removes product from comparison table and cookie
    /*function ajax_RemoveProduct(productId, source)
    {
        Mediachase.eCF.PublicStore.MasterTemplates.Default.Modules.ProductsCompareModule.RemoveProductFromCompare(productId, function(result) {ajax_ProcessReturnCompareMessage(result, source);});
    }*/
    
    /*-------------- display ajax message ---------------------------------*/
    
    function setX()
    {
	    var m = document.getElementById('AjaxMessage');
	    //isIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1);
	    if (m)	    
	    {
	        var theTop = 200;
	        // IE6 and later uses document.documentElement instead of document.body
	        if (getIEVersionNumber()>=6.0 && document.documentElement && document.documentElement.scrollTop)
	            theTop = document.documentElement.scrollTop;
            else if (document.body)
	            theTop = document.body.parentNode.scrollTop;
	        
	        m.style.top = (theTop + 200).toString()+"px";
		    ScrollY = theTop;
	    }
    }
    
    function getIEVersionNumber()
    {
        var ua = navigator.userAgent;
        var MSIEOffset = ua.indexOf("MSIE ");
        if (MSIEOffset == -1)
        { return 0;  } 
        else
        { return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset))); }
    }
    
    window.onscroll = setX;
    var ScrollY = 0;
    
    function hideMessage()
    {
       with (document.getElementById('AjaxMessage'))
       {
		    innerHTML = "";
		    style.visibility = "hidden";
		    style.color = "black";
		    
		    $('#AjaxMessage').removeClass('hintCompare'); 
            $('#AjaxMessage').addClass('hint');
       }
    }
    
    function createCompareMessage(text, color, time_to_show)
    {              
        //$('#AjaxMessage').removeClass('hint'); 
        //$('#AjaxMessage').addClass('hintCompare');
        
        with(document.getElementById('AjaxMessage'))
	    {	        	      
		    style.visibility = "visible";
		    innerHTML        = "<span style='margin-top:20px;'>" + text + "<span>";
		    style.color      = color;
	    }
	    if ( time_to_show > 0 ) {
		    setTimeout("hideMessage()", time_to_show);
	    }
	    
	   
    }

    