// // Code JavaScript de base, qui est inclus dans toutes les pages du site. Pour le projet Asloca. // // Auteur: OrdinaSoft // Patrick Lanz // Lausanne // info@ordinasoft.ch // // Premi�re version: 8 mai 2007 // // D�pend de: // - Ordinasoft.Base.js //----------------------------------------------------------------------------------------------- // Initialisation du namespace. if (typeof Master == 'undefined') Master = new Object (); //----------------------------------------------------------------------------------------------- // Code d'initialisation. // Appel�e lorsque toute la page a �t� charg�e, afin d'initialiser les variables globales. Master.DoInit = function () { // Param�tres Master.Form = document.forms [0]; Master.AppName = 'Asloca - gestion'; Master.eMailWebMaster = document.getElementById ('eMailWebMaster').value; Master.hrefWebMaster = 'mailto:' + Master.eMailWebMaster; Master.linkWebMaster = 'webmaster'; Master.VirtAppPath = document.getElementById ('VirtPath').value; if (Master.VirtAppPath != '/') Master.VirtAppPath += '/'; Master.hid_PageAction = document.getElementById ('PageAction'); // Sorte d'acc�s (optionnel) var Elmt = document.getElementById ('AccessType'); Master.AccessType = (Elmt == null) ? 0 : parseInt (Elmt.value, 10); // Pr�fixe de la page (optionnel) var Elmt = document.getElementById ('PagePrefix'); Master.PagePrefix = (Elmt == null) ? '' : Elmt.value; // Date du jour (optionnel) var Elmt = document.getElementById ('Today'); Master.Today = (Elmt == null) ? '' : Elmt.value; // Taille automatique if (document.getElementById ('AutoSize') != null) { Master.AutoSize (); window.onresize = Master.AutoSize; } // document.getElementById ('AutoSize') != null // Contenu de la page ma�tre document.getElementById ('Menu_Contact').href = Master.hrefWebMaster; Master.SetPageAction (''); // efface une action pr�c�dente setInterval (Master.KeepAlive, 5 * 60 * 1000); // toutes les 5 minutes Master_Initialized = true; return true; } // Master.DoInit // Attend que la bonne fonction soit charg�e avant de mettre un �v�nement sur la fin du // chargement de la page. Master.Init = function () { if (typeof OrdinaSoft_Base_Initialized == 'undefined') { setTimeout (Master.Init, 40); return false; } // typeof OrdinaSoft_Base_Initialized == 'undefined' AddLoadEvent (Master.DoInit); return true; } // Master.Init Master.Init (); //----------------------------------------------------------------------------------------------- // Outils. // Maintient la session utilisateur active sur le serveur. Master.KeepAlive = function () { var Img = new Image (); Img.src = Master.VirtAppPath + 'Tools/KeepAlive.aspx'; return true; } // Master.KeepAlive // Recherche d'un �l�ment dans la page, en tenant compte du pr�fixe ajout� par ASP.NET. // - id est l'identificateur de l'�l�ment. // - Le r�sultat sera l'�l�ment, ou null si l'�l�ment n'est pas trouv�. Master.GetElementById = function (id) { var Elmt = document.getElementById (id); if (Elmt != null) return Elmt; return document.getElementById (Master.PagePrefix + id); } // Master.GetElementById // Formattage d'une donn�e qui contient une abr�viation et un texte. // - Abbrev est l'abr�viation. // - Text est le texte. // - Il peut y avoir d'autres textes dans la liste, ils seront s�par�s par des espaces. Master.FormatAbbrevText = function (Abbrev, Text) { for (var i = 2; i < arguments.length; i++) { var Txt = arguments [i]; if (Txt != '') Text = Text + (Text == '' ? '' : ' ') + Txt; } if (Text != '') Abbrev = Abbrev + (Abbrev == '' ? '' : ': ') + Text; return Abbrev; } // Master.FormatAbbrevText //----------------------------------------------------------------------------------------------- // Gestion de l'action � effectuer lors d'un submit. // S�lectionne l'action � effectuer. // - Action est le texte d�crivant l'action. Master.SetPageAction = function (Action) { Master.hid_PageAction.value = Action; return true; } // Master.SetPageAction // Lit l'action � effectuer. // - Le r�sultat est le text d�crivant l'action. Master.GetPageAction = function () { return Master.hid_PageAction.value; } // Master.GetPageAction //----------------------------------------------------------------------------------------------- // Changement de taille automatique. // Calcule la taille des �l�ments en fonction de la taille de la fen�tre. Master.AutoSize = function () { var Size = OrdinaSoft.Base.GetClientSize (); var Style = Master.GetElementById ('MainTable').style; Style.height = Size.Height.toString () + 'px'; Style.width = Size.Width.toString () + 'px'; var Elmt = document.getElementById ('div_Title'); Style = document.getElementById ('Master_Right').style; var RightDivHeight = (Size.Height - OrdinaSoft.Base.GetElementTopAbs (Elmt) - Elmt.offsetHeight - 5); Style.height = RightDivHeight.toString () + 'px'; Style.width = (Size.Width - 165).toString () + 'px'; Elmt = document.getElementById ('PageAutoSize'); if (Elmt != null) Elmt.style.height = (RightDivHeight - document.getElementById ('Copyright').offsetHeight - 20). toString () + 'px'; return true; } // Master.AutoSize //----------------------------------------------------------------------------------------------- // Outils. // Envoie la page au serveur. // - Action est le texte optionnel d�crivant l'action � effectuer. Master.DoSubmit = function (Action) { if (typeof Action != 'null') Master.SetPageAction (Action); Master.Form.submit (); return false; } // Master.DoSubmit