/* AllAccess Widget Configurations */
var allaccess_widgets = {
  check:{
    url:"the-check-loader.swf", 
    flashvars:{
      wid:"check", 
      pid:"not-set", 
      appPath:"the-check.swf", 
      xmlPath:"xml/the-check.xml", 
      cssPath:"css/the-check.css"
    }, 
    attributes:{
      id:"the-check", 
      name:"the-check"
    }
  }, 
  mymethod:{
    url:"mymethod-loader.swf", 
    flashvars:{
      wid:"mymethod", 
      pid:"not-set",
      appPath:"mymethod.swf", 
      xmlPath:"xml/mymethod.xml", 
      cssPath:"css/mymethod.css"
    },
    attributes:{
      id:"mymethod", 
      name:"mymethod"
    }
  }, 
  mymethod_mshealthvault:{
    url:"mymethod-loader.swf", 
    flashvars:{
      wid:"mymethod-mshealthvault", 
      pid:"not-set",
      appPath:"mymethod-mshealthvault.swf", 
      xmlPath:"xml/mymethod.xml", 
      cssPath:"css/mymethod.css"
    }, 
    attributes:{
      id:"mymethod-mshealthvault", 
      name:"mymethod-mshealthvault"
    }
  },
  locate:{
    url:"locate-loader.swf", 
    flashvars:{
      wid:"locate", 
      pid:"not-set",
      appPath:"locate.swf", 
      xmlPath:"xml/locate-widget.xml", 
      cssPath:"css/locate.css"
    },
    attributes:{
      id:"locate", 
      name:"locate"
    }
  }
};
/* AllAccess Shared Widget Configuration settings */
var allaccess_swfobj = {
  url:"", 
  targetid:"flash-widget", 
  width:"470", 
  height:"392", 
  version:"9.0.115", 
  expressinstall:false, 
  flashvars:{
    hostPath:"/tools/allaccess/widgets/v2/", 
    fontsPath:"fonts/widget-fonts.swf", 
    locatePath:"locate-module.swf", 
    locateStringsPath:"xml/locate.xml", 
    lang:"en"
  }, 
  params:{
    allowscriptaccess:"always", 
    allownetworking:"all", 
    wmode:"transparent"
  }
};

function get_hash_params() {
  var params = new Object();
  var paramString = unescape(location.hash.substring(1));
  var keyValues = paramString.split('&');
  for (var i in keyValues) {
      var key = keyValues[i].split('=');
      params[key[0]] = key[1];
  }
  return params;
}

/* Utility function to retrieve a widget configuration object to use with swfobject.embedSWF method */
function get_allaccess_widget( name, lang, wid, pid, ga, gdebug )
{
  var widget = allaccess_widgets[name];
  if(!widget) return false;
  
  var params = get_hash_params();
  wid    = params.wid;
  pid    = params.pid;
  ga     = params.ga;
  gdebug = params.gdebug;
  
  if( lang )
  {
    allaccess_swfobj.flashvars.wid += "_" + lang;
    allaccess_swfobj.flashvars.pid += "_" + lang;
    allaccess_swfobj.flashvars.lang = 
    addthis_config.ui_language = lang; // Override to set default language
  }
  
  // if wid or pid explicitly defined, override default values
  if( wid ) widget.flashvars.wid = wid;
  if( pid ) widget.flashvars.pid = pid;
  
  // if ga or gdebug explicitly defined (Google Analytics Config), pass in their values
  if( ga )     widget.flashvars.ga = ga;
  if( gdebug ) widget.flashvars.gdebug = gdebug;
  
  allaccess_swfobj.url = allaccess_swfobj.flashvars.hostPath + widget.url;
  if(widget.flashvars) $.extend(allaccess_swfobj.flashvars, widget.flashvars);
  allaccess_swfobj.attributes = widget.attributes;
  return allaccess_swfobj;
}

/* AllAccess Widgets AddThis integration */
var addthis_config = {
  username: "ppallaccess", 
  data_track_clickback: true
};
var addthis_share = {};

/* widget calls show_addthis function directly - only needed for "Email" and "More Services" sharing options */
function show_addthis( service, title, url, description, email_template, email_vars ) 
{
  addthis_share.title = title;
  addthis_share.url = url;
  addthis_share.description = description;
  addthis_share.email_template = email_template;
  addthis_share.email_vars = email_vars;
  
  $( '#share' ).append(
    '<div style="display:none;" id="addthis_toolbox" class="addthis_toolbox" addthis:url="' + url + '" addthis:title="' + title + '"><a class="addthis_button_email"></a></div>'
  );

  addthis.toolbox( '#addthis_toolbox', addthis_config, addthis_share );
  
  $( '.addthis_button_' + service ).click(function(){
    return addthis_sendto(service);
  });
  $( '.addthis_button_' + service ).trigger( 'click' );

  $( '#share' ).empty();
}
