var START_NO_FOR_FIELD_IN_PAGE = 1;
var START_NO_FOR_IMG_IN_PAGE = 1;
var START_NO_FOR_FILE_IN_PAGE = 1;
var MAX_FIELD_PER_PAGE = 15;
var MAX_IMG_PER_PAGE = 15;
var MAX_FILE_PER_PAGE = 20
var timerOfMenuOnLength = 400;

var sousMenuColor = "#F5DE92";
var sousMenuOverColor = "#D7630E";
//var timerArrayMenuOn = new Array();
//var sousMenuOnArray = new Array();

//var sousMenuIDOn = null;
//var lastSousMenuIDOn = null;
var timerDrawMenu = new Array();

var drawMenuOn = false;

var alreadyCheckModifiedField = false;

function checkModifiedField(theForm) {
	
	
	if(!alreadyCheckModifiedField) {

		var bTitleOk = false;
		if(eval("document."+theForm.name+".Field1").value == '') {
			bTitleOk = confirm("Are you sure you want to save this page without any title?\nPress OK to save without title");
		} else {
			bTitleOk = true;
		}
	
		if (bTitleOk) {
		
			var cmpModifiedField = START_NO_FOR_FIELD_IN_PAGE;
			while (cmpModifiedField <= MAX_FIELD_PER_PAGE && eval("document."+theForm.name+".Field"+cmpModifiedField)!=undefined) {
		
				if (eval("document."+theForm.name+".FieldOriginal"+cmpModifiedField).value != eval("document."+theForm.name+".Field"+cmpModifiedField).value) {
					eval("document."+theForm.name+".FieldModified"+cmpModifiedField).value = 1;
				}
				eval("document."+theForm.name+".FieldOriginal"+cmpModifiedField).value = "";
				cmpModifiedField++;
			}
		
			var fieldFileUploadField_imgTMP;
			cmpModifiedField = START_NO_FOR_IMG_IN_PAGE;
			while (cmpModifiedField <= MAX_IMG_PER_PAGE && eval("document."+theForm.name+".fileUploadField_img"+cmpModifiedField)!=undefined) {
				fieldFileUploadField_imgTMP = eval("document."+theForm.name+".fileUploadField_img"+cmpModifiedField).value
				if (fieldFileUploadField_imgTMP != "") {
					eval("document."+theForm.name+".ImgModified"+cmpModifiedField).value = 1;		
					eval("document."+theForm.name+".ImgType"+cmpModifiedField).value = fieldFileUploadField_imgTMP.substring(fieldFileUploadField_imgTMP.lastIndexOf(".")+1);
				}
				cmpModifiedField++;
			}
			
			
			var fieldfileUploadField_fileTMP;
			cmpModifiedField = START_NO_FOR_FILE_IN_PAGE;
			var bModified = false;
			while (cmpModifiedField <= MAX_FILE_PER_PAGE && eval("document."+theForm.name+".fileUploadField_file"+cmpModifiedField)!=undefined) {
				fieldfileUploadField_fileTMP = eval("document."+theForm.name+".fileUploadField_file"+cmpModifiedField).value
				if (fieldfileUploadField_fileTMP != "") {
					eval("document."+theForm.name+".FileName"+cmpModifiedField).value = fieldfileUploadField_fileTMP.substring(fieldfileUploadField_fileTMP.lastIndexOf("\\")+1);
					bModified = true;
				}
				if (!bModified && eval("document."+theForm.name+".FileDescOriginal"+cmpModifiedField).value != eval("document."+theForm.name+".FileDesc"+cmpModifiedField).value) {
					bModified = true;
				}
				if (bModified) {
					eval("document."+theForm.name+".FileModified"+cmpModifiedField).value = 1;		
				}
				bModified = false;
				cmpModifiedField++;
			}
			alreadyCheckModifiedField = true;
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}

function addAdminCtrlButton (strHtmlButton) {

	if (document.all.adminCtrl != null) {
		document.all.adminCtrl.innerHTML += strHtmlButton;
	}
}

function addErrMsg (strErr) {
	// arguments[1] => pour le reload
	if (!arguments[1]) {
		setTimeout("addErrMsg('"+strErr+"',true)", 100);
	} else {
		if (document.all.errMsgDiv == null) {
			document.body.insertAdjacentHTML("beforeEnd", "<div id='errMsgDiv'></div>");
			
		}
		
		if (document.all.errMsgDiv.innerHTML != "") {
			document.all.errMsgDiv.innerHTML += "<br />"
		}
		document.all.errMsgDiv.innerHTML += strErr;
	}
}

function editMode() {
	changeMode("edit");
}
function viewMode() {
	changeMode("view");
}
function previewMode() {
	changeMode("preview");
}
function changeMode(mode) {

	var loc = document.location.href;
	var link;
	
	if (loc.indexOf("?")!=-1) {
		var param = loc.substring(loc.indexOf("?")+1);
		link = loc.substring(0, loc.indexOf("?"))+"?mode="+mode;
		param = param.split("&");
		for (var i=0; i<param.length; i++){
			if (param[i].substring(0, 5)!="mode=") {
				link += "&"+param[i];
			}
		}
	} else {
		link = loc+"?mode="+mode;
	}
	

	document.location.href = link;
	
}
function addHtmlTag(myField, myValue) {


	if(myValue == "span") {
		myValue += ' class= "'+prompt("Quelle class?", "")+'"';
	} else if(myValue == "span") {
		myValue += prompt("Quelle # de h?", "1");
	}

	myValue = "<"+myValue+">";

	if (document.selection) {
		//IE support
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}else if (myField.selectionStart || myField.selectionStart == '0') {
		//MOZILLA/NETSCAPE support
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		+ myValue
		+ myField.value.substring(endPos, myField.value.length);
	} else {
		myField.value += myValue;
	}
}

function addLink (myField) {

	var url = prompt("What is the url?", "http://www.xyz.com/page.html");
	var nameOfLink = prompt("What is the name of the link?", "Name of the link");
	var newWin = confirm("Click OK if you want this link to open in a new window");

	addHtmlTag(myField, "A href='"+url+"'"+(newWin?" target='_Blank'":"")+">"+nameOfLink+"</A");

}


/*
code de page index.jsp
*/
var pageIndex = false;
if (document.location.href.indexOf("index.jsp")!=-1 || document.location.href.substring(document.location.href.length-1) == "/")
	pageIndex = true;

function applyTransition (obj)
{
    obj.filters(0).Apply();
    obj.style.visibility = "visible";
    obj.filters(0).Play();
}
function applyImageTransition (obj, imgsrc)
{
    obj.filters(0).Apply();
    obj.src=imgsrc;
    obj.filters(0).Play();
}

/*function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}*/
function getFieldHaveBeenModified(fieldNo){
//FieldModified
	return eval("document.form[0].FieldModified"+fieldNo).value;

}
function flipImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<flipImages.arguments.length; i+=2) {
			document[flipImages.arguments[i]].src = flipImages.arguments[i+1];
		}
	}
}

