// Commonly used QWEB Javascript functions 

// Popup management functions and variables-----------------------------------------------------------------------------

var cbwin=null;
var scriptWin = null;
var resultsWin = null;
var scrollWin = null;

//this function is called onUnload
function cleanPopups()
{
	// Special test case for MSIE (RPC Call failure))
	if (	(navigator.userAgent.indexOf("MSIE") != -1) &&
		(navigator.appVersion.indexOf("5.") != -1))
	{
		eval("try { if (scrollWin && !scrollWin.closed) scrollWin.close(); if (cbwin && !cbwin.closed) cbwin.close(); if (resultsWin && !resultsWin.closed) resultsWin.close();} catch (exception) {}");
	}
	else
	{
		if (scrollWin && !scrollWin.closed) 	scrollWin.close();
		if (cbwin && !cbwin.closed)		cbwin.close(); 
		// C.O. 011012 : if (scriptWin && !scriptWin.closed)	scriptWin.close();
		if (resultsWin && !resultsWin.closed)	resultsWin.close();
	}
}

function hideStatus()
{
	window.status="";
	return true;
}



// Navigator Identification vars----------------------------------------------------------------------------------------

var isNav,isIE;

if (navigator.appName == "Netscape")
	isNav = true;
else
	isIE = true;

// Javascript library to handle rollover image links -------------------------------------------------------------------

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Some date functions ------------------------------------------------------------------------------------------------

function getDate()
{
	var months=new Array(13);
	months[1]="Janvier";
	months[2]="Fevrier";
	months[3]="Mars";
	months[4]="Avril";
	months[5]="Mai";
	months[6]="Juin";
	months[7]="Juillet";
	months[8]="Aout";
	months[9]="Septembre";
	months[10]="Octobre";
	months[11]="Novembre";
	months[12]="Decembre";
	var time=new Date();
	var lmonth=months[time.getMonth() + 1];
	var date=time.getDate();
	var year=time.getYear();
	if (year < 2000)    year += 1900;
	if ("fr" == "en")
		return "&nbsp;" + lmonth + " " + date + ", " + year;
	else
		return "&nbsp;" + date + " " + lmonth + " " +  year;
}

//Return a 4 digit year (1999-2000-.... Cross browser function)
function get4DigitYear(date)
{
	if (date.getYear() < 2000)
		return 1900 + date.getYear();
	else
		return date.getYear();
}

//Format number on 2 digits (05 instead of 5)
function formatNumber(number)
{
	var newNumber = number;
	if (number < 10)
		newNumber = "0" + newNumber;
	return newNumber;
}


// COOKIES -------------------------------------------------------------------------------------------------------------

// Set a cookie
// Called with SetCookie(name, value, expires, path, domain, secure)
function SetCookie(name, value, expires, path, domain, secure)
{
	var myCookie = name + "=" + escape(value) +
		((expires) 	? "; expires=" + expires.toGMTString() : "") +
		((path) 	? "; path=" + path : "") +
		((domain) 	? "; domain=" + domain : "") +
		((secure) 	? "; SECURE" : "");
	document.cookie = myCookie;
	return;
}

// Retrieve functions
function GetCookie(Name)
{
	var CookName = Name + "=";
	var DocCook  = document.cookie;
	if (DocCook.length > 0)
	{
		Start = DocCook.indexOf(CookName);
		if (Start != -1)
		{
			Start += CookName.length;
			End = DocCook.indexOf(";",Start);
			if (End == -1)
			{
				End = DocCook.length;
			}
			return unescape(DocCook.substring(Start, End));
		}
	}
	return null;
}

//Deletes a cookie
function deleteCookie(name)
{
	var exp = new Date();
	var cval = GetCookie(name);

	exp.setTime(exp.getTime() - 1);
	document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}


// And Query string functions ------------------------------------------------------------------------------------------

//Get a parameter specified in the query string
function getParameter(parameter, queryString)
{
	parameter += "=";
	var value = "";
	for (var i = queryString.indexOf(parameter) + parameter.length; i < queryString.length; i++)
	{
		if (queryString.charAt(i) != "&")	value += queryString.charAt(i);
		else	break;
	}
	return unescape(value);
}


//Clean Message (removes any '+' char)
function cleanMsg(label) {
	var newLabel = "";
	for (var i = 0 ; i < label.length; i++)
	{
		if (label.charAt(i) == "+")
			newLabel += " ";
		else
			newLabel += label.charAt(i);
	}
	return (newLabel);
}





