﻿
/// <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 DisplaySizesByVariantId(VariantsID) {
    var reg1 = new RegExp("[||]+", "g");
    var VariantIDsArray = VariantsID.split(reg1);
    $("li.Available").css("display", "block");
    $("li.notAvailable").css("display", "block");
    for (var i = 0; i < VariantIDsArray.length; i++) {
        var TailleById = $get(VariantIDsArray[i]);
        TailleById.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);

    //set display = 'block' cause display could have been set to 'none'
    //imageproduct.parentNode.style.display = 'block';
    //imageproduct.style.display = 'block';
    
    //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;
}

function showImage(theImage) {
    //theImage.src = '/images/pictos/picto_errorProduct.gif';
    theImage.parentNode.style.display = 'block';
    theImage.style.display = 'block';
}


function Load_imgProduct(ImageId, ImgUrl) {
    var imageproduct = $get(ImageId);
    var imageproductUrl = ImgUrl;
    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.src = ImgUrl;
    if (ImgUrl != 'NoPictoMarketing')
        imageproduct.style.display = "block";
    else
        imageproduct.style.display = "none";       
}

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 (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 SetVariantQuantityForProduct(HiddenField, Quantity) {
	//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 = Quantity;
}


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);
}

function ChangeSeaDragonPrefix(hfId, newPrefixe) {
    
    var HiddenField = $get(hfId);
    var HiddenFieldValue = HiddenField.value;
    var lastSeaDragonPrefix = /Zoom\/.*?-/; //Sea Dragon Prefix
    HiddenFieldValue = HiddenFieldValue.replace(lastSeaDragonPrefix, "Zoom/" + newPrefixe + "-");
    HiddenField.value = HiddenFieldValue;
    if( $get('Seadragon') != null )
        Sea_Dragon(HiddenField.value);
}

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;
    if ($get('Seadragon') != null)
        Sea_Dragon(HiddenField.value);
}

function slide(Element, SpecificContainer) {
    $(SpecificContainer).hide();
    $(SpecificContainer + "." + Element).show();
}

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 ChangeLink(variantID, controlToUpdate) {
    var control = document.getElementById(controlToUpdate);
    control.href = variantID;

}