/*var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		if (pageIndex){
			menu1_over = newImage(imgPath+lang+"/menu1-over.jpg");
			menu2_over = newImage(imgPath+lang+"/menu2-over.jpg");
			menu3_over = newImage(imgPath+lang+"/menu3-over.jpg");
			menu4_over = newImage(imgPath+lang+"/menu4-over.jpg");
			menu5_over = newImage(imgPath+lang+"/menu5-over.jpg");
			menu6_over = newImage(imgPath+lang+"/menu6-over.jpg");
			menu7_over = newImage(imgPath+lang+"/menu7-over.jpg");
			english_over = newImage(imgPath+lang+"/english-over.gif");
			intranet_over = newImage(imgPath+lang+"/intranet-over.gif");
			preloadFlag = true;
		} else {
			menu1_over = newImage(imgPath+lang+"/menuIn1-over.jpg");
			menu2_over = newImage(imgPath+lang+"/menuIn2-over.jpg");
			menu3_over = newImage(imgPath+lang+"/menuIn3-over.jpg");
			menu4_over = newImage(imgPath+lang+"/menuIn4-over.jpg");
			menu5_over = newImage(imgPath+lang+"/menuIn5-over.jpg");
			menu6_over = newImage(imgPath+lang+"/menuIn6-over.jpg");
			menu7_over = newImage(imgPath+lang+"/menuIn7-over.jpg");
			english_over = newImage(imgPath+lang+"/englishIn-over.gif");
			intranet_over = newImage(imgPath+lang+"/intranetIn-over.gif");
			preloadFlag = true;
		}
	}
}*/

