﻿// JScript File

/*-------------------------------------------------------------*/
    /*---------------- methods for comparison ---------------------*/
    /*-------------------------------------------------------------*/
    
    function ajax_ToggleCheckBox(source)
    {
        if(source && source.tagName.toLowerCase()=="input")
            source.checked = !source.checked;
    }
    
    function ajax_ToggleCompare(id, mcId, source)
    {
        createMessage("Espere un momento...", "#4f4f4f", 2000);
    
        Mediachase.eCF.PublicStore.SharedModules.CompareButtonModule.ToggleCompare(id, mcId, function(result) {ajax_ProcessReturnCompareMessage(result, source);});
    }
    
    // updates the label
    function ajax_ProcessReturnCompareMessage(result, source)
    {
        if(result.error!=null)
        {
            alert("AJAX: Error occured while processing the request, refresh the page. Message: " + result.error.Message + ", code: " + result.error.Code);
            return;
        }
    
        if(result.value == null || result.value.length < 2)
            return;
            
        var amount = result.value[0];
        var errorCode = result.value[1];
        
        var msg = "";
        var color = "#4f4f4f";
        
        if(errorCode <= -100) // error has occured
        {
            color = "red";
            
            if(errorCode == -100) // failed
                msg = "El producto ya fue añadido!";
            else if(errorCode == -101) // max products to compare = 5
                msg = "Productos máximos a comparar - 5!";
            else if(errorCode == -102) // can add only products from the same met class
                msg = "El producto nos es comparable con los productos existentes en la carpeta comparativa!";
                
           ajax_ToggleCheckBox(source);
        }
        else if(errorCode == -1) // removed from comparison folder
        {
            msg = "Producto removido!";
        }
        else if(errorCode == -2) // cleared comparison folder
        {
            msg = "Vacia!";
        }
        else if(errorCode == 0) // done
        {
            msg = "Producto añadido a carpeta comparativa!";
        }
        
        createMessage(msg, color, 2000);
    }
    
    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";
       }
    }

    function createMessage(text, color, time_to_show)
    {
        with(document.getElementById('AjaxMessage'))
	    {
		    style.visibility = "visible";
		    innerHTML        = text;
		    style.color      = color;
	    }
	    if ( time_to_show > 0 ) {
		    setTimeout("hideMessage()", time_to_show);
	    }
    }