
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://cite-amerique.com';
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'] = {'galerie':{'url_scheme':{'fr':'/galerie/%id%/%title|cleanSlug|strtolower%','en':'/gallery/%id%/%title|cleanSlug|strtolower%'}},'bande-annonce':{'url_scheme':{'fr':'/bandes-annonces/%id%/%title|cleanSlug|strtolower%','en':'/trailers/%id%/%title|cleanSlug|strtolower%'}},'prix-distinction':[],'page':{'meta_fields':{'page_id':{'type':'text','label':'Identifiant de page'}}},'communique':[],'mise-en-avant':{'meta_fields':{'external_url':{'type':'text','label':'Url externe'}}}};
heap.config['channel_types'] = {'normal':[],'production':{'url_scheme':{'fr':'/productions/%id%/%title|cleanSlug|strtolower%','en':'/productions/%id%/%title|cleanSlug|strtolower%'},'meta_fields':{'website_url':{'type':'text','label':'Url site web'},'date_sortie':{'type':'text','label':'Année de sortie'},'realisateur':{'type':'text','label':'Réalisateur'},'genre':{'type':'text','label':'Genre'},'vo':{'type':'text','label':'V.O.'},'duree':{'type':'text','label':'Durée'},'fiche_technique':{'type':'textarea','label':'Fiche technique','mce':1}}}};
heap.config['reaction_types'] = ['comment','vote','answer_image','answer_text','answer_video'];
heap.config['user_meta'] = {'order':{'type':'text','label':'Ordre'}};
heap.config['reaction_meta'] = [];
heap.config['media_meta'] = [];
heap.config['static_tag_prefixes'] = ['tag','portfolio','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-12-20 15:43:10';
heap.config['now_timestamp'] = 1324413790;
heap.config['now_date'] = '2011-12-20';
heap.config['now_time'] = '15:43:10';
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'] = '.cite-amerique.com';
heap.config['google_map_api_key'] = 'ABQIAAAAZ_qTIhwF7DC-7RpgloExOhQokKty47pGlRC1rFUwL4LMHsIrJxQfuvSCai2jJUCOrF13GdpW_Z1LeQ';
heap.config['heap_title'] = '';

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'] = "/citeam/static";
heap.urlmap['heap_static'] = "/heap/static";
heap.urlmap['cite_api_json'] = "/api";
heap.urlmap['index'] = "/index";
heap.urlmap['js_heap'] = "/cache/heap.fr.js";
heap.urlmap['accueil'] = "/accueil";
heap.urlmap['portfolio'] = "/portfolio";
heap.urlmap['portfolio_cinema'] = "/portfolio/cinema";
heap.urlmap['portfolio_television'] = "/portfolio/television";
heap.urlmap['apropos_presentation'] = "/a-propos/presentation";
heap.urlmap['apropos_equipe'] = "/a-propos/equipe";
heap.urlmap['apropos_communiques'] = "/a-propos/communiques";
heap.urlmap['galerie'] = "/galerie";
heap.urlmap['bandesannonces'] = "/bandes-annonces";
heap.urlmap['prix'] = "/prix-distinctions";
heap.urlmap['contact'] = "/contact";
heap.urlmap['credits'] = "/credits";
heap.urlmap['recherche'] = "/recherche";

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']['site_title'] = "Cité-Amérique";
heap.labels['default']['seo_title'] = "Producteur indépendant de films longs métrages et séries dramatiques. Québec - Canada";
heap.labels['default']['seo_keywords'] = "default seo_keywords";
heap.labels['default']['seo_description'] = "Cité-Amérique est l’une des principales maisons de production au Canada. La société a produit des longs métrages et des séries dramatiques qui ont connu un vif succès à l’échelle internationale.";
heap.labels['default']['filter_label'] = "filtrer par :";
heap.labels['default']['search_in'] = "rechercher dans :";
heap.labels['default']['sort_by'] = "trier par :";
heap.labels['default']['previous'] = "précédent";
heap.labels['default']['next'] = "suivant";
heap.labels['default']['prev_photo'] = "Photo précédente";
heap.labels['default']['next_photo'] = "Photo suivante";
heap.labels['default']['search'] = "Rechercher";
heap.labels['default']['year'] = "année";
heap.labels['default']['genre'] = "genre";
heap.labels['default']['duration'] = "Durée";
heap.labels['default']['vo'] = "VO";
heap.labels['default']['realisation'] = "réalisation";
heap.labels['default']['close'] = "fermer la description";
heap.labels['default']['attraction'] = "http://www.attractionmedia.ca/";
heap.labels['default']['alt_lang'] = "English";
heap.labels['default']['credits'] = "crédits";
heap.labels['default']['communiques'] = "communiqués";
heap.labels['default']['productions'] = "productions";
heap.labels['default']['bas'] = "bandes-annonces";
heap.labels['default']['ba'] = "bande-annonce";
heap.labels['default']['gallery'] = "galerie d'images";
heap.labels['default']['gallery_photos'] = "galerie photos";
heap.labels['default']['fullscreen'] = "plein écran";
heap.labels['default']['album'] = "album";
heap.labels['default']['album_title'] = "album d'images";
heap.labels['default']['alpha'] = "alphabétique";
heap.labels['default']['date_sort'] = "date de sortie";
heap.labels['default']['synopsis'] = "synopsis";
heap.labels['default']['technical'] = "fiche technique";
heap.labels['default']['distinctions'] = "distinctions";
heap.labels['default']['at_theater'] = "à l'écran";
heap.labels['default']['brief_title'] = "en bref";
heap.labels['default']['fiction_title'] = "productions de fiction";
heap.labels['default']['fiction_title_short'] = "fiction";
heap.labels['default']['documentaire_title'] = "productions documentaires";
heap.labels['default']['documentaire_title_short'] = "documentaire";
heap.labels['default']['television_title'] = "productions télévisuelles";
heap.labels['default']['television_title_short'] = "télévision";
heap.labels['default']['cinema_title'] = "productions cinématographiques";
heap.labels['default']['results_label'] = "Résultats de recherche pour :";
heap.labels['default']['download_com'] = "télécharger le communiqué";
heap.labels['default']['download_presse'] = "télécharger le communiqué de presse";
heap.labels['default']['read_more'] = "lire la suite...";
heap.labels['default']['see_gallery'] = "voir la galerie";
heap.labels['default']['see_gallery_photo'] = "voir la galerie photos";
heap.labels['default']['see_galleries_photo'] = "voir les galeries photos";
heap.labels['default']['more_informations'] = "plus d'infos";
heap.labels['default']['page_informations'] = "fiche d'infos";
heap.labels['default']['see_folio'] = "consulter le portfolio";
heap.labels['default']['see_bas'] = "voir les bandes-annonces";
heap.labels['default']['see_website'] = "visiter le site internet officiel";
heap.labels['default']['website_product_by'] = "Site produit par";
heap.labels['default']['website_art_direction'] = "Direction artistique";
heap.labels['default']['copyright'] = "&copy; 2010 - Tous droits réservés, Cité Amérique";

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'] = 54;
heap.media.sizes['thumb']['height'] = 45;
heap.media.sizes['thumb']['mode'] = 'resize-crop';
heap.media.sizes['thumb']['dimension'] = 'min';
heap.media.sizes['medium'] = new Object();
heap.media.sizes['medium']['width'] = 123;
heap.media.sizes['medium']['height'] = 179;
heap.media.sizes['medium']['mode'] = 'resize-crop';
heap.media.sizes['medium']['dimension'] = 'max';
heap.media.sizes['portfolio'] = new Object();
heap.media.sizes['portfolio']['width'] = 168;
heap.media.sizes['portfolio']['height'] = 250;
heap.media.sizes['portfolio']['mode'] = 'resize-crop';
heap.media.sizes['portfolio']['dimension'] = 'max';
heap.media.sizes['galerie_thumb'] = new Object();
heap.media.sizes['galerie_thumb']['width'] = 178;
heap.media.sizes['galerie_thumb']['height'] = 90;
heap.media.sizes['galerie_thumb']['mode'] = 'resize-crop';
heap.media.sizes['galerie_thumb']['dimension'] = 'max';
heap.media.sizes['poster'] = new Object();
heap.media.sizes['poster']['width'] = 266;
heap.media.sizes['poster']['height'] = 384;
heap.media.sizes['poster']['mode'] = 'resize';
heap.media.sizes['poster']['dimension'] = 'min';
heap.media.sizes['ecran'] = new Object();
heap.media.sizes['ecran']['width'] = 356;
heap.media.sizes['ecran']['height'] = 200;
heap.media.sizes['ecran']['mode'] = 'resize-crop';
heap.media.sizes['ecran']['dimension'] = 'min';
heap.media.sizes['home'] = new Object();
heap.media.sizes['home']['width'] = 652;
heap.media.sizes['home']['height'] = 368;
heap.media.sizes['home']['mode'] = 'resize-crop';
heap.media.sizes['home']['dimension'] = 'min';
heap.media.sizes['player'] = new Object();
heap.media.sizes['player']['width'] = 420;
heap.media.sizes['player']['height'] = 320;
heap.media.sizes['player']['mode'] = 'resize-crop';
heap.media.sizes['player']['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.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']
});




