function stripedTable(table) {
	tbl = document.getElementById(table);
    //var firstRow = tbl.getElementsByTagName("tbody")[0].getElementsByTagName("tr")[0];
    //if (firstRow == null || firstRow.className != "tableComment") {
	var trs = tbl.getElementsByTagName("tr");
	for (var j = 0; j < trs.length; j++) {
		removeClassName(trs[j], "alternateRow");
		addCSSClass(trs[j], "normalRow");
	}
	for (var k = 0; k < trs.length; k += 2) {
		removeClassName(trs[k], "normalRow");
		addCSSClass(trs[k], "alternateRow");
	}
    //}
}
function removeRowFromTable(button) {
	var row = button.parentNode.parentNode;
	row.parentNode.removeChild(row);
	stripedTable("servicesListTable");
}
function removeClassName(elem, className) {
	elem.className = elem.className.replace(className, "").trim();
}
function expandCollapse(objimg) {
	xmlResponse = objimg.parentNode.getElementsByTagName("div")[0].getElementsByTagName("textarea")[0];
	obj = objimg.parentNode.getElementsByTagName("div")[0];
	if (obj.style.display == "none") {
		obj.style.display = "block";
		objimg.src = "../images/icon_collapse.gif";
	} else {
		obj.style.display = "none";
		objimg.src = "../images/icon_expand.gif";
	}
	if (xmlResponse) {
		var length = xmlResponse.value.length;
		var message = xmlResponse.value;
		var i = 0;
		while ((message.charAt(i) != ">") && (i < length)) {
			i++;
		}
		if (message.charAt(i + 1) != "\n") {
			formatXML(xmlResponse);
		}
	}
}
function insert(message, index, character) {
	var result;
	result = message.substring(0, index);
	result = result.concat(character);
	result = result.concat(message.substring(index, message.length));
	return result;
}
function formatXML(xmlResponse) {
	var tabLevel = -1;
	var i = 0;
	var j = 0;
	var k = 0;
	var length = xmlResponse.value.length;
	var message = xmlResponse.value;
	var isClosing = false;
	var isData = false;
	for (i = 0; i < length; i++) {
		if (message.charAt(i) == "<") {
			if (message.charAt(i + 1) == "/") {
				isClosing = true;
				if (!isData) {
					for (k = 0; k < tabLevel; k++) {
						message = insert(message, k + i, "\t");
						length++;
					}
					i += k;
				}
				tabLevel--;
				isData = false;
			} else {
				isClosing = false;
				tabLevel++;
				for (k = 0; k < tabLevel; k++) {
					message = insert(message, k + i, "\t");
					length++;
				}
				i += k;
			}
			while ((message.charAt(i + j) != ">") && (i + j < length)) {
				i++;
			}
			if (message.charAt(i + 1) == "<") {
				message = insert(message, i + 1, "\n");
				length++;
				i++;
			} else {
				isData = true;
			}
			xmlResponse.value = message;
		}
	}
}
function changeVersion(objVersion) {
	var newVersion = objVersion.firstChild.nodeValue;
	var oldVersion = "";
	var versionContainer = objVersion.parentNode;
	var versionsContainer = versionContainer.parentNode;
	var versionTable = versionsContainer.getElementsByTagName("div");
	var numberOfVersions = versionTable.length;
	var queryStructure = document.getElementById("query-structure");
	var queryStructureLink = queryStructure.href;
	var replyStructure = document.getElementById("reply-structure");
	var replyStructureLink = replyStructure.href;
	if (versionContainer.className != "active") {
		for (i = 0; i < numberOfVersions; i++) {
			if (versionTable[i].className == "active") {
				oldVersion = versionTable[i].getElementsByTagName("a")[0].firstChild.nodeValue;
			}
			versionTable[i].className = "";
			queryStructure.href = queryStructureLink.substring(0, queryStructureLink.indexOf(oldVersion)) + newVersion + ".html";
			replyStructure.href = replyStructureLink.substring(0, replyStructureLink.indexOf(oldVersion)) + newVersion + ".html";
		}
		versionContainer.className = "active";
	}
}
function checkInList(input, table, errorDiv, hideDiv, panelDiv) {
	var errorBoxClass;
	var hideBoxClass;
	var inputValue = String(input.value);
	var test = false;
	if (panelDiv) {
		var img = input.parentNode.getElementsByTagName("label")[0].getElementsByTagName("img")[0];
		var panel = document.getElementById(panelDiv);
	}
	for (i = 0; i < table.length; i++) {
		if (table[i] == inputValue) {
			test = true;
		}
	}
	if (test == true) {
		hideBoxClass = "form-comment-hidden";
		errorBoxClass = "form-error-hidden";
	} else {
		hideBoxClass = "form-comment-hidden";
		errorBoxClass = "form-error";
		if (panel && panel.className == "form-panel-hidden" && inputValue != "") {
			expandCollapsePanel(img, panel.id);
		}
	}
	if (inputValue == "") {
		hideBoxClass = "form-comment";
		errorBoxClass = "form-error-hidden";
	}
	document.getElementById(errorDiv).className = errorBoxClass;
	if (hideDiv) {
		document.getElementById(hideDiv).className = hideBoxClass;
	}
}
function expandCollapsePanel(img, panel) {
	var panelDiv = document.getElementById(panel);
	if (panelDiv.className == "form-panel-hidden") {
		panelDiv.className = "form-panel";
		img.src = "../images/icon_collapse.gif";
	} else {
		panelDiv.className = "form-panel-hidden";
		img.src = "../images/icon_expand.gif";
	}
}
function validateEMail(input, field) {
	input.value=input.value.toLowerCase();
	var inputValue = String(input.value);	
	var regex = /^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/;
	if ((inputValue != "") && (regex.test(inputValue))) {
		displayError(field, false);
	} else {
		if ((inputValue.length == 0) && (field == "notificationEmail")) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}
function validateAlphanumericPassword(input1, field, input2) {
	//input1.value=input1.value.toLowerCase();
	var regex = /^([a-zA-Z0-9]*)$/;
	if(input2){
		//input1.value=input1.value.toLowerCase();
		var inputValue1 = String(input1.value);	
		var inputValue2 = String(input2.value);	
		if (regex.test(inputValue1) && regex.test(inputValue2)) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}else{
		var inputValue = String(input1.value);
		if (regex.test(inputValue)) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}
function validateEMail(input, field) {
	input.value=input.value.toLowerCase();
	var inputValue = String(input.value);	
	var regex = /^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/;
	if ((inputValue != "") && (regex.test(inputValue))) {
		displayError(field, false);
	} else {
		if ((inputValue.length == 0) && (field == "notificationEmail")) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}
function validateEmailForbiddenDomains(input, field, forbiddenDomains) {
	var inputValue = String(input.value);
	var inputDomain = inputValue.substring(inputValue.lastIndexOf('@') + 1, inputValue.length);
	var regex = /^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/;

	var foundForbiddenDomain = false;
	for(i = 0; i < forbiddenDomains.length; i++) {
		if(inputDomain.indexOf(forbiddenDomains[i]) >= 0) {
			foundForbiddenDomain = true;
			break;
		}
	}
	
	if ((inputValue != "") && !foundForbiddenDomain && regex.test(inputValue)) {
		displayError(field, false);
	} else {
		if ((inputValue.length == 0) && (field == "notificationEmail")) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}

function validateEmailDomain(input, field, domain) {
	var inputValue = String(input.value);
	var inputDomain = inputValue.substring(inputValue.lastIndexOf('@') + 1, inputValue.length);
	var regex = /^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/;
	if ((inputValue != "") && (inputDomain.toLowerCase() == domain.toLowerCase()) && regex.test(inputValue)) {
		displayError(field, false);
	} else {
		if ((inputValue.length == 0) && (field == "notificationEmail")) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}

function validatePhone(input, field) {
	var inputValue = String(input.value);
	var reg1 = /^\+[0-9]([0-9 ]*)[0-9]{1}$/; // valid
	if (reg1.test(inputValue)) {
		displayError(field, false);
	} else {
		if (((field == "cellPhone") || (field == "requestedCompany.fax")) && (input.value.length <= 0)) {
			displayError(field, false);
		} else {
			displayError(field, true);
		}
	}
}
function hasOptions(obj) {
	if (obj != null && obj.options != null) {
		return true;
	}
	return false;
}
function sortSelect(obj) {
	var o = new Array();
	if (!hasOptions(obj)) {
		return;
	}
	for (var i = 0; i < obj.options.length; i++) {
		o[o.length] = new Option(obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected);
	}
	if (o.length == 0) {
		return;
	}
	o = o.sort(function (a, b) {
		if ((a.text + "") < (b.text + "")) {
			return -1;
		}
		if ((a.text + "") > (b.text + "")) {
			return 1;
		}
		return 0;
	});
	for (var i = 0; i < o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}
function moveSelectedOptions(from, to) {
	var fromSelect = document.getElementById(from);
	var toSelect = document.getElementById(to);
  // Move them over
	if (!hasOptions(fromSelect)) {
		return;
	}
	for (var i = 0; i < fromSelect.options.length; i++) {
		var o = fromSelect.options[i];
		if (o.selected) {
			if (!hasOptions(toSelect)) {
				var index = 0;
			} else {
				var index = toSelect.options.length;
			}
			toSelect.options[index] = new Option(o.text, o.value, false, false);
		}
	}
  // Delete them from original
	for (var i = (fromSelect.options.length - 1); i >= 0; i--) {
		var o = fromSelect.options[i];
		if (o.selected) {
			fromSelect.options[i] = null;
		}
	}
	if ((arguments.length < 3) || (arguments[2] == true)) {
		sortSelect(fromSelect);
		sortSelect(toSelect);
	}
	fromSelect.selectedIndex = -1;
	toSelect.selectedIndex = -1;
}

function removeSelectedOptions(from, packageSelectId, serviceSelectId) {
	var fromSelect = document.getElementById(from);
  // Delete them from original
	for (var i = (fromSelect.options.length - 1); i >= 0; i--) {
		var o = fromSelect.options[i];
		if (o.selected) {
			fromSelect.options[i] = null;
		}
	}
	if ((arguments.length < 3) || (arguments[2] == true)) {
		sortSelect(fromSelect);
	}
	fromSelect.selectedIndex = -1;
	if (packageSelectId && serviceSelectId) {
		onPackageSelect(packageSelectId, serviceSelectId, from);
	}
}

function onPackageSelect(packageSelectId, serviceSelectId, userServicesSelectId, defaultPackage) {
	var packageSelect = document.getElementById(packageSelectId);
	var serviceSelect = document.getElementById(serviceSelectId);
	var userServicesSelect = document.getElementById(userServicesSelectId);
	var companyIdHidden = document.getElementById("companyId");

	for (var j = 0; j < serviceSelect.options.length; j++) {
		serviceSelect.options[j] = null;
	}
	serviceSelect.options.length = 0;

	var selectedId;
	if (defaultPackage != null) {
		for (var i = 0; i < packageSelect.options.length; i++) {
			if (packageSelect.options[i].text == defaultPackage) {
				packageSelect.options[i].selected = true;
				selectedId = packageSelect.options[i].value;
			}
		}
	} else {
		selectedId = packageSelect.options[packageSelect.selectedIndex].value;
	}
	var serviceSelectCount = 0;
	if (packageServices[selectedId]) {
		for (var i = 0; i < packageServices[selectedId].services.length; i++) {
			var serviceVersion = packageServices[selectedId]["services"][i];
			var serviceVersionNameDisplay = serviceVersion.name;
			if(companyIdHidden != null &&
			   serviceVersion.isRestricted == true) {
			   var isAuthorizedCompany = false;
			   if(companyIdHidden.value != null && companyIdHidden.value != "") {
			      for(var j = 0; j < serviceVersion["authorizedCompanies"]; j++) {
			         if(serviceVersion["authorizedCompanies"][j] == companyIdHidden.value) {
			            isAuthorizedCompany = true;
			            break;
			         }
			      } 
			   } 
				if(!isAuthorizedCompany) {
				  serviceVersionNameDisplay = "/!\\ " + serviceVersionNameDisplay;
				} else {
					if(serviceVersion.isCommented) {
						serviceVersionNameDisplay = "[i] " + serviceVersionNameDisplay;
					}
				}
			   if(userServicesSelect != null) {		  
	   		     for(var k = 0; k < userServicesSelect.options.length; k++) {
  				    if (userServicesSelect.options[k].value == serviceVersion.id) {
					    userServicesSelect.options[k].text = serviceVersionNameDisplay;
					    break;
				    }
			     }
			   }
			}
			if (userServicesSelect != null) {
				var inUserService = "false";
				for (var j = 0; j < userServicesSelect.options.length; j++) {
					if (userServicesSelect.options[j].value == serviceVersion.id) {
						inUserService = "true";
						break;
					}
				}
				if (inUserService == "false") {
					serviceSelect.options[serviceSelectCount] = new Option(serviceVersionNameDisplay, serviceVersion.id);
					serviceSelectCount++;
				}
				inUserService = "false";
			} else {
				serviceSelect.options[i] = new Option(serviceVersionNameDisplay, serviceVersion.id);
			}
		}
		sortSelect(serviceSelect);
	}
}

function copySelectedOptions(from, to) {
	var fromSelect = document.getElementById(from);
	var toSelect = document.getElementById(to);
  // Move them over
	if (!hasOptions(fromSelect)) {
		return;
	}
	for (var i = 0; i < fromSelect.options.length; i++) {
		var o = fromSelect.options[i];
		if (o.selected) {
			if (!hasOptions(toSelect)) {
				var index = 0;
			} else {
				var index = toSelect.options.length;
			}
			toSelect.options[index] = new Option(o.text, o.value, false, false);
		}
	}
	if ((arguments.length < 3) || (arguments[2] == true)) {
		sortSelect(toSelect);
	}
	fromSelect.selectedIndex = -1;
	toSelect.selectedIndex = -1;
}
function displayError(idField, show, hideComment) {
	var errMsgId = idField + "-error";
	var strutsId = "struts-" + errMsgId;
	var errMsgIdDiv = document.getElementById(errMsgId);
	var OkMsgIdDiv = document.getElementById(idField + "-comment");
	if (document.getElementById(strutsId)) {
		document.getElementById(strutsId).className = "form-comment-hidden";
	}
	if (show) {
		if (errMsgIdDiv) {
			errMsgIdDiv.className = "form-error";
		}
		if (OkMsgIdDiv && hideComment) {
			OkMsgIdDiv.className = "form-comment-hidden";
		}
	} else {
		if (OkMsgIdDiv) {
			OkMsgIdDiv.className = "form-comment";
		}
		if (errMsgIdDiv) {
			errMsgIdDiv.className = "form-error-hidden";
		}
	}
}
function checkRequired(target, field, hideComment, regex) {
	var show = false;
	if (regex != null && regex != '') {
		reg = new RegExp(regex);
		show = !reg.test(target.value);
	}
	else {
		show = !target.value || (target.value.length == 0);
	}
	displayError(field, show, hideComment);
}

function validateMasterCR(target, field, callType) {
	var reg = /^[0-9]*$/;
	if ((target.value) && (target.value.length != 0) && (!reg.test(target.value) || (target.value.length > 8))) {
		displayError(field, true);
	} else {
		displayError(field, false);
		if ((callType == "onblur") && target.value.length > 0) {
			var i;
			for (i = target.value.length; i < 8; i++) {
				target.value = 0 + target.value;
			}
		}
	}
}
function trim(string) {
	return string.replace(/(^\s*)|(\s*$)/g, "");
}
function convertToUpperCase(target) {
	if (target) {
		target.value = target.value.toUpperCase();
	}
}
function checkInteger(target, field, required, hideComment) {
	var reg = /^[0-9]*$/;
	var maxInteger = 2147483647;
	if (!reg.test(target.value) || (target.value > maxInteger)) {
		displayError(field, true, hideComment);
	} else {
		if ((required == true) && (target.value.length == 0)) {
			displayError(field, true, hideComment);
		} else {
			displayError(field, false, hideComment);
		}
	}
}

// Functions for date validation
function validateDate(target, field, hideComment) {
	var reg = /^[0-9]{4}\/[0-1][0-9]\/[0-3][0-9]$/;
	if ((target.value.length > 0) && !reg.test(target.value)) {
		displayError(field, true, hideComment);
	} else {
		if ((target.value.length > 0) && (isDate(target.value)==false)) {
			displayError(field, true, hideComment);
		} else {
			displayError(field, false, hideComment);
		}
	}
}


var dtCh= "/";
var minYear=1900;
var maxYear=2999;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
		if (i==2) {this[i] = 29;}
   } 
   return this;
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strYear=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strDay=dtStr.substring(pos2+1);
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		return false;
	}
return true;
}

function loadCalendar(CInputfield,CImg) {

 Calendar.setup({
        inputField     :    CInputfield,      // id of the input field
        ifFormat       :    "%Y/%m/%d",      // format of the input field
        button         :    CImg,  // trigger for the calendar (button ID)
        align          :    "FF",           // alignment (defaults to "Bl")
        singleClick    :    true                // show all years in drop-down boxes (instead of every other year as default)   
    });
}

function allSelect(selectid) {
	var toSelect = document.getElementById(selectid);
	if(toSelect == null) {
		return;
	}
	for (var i = 0; i < toSelect.options.length; i++) {
		toSelect.options[i].selected = true;
	}
}
// End of functions for date validation

function imageZoom(divId, imgId){

	div = document.getElementById(divId);	
	img = document.getElementById(imgId);
	
	if(div.style.display == "none"){	
		div.style.display = "";
		div.style.marginTop = 	-(img.height) + 'px';			
	}else{
		div.style.display = "none";
	}
} 


function updateSelectedOptions(associated, available) {
	var associatedSelect = document.getElementById(associated);
	var availableSelect = document.getElementById(available);
  // Move them over
	if (!hasOptions(availableSelect) || !hasOptions(associatedSelect) ) {
		return;
	}
	for (var i = 0; i < associatedSelect.options.length; i++) {
		var o = associatedSelect.options[i];
		for(var j = 0; j < availableSelect.options.length; j++){
			o_ = availableSelect.options[j];			
			if((o == o_) || (o.value == o_.value)){
				availableSelect.removeChild(o_);
			}
		}
	}

	if ((arguments.length < 3) || (arguments[2] == true)) {
		sortSelect(availableSelect);
		sortSelect(associatedSelect);
	}
	availableSelect.selectedIndex = -1;
	associatedSelect.selectedIndex = -1;
}

function displayObject(objId){
	obj = document.getElementById(objId);
	if(obj.style.display == "none")
		obj.style.display = "";
	else
		obj.style.display = "none";		
	if(arguments.length > 1){
		for(i = 1; i < arguments.length; i++){
			obj_ = document.getElementById(arguments[i]);
			if(obj_.style.display == "none")
				obj_.style.display = "";
			else
				obj_.style.display = "none";	
		}
	}
}


function dropText(text, ccontainerId){
	a = document.getElementById(containerId);
	a.firstChild.value = text.substring(0, 50) + " ...";
}

function setDocumentIcone(){
	imgs = document.getElementsByName('file_ico');

	for(i=0; i < imgs.length; i++){
		href = imgs[i].parentNode.href;
		if(href.substring(href.lastIndexOf(".")) == ".pdf"){
			imgs[i].src = "/images/icon_pdf.gif";
			imgs[i].alt = "Icon - Pdf Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".doc"){
			imgs[i].src = "/images/icon_word.gif";
			imgs[i].alt = "Icon - Word Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".xls"){
			imgs[i].src = "/images/icon_excel.gif";
			imgs[i].alt = "Icon - Excel Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".odt"){
			imgs[i].src = "/images/icon_odt.gif";
			imgs[i].alt = "Icon - Open Office Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".ppt"){
			imgs[i].src = "/images/icon_powerpoint.gif";
			imgs[i].alt = "Icon - Power Point Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".wsdl"){
			imgs[i].src = "/images/icon_wsdl.gif";
			imgs[i].alt = "Icon - Web Service Definition Document";
		}else if(href.substring(href.lastIndexOf(".")) == ".zip"){
			imgs[i].src = "/images/icon_zip.gif";
			imgs[i].alt = "Icon - Zip Document";
		}
	}
}

// Added June 10th 2008 12:48 (CD)
function showDetails(obj, objimg) {
	obj = document.getElementById(obj);
	if (obj.style.display == "none") {
		obj.style.display = "block";
		objimg.src = "images/minus.gif";
	} else {
		obj.style.display = "none";
		objimg.src = "images/plus.gif";
	}
}
function showHand(obj) {
	obj.style.cursor = "hand";
}
function hideHand(obj) {
	obj.style.cursor = "pointer";
}
function toggle_line(apps_id, objimg) {
	line_id = "line_" + apps_id;
	if (document.getElementById) {
		if (document.getElementById(line_id).style.display == "none") {
	    //document.getElementById(line_id).style.visibility = "visible";
	    document.getElementById(line_id).style.display = "block";
	    objimg.src = "../images/moins.gif";
		} else {
	    document.getElementById(line_id).style.display = "none";
	    objimg.src = "../images/plus.gif";
		}
	} else {
		if (document.all) {
			alert("Mozilla");
			if (document.all[line_id].style.display == "none") {
		    objimg.src = "../images/moins.gif";
			} else {
		    document.all[line_id].style.display = "none";
		    objimg.src = "../images/plus.gif";
			}
		} else {
	    if (document.layers) {
		    if (document.layers[line_id].display == "none") {
			    document.layers[line_id].display = "block";
			    objimg.src = "../images/moins.gif";
	      } else {
			    document.layers[line_id].display = "none";
			    objimg.src = "../images/plus.gif";
	      }
  	  }
  	}
	}
}

function eraseBox(boxId) {
	document.getElementById(boxId).value = "";
}

function eraseDefaultMessage(textAreaId, defaultMessage) {
	messageBox = document.getElementById(textAreaId);
	if (messageBox.value == defaultMessage) {
		messageBox.value = "";
	}
}