function isEmail(email) {
    invalidChars = " ~\'^\`\"*+=\\|][(){}$&!#%/:,;";

    // Check for null
    if (email == "") {
        return false;
    }

    // Check for invalid characters as defined above
    for (i=0; i<invalidChars.length; i++) {
        badChar = invalidChars.charAt(i);
        if (email.indexOf(badChar,0) > -1) {
            return false;
        }
    }
    lengthOfEmail = email.length;
    if ((email.charAt(lengthOfEmail - 1) == ".") || (email.charAt(lengthOfEmail - 2) == ".")) {
        return false;
    }
    Pos = email.indexOf("@",1);
    if (email.charAt(Pos + 1) == ".") {
        return false;
    }
    while ((Pos < lengthOfEmail) && ( Pos != -1)) {
        Pos = email.indexOf(".",Pos);
        if (email.charAt(Pos + 1) == ".") {
            return false;
        }
        if (Pos != -1) {
            Pos++;
        }
    }

    // There must be at least one @ symbol
    atPos = email.indexOf("@",1);
    if (atPos == -1) {
        return false;
    }

    // But only ONE @ symbol
    if (email.indexOf("@",atPos+1) != -1) {
        return false;
    }

    // Also check for at least one period after the @ symbol
    periodPos = email.indexOf(".",atPos);
    if (periodPos == -1) {
        return false;
    }
    if (periodPos+3 > email.length) {
        return false;
    }
    return true;
}

////////////////////////////////////////////////////////////////////
function sousMenuSetObj (pID, pTop, pLeft, pLang, pChild, pParentMenu) {
	this.ID = pID;
	this.top = pTop;
	this.left = pLeft;
	this.lang = pLang;
	this.parentMenu = pParentMenu;
	this.child = pChild;
	this.on = false;
	this.draw = false;
}
function sousMenuElement (pText, pURL, pParent, pChildMenu) {

	this.text = pText;
	this.URL = pURL;
	this.parent = pParent;
	this.childMenu = pChildMenu;
	
	if (pParent.child==null) {
		pParent.child = new Array();
	}
	pParent.child[pParent.child.length] = this;
	this.on = false;
	this.draw = false;
}

function makeHTMLMenuSetObj(sousMenuSetObj) {

	var strRet = "";
	var strRet = '<DIV id="sousmenu'+sousMenuSetObj.ID+'" class="sousMenuDiv" style="top: '+sousMenuSetObj.top+'px; left: '+sousMenuSetObj.left+'px;">\n';
	strRet += '<table width="180" border="0" cellpadding="0" cellspacing="0">\n';
	
	var sousMenuElements = sousMenuSetObj.child;
	strRet += makeHTMLSousMenu( sousMenuSetObj.child);
	if (sousMenuElements!=null) {
	
		for(var cmp=0; cmp<sousMenuElements.length; cmp++){
			strRet += '	<tr>\n';
			strRet += '		<td width="180" height="23" class="sousMenuCell"';
			//if (sousMenuElements.childMenu!=null) {
			if (sousMenuElements[cmp].childMenu == null) {
				strRet += ' onmouseover="onMouseOverSousMenuElm(this, \''+sousMenuElements[cmp].parent.ID+'\')" onmouseout="onMouseOutSousMenuElm(this, \''+sousMenuElements[cmp].parent.ID+'\')"';
			} else {
				//strRet += ' onmouseover="window.status = \''+sousMenuElements[cmp].childMenu.ID+'\'" ';
				strRet += ' onmouseover="onMouseOverSousMenuElm(this, \''+sousMenuElements[cmp].childMenu.ID+'\')" onmouseout="onMouseOutSousMenuElm(this, \''+sousMenuElements[cmp].childMenu.ID+'\')"';
			}
			//} else {
			//	strRet += ' onmouseover="this.style.background=\''+sousMenuOverColor+'\'" onmouseout="this.style.background=\''+sousMenuColor+'\'"';
			//}
			strRet += '><a href="'+sousMenuElements[cmp].URL+'" class="sousMenuLink">'+sousMenuElements[cmp].text+'</a></td>\n';
			strRet += '	</tr>\n';
			strRet += '	<tr>\n';
			strRet += '		<td><img src="'+imgPath+'spacer.gif" width="160" height="5" alt=""></td>\n';
			strRet += '	</tr>\n';
		}
	}
	strRet += '</table>\n';
	strRet += '</DIV>\n';
	//alert(strRet);
	//document.all.text1.value += strRet+"\n\n---------------------------------------\n\n";

	return strRet;
}
function makeHTMLSousMenu(sousMenuElements) {
	var strRet = "";
	
	
	
	return strRet;
}
function onMouseOverSousMenuElm(cell, ID) {
	//document.all.text1.value += "\n\n---------------------------------------\n\nonMouseOverSousMenuElm("+cell+","+ID+")";

	cell.style.background = sousMenuOverColor;
	
	
	if (ID!=null) {
		var menuTmp = getSousMenuSetObjByID(ID);
		menuTmp.on = true;
		
		while (menuTmp.parentMenu!=null) {
			menuTmp = menuTmp.parentMenu
			menuTmp.on = true;
		}
		
		drawMenu();
	}
	
	return true;	
}

