﻿var addthis_hover_delay = 1000;
Event.observe(window, "load", window_onLoad);

function window_onLoad() {
    if ($("bookmarkWidget") != null) { $("bookmarkWidget").href = window.location.href; }
}

function bookmarkWidgetMouseOver()
{
    return addthis_open($("bookmarkWidget"), '',window.location.href,document.title)
}

function bookmarkWidgetClick()
{
    try {
        s.tl(true,'o','bookmarkWidget');
    }
    catch(ce){}
    return addthis_sendto();
}

var addthis_share = {
  templates: { twitter: 'Check out {{title}} - {{url}} #SolarWinds'
  }
}

function addthis_sendto(s,cf,sh){
    addthis_share.url = generateUrl(addThisPageType,s);
    _ate.as(s,cf,sh);return false;
}


function generateUrl(pageType, service)
{
    var cmpQueryParam = '';
    if(!pageType)
    {
       pageType = "X";
    }
    
    var sharingCMPFormat = SHARING_CMP_FORMAT;
    if (typeof(useGeekSpeakFormat) != 'undefined')
    {
        sharingCMPFormat = SHARING_GEEK_CMP_FORMAT;
    }
    
    cmpQueryParam = format(sharingCMPFormat,shortenService(service),pageType);
    var fquery = getCleanUrl(window.location.href);
    var qArr = ExtractQueryString();
    fquery = format("{0}?{1}", fquery, cmpQueryParam); 
    for (var i in qArr)
    {
        if((isDefined(i)) && (isDefined(qArr[i])) && (i.toLowerCase() != 'cmp')) 
        {
            fquery = format("{0}&{1}={2}",fquery,i,qArr[i]);
        }
    }    
    
    return fquery;
}

function getCleanUrl(url)
{
    return url.split('?')[0];
}

function format( text )
{
    if ( arguments.length <= 1 )
    {
        return text;
    }
    
    var tokenCount = arguments.length - 2;
    for(var token = 0; token <= tokenCount; token++)
    {
        text = text.replace( new RegExp( "\\{" + token + "\\}", "gi" ), arguments[ token + 1 ] );

    }
    return text;
}

function shortenService(svc)
{
    switch(svc.toLowerCase())
    {
        case "twitter":
            return "TWITTER";
        case "myspace":
            return "MYSPC";
        case "delicious":
            return "D";
        case "facebook":
            return "FB";
        case "stumbleupon":
            return "SU";
        case "google":
            return "G";
        case "favorites":
            return "FAV";
        case "social media":
            return "SM";
        default:
            return "OT";
    }
}

function isDefined(variable)
{
   return (!(!( variable||false )));
}

function ExtractQueryString() {
    var oResult = {};
    if(location.search.substr(1) != '')
    {
        var aQueryString = (location.search.substr(1)).split("&");
        for (var i = 0; i < aQueryString.length; i++) {
            var aTemp = aQueryString[i].split("=");
            if (aTemp[1].length > 0) {
                oResult[aTemp[0]] = unescape(aTemp[1]);
            }
        }
    }
    return oResult;
}

var SHARING_CMP_FORMAT = "CMP=OTC-SM-{0}-ADDT-{1}-X";
var SHARING_GEEK_CMP_FORMAT = "CMP=OTC-SM-{0}-GS-X-{1}";