﻿/************************************************************/
/* Variables globales                                       */
/************************************************************/

 var xhtml_name, sep;
 
/* variables liées à une erreur */

 var error_appli_type, error_appli_code, error_appli_libelle, error_appli_isok;
 var error_isdebug = false;

/* Variables liées au langage */

 var language_id;
 var language_defaultid = "fra";
 language_id = language_defaultid;

/* Variables liées au titre de la fenêtre */

 var window_title;
 var window_defaulttitle_fra = "Médiathèque du Réseau Ferré de France";
 var window_defaulttitle_eng = "Médiathèque du Réseau Ferré de France";

/* Variables liées au desktop */

 var desktop_click = false;

/* Variables protocole de communication */

 var atlas_alias = "/scripts/atlasgate.dll/rffdb/";

/* Variables liées à la session */

 var session_id, session_action, user_id;

/* Variables liées à la taille physique du navigateur */

 var w_top, h_top, w_bottom, h_bottom, w_left, h_left, w_main, h_mainh, h_main, h_mainb;

/* Variables AJAX */

 /* général */
 var ajax_isdebug = false;
 var ajax_isnowait = false;

 /* entrée */
 var ajax_responsetype, ajax_url, ajax_query;

 /* sortie */
 var ajax_headers, ajax_status, ajax_status_text, ajax_response_text, ajax_response_xml;
 var ajax_appli_continue, ajax_response;

/* Variables liées à la gestion des cookies */

 var cookie_isused = false;

/* Variables liées à la gestion du carrousel */

 var carrousel_isused = true;
 var carrousel_image_defaultfilename = "images/home_tmp.jpg";
 var carrousel_image_foldername = "rollover/";
 var carrousel_timerepeat = 3000;
 
/* Variables liées aux nombre de fonds disponibles */

 var base_isone = false;
 var ext = (base_isone) ? "One" : "";

/* Variables liées au menu */

 var menu_iddefault;
 var divid_actif="", tdid_actif="", aid_actif="";

 var menu_option_defaultid = 2
 var menu_option_defaultcode = "DOCUMENT_SEARCH_FULLTEXT";

/* Variables liées à la sélection des fonds */

 var baseselect_isempty = true;
 var baseselect_ismenu = true;

/* page bienvenue */

 var welcome_isroutine=true;

/* Variables liées à la recherche par arborescence */

 var plan_currentid = "";
 var thes_currentid = "";

/* Variables liées à la recherche avancée */

 var searchadvanced_isbaseone;
 var searchadvanced_defaultbaseid;

 if (base_isone) { // si une seule base
    searchadvanced_isbaseone = true;
    searchadvanced_defaultbaseid = "IMAGE";
    }
 else {// si plusieurs bases
    searchadvanced_isbaseone = true;
    searchadvanced_defaultbaseid = "IMAGE";
    }

 var helpname;
 var helpresult;
 var helpi;

 var advancedsearch_isfirst = true; 
 var CollapsiblePanel1;
 var CollapsiblePanel2;

/* Variables liées à la recherche par dossiers */

 var folders_currentid = "";
 
/* Variables liées à la gestion des paniers */

 var store_ismultiple = true;
 var store_isemptyafterlogin = false;


 var orders_currenttypeid="1";


/* Variables liées à la gestion du workflow */

 var search_workflow_isempty = true;

/************************************************************/

function onMsg_Display(msg_code)
{
 if (msg_code == "DATABASE_NOTSELECTED")
    alert((language_id=="fra") ? "Veuillez choisir au moins un fonds de recherche" : "Please check at least a database");
 else if (msg_code == "QUERY_EMPTY")
    alert((language_id=="fra") ? "Veuillez saisir au moins un mot à rechercher" : "Please a word to search");
}


function onError_Display(error_type,error_code)
{
 error_libelle = "";
 if (error_type == "ATLAS") {
    if (error_code=="ATLAS_DATABASE_UNKNOWN")
       error_libelle = (language_id=='fra') ? "La base de données reliée à votre site est innacessible. Veuillez contacter l'administrateur de cette application." : "There is an error to access to the website database. Please, contact your administrator.";
    else if (error_code=="ATLAS_ROUTINE_UNKNOWN")
       error_libelle = (language_id=='fra') ? "La routine ATLAS est innacessible. Veuillez contacter l'administrateur de cette application." : "There is an error to access to the ATLAS website routine. Please, contact your administrator.";
    else if (error_code=="ATLAS_ROUTINE_ERROR")
       error_libelle = (language_id=='fra') ? "Une erreur fatale s'est produite pendant l'exécution de la routine ATLAS. Veuillez contacter l'administrateur de cette application." : "A fatal error occured during ATLAS routine execution. Please, contact your administrator.";
	}
 else if (error_type == "AJAX") {
    if (error_code=="4041")
       error_libelle = (language_id=='fra') ? "Document non trouvé." : "Document not found.";
	}
	
 if (error_libelle=="")
       error_libelle = (language_id=='fra') ? "Erreur non documentée." : "No message for this error.";
 
	
 var message = (language_id=='fra') ? "Une erreur bloquante est apparue.\n\n" : "A fatal error occured.\n\n";
 message = message+error_libelle+"\n\n";
 if (error_isdebug) {
    message = message+((language_id=='fra') ? "Module concerné: " : "Module: ");
    message = message+error_type+"\n";
    message = message+((language_id=='fra') ? "Code erreur: " : "Error code: ");
    message = message+error_code+"\n";
    message = message+((language_id=='fra') ? "Url: " : "Url: ");
    message = message+ajax_url+"\n";
    message = message+((language_id=='fra') ? "Texte: " : "Text: ");
    message = message+ajax_response_text+"\n";
    }
 //alert(message);
}