function onMouseOutSousMenuElm (cell, ID) {
	cell.style.background = "#F5DE92";
	var menuTmp = getSousMenuSetObjByID(ID);
	menuTmp.on = false;

	while (menuTmp.parentMenu!=null) {
		menuTmp = menuTmp.parentMenu
		menuTmp.on = false;
	}

	return true;
}


function nbChar (str, strToSearch) {

	var retNb = 0;
	var posTmp = 0;
	posTmp = str.indexOf(strToSearch);
	
	
	while (posTmp!=-1) {
		retNb++;		
		posTmp = str.indexOf(posTmp+1, strToSearch);
	}
	
	return retNb;
}

function getSousMenuSetObjByMenuNo(menuNo) {

	return (eval("menu.menu"+menuNo));

}
function getSousMenuSetObjByID(ID) {

	var level = nbChar(ID, "_");
	var evalStr = "";
	var strMenuNo = "menu";
	
	if (level>0) {
		strMenuNo += ID.substring(0,ID.indexOf("_"))

		var splTmp = ID.split("_");
		
		var cmpTmp = 1;
		for (cmpTmp=1; cmpTmp<splTmp.length; splTmp++) {
			evalStr += ".child["+(splTmp[cmpTmp]-1)+"].childMenu";
		}
	} else {
		strMenuNo += ID;
	}

	return (eval("menu."+strMenuNo+evalStr));
}
function showSousMenuSetObj (sousMenuSetObjID) {

	var sousMenu = eval("sousmenu"+sousMenuSetObjID);

	sousMenu.style.display = "block";
	if (document.all) {	
		sousMenu.style.filter='progid:DXImageTransform.Microsoft.Inset(duration=0.2)'; 
		applyTransition(sousMenu);
		
	} else if(document.getElementById){
		sousMenu.style.visibility = "visible";				
	}

}
function hideSousMenuSetObjByID (ID) {
	var sousMenu = eval("sousmenu"+ID);
	sousMenu.style.display = "none";			
	sousMenu.style.visibility = "hidden";			
}


