
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.metrovision.ca';
heap.config['request_uri'] = '/cache/heap.fr.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'] = {'nouvelle':{'meta_fields':{'partenaire':{'label':'Partenaire','type':'text','required':1},'partenaire_url':{'label':'Url du partenaire','type':'text','required':1}}},'exclusif':{'meta_fields':{'partenaire':{'label':'Partenaire','type':'text'},'partenaire_url':{'label':'Url du partenaire','type':'text'}}},'commandite':{'meta_fields':{'partenaire':{'label':'Partenaire','type':'text','required':1},'partenaire_url':{'label':'Url du partenaire','type':'text','required':1}}},'blogpost':{'meta_fields':{'byline':{'label':'Auteur','type':'text'}}},'page':[],'concours':{'meta_fields':{'question1':{'label':'Question 1','type':'text'},'question2':{'label':'Question 2','type':'text'},'choix2a':{'label':'Choix 2 a','type':'text'},'choix2b':{'label':'Choix 2 b','type':'text'},'question3':{'label':'Question 3','type':'text'},'choix3a':{'label':'Choix 3 a','type':'text'},'choix3b':{'label':'Choix 3 b','type':'text'},'choix3c':{'label':'Choix 3 c','type':'text'},'choix3d':{'label':'Choix 3 d','type':'text'},'choix3e':{'label':'Choix 3 e','type':'text'},'modalites':{'label':'Modalités','type':'textarea','mce':1}}}};
heap.config['channel_types'] = {'normal':[],'canaux':{'meta_fields':{'partenaire':{'label':'Partenaire','type':'text','required':1},'partenaire_url':{'label':'Url du partenaire','type':'text','required':1}}},'commandite':{'meta_fields':{'partenaire':{'label':'Partenaire','type':'text','required':1},'partenaire_url':{'label':'Url du partenaire','type':'text','required':1}}}};
heap.config['reaction_types'] = {'0':'comment','inscription':{'fr':'Inscription concours'}};
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'];
heap.config['now_datetime'] = '2011-10-27 10:32:51';
heap.config['now_timestamp'] = 1319725971;
heap.config['now_date'] = '2011-10-27';
heap.config['now_time'] = '10:32:51';
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_YMulxTHb8DsLEybcJUCKxuoCYcsO670RhToiQOk7_2rDTv3Rvnm-ZLSNK3psA';
heap.config['heap_title'] = 'METROVISION';

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['static'] = "/metrovision/static";
heap.urlmap['heap_static'] = "/heap/static";
heap.urlmap['index'] = "/accueil";
heap.urlmap['blogue'] = "/blogue";
heap.urlmap['blogue_page'] = "/blogue/page";
heap.urlmap['exclusif'] = "/exclusif";
heap.urlmap['nouvelles'] = "/nouvelles";
heap.urlmap['canaux'] = "/nouvelles";
heap.urlmap['concours'] = "/concours";
heap.urlmap['sendmail'] = "/contact/send";
heap.urlmap['js_heap'] = "/cache/heap.fr.js";

heap.labels['default'] = [];
heap.labels['default']['HEAP_Social::queue_fetch_latest_updates'] = "Récupération réseaux sociaux";
heap.labels['default']['hs_update_menu_title'] = "Réseaux sociaux";
heap.labels['default']['hs_update_manage'] = "Gérer les contenus sociaux";
heap.labels['default']['hs_update_type_twitter'] = "Twitter";
heap.labels['default']['hs_update_type_facebook'] = "Facebook";
heap.labels['default']['hs_update_type_flickr'] = "Flickr";
heap.labels['default']['hs_update_all_types'] = "Tous";
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.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['thumb'] = new Object();
heap.media.sizes['thumb']['width'] = 230;
heap.media.sizes['thumb']['height'] = 153;
heap.media.sizes['thumb']['mode'] = 'resize-crop';
heap.media.sizes['thumb']['dimension'] = 'max';
heap.media.sizes['thumb_small'] = new Object();
heap.media.sizes['thumb_small']['width'] = 230;
heap.media.sizes['thumb_small']['height'] = 110;
heap.media.sizes['thumb_small']['mode'] = 'resize-crop';
heap.media.sizes['thumb_small']['dimension'] = 'max';
heap.media.sizes['thumb_large'] = new Object();
heap.media.sizes['thumb_large']['width'] = 352;
heap.media.sizes['thumb_large']['height'] = 264;
heap.media.sizes['thumb_large']['mode'] = 'resize-crop';
heap.media.sizes['thumb_large']['dimension'] = 'max';
heap.media.sizes['contest'] = new Object();
heap.media.sizes['contest']['width'] = 352;
heap.media.sizes['contest']['height'] = 210;
heap.media.sizes['contest']['mode'] = 'resize-crop';
heap.media.sizes['contest']['dimension'] = 'max';
heap.media.sizes['full'] = new Object();
heap.media.sizes['full']['width'] = 720;
heap.media.sizes['full']['height'] = 373;
heap.media.sizes['full']['mode'] = 'resize-crop';
heap.media.sizes['full']['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']
});




