
jQuery.ajaxSetup({ type:"POST", dataType:'json' });

var heap = {
  SUCCESS: 1,
  FAILURE: 0
};

heap.form = {};
heap.submit = {};
heap.media = {};
heap.media.sizes = {};

heap.api = {};
heap.config = { language:'fr' };
heap.labels = {};
heap.urlmap = {};


heap.config['deploymode'] = 'prod';
heap.config['heap_location'] = '/heap';
heap.config['http_root'] = 'http://www.metromediaplus.com';
heap.config['request_uri'] = '/cache/heap.en.js';
heap.config['script_url'] = '';
heap.config['upload_maxfiles'] = 50;
heap.config['upload_maxsize'] = '300MB';
heap.config['default_media_source'] = 'heap';
heap.config['default_media_store'] = 'LOCAL_DOCUMENTS';
heap.config['version'] = '1.5.44040';
heap.config['last_build'] = '2009-06-26';
heap.config['thread_max_depth'] = 3;
heap.config['atom_types'] = {'slideshow':{'url_scheme':'/%LANG%%meta.route%','meta_fields':{'route':{'label':'Url','type':'text','required':'1'}}},'page':{'url_scheme':'/%LANG%%meta.route%','meta_fields':{'route':{'label':'Url','type':'text','required':'1'}}}};
heap.config['channel_types'] = {'hub':{'url_scheme':'/%LANG%%meta.route%','meta_fields':{'route':{'label':'Url','type':'text','required':'1'}}},'normal':[]};
heap.config['reaction_types'] = ['comment','vote','answer_image','answer_text','answer_video'];
heap.config['user_meta'] = [];
heap.config['reaction_meta'] = [];
heap.config['media_meta'] = [];
heap.config['static_tag_prefixes'] = ['tag','category'];
heap.config['heap_logo'] = '/heap/static/heap/images/heap.png';
heap.config['heap_logo_mini'] = '/heap/static/heap/images/heap-mini.png';
heap.config['heap_module_location'] = '';
heap.config['current_language'] = 'fr';
heap.config['plugins_location'] = '/heap_plugins';
heap.config['languages'] = ['fr','en'];
heap.config['now_datetime'] = '2011-10-21 09:54:56';
heap.config['now_timestamp'] = 1319205296;
heap.config['now_date'] = '2011-10-21';
heap.config['now_time'] = '09:54:56';
heap.config['mce'] = '';
heap.config['panels_visibility'] = {'HEAPM_Atom':{'edit':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'},'add':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'}},'HEAPM_Channel':{'edit':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'},'add':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'}},'HEAPM_Reaction':{'edit':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'},'add':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'}},'HEAPM_Media':{'edit':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'},'add':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'}},'HEAPM_User':{'edit':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'},'add':{'basics':'1','custom':'1','meta':'1','text':'1','tags':'1','others':'1','seo':'','documents':'1'}}};
heap.config['slug_selector_classes'] = {'HEAPM_Atom':{'api_class':'atoms','token':'atom'},'HEAPM_Channel':{'api_class':'channels','token':'channel'},'HEAPM_Reaction':{'api_class':'reactions','token':'reaction'},'HEAPM_User':{'api_class':'users','token':'user','show_field':'username'}};
heap.config['js_libs'] = [];
heap.config['cookie_domain'] = '';
heap.config['google_map_api_key'] = 'ABQIAAAAcu2Yxotk-cbVxKda_YMulxTIcugfHrUEAHsZECREwAyqZaH6-xRESOH5IeDhDzl8TydvufnGJ7Zvxg';
heap.config['heap_title'] = 'MMPLUS';

heap.urlmap['root'] = "";
heap.urlmap['app_admin'] = "/heap";
heap.urlmap['app_docs'] = "/docs";
heap.urlmap['app_reactions'] = "/reactions";
heap.urlmap['tools_jsconfig'] = "/tools/jslib.js";
heap.urlmap['api_amf'] = "/heap/amf";
heap.urlmap['api_json'] = "/heap/json";
heap.urlmap['app_admin_static'] = "/heap/static/heap";
heap.urlmap['app_lang'] = "/heap/language";
heap.urlmap['app_lang_fr'] = "/heap/language/fr";
heap.urlmap['app_lang_en'] = "/heap/language/en";
heap.urlmap['app_doc_api'] = "/heap/apidoc";
heap.urlmap['app_doc_env'] = "/heap/environment";
heap.urlmap['app_admin_tagger'] = "/heap/batchTagger";
heap.urlmap['app_admin_login'] = "/heap/login";
heap.urlmap['app_admin_logout'] = "/heap/logout";
heap.urlmap['app_admin_atoms'] = "/heap/atoms";
heap.urlmap['app_admin_channels'] = "/heap/channels";
heap.urlmap['app_admin_reactions'] = "/heap/reactions";
heap.urlmap['app_admin_docs'] = "/heap/docs";
heap.urlmap['app_admin_users'] = "/heap/users";
heap.urlmap['app_admin_redirects'] = "/heap/redirects";
heap.urlmap['app_admin_tags'] = "/heap/tags";
heap.urlmap['app_admin_queue'] = "/heap/queue";
heap.urlmap['app_admin_atoms_drafts'] = "/heap/atoms/drafts";
heap.urlmap['app_admin_atoms_edit'] = "/heap/atoms/edit";
heap.urlmap['app_admin_channels_assign'] = "/heap/channels/assign";
heap.urlmap['app_admin_channels_edit'] = "/heap/channels/edit";
heap.urlmap['app_admin_docs_edit'] = "/heap/docs/edit";
heap.urlmap['app_admin_docs_list'] = "/heap/docs";
heap.urlmap['app_admin_docs_sizes'] = "/heap/docs/sizes";
heap.urlmap['app_admin_docs_modify'] = "/heap/docs/modify";
heap.urlmap['app_admin_docs_subtitles'] = "/heap/docs/subtitles";
heap.urlmap['app_admin_docs_upload'] = "/heap/docs/upload";
heap.urlmap['app_admin_docs_upload_meta'] = "/heap/docs/uploadMeta";
heap.urlmap['app_admin_docs_upload_tags'] = "/heap/docs/uploadTags";
heap.urlmap['app_admin_redirects_edit'] = "/heap/redirects/edit";
heap.urlmap['app_admin_reactions_edit'] = "/heap/reactions/edit";
heap.urlmap['app_admin_users_edit'] = "/heap/users/edit";
heap.urlmap['app_admin_queue_activejobs'] = "/heap/queue/active_jobs";
heap.urlmap['app_admin_tags_list'] = "/heap/tags/list_all";
heap.urlmap['app_admin_menus'] = "/heap/menus";
heap.urlmap['app_admin_menus_edit'] = "/heap/menus/edit";
heap.urlmap['static'] = "/mmplus/static";
heap.urlmap['heap_static'] = "/heap/static";
heap.urlmap['en'] = "/en";
heap.urlmap['fr'] = "/fr";
heap.urlmap['index_fr'] = "/fr/index";
heap.urlmap['index_en'] = "/en/index";
heap.urlmap['accueil_fr'] = "/fr/accueil";
heap.urlmap['accueil_en'] = "/en/accueil";
heap.urlmap['nos_forces'] = "/nos-forces";
heap.urlmap['bureau_montreal'] = "/contacts/bureau-de-montreal";
heap.urlmap['index'] = "/fr/index";
heap.urlmap['accueil'] = "/fr/accueil";
heap.urlmap['js_heap'] = "/cache/heap.fr.js";
heap.urlmap['acces_client'] = "/fr/acces-clients";
heap.urlmap['extranet'] = "/fr/extranet";

heap.labels['default'] = [];
heap.labels['default']['menus_menu'] = "Navigation";
heap.labels['default']['manage_menus'] = "Gestion de la navigation";
heap.labels['default']['m_structure'] = "Structure";
heap.labels['default']['add_menu'] = "Ajouter une navigation";
heap.labels['default']['edit_menu'] = "Éditer une navigation";
heap.labels['default']['date_F01'] = "janvier";
heap.labels['default']['date_F02'] = "février";
heap.labels['default']['date_F03'] = "mars";
heap.labels['default']['date_F04'] = "avril";
heap.labels['default']['date_F05'] = "mai";
heap.labels['default']['date_F06'] = "juin";
heap.labels['default']['date_F07'] = "juillet";
heap.labels['default']['date_F08'] = "août";
heap.labels['default']['date_F09'] = "septembre";
heap.labels['default']['date_F10'] = "octobre";
heap.labels['default']['date_F11'] = "novembre";
heap.labels['default']['date_F12'] = "décembre";
heap.labels['default']['date_M01'] = "Jan";
heap.labels['default']['date_M02'] = "Fév";
heap.labels['default']['date_M03'] = "Mars";
heap.labels['default']['date_M04'] = "Avr";
heap.labels['default']['date_M05'] = "Mai";
heap.labels['default']['date_M06'] = "Juin";
heap.labels['default']['date_M07'] = "Juil";
heap.labels['default']['date_M08'] = "Août";
heap.labels['default']['date_M09'] = "Sept";
heap.labels['default']['date_M10'] = "Oct";
heap.labels['default']['date_M11'] = "Nov";
heap.labels['default']['date_M12'] = "Déc";
heap.labels['default']['date_l0'] = "Dimanche";
heap.labels['default']['date_l1'] = "Lundi";
heap.labels['default']['date_l2'] = "Mardi";
heap.labels['default']['date_l3'] = "Mercredi";
heap.labels['default']['date_l4'] = "Jeudi";
heap.labels['default']['date_l5'] = "Vendredi";
heap.labels['default']['date_l6'] = "Samedi";
heap.labels['default']['date_S01'] = "er";
heap.labels['default']['date_S02'] = "";
heap.labels['default']['date_S03'] = "";
heap.labels['default']['date_S04'] = "";
heap.labels['default']['date_S05'] = "";
heap.labels['default']['date_S06'] = "";
heap.labels['default']['date_S07'] = "";
heap.labels['default']['date_S08'] = "";
heap.labels['default']['date_S09'] = "";
heap.labels['default']['date_S10'] = "";
heap.labels['default']['date_S11'] = "";
heap.labels['default']['date_S12'] = "";
heap.labels['default']['date_S13'] = "";
heap.labels['default']['date_S14'] = "";
heap.labels['default']['date_S15'] = "";
heap.labels['default']['date_S16'] = "";
heap.labels['default']['date_S17'] = "";
heap.labels['default']['date_S18'] = "";
heap.labels['default']['date_S19'] = "";
heap.labels['default']['date_S20'] = "";
heap.labels['default']['date_S21'] = "";
heap.labels['default']['date_S22'] = "";
heap.labels['default']['date_S23'] = "";
heap.labels['default']['date_S24'] = "";
heap.labels['default']['date_S25'] = "";
heap.labels['default']['date_S26'] = "";
heap.labels['default']['date_S27'] = "";
heap.labels['default']['date_S28'] = "";
heap.labels['default']['date_S29'] = "";
heap.labels['default']['date_S30'] = "";
heap.labels['default']['date_S31'] = "";
heap.labels['default']['documents'] = "Documents";
heap.labels['default']['videos'] = "Vidéos";
heap.labels['default']['AUTH_WRONG_LOGIN'] = "Le nom d'usager est invalide";
heap.labels['default']['AUTH_WRONG_PASSWORD'] = "Mot de passe incorrect ou compte non-validé";
heap.labels['default']['restricted_access'] = "Accès client sécurisé";
heap.labels['default']['username'] = "Nom d'usager : ";
heap.labels['default']['password'] = "Mot de passe : ";

heap.media.sizes['square'] = new Object();
heap.media.sizes['square']['width'] = 100;
heap.media.sizes['square']['height'] = 100;
heap.media.sizes['square']['mode'] = 'crop';
heap.media.sizes['square']['crop'] = 'center';
heap.media.sizes['large'] = new Object();
heap.media.sizes['large']['width'] = 612;
heap.media.sizes['large']['height'] = 395;
heap.media.sizes['large']['mode'] = 'resize-crop';
heap.media.sizes['large']['dimension'] = 'min';
heap.media.sizes['ref'] = new Object();
heap.media.sizes['ref']['width'] = 400;
heap.media.sizes['ref']['height'] = 400;
heap.media.sizes['ref']['mode'] = 'resize';
heap.media.sizes['ref']['dimension'] = 'max';
heap.media.sizes['slideshow'] = new Object();
heap.media.sizes['slideshow']['width'] = 820;
heap.media.sizes['slideshow']['height'] = 394;
heap.media.sizes['slideshow']['mode'] = 'crop';
heap.media.sizes['slideshow']['crop'] = 'center';
heap.media.sizes['thumbnail'] = new Object();
heap.media.sizes['thumbnail']['width'] = 145;
heap.media.sizes['thumbnail']['height'] = 116;
heap.media.sizes['thumbnail']['mode'] = 'resize-crop';
heap.media.sizes['thumbnail']['dimension'] = 'min';
heap.media.sizes['small'] = new Object();
heap.media.sizes['small']['width'] = 300;
heap.media.sizes['small']['height'] = 300;
heap.media.sizes['small']['mode'] = 'resize';
heap.media.sizes['small']['dimension'] = 'max';
heap.media.sizes['medium'] = new Object();
heap.media.sizes['medium']['width'] = 299;
heap.media.sizes['medium']['height'] = 226;
heap.media.sizes['medium']['mode'] = 'resize-crop';
heap.media.sizes['medium']['dimension'] = 'min';
 



heap.translate = function (token, replacements, dict)
{
  if (!dict) dict = 'default';
  if (heap.labels[dict] && heap.labels[dict][token]) {
    var out = heap.labels[dict][token];
    if (replacements) {
      if (typeof(replacements) == 'string') replacements = [ replacements ];
      var type = typeof(replacements);
      
      if (type == 'object' || type == 'array') {
        for (var key in replacements) {
          var text = replacements[key];
          out = out.replace("{"+key+"}", text);
        }
      }
    }
    return out;
  } else
    return token + '-' + heap.config['current_language'];
};

heap.api.setup = function(setupParams)
{
  var target = setupParams['object'];
  var api_url = setupParams['url'];
  var api_class = setupParams['api_class'];
  var methods = setupParams['methods'];
  
  if(!target) throw new Error("Missing target for heap.api.setup");
  if(!api_url) throw new Error("Missing api_url for heap.api.setup");
  if(!api_class) throw new Error("Missing api_class for heap.api.setup");
  if(!methods) methods = new Array();
  
  for(var m = 0; m < methods.length; m++) (function(api_method)
  {
    target[api_method] = function(callback, params)
    {
      jQuery.ajax({
        url: api_url+'/'+api_class+'/'+api_method,
        data: { parameters: JSON.stringify(params) }, 
        success: callback
      }); 
    }
  })(methods[m]);
  
  
};

/** User API **/

heap.api.users = {};
heap.api.setup({
  object: heap.api.users,
  api_class:'users',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search','isloggedin','login','logout','usernameAvailability','checkEmailAvailability']
});


heap.api.users.login = function(callback, params)
{
  params['password'] = hex_md5(params['password']);
  
  jQuery.ajax({
    url: heap.urlmap.api_json+'/'+'users'+'/'+'login',
    data: { parameters: JSON.stringify(params) }, 
    success: callback
  }); 
}

/** Atoms API **/
heap.api.atoms = {};
heap.api.setup({
  object: heap.api.atoms,
  api_class:'atoms',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search','setRating','getMetaBlock','addTags','removeTags','setFavorite']
});


/** Channels API **/
heap.api.channels = {};
heap.api.setup({
  object: heap.api.channels,
  api_class:'channels',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search','getMetaBlock','addTags','removeTags','getFeaturesParams']
});


/** Documents API **/
heap.api.media = {};
heap.api.setup({
  object: heap.api.media,
  api_class:'media',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search','addTags','removeTags', 'crop', 'setFrame', 'rotate', 'searchAndRender']
});

/** Reactions API **/
heap.api.reactions = {};
heap.api.setup({
  object: heap.api.reactions,
  api_class:'reactions',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search','moderate']
});

/** Redirects API **/
heap.api.redirects = {};
heap.api.setup({
  object: heap.api.redirects,
  api_class:'redirects',
  url: heap.urlmap.api_json,
  methods: ['load','create','erase','edit','search', 'setRating']
});


/** Tags API **/
heap.api.tags = {};
heap.api.setup({
  object: heap.api.tags,
  api_class:'tags',
  url: heap.urlmap.api_json,
  methods: ['load', 'create', 'erase', 'rename', 'merge', 'renameDictionary', 'eraseDictionary', 'search', 'searchAndRender']
});


/** Queue API **/
heap.api.queues = {};
heap.api.setup({
  object: heap.api.queues,
  api_class:'queues',
  url: heap.urlmap.api_json,
  methods: ['read', 'ls', 'count']
});




