﻿/*
Title:      Main Javascript
Author:     Martin Cayouette, merlin.cayouette@nurun.com
Updated:    October 10 2008

Content:	
            Base namespace setup
            Init all pages
            Init for form Subscription pages
                Warranty Confirmation Subscription
                Press Releases Subscription
                Newsletter Subscription
                Brochure Subscription
            Init for Send To Friend pages
            Init INTERNATIONAL home page
            Hyperlink Events Tracking
            Generic Popup Window

*/

// ------[ Base namespace setup ]------------------------------------------------- //

window.INTERNATIONAL = window.INTERNATIONAL || {};

INTERNATIONAL = {
    globals: {
        labels: {}
    },
    pages: {
        all: {},
        culture: {},
        home: {},
        generic: {}
    },
    widgets: {},
    util: {}
}

// ------[ Init for all pages ]------------------------------------------------- //

INTERNATIONAL.pages.all.init = function() {

    /**
    * Logo BRP : Back to Home link
    */
    var logoBRPID = YAHOO.util.Dom.get("logo-brp");
    if (logoBRPID) {
        var aLinkEl = logoBRPID.getElementsByTagName("a");
        if (aLinkEl.length > 0) {
            YAHOO.util.Event.addListener(logoBRPID, "click", function(divElement, linkElement) {
                return function(e) {
                    e = e || event;
                    YAHOO.util.Event.preventDefault(e);
                    //Check to see if we clicked on an DIV element
                    if (divElement.tagName.toLowerCase() == 'div') {
                        window.location = linkElement.href;
                        //return true;
                    }
                }
            } (logoBRPID, aLinkEl[0]));
        }
    }

    INTERNATIONAL.HyperlinkEventsTracking.AddOnClickEvent("container", INTERNATIONAL.globals.cultureId);

    /**
    * Initialize INTERNATIONAL Share this page popup page
    */
    INTERNATIONAL.globals.sharethispage = new YAHOO.widget.Panel(
		"sharethispage",
		{
		    width: "630px",
		    height: "400px",
		    constraintoviewport: true,
		    underlay: "shadow",
		    close: true,
		    visible: false,
		    fixedcenter: true,
		    draggable: false,
		    zIndex: 6,
		    modal: true //Window bkg
		}
	);
    //Render the panel for screen
    INTERNATIONAL.globals.sharethispage.render(document.body);

    //Create an array with all anchor with the classname "share-this-page"
    var el = YAHOO.util.Dom.getElementsByClassName('share-this-page', 'a');

    for (var i = 0; el[i]; i++) {
        el[i].onclick = function() {
            var pnl = INTERNATIONAL.globals.sharethispage;
            pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='400' src='" + this.href + "'></iframe>");
            pnl.render();
            pnl.show();
            return false;
        }
        el[i].style.visibility = "visible";
    }


    /**
    * Initialize INTERNATIONAL Send To Friend (Agree Condition) popup page
    */
    INTERNATIONAL.globals.sendtofriend = new YAHOO.widget.Panel(
	    "sendtofriend",
		{
		    width: "630px",
		    height: "600px",
		    constraintoviewport: true,
		    underlay: "shadow",
		    close: true,
		    visible: false,
		    fixedcenter: true,
		    draggable: false,
		    zIndex: 6,
		    modal: true //Window bkg
		}
	);
    //Render the panel for screen
    INTERNATIONAL.globals.sendtofriend.render(document.body);

    //Create an array with all anchor with the classname "privacy-policy"
//    var el = YAHOO.util.Dom.getElementsByClassName('privacy-policy', 'a');

//    for (var i = 0; el[i]; i++) {
//        el[i].onclick = function() {
//            var pnl = parent.INTERNATIONAL.globals.sendtofriend;
//            pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='600' src='" + this.href + "'></iframe>");
//            pnl.render();
//            pnl.show();
//            return false;
//        }
//        el[i].style.visibility = "visible";
//    }


    //Find and create a listener with the "lnkPrivacyPolicy" ID link button
    //We need this because we reload with AJAX
    var elPrivacyPolicy = document.getElementById('lnkPrivacyPolicy');

    if (elPrivacyPolicy) {
        //Add Click action in the element
        YAHOO.util.Event.addListener(document.body, "click", function(e) {
            e = e || event;
            var target = e.target || e.srcElement;
            // Calling the parent window here... so we cover the whole screen
            if (target.id === "lnkPrivacyPolicy") {
                YAHOO.util.Event.preventDefault(e);
                var pnl = parent.INTERNATIONAL.globals.sendtofriend;
                pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='600' src='" + target.href + "'></iframe>");
                pnl.render();
                pnl.show();
                target.style.visibility = "visible";
            }
        });
    }
    /*Find the "lnkPrivacyPolicy" ID link button
    var elPrivacyPolicy = document.getElementById('lnkPrivacyPolicy');

    if (elPrivacyPolicy) {
        //Add Click action in the element
        elPrivacyPolicy.onclick = function() {
            // Calling the parent window here... so we cover the whole screen
            var pnl = parent.INTERNATIONAL.globals.agreecondition;
            pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='600' src='" + this.href + "'></iframe>");
            pnl.render();
            pnl.show();
            return false;
        }
    }*/

    /**
    * Initialize INTERNATIONAL Innovation popup page
    */
    INTERNATIONAL.globals.innovation = new YAHOO.widget.Panel(
	    "innovation",
		{
		    width: "555px",
		    height: "400px",
		    constraintoviewport: true,
		    underlay: "shadow",
		    close: true,
		    visible: false,
		    fixedcenter: true,
		    draggable: false,
		    zIndex: 6,
		    modal: true //Window bkg
		}
	);
    //Render the panel for screen
    INTERNATIONAL.globals.innovation.render(document.body);

    //set the body to Nothing on Close
    INTERNATIONAL.globals.innovation.beforeHideEvent.subscribe(function() {
        INTERNATIONAL.globals.innovation.setBody("");
    });

    //Create an array with all anchor with the classname "overview-media"
    var el = YAHOO.util.Dom.getElementsByClassName('overview-media', 'a');

    for (var i = 0; el[i]; i++) {
        el[i].onclick = function() {
            var pnl = INTERNATIONAL.globals.innovation;
            pnl.setBody("<iframe width='555' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='400' src='" + this.href + "'></iframe>");
            pnl.render();
            pnl.show();
            return false;
        }
        el[i].style.visibility = "visible";
    }

};     //END Init for all pages

