YAHOO.namespace('S2W');

YAHOO.S2W.core = {
    // properties
    gecko_version : YAHOO.env.ua.gecko,

    ie_version : YAHOO.env.ua.ie,

    webkit_version : YAHOO.env.ua.webkit,

    // methods
// enableIEPngs()
    enableIEPngs : function()
    {
        /*
         * modified from http://homepage.ntlworld.com/bobosola/pngtestfixed.htm
         * correctly handle PNG transparency in Win IE 5.5 & 6.
         */

        {
            if ((this.ie_version >= 5.5) && (document.body.filters))
            {
                YAHOO.log('enableIEPngs called');

                for(var i=0; i < document.images.length; i++)
                {
                    var img = document.images[i];
                    var imgName = img.src.toUpperCase();

                    if (imgName.substring(imgName.length-3, imgName.length) === "PNG")
                    {
                        var imgID = (img.id) ? "id='" + img.id + "' " : "";
                        var imgClass = (img.className) ? "class='" + img.className + "' " : "";
                        var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
                        var imgStyle = "display:inline-block;" + img.style.cssText;

                        if (img.align === "left") { imgStyle = "float:left;" + imgStyle; }

                        if (img.align === "right") { imgStyle = "float:right;" + imgStyle; }

                        if (img.parentElement.href) { imgStyle = "cursor:hand;" + imgStyle; }

                        var strNewHTML = "<span " + imgID + imgClass + imgTitle
                            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
                            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
                            img.outerHTML = strNewHTML;

                        i = i-1;
                    }
                }
            }
        }
    },

//  enableLogger()
    enableLogger : function()
    {
        if (this.ie_version !== 0)
        {
            var myConfigs = { footerEnabled: true };
            var myLogReader = new YAHOO.widget.LogReader(null, myConfigs);

            myLogReader.collapse();
        }

        YAHOO.widget.Logger.enableBrowserConsole();

        YAHOO.log('gecko version: ' + this.gecko_version);
        YAHOO.log('ie version: ' + this.ie_version);
        YAHOO.log('webkit version: ' + this.webkit_version);

        var debugDiv = document.createElement('div');
        debugDiv.innerHTML = "DEBUG ON";
        if (this.gecko_version !== 0) { debugDiv.innerHTML += ' - check the Firebug Console for log messages'; }
        if (this.webkit_version !== 0) { debugDiv.innerHTML += ' - check the Safari Javascript Console for log messages'; }
        debugDiv.style.backgroundColor = 'rgb(250, 198, 198)';
        debugDiv.style.borderBottom = '3px solid rgb(254, 123, 122)';
        debugDiv.style.borderTop = '3px solid rgb(254, 123, 122)';
        debugDiv.style.color = 'rgb(204, 0, 0)';

        document.body.insertBefore(debugDiv, document.body.firstChild);
    }
};