/************************************************************/
/* Simulation du click pour les navigateurs différents de IE */

if (window.addEventListener)
{
  HTMLElement.prototype.click = function()
  {  
    var evt = this.ownerDocument.createEvent('MouseEvents');  
    evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);  
    this.dispatchEvent(evt);
  }
}

/*****************************************************************************************************************************************************
/* ERREURS AJAX																																    */
/*****************************************************************************************************************************************************

 var tab_errors=new Array;
   tab["Lundi"]="semaine";
   tab["Mardi"]="semaine";
   
   
   
/*
1xx  Information [modifier] 
100 Continue Attente de la suite de la requête 
101 Switching Protocols Acceptation du changement de protocole 
102 Processing WebDAV : Traitement en cours (évite que le client dépasse le temps d'attente limite). 
2xx  Succès [modifier] 
200 OK Requête traitée avec succès 
201 Created Requête traitée avec succès avec création d'un document 
202 Accepted Requête traitée mais sans garantie de résultat 
203 Non-Authoritative Information Information retournée mais générée par une source non certifiée 
204 No Content Requête traitée avec succès mais pas d'information à renvoyer 
205 Reset Content Requête traitée avec succès, la page courante peut être effacée 
206 Partial Content Une partie seulement de la requête a été transmise 
207 Multi-Status WebDAV : Réponse multiple. 
210 Content Different WebDAV : La copie de la ressource coté client diffère de celle du serveur (contenu ou propriétés). 
3xx  Redirection [modifier] 
300 Multiple Choices L'URI demandée se rapporte à plusieurs ressources 
301 Moved Permanently Document déplacé de façon permanente 
302 Moved Temporarily Document déplacé de façon temporaire 
303 See Other La réponse à cette requête est ailleurs 
304 Not Modified Document non-modifié depuis la dernière requête 
305 Use Proxy La requête doit être ré-adressée au proxy 
307 Temporary Redirect La requête doit être redirigée temporairement vers l'URI spécifiée 
4xx  Erreur du client [modifier] 
400 Bad Request La syntaxe de la requête est erronée 
401 Unauthorized Accès à la ressource refusé 
402 Payment Required Paiement requis pour accéder à la ressource (non utilisé) 
403 Forbidden Refus de traitement de la requête 
404 Not Found Document non trouvé 
405 Method Not Allowed Méthode de requête non autorisée 
406 Not Acceptable Toutes les réponses possibles seront refusées. 
407 Proxy Authentication Required Accès à la ressource autorisé par identification avec le proxy 
408 Request Time-out Temps d'attente d'une réponse du serveur écoulé 
409 Conflict La requête ne peut être traitée à l'état actuel 
410 Gone La ressource est indisponible et aucune adresse de redirection n'est connue 
411 Length Required La longueur de la requête n'a pas été précisée 
412 Precondition Failed Préconditions envoyées par la requête non-vérifiées 
413 Request Entity Too Large Traitement abandonné dû à une requête trop importante 
414 Request-URI Too Long URI trop longue 
415 Unsupported Media Type Format de requête non-supportée pour une méthode et une ressource données 
416 Requested range unsatisfiable Champs d'en-tête de requête 'range' incorrect. 
417 Expectation failed Comportement attendu et défini dans l'en-tête de la requête insatisfaisable 
422 Unprocessable entity WebDAV : L'entité fourni avec la requête est incompréhensible ou incomplet. 
423 Locked WebDAV : L'opération ne peut avoir lieu car la ressource est verrouillée. 
424 Method failure WebDAV : Une méthode de la transaction a échoué. 
5xx  Erreur du serveur [modifier] 
500 Internal Server Error Erreur interne du serveur 
501 Not Implemented Fonctionnalité réclamée non supportée par le serveur 
502 Bad Gateway Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur. 
503 Service Unavailable Service indisponible 
504 Gateway Time-out Temps d'attente d'une réponse d'un serveur à un serveur intermédiaire écoulé 
505 HTTP Version not supported Version HTTP non gérée par le serveur 
507 Insufficient storage WebDAV : Espace insuffisant pour modifier les propriétés ou construire la collection 
509 Bandwidth Limit Exceeded Code non officiel utilisé par de nombreux serveurs pour indiquer un dépassement de quota. 
*/   

