// JavaScript Document

var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer>=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror"||browserName=="Opera"){version="n3";}else{version="n2";}

function blurLink(theObject){if(msie4){theObject.blur();}}

function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}
return String.fromCharCode(n);}

function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}
return dec;}

function linkTo_UnCryptMailto(s){location.href=decryptString(s,-4);}

<!--//--><![CDATA[//><!--
sfHover = function() {
	var sfEls = document.getElementById("nav-main-content").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]>

<!--//--><![CDATA[//><!--
sfHover = function() {
	var sfEls = document.getElementById("nav-secondary-content").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]>




//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

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 get_SWFObject(argObj, argElementId)
{
	var _str = '';
	var _quality = null
	var _params = '';

	if(argObj.movie != 'undefined' && argObj.width != 'undefined' && argObj.height != 'undefined')
	{
		_quality = argObj.quality ? argObj.quality : 'high';

		_url = argObj.movie;
		if(argObj.clickTag != undefined)
		{
			_url += '?clicktag=' + escape(argObj.clickTag);
			if(argObj.targetTag != undefined) _url += '&targetTag=' + escape(argObj.targetTag);
		}
		
		_codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0';
		
		if(argObj.codebase != undefined)
		{
			_codebase = argObj.codebase;
		}
			
		_str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="' + _codebase + '" width="' + argObj.width + '" height="' + argObj.height + '"';
		
		if(argObj.id != undefined)
		{
			_str += ' id="' + argObj.id + '"';
		}


		if(argObj.name != undefined)
		{
			_str += ' name="' + argObj.name + '"';
		}
		
		if(argObj.title != undefined)
		{
			_str += ' title="' + argObj.title + '"';
		}

		if(argObj.align != undefined)
		{
			_str += ' align="' + argObj.align + '"';
			_params += ' align="' + argObj.align + '"';
		}
		
		_str += '>\n';

		_str += '<param name="movie" value="' + _url + '" />\n';
		_str += '<param name="quality" value="' + _quality + '" />\n';

		if(argObj.wmode != undefined)
		{
			_str += '<param name="wmode" value="' + argObj.wmode + '" />\n';
			_params += ' wmode="' + argObj.wmode + '"';
		}
		
		if(argObj.flashvars != undefined)
		{
			_str += '<param name="flashvars" value="' + argObj.flashvars + '" />\n';
			_params += ' flashvars="' + argObj.flashvars + '"';
		}
		
		if(argObj.bgcolor != undefined)
		{
			_str += '<param name="bgcolor" value="' + argObj.bgcolor + '" />\n';
			_params += ' bgcolor="' + argObj.bgcolor + '"';
		}

		if(argObj.allowScriptAccess != undefined)
		{
			_str += '<param name="allowScriptAccess" value="' + argObj.allowScriptAccess + '" />\n';
			_params += ' allowScriptAccess="' + argObj.allowScriptAccess + '"';
		}
		
		if(argObj.allowFullScreen != undefined)
		{
			_str += '<param name="allowFullScreen" value="' + argObj.allowFullScreen + '" />\n';
			_params += ' allowFullScreen="' + argObj.allowFullScreen + '"';
		}	

		if(argObj.menu != undefined)
		{
			_str += '<param name="menu" value="' + argObj.menu + '" />\n';
			_params += ' menu="' + argObj.menu + '"';
		}

		_str += '<embed src="' + _url + '" quality="' + _quality + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + argObj.width + '" height="' + argObj.height + '"' + _params + '></embed>\n';
		
		
		_str += '</object>';
		
		document.getElementById(argElementId).innerHTML = _str;
	}
}


function checkFormThickbox(argObj)
{
	var _form = argObj;
	var _href = $(argObj).attr('action');

	var _params = {};
	
	_params['url'] = _href;

	for(var i = 0; i < _form.length; i++)
	{
		if(_form.elements[i].name != undefined)
		{
			var _key = unescape(_form.elements[i].name);
			var _val = unescape(_form.elements[i].value);
			
			_params[_key] = _val;
		}
	}
	
	$('#TB_ajaxContent').load(_href, _params, function() {
		//tb_show('', $(argObj).attr('action'),'');
	});
	
	return false;	
}


function removeThickBoxEvents()
{
	$('.thickbox').each(function(i) {
		$(this).unbind('click');
	});
}

function bindThickBoxEvents()
{
	removeThickBoxEvents();
	tb_init('a.thickbox, area.thickbox, input.thickbox');
}



// Impression:
function launchPrint(table, uid, bP)
{
	var path = bP ? bP : '';
	var thePreviewWindow = '';
	
	if(path.indexOf('?') != -1)
	{
		path += '&';
	}
	else
	{
		path += '?';
	}
	
	path += 'print=1';
	
	thePreviewWindow = window.open(path, "ShowItem", "height=800,width=620,status=0,menubar=0,resizable=1,location=0,directories=0,scrollbars=1,toolbar=0");
	
	if (thePreviewWindow && thePreviewWindow.focus)
	{
		thePreviewWindow.focus();
	}
}



