﻿var cookie_shape = ReadCookie("SDSShape");
var cookie_size = ReadCookie("SDSSize");
var dyorDiamond = ReadCookie("DYOR_DIAMOND");
var dyorDiamondLast = ReadCookie("DYOR_DIAMOND_LAST");
var tempShape = cookie_shape;
var tempSize = cookie_size;

$(document).ready(function() 
{
    SDSOnload();
});

function SDSOnload()
{
    if (dyorDiamondLast != null && dyorDiamondLast != "" && dyorDiamondLast == "true")
        UseSelectedDYORStone();
    else
    {
        if (cookie_shape != null && cookie_shape != "" && cookie_size != null && cookie_size != "")
            CommitSDSChanges("P");

        if (cookie_shape != null && cookie_shape != "")
            document.getElementById("sds_" + cookie_shape).src = (document.getElementById("sds_" + cookie_shape).src).replace(".gif", "_over.gif");

        if (cookie_size != null && cookie_size != "")
            document.getElementById("sds_" + cookie_size).src = (document.getElementById("sds_" + cookie_size).src).replace(".gif", "_over.gif");
    }
}

function UpdateShape(Shape)
{
    if (document.getElementById("chkShowMyDiamond") != null)
        document.getElementById("chkShowMyDiamond").checked = false;
        
    EraseCookie("DYOR_DIAMOND_LAST");
    CreateCookie("SDSShape", Shape, 365);
    cookie_shape = Shape;

    if (cookie_size == null || cookie_size == "") 
    {
        CreateCookie("SDSSize", "one", 365);
        cookie_size = "one";
        tempSize = "one";
        document.getElementById("sds_one").src = (document.getElementById("sds_one").src).replace(".gif", "_over.gif");
    }

    if (tempShape != null)
        document.getElementById("sds_" + tempShape).src = (document.getElementById("sds_" + tempShape).src).replace("_over.gif", ".gif");

    CheckSelected(Shape, 0)
    tempShape = Shape;

    CommitSDSChanges("P");
}

function UpdateSize(Size)
{
    if (document.getElementById("chkShowMyDiamond") != null)
        document.getElementById("chkShowMyDiamond").checked = false;
        
    EraseCookie("DYOR_DIAMOND_LAST");
    CreateCookie("SDSSize", Size, 365);
    cookie_size = Size;
    
    if (cookie_shape == null || cookie_shape == "")
    {
        CreateCookie("SDSShape", "br", 365);
        cookie_shape = "br";
        tempShape = "br";
        document.getElementById("sds_br").src = (document.getElementById("sds_br").src).replace(".gif", "_over.gif");
    }

    if (tempSize != null)
        document.getElementById("sds_" + tempSize).src = (document.getElementById("sds_" + tempSize).src).replace("_over.gif", ".gif");

    CheckSelected(Size, 1)
    tempSize = Size;
    
    CommitSDSChanges("P");
}

function CheckSelected(Shape, isSize)
{
    var shapeSrc = document.getElementById("sds_" + Shape).src;
    var temp_cookie_SS;
    var temp_temp_SS;

    if (isSize)
    {
        temp_cookie_SS = cookie_size;
        temp_temp_SS = tempSize;
    }
    else
    {
        temp_cookie_SS = cookie_shape;
        temp_temp_SS = tempShape;
    }

    if (Shape == temp_cookie_SS || Shape == temp_temp_SS)
    {
        if (shapeSrc.indexOf("_over") == -1)
            document.getElementById("sds_" + Shape).src = shapeSrc.replace(".gif", "_over.gif");
    }
    else
    {
        if (shapeSrc.indexOf("_over") == -1)
            document.getElementById("sds_" + Shape).src = shapeSrc.replace(".gif", "_over.gif");
        else
            document.getElementById("sds_" + Shape).src = shapeSrc.replace("_over.gif", ".gif");
    }
}

function DeleteOverlay()
{
    if (cookie_shape != null && cookie_shape != "")
        document.getElementById("sds_" + cookie_shape).src = (document.getElementById("sds_" + cookie_shape).src).replace("_over.gif", ".gif");

    if (cookie_size != null && cookie_size != "")
        document.getElementById("sds_" + cookie_size).src = (document.getElementById("sds_" + cookie_size).src).replace("_over.gif", ".gif");

    EraseCookie("SDSShape");
    EraseCookie("SDSSize");
    cookie_shape = null;
    cookie_size = null;
    tempShape = null;
    tempSize = null;
    
    CommitSDSChanges("M");
}