// ------[ Init for Form Subscription pages ]------------------------------------------------- //
/*
* Warranty Confirmation Subscription
* Press Releases Subscription
* Newsletter Subscription
* Brochure Subscription
*/
INTERNATIONAL.pages.formSubscription = function() {

    /**
    * Initialize INTERNATIONAL Privacy Policy (Agree Condition) popup page
    */
    INTERNATIONAL.globals.agreecondition = new YAHOO.widget.Panel(
		"agreecondition",
		{
		    width: "630px",
		    height: "600px",
		    constraintoviewport: true,
		    underlay: "shadow",
		    close: true,
		    visible: false,
		    fixedcenter: true,
		    draggable: false,
		    zIndex: 6,
		    modal: true //Window bkg
		}
	);
    //Render the panel for screen
    INTERNATIONAL.globals.agreecondition.render(document.body);

    //Create a listener with the className "agree-condition"
    //We don't take the ID beacause is Dynamic...
    //We need this because we reload with AJAX
    var elAgreeCondition = YAHOO.util.Dom.getElementsByClassName('agree-condition', 'a');

    if (elAgreeCondition.length > 0) {
        for (var i = 0; i < elAgreeCondition.length; i++) {
            YAHOO.util.Event.addListener(document.body, "click", function() {
                return function (e, params) {
                    e = e || event;
                    var target = e.target || e.srcElement;
                    //We need to take the dynamic ID element because we reload with AJAX
                    if (target.id == elAgreeCondition[params].id) {
                        YAHOO.util.Event.preventDefault(e);
                        var pnl = INTERNATIONAL.globals.agreecondition;
                        pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='600' src='" + target.href + "'></iframe>");
                        pnl.render();
                        pnl.show();
                        target.style.visibility = "visible";
                    }
                }
            } (), i);
        }
    }

    //Create an array with all anchor with the classname "share-this-page"
    /*
    var el = YAHOO.util.Dom.getElementsByClassName('agree-condition', 'a');

    for (var i = 0; el[i]; i++) {
        el[i].onclick = function() {
            var pnl = INTERNATIONAL.globals.agreecondition;
            pnl.setBody("<iframe width='630' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' height='600' src='" + this.href + "'></iframe>");
            pnl.render();
            pnl.show();
            return false;
        }
        el[i].style.visibility = "visible";
    }
    */

};    //Init for Form Subscription pages

