﻿

/// <summary>
/// Fonction Js changeant les tailles affichés
/// associés à la couleur sur laquelle l'utilisateur
/// à cliqué
/// </summary>
/// <param name="VariantsID">les variants associé à la couleur cliqué</param>
/// <returns></returns>
function DisplayByVariantId(VariantsID, Type) 
{
    var reg1 = new RegExp("[||]+", "g");
    var VariantIDsArray = VariantsID.split(reg1);
    $("." + Type + " li").css("display", "none");

    for (var i = 0; i < VariantIDsArray.length; i++) {
        var TypeById = $get( VariantIDsArray[i] );
        if (TypeById != undefined) { TypeById.style.display = 'block'; }
    }
}

/// <summary>
/// Fonction Js changeant le prefixe d'une image associé
/// au produit lors du clic utilisateur sur 
/// un variant
/// </summary>
/// <param name="ImageId">l'id de l'image que l'on désire modifiée</param>
/// <param name="PrefixeImage">le variant associé à la couleur</param>
function Change_imgPrefix(ImageId, ImgPrefixe) {
    //On récupère d'abord l'id des différentes images
    var imageproduct = $get(ImageId);
    //On récupère ensuite l'id de l'image dont on va changé la source ( cela peut etre la petite image liste en dessous
    var imageproductUrl = imageproduct.src;

    var lastImgPrefix = /products\/.*?-/; //Image Prefix //Source / Path /Products/ Imgprefix - refCol - Number.jpg
    imageproductUrl = imageproductUrl.replace(lastImgPrefix, "products/" + ImgPrefixe + "-");
    imageproduct.src = imageproductUrl;
}

/// <summary>
/// Fonction Js changeant une image associé
/// au produit lors d'un clic utilisateur
///sur undefined variant
/// </summary>
/// <param name="ImageId">l'id de l'image que l'on désire modifiée</param>
/// <param name="PrefixeImage">le variant associé à la couleur</param>
function Change_imgUrl(ImageId, ImgUrl) {
    
    var imageproduct = $get(ImageId);
    imageproduct.parentNode.style.display = 'block';
    imageproduct.src = ImgUrl;
}

function Change_imgNumber(ImageId, ImgNumber) {

    //On récupère d'abord l'id des différentes images
    var imageproduct = $get(ImageId);
    //On récupère ensuite l'id de l'image dont on va changé la source ( cela peut etre la petite image liste en dessous
    var imageproductUrl = imageproduct.src;
    var lastImgNumber = /-[0-9]./; //Numero Image Produit Source/Path/Imgprefix-refCol-Number.jpg
    imageproductUrl = imageproductUrl.replace(lastImgNumber, "-" + ImgNumber + ".");
    imageproduct.src = imageproductUrl;
}

//Place la taille selectionnée dans le label des tailles '_lbSelectedSize'
function SetSizeSelectedValue(label, text) {
    //On récupère notre label '_lbSelectedSize' auquel on attribue la valeur de 
    //taille selectionnée par l'utilisateur
    var SizeLabel = $get(label);
    SizeLabel.innerHTML = text;
}

//Place le texte selectionné dans un label donné
function SetTextForLabel(Text, CtrlLabelId) {
    var CtrlLabel = $get(CtrlLabelId);
    if (CtrlLabel != null) {
        if (Text == undefined)// <= For I.E.
            Text = '';
        CtrlLabel.innerHTML = Text;
    }
}

function Set_Current(object, divId) {
    var removeall = $("." + divId + " a.current").removeClass("current");
    object.className = "current";


}

function Set_Avaibility(divId1, divId2, avQuantity) {

    if (avQuantity > 0) {
        show(divId1);
        hide(divId2);
    }
    else {
        show(divId2);
        hide(divId1);
    }
}

function SetVariantForProduct(HiddenField, VariantId) {

    //On récupère le champs caché dans lequel on place le variant du produit séléctionné
    //dans le cadre d'un probable achat
    var hiddenField = $get(HiddenField);
    hiddenField.value = VariantId;

}

function slide(Element, SpecificContainer) {
    $(SpecificContainer).hide();
    $(SpecificContainer + "." + Element).show();
}

function LinkToProduct(HrefLink, VariantID) {
    var lastVariantID = /variantID=.*\&categoryID/; //Variant ID for Link to Produt
    var LinkProduct = $get(HrefLink);
    LinkProduct.href = LinkProduct.href.replace(lastVariantID, "variantID=" + VariantID + "&categoryID");
}

function IsSizeSelected(SizeLabelID, FlyObout) {

    var sizeLabel = $get(SizeLabelID);
    if (sizeLabel.Text != undefined) {
        show(FlyObout);
    }
    else {
        hide(FlyObout);
    }
}

//Affiche la Liste des Tailles selectionnés
function show(id) {

    if (document.getElementById) {
        if (document.getElementById(id).style.display == "block") {
            //hide(id);
        } else {
            document.getElementById(id).style.display = "block";
        }
    } else if (document.all) {
        if (document.all[id].style.display == "block") {
            //hide(id);
        } else {
            document.all[id].style.display = "block";
        }
    } else if (document.layers) {
        if (document.layers[id].display == "block") {
            //hide(id);
        } else {
            document.layers[id].display = "block";
        }
    }
}

function hide(id) {
    if (document.getElementById) {
        document.getElementById(id).style.display = "none";
    } else if (document.all) {
        document.all[id].style.display = "none";
    } else if (document.layers) {
        document.layers[id].display = "none";
    }
}

function ChangeSeaDragonNumber(hfId, newNumber) {
    
    var HiddenField = $get(hfId);
    var HiddenFieldValue = HiddenField.value;
    var lastSeaDragonNumber = /-[0-9]/; //Sea Dragon Number
    HiddenFieldValue = HiddenFieldValue.replace(lastSeaDragonNumber, newNumber);
    HiddenField.value = HiddenFieldValue;
    Sea_Dragon(HiddenField.value);

}

function ChangeSeaDragonPrefix(hfId, newPrefixe) {

    var HiddenField = $get(hfId);
    var HiddenFieldValue = HiddenField.value;
    var lastSeaDragonPrefix = /seaDragon\/.*?-/; //Sea Dragon Prefix
    HiddenFieldValue = HiddenFieldValue.replace(lastSeaDragonPrefix, "seaDragon/" + newPrefixe + "-");
    HiddenField.value = HiddenFieldValue;
    Sea_Dragon(HiddenField.value);
    
}

function Sea_Dragon(path) {
    var y = $get('Seadragon');
    while (child = y.firstChild)
        y.removeChild(child);
    viewer = new Seadragon.Viewer('Seadragon');
    var navControl = viewer.getNavControl();
    //remove full screen button
    //navControl.removeChild(navControl.lastChild);
    //Seadragon.Config.minZoomDimension = 300;
    //Seadragon.Config.maxZoomPixelRatio = 3;
    viewer.openDzi(path);
}