function CommitSDSChanges(imageType)
{
    var imageFormat = "_DR_";
    var imgsExist = true;
    var counter = 1;
    var imageSize;

    if (imageType == null)
        imageType = "M";
        
    while (imgsExist)
    {
        var imageProduct = document.getElementById("imgProduct_" + counter);
        
        if (imageProduct == null)
        {
            imgsExist = false;
            break;
        }
        else
        {
            var sapArticle = imageProduct.getAttribute("name");
            
            if (imageSize == null)
            {
                var queryString = document.getElementById("imgProduct_" + counter).src.split('?')[1];
                var pairs = queryString.split('&');

                for (var i = 0; i < pairs.length; i++)
                {
                    var pair = pairs[i].split('=');
                    
                    if (pair.length > 1)
                    {
                        if (pair[0] == "wid" || pair[0] == "hei")
                        {
                            imageSize = pair[1];
                            break;
                        }
                    }
                }
            }

            if (imageType == "P")
                document.getElementById("imgProduct_" + counter).src = Scene7URL + tempShape + "_" + tempSize + "?$DR_M$&$setting=" + sapArticle + imageFormat + imageType + (imageSize != null && !isNaN(imageSize) ? "&wid=" + imageSize + "&hei=" + imageSize : ""); 
            else
                document.getElementById("imgProduct_" + counter).src = Scene7URL + sapArticle + imageFormat + imageType + "?$DR_M$" + (imageSize != null && !isNaN(imageSize) ? "&wid=" + imageSize + "&hei=" + imageSize : ""); 
            
            if (document.getElementById("divProduct_" + counter) != null)
                document.getElementById("divProduct_" + counter).style.backgroundImage = "url(" + document.getElementById("imgProduct_" + counter).src + ")";

            counter++;
        }
    }
}

function CreateCookie(name, value, days)
{
    if (days)
    {
        var date = new Date();
        date.setTime(date.getTime() + (20 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else 
        var expires = "";
        
    document.cookie = name + "=" + value + expires + "; path=/";
}

function ReadCookie(name)
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    
    for (var i = 0; i < ca.length; i++)
    {
        var c = ca[i];
        
        while (c.charAt(0) == ' ')
            c = c.substring(1, c.length);
            
        if (c.indexOf(nameEQ) == 0)
        {
            if (c.substring(nameEQ.length, c.length) == "")
                return null;
            else
                return c.substring(nameEQ.length, c.length);
        } 
    }
    
    return null;
}

function EraseCookie(name)
{
    CreateCookie(name, "", -1);
}

function CheckShowMyDiamond()
{
    if (document.getElementById("chkShowMyDiamond").checked == true)
        UseSelectedDYORStone();
    else
    {
        EraseCookie("DYOR_DIAMOND_LAST");
        DeleteOverlay();
    }
}

function UseSelectedDYORStone()
{
    DeleteOverlay();

    if (dyorDiamond != null && dyorDiamond != "")
    {
        CreateCookie("DYOR_DIAMOND_LAST", "true", 365);

        var stoneShapeSize = "";
        var dyorDiamondValue = new Array();
        
        dyorDiamondValue = dyorDiamond.split('|');
        
        if (dyorDiamondValue.length > 1)
            stoneShapeSize = dyorDiamondValue[1];
        
        if (stoneShapeSize.indexOf('/') > -1)
        {
            dyorDiamondValue = stoneShapeSize.split('/');
            stoneShapeSize = dyorDiamondValue[1];
        }
         
        //alert("StoneShapeSize: " + stoneShapeSize);
        document.getElementById("chkShowMyDiamond").checked = true;
        tempShape = stoneShapeSize.split('_')[0];
        tempSize = stoneShapeSize.split('_')[1].replace(".gif", "");
        
        //alert("Shape: " + tempShape + "::Size: " + tempSize);
        CommitSDSChanges("P");
    }
}