// ------[ Init INTERNATIONAL home page ]------------------------------------------------- //


INTERNATIONAL.pages.home.init = function() {
    // Initialize small slideshow
    INTERNATIONAL.globals.slideShow = new INTERNATIONAL.widgets.Slideshow("slides", "slide-controls", { timer: 8000 });
};

/**
* Creates a slideshow with previous/next buttons and pips in between representing
* the current slide among the total number of slides in the show
*/
INTERNATIONAL.widgets.Slideshow = function(slidesId, controlbarId, userConfig) {
    this.slidesEl = YAHOO.util.Dom.get(slidesId);
    this.controlBarEl = YAHOO.util.Dom.get(controlbarId);

    if (!this.slidesEl || !this.controlBarEl) return;

    //this.refreshSlidesElDims();
    this.slidesElDims = {
        xy: YAHOO.util.Dom.getXY(this.slidesEl),
        width: this.slidesEl.offsetWidth,
        height: this.slidesEl.offsetHeight
    };

    this.uc = userConfig || {};
    //HIDE this if you want stop the slider and show all promotions.
    this.slides = YAHOO.util.Dom.getElementsByClassName("slide", this.uc.slidesElType || "li", this.slidesEl);
    this.numSlides = this.slides.length;

    this.slidesPtr = 0;
    this.currentSlide = function() { return this.slidesPtr + 1 }

    // Only create previous and next buttons if there is more than one slide
    if (this.numSlides > 1) {


        // Hyperlink Events Tracking for all banners
        for (var i = 0; i < this.numSlides; i++) {

            //Find all "A" link element            
            if (this.slidesEl) {
                this.aLinkContent = this.slidesEl.getElementsByTagName('a');
                this.numALinkContent = this.aLinkContent.length;
            }
            for (var i = 0; i < this.numALinkContent; i++) {
                for (var i = 0; i < this.numALinkContent; i++) {
                    if ((this.aLinkContent[i].title).toLowerCase() != "" || (this.aLinkContent[i].title).toLowerCase() != "undefined") {
                        //Call the Action
                        var params = INTERNATIONAL.globals.cultureId + "_Home_Rotation_Banners_Links|" + this.aLinkContent[i].title + "|" + (this.aLinkContent[i].href);
                        //eventTracker._trackEvent('[culture]_Home_Rotation_Banners_Links', '[nom du site produit]', '[URL du lien sortant]');
                        YAHOO.util.Event.on(this.aLinkContent[i], 'click', INTERNATIONAL.HyperlinkEventsTracking.TrackPageEvent, params);
                    }
                }
            }
        } //Hyperlink Events Tracking


        // On Mouse Over on "LI" element stop de slider
        // and clear the Timer until the onmouseout reset the Timer.
        for (var i = 0; i < this.numSlides; i++) {

            this.slidesContent = YAHOO.util.Dom.getElementsByClassName("slide-content", "div", this.slides[i]);
            this.numSlidesContent = this.slidesContent.length;

            for (var x = 0; x < this.numSlidesContent; x++) {
                //stopTimer
                this.slidesContent[x].onmouseover = function(that) {
                    return function() {
                        that.stopTimer();
                        return false;
                    }
                } (this);
                //setTimer
                this.slidesContent[x].onmouseout = function(that) {
                    return function() {
                        //that.resetTimer();
                        that.setTimer();
                        return false;
                    }
                } (this);
            }
        }

        // Next button
        this.nextBtn = document.createElement(this.uc.buttonNodeName || "div");
        this.nextBtn.innerHTML = "&rarr;";
        this.nextBtn.className = this.uc.nextBtnClass || "next";
        this.nextBtn.onclick = function(that) {
            return function() {
                that.goTo(1);
                that.resetTimer();
                return false;
            }
        } (this);
        this.controlBarEl.appendChild(this.nextBtn);

        // Indicator
        this.indicator = document.createElement(this.uc.buttonNodeName || "div");
        this.indicator.className = this.uc.indicatorClass || "indicator";
        //Add no click for the control Bar
        this.indicator.onclick = function() {
            return false;
        }
        this.pips = [];

        for (var i = 0; i < this.numSlides; i++) {
            var pip = document.createElement("div");
            //Add number of Slide
            pip.innerHTML = i + 1;

            if ((i + 1) === this.currentSlide()) {
                pip.className = "current";
            }

            pip.onclick = function(that, num) {
                return function() {
                    //If the current slide click == to same click do nothing
                    if (that.slidesPtr != num) {
                        var dir = (that.slidesPtr > num) ? 1 : -1;
                        that.goTo(dir, num);
                        that.resetTimer();
                    }
                }
            } (this, i);

            this.indicator.appendChild(pip);
            this.pips.push(pip);
        }
        this.controlBarEl.appendChild(this.indicator);

        // Previous button
        this.prevBtn = document.createElement(this.uc.buttonNodeName || "div");
        this.prevBtn.innerHTML = "&larr;";
        this.prevBtn.className = this.uc.prevBtnClass || "prev";
        this.prevBtn.onclick = function(that) {
            return function() {
                that.goTo(-1);
                that.resetTimer();
                return false;
            }
        } (this);
        this.controlBarEl.appendChild(this.prevBtn);

        // Get slides out of the way for Safari 2.0.x because they block page links
        for (var i = 1; this.slides[i]; i++) {
            this.slides[i].style.top = "-3000px";
            this.slides[i].style.left = "-3000px";
        }

        this.goTo(0); // to initialize the first slide if it has a popup
        this.setTimer(); // set automated forward timer

        //Add Width size for the controler element to fix background in IE6.
        var controlBarElWidth = Math.floor(this.nextBtn.offsetWidth + this.indicator.offsetWidth + this.prevBtn.offsetWidth + 6);
        this.controlBarEl.style.width = controlBarElWidth + "px";
    } else {
        //Remove all the controlBarEl to hide the background image
        this.controlBarEl.style.display = "none";
    }
}

