﻿/* Méthodes utilitaires */
var DOM =
{
    addEvent: function (element, onevent, execution)
    {
        if (element.addEventListener)
        {
            element.addEventListener(onevent, execution, false);
        }
        else if (element.attachEvent)
        {
            element.attachEvent("on" + onevent, execution, false);
        }
    }
}

/* Méthodes non natives indispensables */
var DOMLacks =
{
    getElementsByClassName: function (oElm, strTagName, strClassName)
    {
	    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for (var i=0; i < arrElements.length; i++)
	    {
		    oElement = arrElements[i];
		    if(oRegExp.test(oElement.className))
			    arrReturnElements.push(oElement);
	    }
	    return (arrReturnElements);
	}
}

/* Rustine pour IE6 pour l'affichage de l'infobulle d'ajout au panier */
var ToolTip =
{
    SetupThem: function ()
    {
        if (is_ie6) // utilisation de sniffer
            ToolTip.IE6Confirm();
    },
    IE6Confirm: function ()
    {
        var tooltips = DOMLacks.getElementsByClassName(document, "span", "basketwtooltip");
        for (var i = 0; i < tooltips.length; i++)
        {
            tooltips[i].onmouseover = function ()
            {
                this.getElementsByTagName("span")[0].style.display = "block";
            }
            tooltips[i].onmouseout = function ()
            {
                this.getElementsByTagName("span")[0].style.display = "none";
            }    
        }
    }
}

/* Mise en place du système de focus des champs de formulaire */
var Forms = 
{
    HighlightThem: function ()
    {
        var forms = DOMLacks.getElementsByClassName(document, "div", "form");
        for (var i = 0; i < forms.length; i++)
        {
            var inputs = forms[i].getElementsByTagName("input");
            for (var j = 0; j < inputs.length; j++)
            {
                inputs[j].onfocus = function ()
                {
                    if (this.type == "radio")
                    {
                        this.parentNode.parentNode.className = this.parentNode.parentNode.className + " focus";
                    }
                    else
                    {
                        this.parentNode.className = this.parentNode.className + " focus";
                    }
                }
                inputs[j].onblur = function ()
                {
                    if (this.type == "radio")
                    {
                        this.parentNode.parentNode.className = this.parentNode.parentNode.className.replace(" focus", "");
                    }
                    else
                    {
                        this.parentNode.className = this.parentNode.className.replace(" focus", "");
                    }
                }
            }
            var textareas = forms[i].getElementsByTagName("textarea");
            for (var j = 0; j < textareas.length; j++)
            {
                textareas[j].onfocus = function ()
                {
                    this.parentNode.className = this.parentNode.className + " textareafocus";
                }
                textareas[j].onblur = function ()
                {
                    this.parentNode.className = this.parentNode.className.replace(" textareafocus", "");
                }
            }
            var selects = forms[i].getElementsByTagName("select");
            for (var j = 0; j < selects.length; j++)
            {
                selects[j].onfocus = function ()
                {
                    this.parentNode.className = this.parentNode.className + " focus";
                }
                selects[j].onblur = function ()
                {
                    this.parentNode.className = this.parentNode.className.replace(" focus", "");
                }
            }
        }
    }
}

function GoTop()
{
    window.location = '#TOP';
    if (__nonMSDOMBrowser) 
    {
        theForm.elements['__SCROLLPOSITIONY'].value = 654;
    }
    else 
    {
        theForm.__SCROLLPOSITIONY.value = 654;
    }    
}

/* Mise en place des gestionnaires d'événements */
DOM.addEvent(window, "load", ToolTip.SetupThem);
DOM.addEvent(window, "load", Forms.HighlightThem);