function openBlankUrl(argForm)
{
	if(argForm.selectannuaire.value != '')
	{
		//alert(varListeItem.selectannuaire.value);
		//document.location.href=varListeItem.selectannuaire.value;
		window.open(argForm.selectannuaire.value, '', '');
	}
	
	return false;
}


//launchView de bdsjeux_pi1
function launchView3(table,uid,bP)
{	
	var path= bP ? bP : "";
	var thePreviewWindow="";
	thePreviewWindow = window.open(path,"ShowItem","height=600,width=800,status=0,menubar=0,resizable=1,location=0,directories=0,scrollbars=1,toolbar=0");
	if (thePreviewWindow && thePreviewWindow.focus)
	{
		thePreviewWindow.focus();
	}
}


// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj)
{
	var flag = false;
	
	if (obj!=null && obj.options!=null) { flag = true; }
	
	return flag;
}

// -------------------------------------------------------------------
// selectUnselectMatchingOptions(select_object,regex,select/unselect,true/false)
//  This is a general function used by the select functions below, to
//  avoid code duplication
// -------------------------------------------------------------------
function selectUnselectMatchingOptions(obj,regex,which,only) {
	if (window.RegExp) {
		if (which == "select") {
			var selected1=true;
			var selected2=false;
			}
		else if (which == "unselect") {
			var selected1=false;
			var selected2=true;
			}
		else {
			return;
			}
		var re = new RegExp(regex);
		if (!hasOptions(obj)) { return; }
		for (var i=0; i<obj.options.length; i++) {
			if (re.test(obj.options[i].text)) {
				obj.options[i].selected = selected1;
				}
			else {
				if (only == true) {
					obj.options[i].selected = selected2;
					}
				}
			}
		}
	}
		
// -------------------------------------------------------------------
// selectMatchingOptions(select_object,regex)
//  This function selects all options that match the regular expression
//  passed in. Currently-selected options will not be changed.
// -------------------------------------------------------------------
function selectMatchingOptions(obj,regex) {
	selectUnselectMatchingOptions(obj,regex,"select",false);
	}
// -------------------------------------------------------------------
// selectOnlyMatchingOptions(select_object,regex)
//  This function selects all options that match the regular expression
//  passed in. Selected options that don't match will be un-selected.
// --------------------------------------------A-----------------------
function selectOnlyMatchingOptions(obj,regex) {
	selectUnselectMatchingOptions(obj,regex,"select",true);
	}
// -------------------------------------------------------------------
// unSelectMatchingOptions(select_object,regex)
//  This function Unselects all options that match the regular expression
//  passed in. 
// -------------------------------------------------------------------
function unSelectMatchingOptions(obj,regex) {
	selectUnselectMatchingOptions(obj,regex,"unselect",false);
	}
	
// -------------------------------------------------------------------
// sortSelect(select_object)
//   Pass this function a SELECT object and the options will be sorted
//   by their text (display) values
// -------------------------------------------------------------------
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);
		}
	}

// -------------------------------------------------------------------
// selectAllOptions(select_object)
//  This function takes a select box and selects all options (in a 
//  multiple select object). This is used when passing values between
//  two select boxes. Select all options in the right box before 
//  submitting the form so the values will be sent to the server.
// -------------------------------------------------------------------
function selectAllOptions(obj) {
	if (!hasOptions(obj)) { return; }
	for (var i=0; i<obj.options.length; i++) {
		obj.options[i].selected = true;
		}
	}
	
// ----------A---------------------------------------------------------
// moveSelectedOptions(select_object,select_object[,autosort(true/false)[,regex]])
//  This function moves options between select boxes. Works best with
//  multi-select boxes to create the common Windows control effect.
//  Passes all selected values from the first object to the second
//  object and re-sorts each box.
//  If a third argument of 'false' is passed, then the lists are not
//  sorted after the move.
//  If a fourth string argument is passed, this will function as a
//  Regular Expression to match against the TEXT or the options. If 
//  the text of an option matches the pattern, it will NOT be moved.
//  It will be treated as an unmoveable option.
//  You can also put this into the <SELECT> object as follows:
//    onDblClick="moveSelectedOptions(this,this.form.target)
//  This way, when the user double-clicks on a value in one box, it
//  will be transferred to the other (in browsers that support the 
//  onDblClick() event handler).
// -------------------------------------------------------------------
function moveSelectedOptions(from,to)
{
	// Unselect matching options, if required
	if (arguments.length > 3)
	{
		var regex = arguments[3];
		
		if (regex != "")
		{
			unSelectMatchingOptions(from,regex);
		}
	}
	
	// Move them over
	if (!hasOptions(from)) { return; }
	
	for (var i=0; i<from.options.length; i++)
	{
		var o = from.options[i];
		
		if (o.selected)
		{
			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
			to.options[index] = new Option( o.text, o.value, false, false);
		}
	}
	
	// Delete them from original
	for (var i=(from.options.length-1); i>=0; i--)
	{
		var o = from.options[i];
		
		if (o.selected)
		{
			from.options[i] = null;
		}
	}
	
	if ((arguments.length<3) || (arguments[2]==true))
	{
		sortSelect(from);
		sortSelect(to);
	}
	
	from.selectedIndex = -1;
	to.selectedIndex = -1;
}