INTERNATIONAL.widgets.Slideshow.prototype.setTimer = function() {
    if (this.uc.timer) {
        this.slideShowInterval = window.setInterval(
			function(that) {
			    return function() {
			        that.goTo(1);
			    }
			} (this),
			this.uc.timer
		);
    }
}

INTERNATIONAL.widgets.Slideshow.prototype.resetTimer = function() {
    if (this.slideShowInterval) {
        window.clearInterval(this.slideShowInterval);
        this.setTimer();
    }
}

INTERNATIONAL.widgets.Slideshow.prototype.stopTimer = function() {
    if (this.slideShowInterval) {
        window.clearInterval(this.slideShowInterval);
    }
}

INTERNATIONAL.widgets.Slideshow.prototype.refreshSlidesElDims = function() {
    this.slidesElDims = {
        xy: YAHOO.util.Dom.getXY(this.slidesEl),
        width: this.slidesEl.offsetWidth,
        height: this.slidesEl.offsetHeight
    };
}

INTERNATIONAL.widgets.Slideshow.prototype.goTo = function(dir, skipTo) {
    this.slidesElDims = {
        xy: YAHOO.util.Dom.getXY(this.slidesEl),
        width: this.slidesEl.offsetWidth,
        height: this.slidesEl.offsetHeight
    };

    var outSlide = this.slides[this.slidesPtr];
    var outSlideXY = YAHOO.util.Dom.getXY(outSlide);
    var outSlideWidth = outSlide.offsetWidth;

    if (dir == -1) {
        var outSlideAnim = new YAHOO.util.Motion(outSlide, {
            opacity: {
                from: 1,
                to: 0
            },
            points: {
                from: [
                        this.slidesElDims.xy[0],
                        this.slidesElDims.xy[1]
                    ],
                to: [
                        this.slidesElDims.xy[0] + this.slidesElDims.width,
                        this.slidesElDims.xy[1]
                    ]
            }
        }
        );
        outSlideAnim.onComplete.subscribe(
           function(el) {
               return function() {
                   el.style.top = "-3000px";
                   el.style.left = "-3000px";
               }
           } (outSlide)
        );
        outSlideAnim.duration = 0.5;
        outSlideAnim.method = YAHOO.util.Easing.easeOutStrong;

        this.slidesPtr = (this.slides[skipTo]) ? skipTo : this.slides[this.slidesPtr - 1] ? this.slidesPtr - 1 : this.numSlides - 1;
        var inSlide = this.slides[this.slidesPtr];
        var inSlideXY = YAHOO.util.Dom.getXY(inSlide);
        var inSlideAnim = new YAHOO.util.Motion(inSlide, {
            opacity: {
                from: 0,
                to: 1
            },
            points: {
                from: [
                        this.slidesElDims.xy[0] - this.slidesElDims.width,
                        this.slidesElDims.xy[1]
                    ],
                to: [
                        this.slidesElDims.xy[0],
                        this.slidesElDims.xy[1]
                    ]
            }
        }
        );
        inSlideAnim.duration = 0.5;
        inSlideAnim.method = YAHOO.util.Easing.easeOutStrong;

        outSlideAnim.animate();
        inSlideAnim.animate();


    } else if (dir == 1) {
        var outSlideAnim = new YAHOO.util.Motion(outSlide, {
            opacity: {
                from: 1,
                to: 0
            },
            points: {
                from: [
                        this.slidesElDims.xy[0],
                        this.slidesElDims.xy[1]
                    ],
                to: [
                        this.slidesElDims.xy[0] - this.slidesElDims.width,
                        this.slidesElDims.xy[1]
                    ]
            }
        }
        );
        outSlideAnim.onComplete.subscribe(
           function(el) {
               return function() {
                   el.style.top = "-3000px";
                   el.style.left = "-3000px";
               }
           } (outSlide)
        );
        outSlideAnim.duration = 0.5;
        outSlideAnim.method = YAHOO.util.Easing.easeOutStrong;

        this.slidesPtr = (this.slides[skipTo]) ? skipTo : this.slides[this.slidesPtr + 1] ? this.slidesPtr + 1 : 0;
        var inSlide = this.slides[this.slidesPtr];
        var inSlideXY = YAHOO.util.Dom.getXY(inSlide);
        var inSlideAnim = new YAHOO.util.Motion(inSlide, {
            opacity: {
                from: 0,
                to: 1
            },
            points: {
                from: [
                        this.slidesElDims.xy[0] + this.slidesElDims.width,
                        this.slidesElDims.xy[1]
                    ],
                to: [
                        this.slidesElDims.xy[0],
                        this.slidesElDims.xy[1]
                    ]
            }
        }
        );
        inSlideAnim.duration = 0.5;
        inSlideAnim.method = YAHOO.util.Easing.easeOutStrong;

        outSlideAnim.animate();
        inSlideAnim.animate();
    }

    if (this.indicator) {
        for (var i = 0; this.pips[i]; i++) {
            if ((i + 1) === this.currentSlide()) {
                this.pips[i].className = "current";
            } else {
                this.pips[i].className = "";
            }
        }
    } 
}


