From 3a26aee445da469fcb85f16813895cc96bc14bef Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis@dolibarr.fr> Date: Mon, 5 Jun 2006 18:26:46 +0000 Subject: [PATCH] =?UTF-8?q?d=E9but=20ajout=20gestion=20des=20particuliers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/html.form.class.php | 13 +- htdocs/lib/lib_head.js | 1387 ++++++++++++----------- htdocs/theme/eldy/eldy.css.php | 1920 ++++++++++++++++---------------- 3 files changed, 1697 insertions(+), 1623 deletions(-) diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 0865827c189..f00a3c7d753 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -1272,6 +1272,7 @@ class Form $result=$this->db->query($sql); if ($result) { + print '<div id="particulier2" class="visible">'; print '<select class="flat" name="forme_juridique_code">'; if ($pays_code) print '<option value="0"> </option>'; $num = $this->db->num_rows($result); @@ -1310,6 +1311,7 @@ class Form } } print '</select>'; + print '</div>'; } else { @@ -2165,9 +2167,16 @@ class Form \param key_in_label 1 pour afficher la key dans la valeur "[key] value" \param value_as_key 1 pour utiliser la valeur comme cl� */ - function select_array($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0) + function select_array($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $use_java=0, $fonction='') { - print '<select class="flat" name="'.$htmlname.'">'; + if ($use_java == 1 && $fonction != '') + { + print '<select class="flat" name="'.$htmlname.'" '.$fonction.'>'; + } + else + { + print '<select class="flat" name="'.$htmlname.'">'; + } if ($show_empty) { diff --git a/htdocs/lib/lib_head.js b/htdocs/lib/lib_head.js index 3b33186c4a9..fc8ae062741 100644 --- a/htdocs/lib/lib_head.js +++ b/htdocs/lib/lib_head.js @@ -1,17 +1,17 @@ // Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net> -// -// Script javascript mis en en-tete de pages (dans section head) -// +// +// Script javascript mis en en-tete de pages (dans section head) +// // \file htdocs/lib/lib_head.js // \brief Fichier qui inclue les fonctions javascript d'en-tete (inclue si option use_javascript active) // \version $Revision$ - - - -// ***************************************** -// Pour la fonction de saisi auto des villes -// ***************************************** - + + + +// ***************************************** +// Pour la fonction de saisi auto des villes +// ***************************************** + function autofilltownfromzip_PopupPostalCode(postalcode,objectville) { var url = 'searchpostalcode.php?cp=' + postalcode + '&targetobject=window.opener.document.formsoc.' + objectville.name; @@ -25,669 +25,714 @@ function autofilltownfromzip_save_refresh_edit() document.formsoc.action.value="edit"; document.formsoc.submit(); } - + function autofilltownfromzip_save_refresh_create() { document.formsoc.action.value="create"; document.formsoc.submit(); } - - - - -// ***************************************** -// Pour la saisie des dates par calendrier -// ***************************************** - -// base "/theme/eldy" -// dateFieldID "dateo" Nom du champ -// format "dd/MM/yyyy" Format issu de Dolibarr de SimpleDateFormat � utiliser pour retour -function showDP(base,dateFieldID,format) -{ - showDP.datefieldID=dateFieldID; - - var dateField=getObjectFromID(dateFieldID); - - - //check to see if another box is already showing - var alreadybox=getObjectFromID("DPCancel"); - if(alreadybox) closeDPBox(); - - //get positioning - var thetop=getTop(dateField)+dateField.offsetHeight; - -// var xxx=getObjectFromID('bottompage'); -//alert(xxx.style.pixelTop); -//alert(document.body.clientHeight); -//alert(document.body.style.offsetTop); -//alert(thetop); -//alert(window.innerHeight); - if (thetop+160 > window.innerHeight) - thetop=thetop-160-20; - var theleft=getLeft(dateField); - if (theleft+140 > window.innerWidth) - theleft= theleft-140+dateField.offsetWidth-15; - - showDP.box=document.createElement("div"); - showDP.box.className="bodyline"; - showDP.box.style.siplay="block"; - showDP.box.style.position="absolute"; - showDP.box.style.top=thetop + "px"; - showDP.box.style.left=theleft + "px"; - - if(dateField.value) // Si il y avait valeur initiale dans champ - { - selDate=getDateFromFormat(dateField.value,format); - if (selDate) - { - year=selDate.getFullYear(); - month=selDate.getMonth()+1; - day=selDate.getDate(); - datetime=selDate.getTime(); - ymd=formatDate(selDate,'yyyyMMdd'); - } - } - else - { - selDate=new Date(); - year=selDate.getFullYear(); - month=selDate.getUTCMonth()+1; - day=selDate.getDate(); - datetime=selDate.getTime(); - ymd=formatDate(selDate,'yyyyMMdd'); - } - loadMonth(base,month,year,ymd); - hideSelectBoxes(); - document.body.appendChild(showDP.box); -} - -function loadMonth(base,month,year,ymd) -{ - showDP.box.innerHTML="Loading..."; - var theURL=base+"datepicker.php?cm=shw"; - theURL+="&m="+encodeURIComponent(month); - theURL+="&y="+encodeURIComponent(year); - if (selDate) - { - theURL+="&sd="+ymd; - } - - loadXMLDoc(theURL,null,false); - showDP.box.innerHTML=req.responseText; -} - -function closeDPBox() -{ - document.body.removeChild(showDP.box); - displaySelectBoxes(); - showDP.box=null; - showDP.datefieldID=null; -} - -function dpChangeDay(dateFieldID,format) -{ - showDP.datefieldID=dateFieldID; - - var thefield=getObjectFromID(showDP.datefieldID); - var thefieldday=getObjectFromID(showDP.datefieldID+"day"); - var thefieldmonth=getObjectFromID(showDP.datefieldID+"month"); - var thefieldyear=getObjectFromID(showDP.datefieldID+"year"); - - var date=getDateFromFormat(thefield.value,format); - if (date) - { - thefieldday.value=date.getDate(); - if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); - thefieldmonth.value=date.getMonth()+1; - if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); - thefieldyear.value=date.getFullYear(); - if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); - } - else - { - thefieldday.value=''; - if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); - thefieldmonth.value=''; - if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); - thefieldyear.value=''; - if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); - } -} - -function dpClickDay(year,month,day,format) -{ - var thefield=getObjectFromID(showDP.datefieldID); - var thefieldday=getObjectFromID(showDP.datefieldID+"day"); - var thefieldmonth=getObjectFromID(showDP.datefieldID+"month"); - var thefieldyear=getObjectFromID(showDP.datefieldID+"year"); - - var dt = new Date(); - dt.setMonth(month-1); - dt.setYear(year); - dt.setDate(day); - - thefield.value=formatDate(dt,format); - if(thefield.onchange) thefield.onchange.call(thefield); - - thefieldday.value=day; - if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); - thefieldmonth.value=month; - if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); - thefieldyear.value=year; - if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); - - closeDPBox(); -} - -function dpHighlightDay(year,month,day){ - var displayinfo=getObjectFromID("dpExp"); - var months=Array("January","February","March","April","May","June","July","August","September","October","November","December"); - displayinfo.innerHTML=months[month-1]+" "+day+", "+year; -} - - -//Returns an object given an id -function getObjectFromID(id){ - var theObject; - if(document.getElementById) - theObject=document.getElementById(id); - else - theObject=document.all[id]; - return theObject; -} - - -// This Function returns the Top position of an object -function getTop(theitem){ - var offsetTrail = theitem; - var offsetTop = 0; - while (offsetTrail) { - offsetTop += offsetTrail.offsetTop; - offsetTrail = offsetTrail.offsetParent; - } - if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") - offsetLeft += document.body.TopMargin; - return offsetTop; -} - -// This Function returns the Left position of an object -function getLeft(theitem){ - var offsetTrail = theitem; - var offsetLeft = 0; - while (offsetTrail) { - offsetLeft += offsetTrail.offsetLeft; - offsetTrail = offsetTrail.offsetParent; - } - if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") - offsetLeft += document.body.leftMargin; - return offsetLeft; -} - -function loadXMLDoc(url,readyStateFunction,async) -{ - // branch for native XMLHttpRequest object - if (window.XMLHttpRequest) { - req = new XMLHttpRequest(); - req.onreadystatechange = readyStateFunction; - req.open("GET", url, async); - req.send(null); - // branch for IE/Windows ActiveX version - } else if (window.ActiveXObject) { - req = new ActiveXObject("Microsoft.XMLHTTP"); - if (req) { - if(readyStateFunction) req.onreadystatechange = readyStateFunction; - req.open("GET", url, async); - req.send(); - } - } -} - -function hideSelectBoxes() { - var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10); - if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) { - for(var i = 0; i < document.all.length; i++) { - if(document.all[i].tagName) - if(document.all[i].tagName == "SELECT") - document.all[i].style.visibility="hidden"; - } - } -} - -function displaySelectBoxes() { - var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10); - if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) { - for(var i = 0; i < document.all.length; i++) { - if(document.all[i].tagName) - if(document.all[i].tagName == "SELECT") - document.all[i].style.visibility="visible"; - } - } -} - - - -/*********************************************** -* Cool DHTML tooltip script- � Dynamic Drive DHTML code library (www.dynamicdrive.com) -* This notice MUST stay intact for legal use -* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code -***********************************************/ - -var offsetxpoint=-60 //Customize x offset of tooltip -var offsetypoint=20 //Customize y offset of tooltip -var ie=document.all -var ns6=document.getElementById && !document.all -var enabletip=false -if (ie||ns6) -var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "" - -function ietruebody() -{ - return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body -} - -function showtip(thetext) -{ - if (ns6||ie) - { - tipobj.innerHTML=thetext - enabletip=true - return false - } -} - -function positiontip(e) -{ - if (enabletip) - { - var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft; - var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop; - //Find out how close the mouse is to the corner of the window - var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20 - var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20 - - var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000 - - //if the horizontal distance isn't enough to accomodate the width of the context menu - if (rightedge<tipobj.offsetWidth) - //move the horizontal position of the menu to the left by it's width - tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px" - else if (curX<leftedge) - tipobj.style.left="5px" - else - //position the horizontal position of the menu where the mouse is positioned - tipobj.style.left=curX+offsetxpoint+"px" - - //same concept with the vertical position - if (bottomedge<tipobj.offsetHeight) - tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px" - else - tipobj.style.top=curY+offsetypoint+"px" - tipobj.style.visibility="visible" - } -} - -function hidetip(){ -if (ns6||ie){ -enabletip=false -tipobj.style.visibility="hidden" -tipobj.style.left="-1000px" -tipobj.style.backgroundColor='' -tipobj.style.width='' -} -} - -document.onmousemove=positiontip; - - - - -// =================================================================== -// Author: Matt Kruse <matt@mattkruse.com> -// WWW: http://www.mattkruse.com/ -// -// NOTICE: You may use this code for any purpose, commercial or -// private, without any further permission from the author. You may -// remove this notice from your final code if you wish, however it is -// appreciated by the author if at least my web site address is kept. -// -// You may *NOT* re-distribute this code in any way except through its -// use. That means, you can include it in your product, or your web -// site, or any other form where the code is actually being used. You -// may not put the plain javascript up on your site for download or -// include it in your javascript libraries for download. -// If you wish to share this code with others, please just point them -// to the URL instead. -// Please DO NOT link directly to my .js files from your site. Copy -// the files to your server and use them there. Thank you. -// =================================================================== - -// HISTORY -// ------------------------------------------------------------------ -// May 17, 2003: Fixed bug in parseDate() for dates <1970 -// March 11, 2003: Added parseDate() function -// March 11, 2003: Added "NNN" formatting option. Doesn't match up -// perfectly with SimpleDateFormat formats, but -// backwards-compatability was required. - -// ------------------------------------------------------------------ -// These functions use the same 'format' strings as the -// java.text.SimpleDateFormat class, with minor exceptions. -// The format string consists of the following abbreviations: -// -// Field | Full Form | Short Form -// -------------+--------------------+----------------------- -// Year | yyyy (4 digits) | yy (2 digits), y (2 or 4 digits) -// Month | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits) -// | NNN (abbr.) | -// Day of Month | dd (2 digits) | d (1 or 2 digits) -// Day of Week | EE (name) | E (abbr) -// Hour (1-12) | hh (2 digits) | h (1 or 2 digits) -// Hour (0-23) | HH (2 digits) | H (1 or 2 digits) -// Hour (0-11) | KK (2 digits) | K (1 or 2 digits) -// Hour (1-24) | kk (2 digits) | k (1 or 2 digits) -// Minute | mm (2 digits) | m (1 or 2 digits) -// Second | ss (2 digits) | s (1 or 2 digits) -// AM/PM | a | -// -// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm! -// Examples: -// "MMM d, y" matches: January 01, 2000 -// Dec 1, 1900 -// Nov 20, 00 -// "M/d/yy" matches: 01/20/00 -// 9/2/00 -// "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM" -// ------------------------------------------------------------------ - -var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); -var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat'); -function LZ(x) {return(x<0||x>9?"":"0")+x} - -// ------------------------------------------------------------------ -// isDate ( date_string, format_string ) -// Returns true if date string matches format of format string and -// is a valid date. Else returns false. -// It is recommended that you trim whitespace around the value before -// passing it to this function, as whitespace is NOT ignored! -// ------------------------------------------------------------------ -function isDate(val,format) { - var date=getDateFromFormat(val,format); - dt=date.getTime(); - if (dt==0) { return false; } - return true; -} - -// ------------------------------------------------------------------- -// compareDates(date1,date1format,date2,date2format) -// Compare two date strings to see which is greater. -// Returns: -// 1 if date1 is greater than date2 -// 0 if date2 is greater than date1 of if they are the same -// -1 if either of the dates is in an invalid format -// ------------------------------------------------------------------- -function compareDates(date1,dateformat1,date2,dateformat2) { - var dd1=getDateFromFormat(date1,dateformat1); - var dd2=getDateFromFormat(date2,dateformat2); - var d1=dd1.getTime(); - var d2=dd2.getTime(); - if (d1==0 || d2==0) { - return -1; - } - else if (d1 > d2) { - return 1; - } - return 0; -} - -// ------------------------------------------------------------------ -// formatDate (date_object, format) -// Returns a date in the output format specified. -// The format string uses the same abbreviations as in getDateFromFormat() -// ------------------------------------------------------------------ -function formatDate(date,format) { - //alert(date+' '+format); - format=format+""; - var result=""; - var i_format=0; - var c=""; - var token=""; - var y=date.getYear()+""; - var M=date.getMonth()+1; - var d=date.getDate(); - var E=date.getDay(); - var H=date.getHours(); - var m=date.getMinutes(); - var s=date.getSeconds(); - var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k; - // Convert real date parts into formatted versions - var value=new Object(); - if (y.length < 4) {y=""+(y-0+1900);} - value["y"]=""+y; - value["yyyy"]=y; - value["yy"]=y.substring(2,4); - value["M"]=M; - value["MM"]=LZ(M); - value["MMM"]=MONTH_NAMES[M-1]; - value["NNN"]=MONTH_NAMES[M+11]; - value["d"]=d; - value["dd"]=LZ(d); - value["E"]=DAY_NAMES[E+7]; - value["EE"]=DAY_NAMES[E]; - value["H"]=H; - value["HH"]=LZ(H); - if (H==0){value["h"]=12;} - else if (H>12){value["h"]=H-12;} - else {value["h"]=H;} - value["hh"]=LZ(value["h"]); - if (H>11){value["K"]=H-12;} else {value["K"]=H;} - value["k"]=H+1; - value["KK"]=LZ(value["K"]); - value["kk"]=LZ(value["k"]); - if (H > 11) { value["a"]="PM"; } - else { value["a"]="AM"; } - value["m"]=m; - value["mm"]=LZ(m); - value["s"]=s; - value["ss"]=LZ(s); - while (i_format < format.length) { - c=format.charAt(i_format); - token=""; - while ((format.charAt(i_format)==c) && (i_format < format.length)) { - token += format.charAt(i_format++); - } - if (value[token] != null) { result=result + value[token]; } - else { result=result + token; } - } - //alert(format+' -> '+result); - return result; -} - -// ------------------------------------------------------------------ -// Utility functions for parsing in getDateFromFormat() -// ------------------------------------------------------------------ -function _isInteger(val) { - var digits="1234567890"; - for (var i=0; i < val.length; i++) { - if (digits.indexOf(val.charAt(i))==-1) { return false; } - } - return true; -} - -function _getInt(str,i,minlength,maxlength) { - for (var x=maxlength; x>=minlength; x--) { - var token=str.substring(i,i+x); - if (token.length < minlength) { return null; } - if (_isInteger(token)) { return token; } - } - return null; -} - -// ------------------------------------------------------------------ -// getDateFromFormat( date_string , format_string ) -// -// This function takes a date string and a format string. It matches -// If the date string matches the format string, it returns the date -// If it does not match, it returns 0. -// ------------------------------------------------------------------ -function getDateFromFormat(val,format) { - val=val+""; - format=format+""; - -// alert(val+' '+format); - var i_val=0; - var i_format=0; - var c=""; - var token=""; - var token2=""; - var x,y; - var now=new Date(); - var year=now.getYear(); - var month=now.getMonth()+1; - var date=1; - var hh=now.getHours(); - var mm=now.getMinutes(); - var ss=now.getSeconds(); - var ampm=""; - - while (i_format < format.length) { - // Get next token from format string - c=format.charAt(i_format); - token=""; - while ((format.charAt(i_format)==c) && (i_format < format.length)) { - token += format.charAt(i_format++); - } - // Extract contents of value based on format token - if (token=="yyyy" || token=="yy" || token=="y") { - if (token=="yyyy") { x=4;y=4; } - if (token=="yy") { x=2;y=2; } - if (token=="y") { x=2;y=4; } - year=_getInt(val,i_val,x,y); - if (year==null) { return 0; } - i_val += year.length; - if (year.length==2) { - if (year > 70) { year=1900+(year-0); } - else { year=2000+(year-0); } - } - } - else if (token=="MMM"||token=="NNN"){ - month=0; - for (var i=0; i<MONTH_NAMES.length; i++) { - var month_name=MONTH_NAMES[i]; - if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) { - if (token=="MMM"||(token=="NNN"&&i>11)) { - month=i+1; - if (month>12) { month -= 12; } - i_val += month_name.length; - break; - } - } - } - if ((month < 1)||(month>12)){return 0;} - } - else if (token=="EE"||token=="E"){ - for (var i=0; i<DAY_NAMES.length; i++) { - var day_name=DAY_NAMES[i]; - if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) { - i_val += day_name.length; - break; - } - } - } - else if (token=="MM"||token=="M") { - month=_getInt(val,i_val,token.length,2); - if(month==null||(month<1)||(month>12)){return 0;} - i_val+=month.length;} - else if (token=="dd"||token=="d") { - date=_getInt(val,i_val,token.length,2); - if(date==null||(date<1)||(date>31)){return 0;} - i_val+=date.length;} - else if (token=="hh"||token=="h") { - hh=_getInt(val,i_val,token.length,2); - if(hh==null||(hh<1)||(hh>12)){return 0;} - i_val+=hh.length;} - else if (token=="HH"||token=="H") { - hh=_getInt(val,i_val,token.length,2); - if(hh==null||(hh<0)||(hh>23)){return 0;} - i_val+=hh.length;} - else if (token=="KK"||token=="K") { - hh=_getInt(val,i_val,token.length,2); - if(hh==null||(hh<0)||(hh>11)){return 0;} - i_val+=hh.length;} - else if (token=="kk"||token=="k") { - hh=_getInt(val,i_val,token.length,2); - if(hh==null||(hh<1)||(hh>24)){return 0;} - i_val+=hh.length;hh--;} - else if (token=="mm"||token=="m") { - mm=_getInt(val,i_val,token.length,2); - if(mm==null||(mm<0)||(mm>59)){return 0;} - i_val+=mm.length;} - else if (token=="ss"||token=="s") { - ss=_getInt(val,i_val,token.length,2); - if(ss==null||(ss<0)||(ss>59)){return 0;} - i_val+=ss.length;} - else if (token=="a") { - if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";} - else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";} - else {return 0;} - i_val+=2;} - else { - if (val.substring(i_val,i_val+token.length)!=token) {return 0;} - else {i_val+=token.length;} - } - } - // If there are any trailing characters left in the value, it doesn't match - if (i_val != val.length) { return 0; } - // Is date valid for month? - if (month==2) { - // Check for leap year - if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year - if (date > 29){ return 0; } - } - else { if (date > 28) { return 0; } } - } - if ((month==4)||(month==6)||(month==9)||(month==11)) { - if (date > 30) { return 0; } - } - // Correct hours value - if (hh<12 && ampm=="PM") { hh=hh-0+12; } - else if (hh>11 && ampm=="AM") { hh-=12; } - var newdate=new Date(year,month-1,date,hh,mm,ss); - -// alert(year+' '+month+' '+date); - -// return newdate.getTime(); - return newdate; -} - -// ------------------------------------------------------------------ -// parseDate( date_string [, prefer_euro_format] ) -// -// This function takes a date string and tries to match it to a -// number of possible date formats to get the value. It will try to -// match against the following international formats, in this order: -// y-M-d MMM d, y MMM d,y y-MMM-d d-MMM-y MMM d -// M/d/y M-d-y M.d.y MMM-d M/d M-d -// d/M/y d-M-y d.M.y d-MMM d/M d-M -// A second argument may be passed to instruct the method to search -// for formats like d/M/y (european format) before M/d/y (American). -// Returns a Date object or null if no patterns match. -// ------------------------------------------------------------------ -function parseDate(val) { - var preferEuro=(arguments.length==2)?arguments[1]:false; - generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d'); - monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d'); - dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M'); - var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst'); - var d=null; - for (var i=0; i<checkList.length; i++) { - var l=window[checkList[i]]; - for (var j=0; j<l.length; j++) { - date=getDateFromFormat(val,l[j]); - d=date.getTime(); - if (d!=0) { return new Date(d); } - } - } - return null; -} - - + + + + +// ***************************************** +// Pour la saisie des dates par calendrier +// ***************************************** + +// base "/theme/eldy" +// dateFieldID "dateo" Nom du champ +// format "dd/MM/yyyy" Format issu de Dolibarr de SimpleDateFormat � utiliser pour retour +function showDP(base,dateFieldID,format) +{ + showDP.datefieldID=dateFieldID; + + var dateField=getObjectFromID(dateFieldID); + + + //check to see if another box is already showing + var alreadybox=getObjectFromID("DPCancel"); + if(alreadybox) closeDPBox(); + + //get positioning + var thetop=getTop(dateField)+dateField.offsetHeight; + +// var xxx=getObjectFromID('bottompage'); +//alert(xxx.style.pixelTop); +//alert(document.body.clientHeight); +//alert(document.body.style.offsetTop); +//alert(thetop); +//alert(window.innerHeight); + if (thetop+160 > window.innerHeight) + thetop=thetop-160-20; + var theleft=getLeft(dateField); + if (theleft+140 > window.innerWidth) + theleft= theleft-140+dateField.offsetWidth-15; + + showDP.box=document.createElement("div"); + showDP.box.className="bodyline"; + showDP.box.style.siplay="block"; + showDP.box.style.position="absolute"; + showDP.box.style.top=thetop + "px"; + showDP.box.style.left=theleft + "px"; + + if(dateField.value) // Si il y avait valeur initiale dans champ + { + selDate=getDateFromFormat(dateField.value,format); + if (selDate) + { + year=selDate.getFullYear(); + month=selDate.getMonth()+1; + day=selDate.getDate(); + datetime=selDate.getTime(); + ymd=formatDate(selDate,'yyyyMMdd'); + } + } + else + { + selDate=new Date(); + year=selDate.getFullYear(); + month=selDate.getUTCMonth()+1; + day=selDate.getDate(); + datetime=selDate.getTime(); + ymd=formatDate(selDate,'yyyyMMdd'); + } + loadMonth(base,month,year,ymd); + hideSelectBoxes(); + document.body.appendChild(showDP.box); +} + +function loadMonth(base,month,year,ymd) +{ + showDP.box.innerHTML="Loading..."; + var theURL=base+"datepicker.php?cm=shw"; + theURL+="&m="+encodeURIComponent(month); + theURL+="&y="+encodeURIComponent(year); + if (selDate) + { + theURL+="&sd="+ymd; + } + + loadXMLDoc(theURL,null,false); + showDP.box.innerHTML=req.responseText; +} + +function closeDPBox() +{ + document.body.removeChild(showDP.box); + displaySelectBoxes(); + showDP.box=null; + showDP.datefieldID=null; +} + +function dpChangeDay(dateFieldID,format) +{ + showDP.datefieldID=dateFieldID; + + var thefield=getObjectFromID(showDP.datefieldID); + var thefieldday=getObjectFromID(showDP.datefieldID+"day"); + var thefieldmonth=getObjectFromID(showDP.datefieldID+"month"); + var thefieldyear=getObjectFromID(showDP.datefieldID+"year"); + + var date=getDateFromFormat(thefield.value,format); + if (date) + { + thefieldday.value=date.getDate(); + if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); + thefieldmonth.value=date.getMonth()+1; + if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); + thefieldyear.value=date.getFullYear(); + if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); + } + else + { + thefieldday.value=''; + if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); + thefieldmonth.value=''; + if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); + thefieldyear.value=''; + if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); + } +} + +function dpClickDay(year,month,day,format) +{ + var thefield=getObjectFromID(showDP.datefieldID); + var thefieldday=getObjectFromID(showDP.datefieldID+"day"); + var thefieldmonth=getObjectFromID(showDP.datefieldID+"month"); + var thefieldyear=getObjectFromID(showDP.datefieldID+"year"); + + var dt = new Date(); + dt.setMonth(month-1); + dt.setYear(year); + dt.setDate(day); + + thefield.value=formatDate(dt,format); + if(thefield.onchange) thefield.onchange.call(thefield); + + thefieldday.value=day; + if(thefieldday.onchange) thefieldday.onchange.call(thefieldday); + thefieldmonth.value=month; + if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth); + thefieldyear.value=year; + if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear); + + closeDPBox(); +} + +function dpHighlightDay(year,month,day){ + var displayinfo=getObjectFromID("dpExp"); + var months=Array("January","February","March","April","May","June","July","August","September","October","November","December"); + displayinfo.innerHTML=months[month-1]+" "+day+", "+year; +} + + +//Returns an object given an id +function getObjectFromID(id){ + var theObject; + if(document.getElementById) + theObject=document.getElementById(id); + else + theObject=document.all[id]; + return theObject; +} + + +// This Function returns the Top position of an object +function getTop(theitem){ + var offsetTrail = theitem; + var offsetTop = 0; + while (offsetTrail) { + offsetTop += offsetTrail.offsetTop; + offsetTrail = offsetTrail.offsetParent; + } + if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") + offsetLeft += document.body.TopMargin; + return offsetTop; +} + +// This Function returns the Left position of an object +function getLeft(theitem){ + var offsetTrail = theitem; + var offsetLeft = 0; + while (offsetTrail) { + offsetLeft += offsetTrail.offsetLeft; + offsetTrail = offsetTrail.offsetParent; + } + if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") + offsetLeft += document.body.leftMargin; + return offsetLeft; +} + +function loadXMLDoc(url,readyStateFunction,async) +{ + // branch for native XMLHttpRequest object + if (window.XMLHttpRequest) { + req = new XMLHttpRequest(); + req.onreadystatechange = readyStateFunction; + req.open("GET", url, async); + req.send(null); + // branch for IE/Windows ActiveX version + } else if (window.ActiveXObject) { + req = new ActiveXObject("Microsoft.XMLHTTP"); + if (req) { + if(readyStateFunction) req.onreadystatechange = readyStateFunction; + req.open("GET", url, async); + req.send(); + } + } +} + +function hideSelectBoxes() { + var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10); + if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) { + for(var i = 0; i < document.all.length; i++) { + if(document.all[i].tagName) + if(document.all[i].tagName == "SELECT") + document.all[i].style.visibility="hidden"; + } + } +} + +function displaySelectBoxes() { + var brsVersion = parseInt(window.navigator.appVersion.charAt(0), 10); + if (brsVersion <= 6 && window.navigator.userAgent.indexOf("MSIE") > -1) { + for(var i = 0; i < document.all.length; i++) { + if(document.all[i].tagName) + if(document.all[i].tagName == "SELECT") + document.all[i].style.visibility="visible"; + } + } +} + + +// Afficher/cacher les champs d'un formulaire +function formDisplayHideId(baliseId,numField) + { + //if (document.getElementById && document.getElementById(baliseId) != null) + //{ + //var balise = document.getElementById(baliseId); + + var numDiv = 1 + + if (document.formsoc.typent_id.value == 8) + { + + while ( document.getElementById( baliseId + numDiv) ) { + + var balise = document.getElementById( baliseId + numDiv); + + if (balise && balise.className == "hidden") + balise.className = "visible"; + + if (balise && balise.className == "visible") + balise.className = "hidden"; + numDiv++ + + } + } + else + { + + while ( document.getElementById( baliseId + numDiv) ) { + + var balise = document.getElementById( baliseId + numDiv); + + if (balise && balise.className == "visible") + balise.className = "hidden"; + + if (balise && balise.className == "hidden") + balise.className = "visible"; + numDiv++ + + } + } + //} + } + + + +/*********************************************** +* Cool DHTML tooltip script- � Dynamic Drive DHTML code library (www.dynamicdrive.com) +* This notice MUST stay intact for legal use +* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code +***********************************************/ + +var offsetxpoint=-60 //Customize x offset of tooltip +var offsetypoint=20 //Customize y offset of tooltip +var ie=document.all +var ns6=document.getElementById && !document.all +var enabletip=false +if (ie||ns6) +var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "" + +function ietruebody() +{ + return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body +} + +function showtip(thetext) +{ + if (ns6||ie) + { + tipobj.innerHTML=thetext + enabletip=true + return false + } +} + +function positiontip(e) +{ + if (enabletip) + { + var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft; + var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop; + //Find out how close the mouse is to the corner of the window + var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20 + var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20 + + var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000 + + //if the horizontal distance isn't enough to accomodate the width of the context menu + if (rightedge<tipobj.offsetWidth) + //move the horizontal position of the menu to the left by it's width + tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px" + else if (curX<leftedge) + tipobj.style.left="5px" + else + //position the horizontal position of the menu where the mouse is positioned + tipobj.style.left=curX+offsetxpoint+"px" + + //same concept with the vertical position + if (bottomedge<tipobj.offsetHeight) + tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px" + else + tipobj.style.top=curY+offsetypoint+"px" + tipobj.style.visibility="visible" + } +} + +function hidetip(){ +if (ns6||ie){ +enabletip=false +tipobj.style.visibility="hidden" +tipobj.style.left="-1000px" +tipobj.style.backgroundColor='' +tipobj.style.width='' +} +} + +document.onmousemove=positiontip; + + + + +// =================================================================== +// Author: Matt Kruse <matt@mattkruse.com> +// WWW: http://www.mattkruse.com/ +// +// NOTICE: You may use this code for any purpose, commercial or +// private, without any further permission from the author. You may +// remove this notice from your final code if you wish, however it is +// appreciated by the author if at least my web site address is kept. +// +// You may *NOT* re-distribute this code in any way except through its +// use. That means, you can include it in your product, or your web +// site, or any other form where the code is actually being used. You +// may not put the plain javascript up on your site for download or +// include it in your javascript libraries for download. +// If you wish to share this code with others, please just point them +// to the URL instead. +// Please DO NOT link directly to my .js files from your site. Copy +// the files to your server and use them there. Thank you. +// =================================================================== + +// HISTORY +// ------------------------------------------------------------------ +// May 17, 2003: Fixed bug in parseDate() for dates <1970 +// March 11, 2003: Added parseDate() function +// March 11, 2003: Added "NNN" formatting option. Doesn't match up +// perfectly with SimpleDateFormat formats, but +// backwards-compatability was required. + +// ------------------------------------------------------------------ +// These functions use the same 'format' strings as the +// java.text.SimpleDateFormat class, with minor exceptions. +// The format string consists of the following abbreviations: +// +// Field | Full Form | Short Form +// -------------+--------------------+----------------------- +// Year | yyyy (4 digits) | yy (2 digits), y (2 or 4 digits) +// Month | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits) +// | NNN (abbr.) | +// Day of Month | dd (2 digits) | d (1 or 2 digits) +// Day of Week | EE (name) | E (abbr) +// Hour (1-12) | hh (2 digits) | h (1 or 2 digits) +// Hour (0-23) | HH (2 digits) | H (1 or 2 digits) +// Hour (0-11) | KK (2 digits) | K (1 or 2 digits) +// Hour (1-24) | kk (2 digits) | k (1 or 2 digits) +// Minute | mm (2 digits) | m (1 or 2 digits) +// Second | ss (2 digits) | s (1 or 2 digits) +// AM/PM | a | +// +// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm! +// Examples: +// "MMM d, y" matches: January 01, 2000 +// Dec 1, 1900 +// Nov 20, 00 +// "M/d/yy" matches: 01/20/00 +// 9/2/00 +// "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM" +// ------------------------------------------------------------------ + +var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); +var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat'); +function LZ(x) {return(x<0||x>9?"":"0")+x} + +// ------------------------------------------------------------------ +// isDate ( date_string, format_string ) +// Returns true if date string matches format of format string and +// is a valid date. Else returns false. +// It is recommended that you trim whitespace around the value before +// passing it to this function, as whitespace is NOT ignored! +// ------------------------------------------------------------------ +function isDate(val,format) { + var date=getDateFromFormat(val,format); + dt=date.getTime(); + if (dt==0) { return false; } + return true; +} + +// ------------------------------------------------------------------- +// compareDates(date1,date1format,date2,date2format) +// Compare two date strings to see which is greater. +// Returns: +// 1 if date1 is greater than date2 +// 0 if date2 is greater than date1 of if they are the same +// -1 if either of the dates is in an invalid format +// ------------------------------------------------------------------- +function compareDates(date1,dateformat1,date2,dateformat2) { + var dd1=getDateFromFormat(date1,dateformat1); + var dd2=getDateFromFormat(date2,dateformat2); + var d1=dd1.getTime(); + var d2=dd2.getTime(); + if (d1==0 || d2==0) { + return -1; + } + else if (d1 > d2) { + return 1; + } + return 0; +} + +// ------------------------------------------------------------------ +// formatDate (date_object, format) +// Returns a date in the output format specified. +// The format string uses the same abbreviations as in getDateFromFormat() +// ------------------------------------------------------------------ +function formatDate(date,format) { + //alert(date+' '+format); + format=format+""; + var result=""; + var i_format=0; + var c=""; + var token=""; + var y=date.getYear()+""; + var M=date.getMonth()+1; + var d=date.getDate(); + var E=date.getDay(); + var H=date.getHours(); + var m=date.getMinutes(); + var s=date.getSeconds(); + var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k; + // Convert real date parts into formatted versions + var value=new Object(); + if (y.length < 4) {y=""+(y-0+1900);} + value["y"]=""+y; + value["yyyy"]=y; + value["yy"]=y.substring(2,4); + value["M"]=M; + value["MM"]=LZ(M); + value["MMM"]=MONTH_NAMES[M-1]; + value["NNN"]=MONTH_NAMES[M+11]; + value["d"]=d; + value["dd"]=LZ(d); + value["E"]=DAY_NAMES[E+7]; + value["EE"]=DAY_NAMES[E]; + value["H"]=H; + value["HH"]=LZ(H); + if (H==0){value["h"]=12;} + else if (H>12){value["h"]=H-12;} + else {value["h"]=H;} + value["hh"]=LZ(value["h"]); + if (H>11){value["K"]=H-12;} else {value["K"]=H;} + value["k"]=H+1; + value["KK"]=LZ(value["K"]); + value["kk"]=LZ(value["k"]); + if (H > 11) { value["a"]="PM"; } + else { value["a"]="AM"; } + value["m"]=m; + value["mm"]=LZ(m); + value["s"]=s; + value["ss"]=LZ(s); + while (i_format < format.length) { + c=format.charAt(i_format); + token=""; + while ((format.charAt(i_format)==c) && (i_format < format.length)) { + token += format.charAt(i_format++); + } + if (value[token] != null) { result=result + value[token]; } + else { result=result + token; } + } + //alert(format+' -> '+result); + return result; +} + +// ------------------------------------------------------------------ +// Utility functions for parsing in getDateFromFormat() +// ------------------------------------------------------------------ +function _isInteger(val) { + var digits="1234567890"; + for (var i=0; i < val.length; i++) { + if (digits.indexOf(val.charAt(i))==-1) { return false; } + } + return true; +} + +function _getInt(str,i,minlength,maxlength) { + for (var x=maxlength; x>=minlength; x--) { + var token=str.substring(i,i+x); + if (token.length < minlength) { return null; } + if (_isInteger(token)) { return token; } + } + return null; +} + +// ------------------------------------------------------------------ +// getDateFromFormat( date_string , format_string ) +// +// This function takes a date string and a format string. It matches +// If the date string matches the format string, it returns the date +// If it does not match, it returns 0. +// ------------------------------------------------------------------ +function getDateFromFormat(val,format) { + val=val+""; + format=format+""; + +// alert(val+' '+format); + var i_val=0; + var i_format=0; + var c=""; + var token=""; + var token2=""; + var x,y; + var now=new Date(); + var year=now.getYear(); + var month=now.getMonth()+1; + var date=1; + var hh=now.getHours(); + var mm=now.getMinutes(); + var ss=now.getSeconds(); + var ampm=""; + + while (i_format < format.length) { + // Get next token from format string + c=format.charAt(i_format); + token=""; + while ((format.charAt(i_format)==c) && (i_format < format.length)) { + token += format.charAt(i_format++); + } + // Extract contents of value based on format token + if (token=="yyyy" || token=="yy" || token=="y") { + if (token=="yyyy") { x=4;y=4; } + if (token=="yy") { x=2;y=2; } + if (token=="y") { x=2;y=4; } + year=_getInt(val,i_val,x,y); + if (year==null) { return 0; } + i_val += year.length; + if (year.length==2) { + if (year > 70) { year=1900+(year-0); } + else { year=2000+(year-0); } + } + } + else if (token=="MMM"||token=="NNN"){ + month=0; + for (var i=0; i<MONTH_NAMES.length; i++) { + var month_name=MONTH_NAMES[i]; + if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) { + if (token=="MMM"||(token=="NNN"&&i>11)) { + month=i+1; + if (month>12) { month -= 12; } + i_val += month_name.length; + break; + } + } + } + if ((month < 1)||(month>12)){return 0;} + } + else if (token=="EE"||token=="E"){ + for (var i=0; i<DAY_NAMES.length; i++) { + var day_name=DAY_NAMES[i]; + if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) { + i_val += day_name.length; + break; + } + } + } + else if (token=="MM"||token=="M") { + month=_getInt(val,i_val,token.length,2); + if(month==null||(month<1)||(month>12)){return 0;} + i_val+=month.length;} + else if (token=="dd"||token=="d") { + date=_getInt(val,i_val,token.length,2); + if(date==null||(date<1)||(date>31)){return 0;} + i_val+=date.length;} + else if (token=="hh"||token=="h") { + hh=_getInt(val,i_val,token.length,2); + if(hh==null||(hh<1)||(hh>12)){return 0;} + i_val+=hh.length;} + else if (token=="HH"||token=="H") { + hh=_getInt(val,i_val,token.length,2); + if(hh==null||(hh<0)||(hh>23)){return 0;} + i_val+=hh.length;} + else if (token=="KK"||token=="K") { + hh=_getInt(val,i_val,token.length,2); + if(hh==null||(hh<0)||(hh>11)){return 0;} + i_val+=hh.length;} + else if (token=="kk"||token=="k") { + hh=_getInt(val,i_val,token.length,2); + if(hh==null||(hh<1)||(hh>24)){return 0;} + i_val+=hh.length;hh--;} + else if (token=="mm"||token=="m") { + mm=_getInt(val,i_val,token.length,2); + if(mm==null||(mm<0)||(mm>59)){return 0;} + i_val+=mm.length;} + else if (token=="ss"||token=="s") { + ss=_getInt(val,i_val,token.length,2); + if(ss==null||(ss<0)||(ss>59)){return 0;} + i_val+=ss.length;} + else if (token=="a") { + if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";} + else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";} + else {return 0;} + i_val+=2;} + else { + if (val.substring(i_val,i_val+token.length)!=token) {return 0;} + else {i_val+=token.length;} + } + } + // If there are any trailing characters left in the value, it doesn't match + if (i_val != val.length) { return 0; } + // Is date valid for month? + if (month==2) { + // Check for leap year + if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year + if (date > 29){ return 0; } + } + else { if (date > 28) { return 0; } } + } + if ((month==4)||(month==6)||(month==9)||(month==11)) { + if (date > 30) { return 0; } + } + // Correct hours value + if (hh<12 && ampm=="PM") { hh=hh-0+12; } + else if (hh>11 && ampm=="AM") { hh-=12; } + var newdate=new Date(year,month-1,date,hh,mm,ss); + +// alert(year+' '+month+' '+date); + +// return newdate.getTime(); + return newdate; +} + +// ------------------------------------------------------------------ +// parseDate( date_string [, prefer_euro_format] ) +// +// This function takes a date string and tries to match it to a +// number of possible date formats to get the value. It will try to +// match against the following international formats, in this order: +// y-M-d MMM d, y MMM d,y y-MMM-d d-MMM-y MMM d +// M/d/y M-d-y M.d.y MMM-d M/d M-d +// d/M/y d-M-y d.M.y d-MMM d/M d-M +// A second argument may be passed to instruct the method to search +// for formats like d/M/y (european format) before M/d/y (American). +// Returns a Date object or null if no patterns match. +// ------------------------------------------------------------------ +function parseDate(val) { + var preferEuro=(arguments.length==2)?arguments[1]:false; + generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d'); + monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d'); + dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M'); + var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst'); + var d=null; + for (var i=0; i<checkList.length; i++) { + var l=window[checkList[i]]; + for (var j=0; j<l.length; j++) { + date=getDateFromFormat(val,l[j]); + d=date.getTime(); + if (d!=0) { return new Date(d); } + } + } + return null; +} + + diff --git a/htdocs/theme/eldy/eldy.css.php b/htdocs/theme/eldy/eldy.css.php index 9c24c5847b0..d2157955ded 100644 --- a/htdocs/theme/eldy/eldy.css.php +++ b/htdocs/theme/eldy/eldy.css.php @@ -1,952 +1,972 @@ -<?php -/* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Id$ - * $Source$ - */ - -header('Content-type: text/css'); - -require("../../conf/conf.php"); - -?> - -/* ============================================================================== */ -/* Styles par d�faut */ -/* ============================================================================== */ - -body { - background-color: #F4F4F4; - color: #101010; - font-size: 12px; - font-family: arial,tahoma,verdana,helvetica; - margin-top: 0; - margin-bottom: 0; - margin-right: 0; - margin-left: 0; -} - -a:link { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } -a:visited { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } -a:active { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } -a:hover { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } -input -{ - font: 12px helvetica, verdana, arial, sans-serif; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -input.flat -{ - font: 12px helvetica, verdana, arial, sans-serif; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -textarea { - font: 12px helvetica, verdana, arial, sans-serif; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -textarea.flat -{ - font: 12px helvetica, verdana, arial, sans-serif; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -select.flat -{ - font: 12px helvetica, verdana, arial, sans-serif; - border: 1px solid #ACBCBB; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} - -.button { - font: 12px helvetica, verdana, arial, sans-serif; - font-size: 100%; - border: 0px; - background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/button_bg.png' ?>); - background-position : bottom; - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -div.vmenuplusfiche -{ - top: auto; - left: auto; - position: static; - float: left; - display: block; - margin-right: 6px; - margin-left: 1px; -} - -div.vmenu -{ - top: auto; - left: auto; - position: relative; - float: top; - display: block; - margin-right: 2px; - padding: 0px; - padding-bottom: 0px; - width: 160px; -} - -div.fiche -{ - top: 28px; - left: auto; - position: absolute; - float: top; - display: block; - margin-right: 6px; - margin-top: 0px; -} - - -/* ============================================================================== */ -/* Menu superieur et 1ere ligne tableau */ -/* ============================================================================== */ - -div.tmenu -{ - position: relative; - float: top; - display: block; - white-space: nowrap; - border-top: 1px solid #D3E5EC; - border-left: 0px; - border-right: 0px solid #555555; - border-bottom: 1px solid #8B9999; - padding: 0px 0px 0px 0px; - margin: 0px 0px 2px 0px; - font-weight: bold; - font-size: 12px; - height: 19px; - background: #b3c5cc; - background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); - color: #000000; - text-decoration: none; -} - -table.tmenu -{ - padding: 0px 0px 10px 0px; - margin: 0px 0px 0px 10px; -} - -a.tmenu:link -{ - color: #234046; - padding: 0px 8px 0px 8px; - margin: 0px 1px 2px 1px; - font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; -} -a.tmenu:visited -{ - color: #234046; - padding: 0px 8px 0px 8px; - margin: 0px 1px 2px 1px; - border: 0px solid #b3c5cc; - font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; -} -a.tmenu#sel -{ - color: #234046; - padding: 0px 8px 0px 8px; - margin: 0px 0px 2px 0px; - font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: #dee7ec; - background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu_inverse.jpg' ?>); - border-right: 1px solid #555555; - border-top: 1px solid #D8D8D8; - border-left: 1px solid #D8D8D8; -} -a.tmenu:hover -{ - color: #234046; - padding: 0px 8px 0px 8px; - margin: 0px 1px 2px 1px; - text-decoration: none; - font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: #dee7ec; -} - -font.tmenudisabled -{ - color: #93a5aa; - padding: 0px 8px 0px 8px; - margin: 0px 0px 2px 0px; - font-weight:bold; - font-size:12px; -} - -/* Login */ - -a.login -{ - position: absolute; - right: 24px; - top: 3px; - - color: #234046; - padding: 0em 1em; - margin: 0px 0px 1px 0px; - font-weight:bold; - font-size:12px; -} -a.login:hover -{ - color:black; -} - -img.login -{ - position: absolute; - right: 8px; - top: 3px; - - text-decoration:none; - color:white; - font-weight:bold; -} - - -/* ============================================================================== */ -/* Barre de gauche */ -/* ============================================================================== */ - -a.vmenu:link { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } -a.vmenu:visited { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } -a.vmenu:active { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } -a.vmenu:hover { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } -font.vmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; color: #93a5aa; } - -a.vsmenu:link { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } -a.vsmenu:visited { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } -a.vsmenu:active { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } -a.vsmenu:hover { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } -font.vsmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #93a5aa; margin: 1em 1em 1em 1em; } - -a.help:link { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } -a.help:visited { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } -a.help:active { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } -a.help:hover { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } - -div.blockvmenupair -{ - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - font: helvetica, verdana, arial, sans-serif; - color: #000000; - text-align:left; - text-decoration: none; - padding: 3px; - margin: 1px 0px 0px 0px; - background: #A3BCC6; - background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); - background-position:top; - background-repeat:repeat-x; -} - -div.blockvmenuimpair -{ - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - font: helvetica, verdana, arial, sans-serif; - color: #000000; - text-align:left; - text-decoration: none; - padding: 3px; - margin: 1px 0px 0px 0px; - background: #A3BCC6; - background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); - background-position:top; - background-repeat:repeat-x; -} - -div.help -{ - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #f0f0f0; - font: helvetica, verdana, arial, sans-serif; - color: #000000; - text-align:left; - text-decoration: none; - padding: 3px; - margin: 1px 0px 0px 0px; -} - - -td.barre { - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #b3c5cc; - font: helvetica, verdana, arial, sans-serif; - color: #000000; - text-align:left; - text-decoration: none; -} - -td.barre_select { - background: #b3c5cc; - color: #000000; -} - -td.photo { - background: #F4F4F4; - color: #000000; - border: 1px solid #b3c5cc; -} - -form { - padding: 0em 0em 0em 0em; - margin: 0em 0em 0em 0em; -} - - -/* ============================================================================== */ -/* Barre recherche */ -/* ============================================================================== */ - -div.formsearch -{ - display: block; - clear: right; - background: #d0d4d7; - top: 0px; - left: 130px; - padding: 4px; - vertical-align: middle; - margin-bottom: 10px; -} - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ - -div.tabs { - top: 20px; - margin: 1px 0px 0px 0px; - padding: 0px 6px 0px 0px; - text-align: left; -} - -div.tabBar { - color: #234046; - background: #dee7ec; - padding-top: 12px; - padding-left: 12px; - padding-right: 12px; - padding-bottom: 12px; - margin: 0px 0px 10px 0px; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - -moz-border-radius-bottomleft:6px; - -moz-border-radius-bottomright:6px; - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; -} - -div.tabsAction { - margin: 20px 0em 1px 0em; - padding: 0em 0em; - text-align: right; -} - -div.onglet_inf -{ - position: relative; - float: top; - display: block; - white-space: nowrap; - padding: 0px 0px 0px 0px; - margin: -12px 0px 0px 10px; - font-weight:bold; - font-size: 12px; - height: 19px; - color: #000000; - text-decoration: none; -} - -a.onglet_inf { - background: white; - color: #436976; - padding: 0px 06px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-bottomleft:6px; - -moz-border-radius-bottomright:6px; - - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-bottom: 1px solid #555555; -} - -a.tabTitle { - background: #436976; - color: white; - font-weight: normal; - padding: 0px 6px; - margin: 0px 6px; - text-decoration: none; - white-space: nowrap; - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -a.tab:link { - background: white; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab:visited { - background: white; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab#active { - background: #dee7ec; - border-bottom: #dee7ec 1px solid; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab:hover { - background: #dee7ec; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-right: 1px solid #555555; - border-left: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -a.tabimage { - color: #436976; - text-decoration: none; - white-space: nowrap; -} - - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -/* Nouvelle syntaxe � utiliser */ - -a.butAction:link { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: white; - border: 1px solid #8CACBB; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butAction:visited { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: white; - border: 1px solid #8CACBB; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butAction:active { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: white; - border: 1px solid #8CACBB; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butAction:hover { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: #dee7ec; - border: 1px solid #8CACBB; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butActionRefuse { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: white; - border: 1px solid red; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butActionRefuse:hover { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: #dee7ec; } - - -a.butActionDelete { font: 12px helvetica, verdana, arial, sans-serif; - font-weight: bold; - background: white; - border: 1px solid red; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; } - -a.butActionDelete:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butActionDelete:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butActionDelete:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butActionDelete:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #FFe7ec; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } - - -/* Ancienne syntaxe. A supprimer quand remplace par butXxx */ - -a.tabAction:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.tabAction:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.tabAction:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.tabAction:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #dee7ec; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } - -a.butDelete:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butDelete:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butDelete:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.butDelete:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #FFe7ec; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } - - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -.notopnoleft { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-left: 0px; -padding-right: 4px; -padding-bottom: 4px; -margin: 0px 0px; -} -.notopnoleftnoright { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-left: 0px; -padding-right: 0px; -padding-bottom: 4px; -margin: 0px 0px; -} - -table.border { -border: 1px solid #9CACBB; -border-width: 1px; -border-collapse: collapse; -} - -table.border td { -padding: 1px 2px; -border: 1px solid #9CACBB; -border-width: 1px; -border-collapse: collapse; -} - -table.noborder { -border-collapse: collapse; -border: 0px; -} -table.noborder td { -border: 0px; -padding: 1px 2px; -} - - -table.nobordernopadding { -border-collapse: collapse; -border: 0px; -} -table.nobordernopadding td { -border: 0px; -padding: 0px 0px; -} - -table.liste { -border-collapse: collapse; -width: 100%; -} - -tr.liste_titre { -background: #7699A9; -background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); -color: #334444; -font: helvetica, verdana, arial, sans-serif; -font-weight: bold; -border-bottom: 1px solid #FDFFFF; -white-space: nowrap; -} -td.liste_titre { -background: #7699A9; -background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); -color: #334444; -font: helvetica, verdana, arial, sans-serif; -font-weight: bold; -border-bottom: 1px solid #FDFFFF; -white-space: nowrap; -} -td.liste_titre_sel -{ -background: #7699A9; -background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); -color: #F5FFFF; -font: helvetica, verdana, arial, sans-serif; -font-weight: bold; -border-bottom: 1px solid #FDFFFF; -white-space: nowrap; -} -input.liste_titre { -background: #7699A9; -background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); -border: 0px; -} - -tr.liste_total td { -border-top: 1px solid #888888; -background: #F4F4F4; -font-weight: bold; -white-space: nowrap; -} - -th { -background: #7699A9; -color: #334444; -font: helvetica, verdana, arial, sans-serif; -font-weight: bold; -border-left: 1px solid #FFFFFF; -border-right: 1px solid #FFFFFF; -border-top: 1px solid #FFFFFF; -border-bottom: 1px solid #FFFFFF; -white-space: nowrap; -} - -td.border { -border-top: 1px solid #000000; -border-right: 1px solid #000000; -border-bottom: 1px solid #000000; -border-left: 1px solid #000000; -} - -.pair { -background: #e6ebed; -font: helvetica, verdana, arial, sans-serif; -border: 0px; -} -/* -.pair:hover { -background: #c0c4c7; -border: 0px; -} -*/ - -.impair { -background: #d0d4d7; -font: helvetica, verdana, arial, sans-serif; -border: 0px; -} -/* -.impair:hover { -background: #c0c4c7; -border: 0px; -} -*/ - -/* - * Boxes - */ -tr.box_titre { -background: #7699A9; -background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); -color: #334444; -font: 12px arial, helvetica, verdana, sans-serif; -font-weight: bold; -border-bottom: 1px solid #FDFFFF; -white-space: nowrap; -} - -tr.box_impair { -background: #e6ebed; -font: 12px arial, helvetica, verdana, sans-serif; -} - -tr.box_pair { -background: #d0d4d7; -font: 12px arial, helvetica, verdana, sans-serif; -} - -tr.fiche { -font: helvetica, verdana, arial, sans-serif; -} - - - - -/* - * Ok, Warning, Error - */ -.ok { color: #114466; } -.warning { color: #887711; } -.error { color: #550000; font-weight: bold; } - -div.ok { - color: #114466; -} - -div.warning { - color: #997711; -} - -div.error { - color: #550000; font-weight: bold; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #8C9CAB; -} - - -/* - * Liens Payes/Non payes - */ - -a.normal:link { font-weight: normal } -a.normal:visited { font-weight: normal } -a.normal:active { font-weight: normal } -a.normal:hover { font-weight: normal } - -a.impayee:link { font-weight: bold; color: #550000; } -a.impayee:visited { font-weight: bold; color: #550000; } -a.impayee:active { font-weight: bold; color: #550000; } -a.impayee:hover { font-weight: bold; color: #550000; } - - - - -/* - * Lignes titre espace - */ -div.titre { - font: helvetica, verdana, arial, sans-serif; - font-weight: bold; - color: #336666; - text-decoration: none } - - -/* ============================================================================== */ - * Formulaire confirmation -/* ============================================================================== */ - -td.validtitle { - font-weight: bold; - background: #EECC55; - } -td.valid { - background: #EECC55; - } - - -td.small { - font-size: 10px; - } - -tr.nonpayed { - font-weight: bold; - } - - -div.version { -background: #F4F4F4; -text-align: right; -font-size: 9px; -margin: 1px 0em 0em 0em; -padding: 2px; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#dhtmltooltip -{ -position: absolute; -width: 200px; -border: 1px solid #444444; -padding: 2px; -background-color: lightyellow; -visibility: hidden; -z-index: 100; -} - - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ -.bodyline { - -moz-border-radius:8px; - border: 1px #E4ECEC outset; - padding:0px; - margin-bottom:5px; -} -table.dp { - width: 180px; - background-color: #FFFFFF; - border-top: solid 2px #DDDDDD; - border-left: solid 2px #DDDDDD; - border-right: solid 1px #222222; - border-bottom: solid 1px #222222; -} -.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} +<?php +/* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +header('Content-type: text/css'); + +require("../../conf/conf.php"); + +?> + +/* ============================================================================== */ +/* Styles par d�faut */ +/* ============================================================================== */ + +body { + background-color: #F4F4F4; + color: #101010; + font-size: 12px; + font-family: arial,tahoma,verdana,helvetica; + margin-top: 0; + margin-bottom: 0; + margin-right: 0; + margin-left: 0; +} + +a:link { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } +a:visited { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } +a:active { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } +a:hover { font: verdana, arial, helvetica, sans-serif; font-weight: bold; color: #000000; text-decoration: none; } +input +{ + font: 12px helvetica, verdana, arial, sans-serif; + background: #FDFDFD; + border: 1px solid #ACBCBB; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} +input.flat +{ + font: 12px helvetica, verdana, arial, sans-serif; + background: #FDFDFD; + border: 1px solid #ACBCBB; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} +textarea { + font: 12px helvetica, verdana, arial, sans-serif; + background: #FDFDFD; + border: 1px solid #ACBCBB; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} +textarea.flat +{ + font: 12px helvetica, verdana, arial, sans-serif; + background: #FDFDFD; + border: 1px solid #ACBCBB; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} +select.flat +{ + font: 12px helvetica, verdana, arial, sans-serif; + border: 1px solid #ACBCBB; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.button { + font: 12px helvetica, verdana, arial, sans-serif; + font-size: 100%; + border: 0px; + background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/button_bg.png' ?>); + background-position : bottom; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + + +/* ============================================================================== */ +/* Styles de positionnement des zones */ +/* ============================================================================== */ + +div.vmenuplusfiche +{ + top: auto; + left: auto; + position: static; + float: left; + display: block; + margin-right: 6px; + margin-left: 1px; +} + +div.vmenu +{ + top: auto; + left: auto; + position: relative; + float: top; + display: block; + margin-right: 2px; + padding: 0px; + padding-bottom: 0px; + width: 160px; +} + +div.fiche +{ + top: 28px; + left: auto; + position: absolute; + float: top; + display: block; + margin-right: 6px; + margin-top: 0px; +} + + +/* ============================================================================== */ +/* Menu superieur et 1ere ligne tableau */ +/* ============================================================================== */ + +div.tmenu +{ + position: relative; + float: top; + display: block; + white-space: nowrap; + border-top: 1px solid #D3E5EC; + border-left: 0px; + border-right: 0px solid #555555; + border-bottom: 1px solid #8B9999; + padding: 0px 0px 0px 0px; + margin: 0px 0px 2px 0px; + font-weight: bold; + font-size: 12px; + height: 19px; + background: #b3c5cc; + background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); + color: #000000; + text-decoration: none; +} + +table.tmenu +{ + padding: 0px 0px 10px 0px; + margin: 0px 0px 0px 10px; +} + +a.tmenu:link +{ + color: #234046; + padding: 0px 8px 0px 8px; + margin: 0px 1px 2px 1px; + font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; +} +a.tmenu:visited +{ + color: #234046; + padding: 0px 8px 0px 8px; + margin: 0px 1px 2px 1px; + border: 0px solid #b3c5cc; + font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; +} +a.tmenu#sel +{ + color: #234046; + padding: 0px 8px 0px 8px; + margin: 0px 0px 2px 0px; + font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: #dee7ec; + background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu_inverse.jpg' ?>); + border-right: 1px solid #555555; + border-top: 1px solid #D8D8D8; + border-left: 1px solid #D8D8D8; +} +a.tmenu:hover +{ + color: #234046; + padding: 0px 8px 0px 8px; + margin: 0px 1px 2px 1px; + text-decoration: none; + font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: #dee7ec; +} + +font.tmenudisabled +{ + color: #93a5aa; + padding: 0px 8px 0px 8px; + margin: 0px 0px 2px 0px; + font-weight:bold; + font-size:12px; +} + +/* Login */ + +a.login +{ + position: absolute; + right: 24px; + top: 3px; + + color: #234046; + padding: 0em 1em; + margin: 0px 0px 1px 0px; + font-weight:bold; + font-size:12px; +} +a.login:hover +{ + color:black; +} + +img.login +{ + position: absolute; + right: 8px; + top: 3px; + + text-decoration:none; + color:white; + font-weight:bold; +} + + +/* ============================================================================== */ +/* Barre de gauche */ +/* ============================================================================== */ + +a.vmenu:link { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } +a.vmenu:visited { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } +a.vmenu:active { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } +a.vmenu:hover { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; } +font.vmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: bold; color: #93a5aa; } + +a.vsmenu:link { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } +a.vsmenu:visited { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } +a.vsmenu:active { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } +a.vsmenu:hover { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #202020; margin: 1em 1em 1em 1em; } +font.vsmenudisabled { font-size:12px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; color: #93a5aa; margin: 1em 1em 1em 1em; } + +a.help:link { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } +a.help:visited { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } +a.help:active { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } +a.help:hover { font-size:11px; font: helvetica, verdana, arial, sans-serif; text-align:left; font-weight: normal; } + +div.blockvmenupair +{ + border-right: 1px solid #555555; + border-bottom: 1px solid #555555; + font: helvetica, verdana, arial, sans-serif; + color: #000000; + text-align:left; + text-decoration: none; + padding: 3px; + margin: 1px 0px 0px 0px; + background: #A3BCC6; + background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); + background-position:top; + background-repeat:repeat-x; +} + +div.blockvmenuimpair +{ + border-right: 1px solid #555555; + border-bottom: 1px solid #555555; + font: helvetica, verdana, arial, sans-serif; + color: #000000; + text-align:left; + text-decoration: none; + padding: 3px; + margin: 1px 0px 0px 0px; + background: #A3BCC6; + background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/tmenu.jpg' ?>); + background-position:top; + background-repeat:repeat-x; +} + +div.help +{ + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + background: #f0f0f0; + font: helvetica, verdana, arial, sans-serif; + color: #000000; + text-align:left; + text-decoration: none; + padding: 3px; + margin: 1px 0px 0px 0px; +} + + +td.barre { + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + background: #b3c5cc; + font: helvetica, verdana, arial, sans-serif; + color: #000000; + text-align:left; + text-decoration: none; +} + +td.barre_select { + background: #b3c5cc; + color: #000000; +} + +td.photo { + background: #F4F4F4; + color: #000000; + border: 1px solid #b3c5cc; +} + +form { + padding: 0em 0em 0em 0em; + margin: 0em 0em 0em 0em; +} + + +/* ============================================================================== */ +/* Barre recherche */ +/* ============================================================================== */ + +div.formsearch +{ + display: block; + clear: right; + background: #d0d4d7; + top: 0px; + left: 130px; + padding: 4px; + vertical-align: middle; + margin-bottom: 10px; +} + + +/* ============================================================================== */ +/* Onglets */ +/* ============================================================================== */ + +div.tabs { + top: 20px; + margin: 1px 0px 0px 0px; + padding: 0px 6px 0px 0px; + text-align: left; +} + +div.tabBar { + color: #234046; + background: #dee7ec; + padding-top: 12px; + padding-left: 12px; + padding-right: 12px; + padding-bottom: 12px; + margin: 0px 0px 10px 0px; + -moz-border-radius-topleft:6px; + -moz-border-radius-topright:6px; + -moz-border-radius-bottomleft:6px; + -moz-border-radius-bottomright:6px; + border-right: 1px solid #555555; + border-bottom: 1px solid #555555; + border-left: 1px solid #D0D0D0; + border-top: 1px solid #D8D8D8; +} + +div.tabsAction { + margin: 20px 0em 1px 0em; + padding: 0em 0em; + text-align: right; +} + +div.onglet_inf +{ + position: relative; + float: top; + display: block; + white-space: nowrap; + padding: 0px 0px 0px 0px; + margin: -12px 0px 0px 10px; + font-weight:bold; + font-size: 12px; + height: 19px; + color: #000000; + text-decoration: none; +} + +a.onglet_inf { + background: white; + color: #436976; + padding: 0px 06px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + -moz-border-radius-bottomleft:6px; + -moz-border-radius-bottomright:6px; + + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-bottom: 1px solid #555555; +} + +a.tabTitle { + background: #436976; + color: white; + font-weight: normal; + padding: 0px 6px; + margin: 0px 6px; + text-decoration: none; + white-space: nowrap; + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} + +a.tab:link { + background: white; + color: #436976; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + -moz-border-radius-topleft:6px; + -moz-border-radius-topright:6px; + + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} +a.tab:visited { + background: white; + color: #436976; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + -moz-border-radius-topleft:6px; + -moz-border-radius-topright:6px; + + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} +a.tab#active { + background: #dee7ec; + border-bottom: #dee7ec 1px solid; + color: #436976; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + -moz-border-radius-topleft:6px; + -moz-border-radius-topright:6px; + + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} +a.tab:hover { + background: #dee7ec; + color: #436976; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + -moz-border-radius-topleft:6px; + -moz-border-radius-topright:6px; + + border-right: 1px solid #555555; + border-left: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} + +a.tabimage { + color: #436976; + text-decoration: none; + white-space: nowrap; +} + + +/* ============================================================================== */ +/* Boutons actions */ +/* ============================================================================== */ + +/* Nouvelle syntaxe � utiliser */ + +a.butAction:link { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: white; + border: 1px solid #8CACBB; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butAction:visited { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: white; + border: 1px solid #8CACBB; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butAction:active { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: white; + border: 1px solid #8CACBB; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butAction:hover { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: #dee7ec; + border: 1px solid #8CACBB; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butActionRefuse { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: white; + border: 1px solid red; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butActionRefuse:hover { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: #dee7ec; } + + +a.butActionDelete { font: 12px helvetica, verdana, arial, sans-serif; + font-weight: bold; + background: white; + border: 1px solid red; + color: #436976; + padding: 0em 0.7em; + margin: 0em 0.5em; + text-decoration: none; + white-space: nowrap; } + +a.butActionDelete:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butActionDelete:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butActionDelete:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butActionDelete:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #FFe7ec; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } + + +/* Ancienne syntaxe. A supprimer quand remplace par butXxx */ + +a.tabAction:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.tabAction:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.tabAction:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.tabAction:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #dee7ec; border: 1px solid #8CACBB; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } + +a.butDelete:link { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butDelete:active { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butDelete:visited { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: white; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } +a.butDelete:hover { font: 12px helvetica, verdana, arial, sans-serif; font-weight: bold; background: #FFe7ec; border: 1px solid #997777; color: #436976; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } + + +/* ============================================================================== */ +/* Tables */ +/* ============================================================================== */ + +.notopnoleft { +border-collapse: collapse; +border: 0px; +padding-top: 0px; +padding-left: 0px; +padding-right: 4px; +padding-bottom: 4px; +margin: 0px 0px; +} +.notopnoleftnoright { +border-collapse: collapse; +border: 0px; +padding-top: 0px; +padding-left: 0px; +padding-right: 0px; +padding-bottom: 4px; +margin: 0px 0px; +} + +table.border { +border: 1px solid #9CACBB; +border-width: 1px; +border-collapse: collapse; +} + +table.border td { +padding: 1px 2px; +border: 1px solid #9CACBB; +border-width: 1px; +border-collapse: collapse; +} + +table.noborder { +border-collapse: collapse; +border: 0px; +} +table.noborder td { +border: 0px; +padding: 1px 2px; +} + + +table.nobordernopadding { +border-collapse: collapse; +border: 0px; +} +table.nobordernopadding td { +border: 0px; +padding: 0px 0px; +} + +table.liste { +border-collapse: collapse; +width: 100%; +} + +tr.liste_titre { +background: #7699A9; +background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); +color: #334444; +font: helvetica, verdana, arial, sans-serif; +font-weight: bold; +border-bottom: 1px solid #FDFFFF; +white-space: nowrap; +} +td.liste_titre { +background: #7699A9; +background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); +color: #334444; +font: helvetica, verdana, arial, sans-serif; +font-weight: bold; +border-bottom: 1px solid #FDFFFF; +white-space: nowrap; +} +td.liste_titre_sel +{ +background: #7699A9; +background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); +color: #F5FFFF; +font: helvetica, verdana, arial, sans-serif; +font-weight: bold; +border-bottom: 1px solid #FDFFFF; +white-space: nowrap; +} +input.liste_titre { +background: #7699A9; +background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); +border: 0px; +} + +tr.liste_total td { +border-top: 1px solid #888888; +background: #F4F4F4; +font-weight: bold; +white-space: nowrap; +} + +th { +background: #7699A9; +color: #334444; +font: helvetica, verdana, arial, sans-serif; +font-weight: bold; +border-left: 1px solid #FFFFFF; +border-right: 1px solid #FFFFFF; +border-top: 1px solid #FFFFFF; +border-bottom: 1px solid #FFFFFF; +white-space: nowrap; +} + +td.border { +border-top: 1px solid #000000; +border-right: 1px solid #000000; +border-bottom: 1px solid #000000; +border-left: 1px solid #000000; +} + +.pair { +background: #e6ebed; +font: helvetica, verdana, arial, sans-serif; +border: 0px; +} +/* +.pair:hover { +background: #c0c4c7; +border: 0px; +} +*/ + +.impair { +background: #d0d4d7; +font: helvetica, verdana, arial, sans-serif; +border: 0px; +} +/* +.impair:hover { +background: #c0c4c7; +border: 0px; +} +*/ + +/* + * Boxes + */ +tr.box_titre { +background: #7699A9; +background-image : url(<?php echo $dolibarr_main_url_root.'/theme/eldy/img/liste_titre.png' ?>); +color: #334444; +font: 12px arial, helvetica, verdana, sans-serif; +font-weight: bold; +border-bottom: 1px solid #FDFFFF; +white-space: nowrap; +} + +tr.box_impair { +background: #e6ebed; +font: 12px arial, helvetica, verdana, sans-serif; +} + +tr.box_pair { +background: #d0d4d7; +font: 12px arial, helvetica, verdana, sans-serif; +} + +tr.fiche { +font: helvetica, verdana, arial, sans-serif; +} + + + + +/* + * Ok, Warning, Error + */ +.ok { color: #114466; } +.warning { color: #887711; } +.error { color: #550000; font-weight: bold; } + +div.ok { + color: #114466; +} + +div.warning { + color: #997711; +} + +div.error { + color: #550000; font-weight: bold; + padding: 0.2em 0.2em 0.2em 0.2em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #8C9CAB; +} + + +/* + * Liens Payes/Non payes + */ + +a.normal:link { font-weight: normal } +a.normal:visited { font-weight: normal } +a.normal:active { font-weight: normal } +a.normal:hover { font-weight: normal } + +a.impayee:link { font-weight: bold; color: #550000; } +a.impayee:visited { font-weight: bold; color: #550000; } +a.impayee:active { font-weight: bold; color: #550000; } +a.impayee:hover { font-weight: bold; color: #550000; } + + + + +/* + * Lignes titre espace + */ +div.titre { + font: helvetica, verdana, arial, sans-serif; + font-weight: bold; + color: #336666; + text-decoration: none } + + +/* ============================================================================== */ + * Formulaire confirmation +/* ============================================================================== */ + +td.validtitle { + font-weight: bold; + background: #EECC55; + } +td.valid { + background: #EECC55; + } + + +td.small { + font-size: 10px; + } + +tr.nonpayed { + font-weight: bold; + } + + +div.version { +background: #F4F4F4; +text-align: right; +font-size: 9px; +margin: 1px 0em 0em 0em; +padding: 2px; +} + + +/* ============================================================================== */ +/* Tooltips */ +/* ============================================================================== */ + +#dhtmltooltip +{ +position: absolute; +width: 200px; +border: 1px solid #444444; +padding: 2px; +background-color: lightyellow; +visibility: hidden; +z-index: 100; +} + + +/* ============================================================================== */ +/* Calendar */ +/* ============================================================================== */ +.bodyline { + -moz-border-radius:8px; + border: 1px #E4ECEC outset; + padding:0px; + margin-bottom:5px; +} +table.dp { + width: 180px; + background-color: #FFFFFF; + border-top: solid 2px #DDDDDD; + border-left: solid 2px #DDDDDD; + border-right: solid 1px #222222; + border-bottom: solid 1px #222222; +} +.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} /* Barre titre */ -.dpHead,.tpHead,.tpHour td:Hover .tpHead{ - font-weight:bold; - background-color:#b3c5cc; - color:white; - font-size:11px; - cursor:auto; -} -/* Barre navigation */ -.dpButtons,.tpButtons { - text-align:center; - background-color:#617389; - color:#FFFFFF; - font-weight:bold; - border: 1px outset black; - cursor:pointer; -} -.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} -.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} -.dpExplanation{ font-weight:normal; font-size:11px;} -.dpWeek td{text-align:center} - -.dpToday,.dpReg,.dpSelected{ - cursor:pointer; -} -.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} -.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} - +.dpHead,.tpHead,.tpHour td:Hover .tpHead{ + font-weight:bold; + background-color:#b3c5cc; + color:white; + font-size:11px; + cursor:auto; +} +/* Barre navigation */ +.dpButtons,.tpButtons { + text-align:center; + background-color:#617389; + color:#FFFFFF; + font-weight:bold; + border: 1px outset black; + cursor:pointer; +} +.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} +.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} +.dpExplanation{ font-weight:normal; font-size:11px;} +.dpWeek td{text-align:center} + +.dpToday,.dpReg,.dpSelected{ + cursor:pointer; +} +.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} +.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} + /* Jour courant */ -.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } - -.tpHour{border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} -.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} -.tpHour td:Hover {background-color:black;color:white;} - -.tpMinute {margin-top:5px;} -.tpMinute td:Hover {background-color:black; color:white; } -.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} - -/* Bouton X fermer */ -.dpInvisibleButtons -{ -border-style:none; -background-color:transparent; -padding:0px; -font-size:9px; -border-width:0px; -color:#0B63A2; -vertical-align:middle; -cursor: pointer; -} - - - -/* ============================================================================== */ -/* Autre (telephonie) */ -/* ============================================================================== */ - -#corpForm fieldset { /*** Mise en forme des cadres ***/ - margin: 0; - font-style: normal; - padding: 0 1em 1em; - font-size: 12px; -} - -#corpForm .focus { /*** Mise en avant des champs en cours d'utilisation ***/ - background: beige; - color: black; -} -#corpForm .normal { /*** Retour � l'�tat normal apr�s l'utilisation ***/ - background: white; - color: black; -} +.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } + +.tpHour{border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} +.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} +.tpHour td:Hover {background-color:black;color:white;} + +.tpMinute {margin-top:5px;} +.tpMinute td:Hover {background-color:black; color:white; } +.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} + +/* Bouton X fermer */ +.dpInvisibleButtons +{ +border-style:none; +background-color:transparent; +padding:0px; +font-size:9px; +border-width:0px; +color:#0B63A2; +vertical-align:middle; +cursor: pointer; +} + + + +/* ============================================================================== */ +/* Autre (telephonie) */ +/* ============================================================================== */ + +#corpForm fieldset { /*** Mise en forme des cadres ***/ + margin: 0; + font-style: normal; + padding: 0 1em 1em; + font-size: 12px; +} + +#corpForm .focus { /*** Mise en avant des champs en cours d'utilisation ***/ + background: beige; + color: black; +} +#corpForm .normal { /*** Retour � l'�tat normal apr�s l'utilisation ***/ + background: white; + color: black; +} + +/* ============================================================================== */ +/* Afficher/cacher */ +/* ============================================================================== */ + +div.visible { + display: block; +} + +div.hidden { + display: none; +} + +tr.visible { + display: block; +} + +td.hidden { + display: none; +} \ No newline at end of file -- GitLab