function onMouseOverMenu(menuNo) {

	var menuTmp  = eval("menu.menu"+menuNo);
	menuTmp.on = true;
	drawMenu();

	return true;
}
function onMouseOutMenu(menuNo) {
	
	var menuTmp  = eval("menu.menu"+menuNo);
	menuTmp.on = false;

	return true;
}
/*function changeImages() {
	// arg: 'menu1', 'images/menu1.jpg'
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}*/
/*function closeSousMenuSetObj(ID) {
	var level = nbChar(ID, "_");
	if (sousMenuOnArray[level]!=ID && sousMenuOnArray[level]!=null || (sousMenuOnArray[0]==ID && sousMenuOnArray[level]!=null)) {
		timerArrayMenuOn[level] = setTimeout("closeSousMenuSetObj('"+ID+"')", timerOfMenuOnLength);
	} else {
		var levelTmp = level;
		while (timerArrayMenuOn[levelTmp]!=null) {
			hideSousMenuSetObjByID(ID);
			clearTimeout(timerArrayMenuOn[levelTmp]);
			timerArrayMenuOn[levelTmp] = null;
			sousMenuOnArray[levelTmp] = null;
			levelTmp++;
		}
	}
}*/
/*function closeMenu(menuNo) {

	if (sousMenuOnArray[0]!=menuNo && sousMenuOnArray[0]!=null || (sousMenuOnArray[0]==menuNo && sousMenuOnArray[1]!=null)) {
		timerArrayMenuOn[0] = setTimeout("closeMenu('"+menuNo+"')", timerOfMenuOnLength);
	} else {
		changeImages("menu"+menuNo, imgPath+lang+"/menu"+(pageIndex?"":"In")+menuNo+".jpg");
		sousMenuOnArray[0] = null;
		lastSousMenuIDOn = null;
		closeSousMenuSetObj(menuNo);
	}
}*/

function showHideMenu (theMenu) {
	
	var ret = false;
	
	if (theMenu.on == true) {
		if (theMenu.draw == false) {
			if (theMenu.ID.indexOf("_")==-1) {
				changeImages('menu'+theMenu.ID, imgPath+lang+'/menu'+(pageIndex?"":"In")+theMenu.ID+'-over.jpg');
			}
			showSousMenuSetObj(theMenu.ID);
			theMenu.draw = true;
		}
		ret = true;
	} else if (theMenu.on == false && theMenu.draw == true) {
		hideSousMenuSetObjByID(theMenu.ID);
		if (theMenu.ID.indexOf("_")==-1) {
			changeImages("menu"+theMenu.ID, imgPath+lang+"/menu"+(pageIndex?"":"In")+theMenu.ID+".jpg");
		}
		theMenu.draw = false;
	}
	var cmpChild=0;
	var retTmp = null;
	if (theMenu.child!=null) {
		while (theMenu.child[cmpChild]!=null) {
			if (theMenu.child[cmpChild].childMenu!=null) {
				retTmp = showHideMenu(theMenu.child[cmpChild].childMenu);
				if (retTmp==true) {
					ret = true;
				}
			}
			cmpChild++;
		}
	}
	return ret;
}

function drawMenu() {

	if (drawMenuOn == false) {
		drawMenuOn = true;
	
		var menuOn = false;
		if (timerDrawMenu!=null) {
			clearTimeout(timerDrawMenu);
		}
		
		var cmpMenu = 0;
		var retTmp = null;
		for (cmpMenu=0; cmpMenu<menu.length; cmpMenu++) {
			retTmp = showHideMenu (menu[cmpMenu]);
			if (retTmp==true) {
				menuOn = true;
			}
		}
		
		timerDrawMenu = setTimeout("drawMenu()", timerOfMenuOnLength);
		
		drawMenuOn = false;
	}
}

function checkDate(strDate){
	if (
		strDate.substring(0,2) > 0 &&
		strDate.substring(3,5) > 0 &&
		strDate.substring(6)   > 1900 &&
		strDate.substring(0,2) <= 31 &&
		strDate.substring(3,5) <= 12) {
		return true;
	} else {
		return false;
	}		
}
function checkDateYearFirst(strDate){
	if (
		strDate.substring(0,4) > 1900 &&
		strDate.substring(5,7) > 0 &&
		strDate.substring(8)   > 0 &&
		strDate.substring(8) <= 31 &&
		strDate.substring(5,7) <= 12) {
		return true;
	} else {
		return false;
	}		
}
function getMaxDateInMonth(iYear, iMonth) {

	var monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	var maxDaysInMonth = monthDays[iMonth-1];
	if (iMonth == 2) { // February
		if (iYear%400==0 || (iYear%4 == 0 && iYear%100!=0) ) {
			maxDaysInMonth +=1;
		}
	}
	return maxDaysInMonth;
}
function setPageNoID(iNoPageID) {

	document.editForm.pageNoID.value = iNoPageID;
	alert("PageNoID: "+document.editForm.pageNoID.value);
	return void(0);
}