// ---------------------------------------A----------------------------
// copySelectedOptions(select_object,select_object[,autosort(true/false)])
//  This function copies options between select boxes instead of 
//  moving items. Duplicates in the target list are not allowed.
// -------------------------------------------------------------------
function copySelectedOptions(from,to)
{
	var options = new Object();
	
	if (hasOptions(to))
	{
		for (var i=0; i<to.options.length; i++)
		{
			options[to.options[i].value] = to.options[i].text;
		}
	}
	
	if (!hasOptions(from)) { return; }
	
	for (var i=0; i<from.options.length; i++)
	{
		var o = from.options[i];
		
		if (o.selected)
		{
			if (options[o.value] == null || options[o.value] == "undefined" || options[o.value]!=o.text)
			{
				if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				to.options[index] = new Option( o.text, o.value, false, false);
			}
		}
	}
	
	if ((arguments.length<3) || (arguments[2]==true))
	{
		sortSelect(to);
	}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
}

// -------------------------------------------------------------------
// moveAllOptions(select_object,select_object[,autosort(true/false)[,regex]])
//  Move all options from one select box to another.
// -------------------------------------------------------------------
function moveAllOptions(from,to) {
	selectAllOptions(from);
	if (arguments.length==2) {
		moveSelectedOptions(from,to);
		}
	else if (arguments.length==3) {
		moveSelectedOptions(from,to,arguments[2]);
		}
	else if (arguments.length==4) {
		moveSelectedOptions(from,to,arguments[2],arguments[3]);
		}
	}

// -------------------------------------------------------------------
// copyAllOptions(select_object,select_object[,autosort(true/false)])
//  Copy all options from one select box to another, instead of
//  removing items. Duplicates in the target list are not allowed.
// -------------------------------------------------------------------
function copyAllOptions(fArom,to) {
	selectAllOptions(from);
	if (arguments.length==2) {
		copySelectedOptions(from,to);
		}
	else if (arguments.length==3) {
		copySelectedOptions(from,to,arguments[2]);
		}
	}

// -------------------------------------------------------------------
// swapOptions(select_object,option1,option2)
//  Swap positions of two options in a select list
// -------------------------------------------------------------------
function swapOptions(obj,i,j) {
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[i] = temp2;
	o[j] = temp;
	o[i].selected = j_selected;
	o[j].selected = i_selected;
	}
	
// -------------------------------------------------------------------
// moveOptionUp(select_object)
//  Move selected option in a select list up one
// -------------------------------------------------------------------
function moveOptionUp(obj) {
	if (!hasOptions(obj)) { return; }
	for (i=0; i<obj.options.length; i++) {
		if (obj.options[i].selected) {
			if (i != 0 && !obj.options[i-1].selected) {
				swapOptions(obj,i,i-1);
				obj.options[i-1].selected = true;
				}
			}
		}
	}

// -------------------------------------------------------------------
// moveOptionDown(select_object)
//  Move selected option in a select list down one
// -------------------------------------------------------------------
function moveOptionDown(obj) {
	if (!hasOptions(obj)) { return; }
	for (i=obj.options.length-1; i>=0; i--) {
		if (obj.options[i].selected) {
			if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {
				swapOptions(obj,i,i+1);
				obj.options[i+1].selected = true;
				}
			}
		}
	}

// -------------------------------------------------------------------
// removeSelectedOptions(select_object)
//  Remove all selected options from a list
//  (Thanks to AGene Ninestein)
// -------------------------------------------------------------------
function removeSelectedOptions(from) { 
	if (!hasOptions(from)) { return; }
	if (from.type=="select-one") {
		from.options[from.selectedIndex] = null;
		}
	else {
		for (var i=(from.options.length-1); i>=0; i--) { 
			var o=from.options[i]; 
			if (o.selected) { 
				from.options[i] = null; 
				} 
			}
		}
	from.selectedIndex = -1; 
	} 

// -------------------------------------------------------------------
// removeAllOptions(select_object)
//  Remove all options from a list
// -------------------------------------------------------------------
function removeAllOptions(from)
{ 
	if (!hasOptions(from)) { return; }
	
	for (var i=(from.options.length-1); i>=0; i--)
	{ 
		from.options[i] = null; 
	}
	
	from.selectedIndex = -1; 
} 

// -------------------------------------------------------------------
// addOption(select_object,display_text,value,selected)
//  Add an option to a list
// -------------------------------------------------------------------
function addOption(obj,text,value,selected)
{
	if (obj!=null && obj.options != null)
	{
		obj.options[obj.options.length] = new Option(text, value, false, selected);
	}
}


function saveSelectOptions(from, to)
{
	var str = '';
	
	if (from != null && from.options != null)
	{
		
		for (i=0; i < from.options.length; i++)
		{
			if(str != '') str += ',';
			str += from.options[i].value;
		}
	}
	
	to.value = str;
}