// ------[ Hyperlink Events Tracking ]--------------------------------------------- //

INTERNATIONAL.HyperlinkEventsTracking = {

    AddOnClickEvent: function(containerId, culture) {

        this.Culture = culture;

        var allLinks = YAHOO.util.Dom.getElementsBy(function() { return true; }, 'A');
        var allLinksLength = allLinks.length;
        var params = "";

        for (var i = 0; i < allLinksLength; i++) {

            // The Tracking Events code for all the Rotation banners (slideshow) in the home page
            // are in the "INTERNATIONAL.widgets.Slideshow"

            //  au lieu de eventTracker._trackEvent('Outgoing_Links-Product_sites', '[nom du site produit]', '[URL du lien sortant]'); 
            //  mettre eventTracker._trackEvent('[culture]_Outgoing_Links-Product_sites', '[nom du site produit]', '[URL du lien sortant]');

            //  Pour les liens sortant vers BRP corpo, 
            //  au lieu de eventTracker._trackEvent('Outgoing_Links', 'BRP Corporate Site', '[URL du lien sortant]');
            //  ce serait eventTracker._trackEvent('[culture]_Outgoing_Links', 'BRP Corporate Site', '[URL du lien sortant]'); 



            //Globals
            if ((allLinks[i].id).toLowerCase() != "")
                switch ((allLinks[i].id).toLowerCase()) {
                case "lnkcorpbrpcom":
                    var params = this.Culture + "_Outgoing_Links|BRP Corporate Site|" + (allLinks[i].href);
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                    break;
                case "lnkepc":
                    var params = this.Culture + "_Outgoing_Links|Parts_Catalogs|http://epc.brp.com";
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                    break;
                case "lnkoperatorsguide":
                    var params = this.Culture + "_Outgoing_Links|Operators_Guides|" + (allLinks[i].href);
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                    break;
                case "lnkrss":
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageView, "/" + this.Culture + "/GAconversions/RSSnewsfeed");
                    break;
                default:
                    break;
            }

            //Share this page
            if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis") != -1) {
                var modifiedURL = (allLinks[i].href).substring((allLinks[i].href).indexOf("www.brp.com") + 11, 99999);
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis01") != -1) {
                    var params = "Share|delicious|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis02") != -1) {
                    var params = "Share|Digg|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis03") != -1) {
                    var params = "Share|Facebook|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis04") != -1) {
                    var params = "Share|StumbleUpon|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis05") != -1) {
                    var params = "Share|SlashDot|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis06") != -1) {
                    var params = "Share|WindowsLiveBookmarks|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis07") != -1) {
                    var params = "Share|GoogleBookmarks|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis08") != -1) {
                    var params = "Share|Twitter|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis09") != -1) {
                    var params = "Share|BlinkList|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis10") != -1) {
                    var params = "Share|YahooMyWeb|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis11") != -1) {
                    var params = "Share|Spurl|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis12") != -1) {
                    var params = "Share|Furl|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis13") != -1) {
                    var params = "Share|BlogMarks|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis14") != -1) {
                    var params = "Share|Fark|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis15") != -1) {
                    var params = "Share|NewsVine|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis16") != -1) {
                    var params = "Share|Reddit|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis17") != -1) {
                    var params = "Share|Simpy|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }
                if ((allLinks[i].id).toLowerCase().indexOf("hlsharethis18") != -1) {
                    var params = "Share|magnolia|" + modifiedURL;
                    YAHOO.util.Event.on(allLinks[i], 'click', this.TrackPageEvent, params);
                }

            }
        }
    },

    TrackPageEvent: function(e, params) {
        var aParams = params.split('|');
        if (aParams.length == 3)
            eventTracker._trackEvent(aParams[0], aParams[1], aParams[2]);
    },
    TrackPageView: function(e, params) {
        pageTracker._trackPageview(params);
    }
};


// ------[ Generic Popup Window ]------------------------------------------------- //

function popWin(url, w, h, scroll, tools, name, center, baseUrl) {
    var str = "height=" + h + ",innerHeight=" + h;
    str += ",width=" + w + ",innerWidth=" + w;
    if (baseUrl) url = webSiteCMSUrl + url;
    if (!center) var center = false;
    if (!scroll) scroll = 0;
    if (!tools) tools = 0;
    if (!name) name = "pop";

    if ((window.screen) && (center)) {
        var ah = screen.availHeight - 30;
        var aw = screen.availWidth - 10;

        var xc = (aw - w) / 2;
        var yc = (ah - h) / 2;

        str += ",left=" + xc + ",screenX=" + xc;
        str += ",top=" + yc + ",screenY=" + yc;
    }

    pop = window.open(url, name, 'toolbar=' + tools + ',location=0,directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=1,' + str).focus();
}