/**
*
* @param pId.
* @param pURL.
* @param pX.
* @param pY.
* @param pWidth.
* @param pHeight.
*/
function openPopup(pId, pURL, pX, pY, pWidth, pHeight)
{
/* alert("openPopup"); */
var theParams = "width=" + pWidth + ",height=" + pHeight + ",left=" + pX + ",top=" + pY + ",toolbar=no,location=no,scrollbars=yes,resizable=yes";
var aWindow = window.open(pURL, pId, theParams);
if (aWindow)
{
aWindow.focus();
}
}
/**
*
* @param pValue
*/
function showAlert(e)
{
return submitFormIfEnter(e);
}
function waiting() {
var iframe = document.getElementById("waitingIframe");
if (iframe != null) {
iframe.style.visibility = 'visible';
}
}
function submitFormIfEnter(e)
{
var targ;
if(!e)
{
var e = window.event;
}
if(e.target)
{
targ = e.target;
}
else if(e.srcElement)
{
targ = e.srcElement;
}
if(targ.nodeType == 3) // defeat Safari bug
{
targ = targ.parentNode;
}
if(targ.type == "text" ||targ.type == "radio"|| targ.type == "checkbox" || targ.type== "select-one"|| targ.type=="select-multiple")
{
if(e.type == 'keypress' && e.keyCode == 13)
{
targ.form.submit();
return false;
}
}
}
function setReqCode(form, pReqcode) {
form.reqCode.value=pReqcode;
}
function isNullOrEmpty(pValue)
{
return(pValue == null || pValue == '');
}
/**
*
* @param pValue
* @param pValues
*/
function checkValueInArray(pValue, pValues)
{
for(var i = 0; i < pValues.length; i++)
{
if(pValue == pValues[i])
{
return true;
}
}
return false;
}
/**
*
* @param pValue
*/
function deleteBlanks(pValue)
{
var aRegexp = "/(\s+)/g";
var aValue = pValue.replace(aRegexp, '');
return aValue;
}
/**
*
* @param pUrl
* @param pEvent
* @param pX
* @param pY
* @param pWidth
* @param pHeight
*/
function helpPopup(pUrl, pEvent, pX, pY, pWidth, pHeight)
{
var aWindow;
aWindow = window.open(pUrl, '_help', 'directories=0, location=0, menubar=0, status=0, toolbar=1, width=' + pWidth + ', height=' + pHeight + ', top=' + pY + ', left=' + pX);
aWindow.focus();
return aWindow;
}
/**
*
* @param pForm
* @param pField
* @param pValue
* @param pSet
* @param pKeys
* @param pValues
* @param pEvent
* @param pWidth
* @param pHeight
*/
function selectPopup(pForm, pField, pValue, pSet, pKeys, pValues, pEvent, pWidth, pHeight)
{
if(pForm == null || pForm.name == '' || pField == null || pField.name == '' || pSet == null || pKeys == null || pValues == null)
{
alert("ERREUR: La valeur est incorrecte, l'aide ? la saisie n'est pas disponible");
return null;
}
var aX = pEvent.screenX;
var aY = pEvent.screenY;
var aFormName = pForm.name;
var aFieldName = pField.name;
var aWindow = window.open('', '_popup', 'directories=0, location=0, menubar=0, status=0, toolbar=0, width=' + pWidth + ', height=' + pHeight + ', top=' + aY + ', left=' + aX);
aWindow.focus();
var aForm = 'window.opener.document.forms[\'' + aFormName + '\']';
var aField = 'window.opener.document.forms[\'' + aFormName + '\'].elements[\'' + aFieldName + '\']';
var aSelect = 'window.document.getElementById(\'_select\')';
var anAction = aField + '.value=' + aSelect + '.value; window.self.close();';
var aHTML = '\n
' + pSet + '\n\n\n';
aHTML += '\n';
aHTML += '
\n';
aHTML += '\n';
// aHTML += '\n';
// aHTML += '\n';
aHTML += '\n\n';
aWindow.document.write(aHTML);
aWindow.document.close();
return aWindow;
}
/**
*
* @param pText
*/
function isText(pText)
{
var allowedChars = "\ ;!;\";#;\$;%;&;\\';(;);*;+;,;\\-;\.;/;:;<;=;>;\\?;@;\\[;\\\\;\\];\\^;_;`;\\{;|;\\};~;\u20AC;£;§;¨;«;°;±;´;»;à;â;ä;æ;ç;è;é;ê;ë;î;ï;ô;ö;÷;ù;û;ü;\u2026;\u02C6;\u02DC;\u0153";
var aRegexp = new RegExp("^[a-z;A-Z;0-9;"+ allowedChars +"]*$");
if(!aRegexp.test(pText))
{
return false;
}
return true;
}
/**
*
* @param pField
*/
function checkText(pField)
{
if(pField == null || pField.value == "")
{
return true;
}
if(!isText(pField.value))
{
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type TEXTE");
pField.focus();
pField.select();
return false;
}
return true;
}
/**
*
* @param pValue
* @param pPattern (-)2.3
*/
function formatNumber(pValue, pPattern)
{
pValue = deleteBlanks(pValue);
if(pPattern.length == 0)
{
return pValue;
}
var aRegexp = "(";
if(pPattern.charAt(0) == '-')
{
aRegexp += "[-]?";
pPattern = pPattern.substring(1);
}
var theSplits = pPattern.split('.', 2);
aRegexp += "\\d{0," + theSplits[0] + "})";
if(isNullOrEmpty(theSplits[1]) || theSplits[1] == 0)
{
theSplits[1] = 0;
aSeparator = '';
}
else
{
aRegexp += "([,.](\\d{0," + theSplits[1] + "}))?";
aSeparator = '.';
}
theValues = pValue.match(aRegexp);
if(theValues[0] == pValue)
{
if(isNullOrEmpty(theValues[3]))
{
theValues[3] = '';
}
aDecimalLength = theValues[3].length;
var aPadding = '';
for(i = aDecimalLength; i < theSplits[1]; i++)
{
aPadding += '0';
}
pValue = theValues[1] + aSeparator + theValues[3] + aPadding;
return pValue;
}
return null;
}
/**
*
* @param pPattern
*/
function formatNumberPattern(pPattern)
{
var aFormat = "";
var aSign = pPattern.charAt(0);
if(aSign == '-' || aSign == '+')
{
aFormat += aSign;
pPattern = pPattern.substring(1);
}
var theSplits = pPattern.split('.', 2);
for(i = 0; i < theSplits[0]; i++)
{
aFormat += 'X';
}
if(!(isNullOrEmpty(theSplits[1]) || theSplits[1] == 0))
{
aFormat += '.';
}
for(i = 0; i < theSplits[1]; i++)
{
aFormat += 'X';
}
return aFormat;
}
/**
*
* @param pField
* @param pPattern
*/
function checkNumber(pField, pPattern, pStrict)
{
if(pField == null || pField.value == "")
{
return true;
}
var aValue = formatNumber(pField.value, pPattern);
if(aValue == null) {
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type NUMERIQUE [" + formatNumberPattern(pPattern) + "]");
pField.focus();
pField.select();
return false;
} else {
if (pStrict) {
var len = 0;
if(pPattern.length > 0) {
if(pPattern.charAt(0) == '-') {
pPattern = pPattern.substring(1);
}
var theSplits = pPattern.split('.', 2);
len += eval(theSplits[0]);
if(!isNullOrEmpty(theSplits[1])){
len += eval(theSplits[1])+1;
}
}
field = pField.value;
if (field.charAt(0) == '-') {
field = field.substring(1);
}
if (field.length == len) {
pField.value = aValue;
return true;
} else {
alert("ERREUR: La valeur [" + pField.value + "] ne contient pas assez de chiffres [" + formatNumberPattern(pPattern) + "]");
pField.focus();
pField.select();
return false;
}
} else {
pField.value = aValue;
return true;
}
}
}
/**
*
* @param pValue
* @param pPadding
*/
function checkDateFormat(pValue, pPadding)
{
var aDD;
var aMM;
var aYYYY;
var isMatch = false;
var anArray;
// L'ordre de lecture des expressions est important
var aRegexp1 = /(\d{2})(\d{2})(\d{4}|\d{2})/;
var aRegexp2 = /(\d{2}|\d)\/(\d{2}|\d)\/(\d{4}|\d{2})/;
// anArray={aDDaMMaYYYY ou aDDaMMAA}
var anArray = pValue.match(aRegexp1);
if((anArray != null) &&(anArray[0] == pValue))
{
isMatch = true;
aDD = anArray[1];
aMM = anArray[2];
aYYYY =(anArray[3].length == 2) ? pPadding + anArray[3] : aYYYY = anArray[3];
}
// anArray={aDD/aMM/aYYYY ou aDD/aMM/AA}
var anArray = pValue.match(aRegexp2);
if((anArray != null) &&(anArray[0] == pValue))
{
isMatch = true;
aDD =(anArray[1].length == 1) ? '0' + anArray[1] : anArray[1];
aMM =(anArray[2].length == 1) ? '0' + anArray[2] : anArray[2];
aYYYY =(anArray[3].length == 2) ? pPadding + anArray[3] : aYYYY = anArray[3];
}
if((aDD == '32') &&(aMM = '13') && isMatch)
{
return aDD + '/' + aMM + '/' + aYYYY;
}
var aDate = new Date(aYYYY,(aMM - 1), aDD);
if((!isMatch) ||(aDate.getDate() != aDD) ||((aDate.getMonth() + 1) != aMM))
{
return null;
}
return aDD + '/' + aMM + '/' + aYYYY;
}
/**
*
* @param pField
* @param pPadding
*/
function checkDate(pField, pPadding)
{
if(pField == null || pField.value == "")
{
return;
}
var aValue = checkDateFormat(pField.value, pPadding);
if(aValue == null)
{
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type DATE [JJ/MM/AAAA]");
pField.focus();
pField.select();
}
else
{
pField.value = aValue;
}
}
/**
*
* @param pValue
*/
function formatHour(pValue)
{
var aHH;
var aMM;
var aRegexp = /([0-2]\d|\d):?([0-5]\d|\d)?/;
// HHMM
var anArray = pValue.match(aRegexp);
if((anArray != null) &&(anArray[0] == pValue))
{
aHH =(anArray[1].length == 1) ? '0' + anArray[1] : aHH = anArray[1];
if(isNullOrEmpty(anArray[2]))
{
aMM = '00';
}
else
{
aMM =(anArray[2].length == 1) ? '0' + anArray[2] : aMM = anArray[2];
}
if((0 <= aHH) &&(aHH <= 23) &&(0 <= aMM) &&(aMM <= 59))
{
return aHH + ":" + aMM;
}
else
{
return null;
}
}
return null;
}
/**
*
* @param pField
*/
function checkHour(pField)
{
if(pField == null || pField.value == "")
{
return;
}
var aValue = formatHour(pField.value);
if(aValue == null)
{
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type HEURE [HH:MM]");
pField.focus();
pField.select();
}
else
{
pField.value = aValue;
}
}
/**
*
* @param pValue
*/
function isMail(pValue)
{
var anArrobas = pValue.indexOf('@', 0);
var aPoint = pValue.indexOf(".", anArrobas);
if((anArrobas == - 1) ||(aPoint == - 1) ||(anArrobas > aPoint))
{
return false;
}
return true;
}
/**
*
* @param pField
*/
function checkMail(pField)
{
if(pField == null || pField.value == "")
{
return;
}
if(!isMail(pField.value))
{
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type MAIL [XXXX@XXXX.XX]");
pField.focus();
pField.select();
}
}
/**
*
* @param pValue
*/
function formatTelephone(pValue)
{
var aValue = '';
var aRegexp = /(\d{2})[ .-]?(\d{2})[ .-]?(\d{2})[ .-]?(\d{2})[ .-]?(\d{2})/;
var anArray = pValue.match(aRegexp);
if((anArray != null) &&(pValue == anArray[0]))
{
for(var i = 1; i < 5; i++)
{
aValue += anArray[i] + '.';
}
aValue += anArray[5];
return aValue;
}
return null;
}
/**
*
* @param pField
*/
function checkTelephone(pField)
{
if(pField == null || pField.value == "")
{
return;
}
var aValue = formatTelephone(pField.value);
if(aValue == null)
{
alert("ERREUR: La valeur [" + pField.value + "] n'est pas de type TELEPHONE/FAX [XX.XX.XX.XX.XX]");
pField.focus();
pField.select();
}
else
{
pField.value = aValue;
}
}
function genereOption(pForm, pField, pSet)
{
var theKeys = eval('keys' + pSet + '();');
var theValues = eval("values" + pSet + "();");
var indice = 0;
var aFormName = window.document.getElementById(pForm).form.name;
for(var j = 0; j < window.document.forms[aFormName].length; j++)
{
if(window.document.forms[aFormName].elements[j].name == window.document.getElementById(pForm).name)
{
indice = j - 1;
if(window.document.forms[aFormName].elements[indice].selectedIndex == - 1)
{
break;
}
}
}
indice = j - 1;
for(var i = 0; i < theKeys.length; i++)
{
var aKey = theKeys[i];
var aValue = theValues[i];
if(typeof(aKey)=='undefined')
aKey = '';
if(typeof(aValue)=='undefined')
aValue= '';
td = new Option(aKey, aValue, false, false);
window.document.forms[aFormName].elements[indice].options[i] = td;
}
window.document.forms[aFormName].elements[indice].options[0].selected = true;
return true;
}
function genereOptionST(pForm, pField, pSet)
{
var theKeys = eval('keys' + pSet + '();');
var theValues = eval("values" + pSet + "();");
var indice = 0;
var aFormName = window.document.getElementById(pForm).form.name;
for(var j = 0; j < window.document.forms[aFormName].length; j++)
{
if(window.document.forms[aFormName].elements[j].name == window.document.getElementById(pForm).name)
{
indice = j;
if(window.document.forms[aFormName].elements[indice].selectedIndex == - 1)
{
break;
}
}
}
indice = j;
for(var i = 0; i < theKeys.length; i++)
{
var aKey = theKeys[i];
var aValue = theValues[i];
td = new Option(aKey, aValue, false, false);
window.document.forms[aFormName].elements[indice].options[i] = td;
}
window.document.forms[aFormName].elements[indice].options[0].selected = true;
window.document.forms[aFormName].elements[indice - 1].value = window.document.forms[aFormName].elements[indice].options[0].value;
return true;
}
function select2Text(pForm, pField, pField2, pid)
{
for(var j = 0; j < pForm.length; j++)
{
if((pForm.elements[j].selectedIndex >= 0) &&(pForm.elements[j].name == pField2))
{
tt = pForm.elements[j].selectedIndex;
pForm.elements[j - 1].value = pForm.elements[j].options[tt].value;
pForm.elements[j].options[tt].text.focus;
}
}
return true;
}
function text2Select(pForm, pField, pField2, pid)
{
for(var j = 0; j < pForm.length; j++)
{
if((pForm.elements[j].selectedIndex >= 0) &&(pForm.elements[j].name == pField2))
{
for(var i = 0; i < pForm.elements[j].options.length; i++)
{
if(pForm.elements[j].options[i].value == pForm.elements[j - 1].value)
{
pForm.elements[j].options[i].selected = true;
break;
}
}
}
}
return true;
}
function creerPopup(pref, pwin, pwidth, pheight)
{
var aWindow = window.open(pref, pwin, 'directories=0, location=0, menubar=0, status=0, toolbar=0, scrollbars=1,resizable=1, width= ' + pwidth + ', height=' + pheight);
aWindow.focus();
}
/**
* Tri une liste en Javascript.
*/
function agoraArraySort(tableName, column, lineNumber, columnNumber, checkName)
{
// fait faire le tri par struts-layout.
arraySort(tableName, column, lineNumber, columnNumber);
// remet ? 0 la case checkall si elle existe.
if(document.forms[0] && document.forms[0].elements["checkall"])
{
var checkbox = document.forms[0].elements["checkall"];
var checked = true;
for(i = 0; i < lineNumber; i++)
{
element = checkbox.form.elements[checkName + "[" + i + "]"];
if(element != null && !element.checked)
{
checked = false;
break;
}
}
checkbox.checked = checked;
}
}
/**
* Permet de lancer plusieurs actions simultan?ment :
* - ouvre la premi?re URL dans la fen?tre principale
* - ouvre chacune des URL suivante dans des popups
*/
function multiLink() {
if (arguments.length > 1) {
for (i=1;i= 1) {
self.location.href=arguments[0];
}
}
function selectPopupLine(pForm, pField, pValue, pSet, pKeys, pValues, pWidth, pHeight,pLine, pEvent)
{
if(pForm == null || pForm.name == '' || pField == null || pField.name == '' || pSet == null || pKeys == null || pValues == null)
{
alert("ERREUR: La valeur est incorrecte, l'aide ? la saisie n'est pas disponible");
return null;
}
var aX = pEvent.screenX;
var aY = pEvent.screenY;
var aFormName = pForm.name;
var aFieldName = pField.name;
var aWindow = window.open('', '_popup', 'directories=no, location=no, menubar=no, status=no, toolbar=no, width=' + pWidth + ', height=' + pHeight + ', top=' + aY + ', left=' + aX);
aWindow.focus();
var aForm = 'window.opener.document.forms[\'' + aFormName + '\']';
var aField = 'window.opener.document.forms[\'' + aFormName + '\'].elements[\'' + aFieldName + '\']';
var aSelect = 'window.document.getElementById(\'_select\')';
var anAction = aField + '.value=' + aSelect + '.value; window.self.close();';
var aField2 = aFieldName + 'required' ;
var aField3 = 'window.opener.document.' + aField2;
var imgsrc='\'/charte/ressources/images/';
if(aField3 != "")
{
anAction = aField + '.value=' + aSelect + '.value;'+ aField3 + '.src= ' + imgsrc + 'clearpixel.gif\' ; window.self.close();';
}
var aHTML = '\n' + pSet + '\n\n\n';
aHTML += '\n';
aHTML += '
\n';
aHTML += '\n';
aHTML += '\n\n';
aWindow.document.write(aHTML);
aWindow.document.close();
return aWindow;
}
function check(pForm, pFieldName, pSet,pWidth, pHeight,pLine, pEvent )
{
if (pForm == null) { return; }
var aField = pForm.elements[pFieldName];
if (aField == null) { return; }
if (aField.value == "") { return; }
var theKeys = eval('keys' + pSet + '();');
var theValues = eval("values" + pSet + "();");
if (!checkValueInArray(aField.value, theValues)) {
var aValue = aField.value;
selectPopupLine(pForm, aField, aValue, pSet, theKeys, theValues,pWidth, pHeight,pLine, pEvent);
}
}
function help(pForm, pFieldName, pSet,pWidth, pHeight,pLine, pEvent )
{
if (pForm == null) { return; }
var aField = pForm.elements[pFieldName];
if (aField == null) { return; }
var aValue = aField.value;
var theKeys = eval('keys' + pSet + '();');
var theValues = eval("values" + pSet + "();");
selectPopupLine(pForm, aField, aValue, pSet, theKeys, theValues,pWidth, pHeight,pLine, pEvent);
}
function addListener(element,basename,handler)
{
if (element.addEventListener)
{
element.addEventListener(basename,handler,false);
}
else
{
if (element.attachEvent)
{
element.attachEvent('on'+ basename,handler);
}
}
}
function $(id)
{
return document.getElementById(id);
}
function popupEndWaiting()
{
if (window.opener)
{
if (window.opener.document.getElementById('popupWait'))
{
window.opener.document.getElementById('popupWait').display="done";
window.opener.location.reload();
}
}
}