/* DETECTION *****************************************************************************/
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

if (checkIt('konqueror'))
{
	browser = "konqueror";
	OS = "linux";
}
else if (checkIt('safari')) browser = "safari"
else if (checkIt('omniweb')) browser = "omniweb"
else if (checkIt('opera')) browser = "opera"
else if (checkIt('webtv')) browser = "webtv";
else if (checkIt('icab')) browser = "icab"
else if (checkIt('msie')) browser = "ie"
else if (!checkIt('compatible'))
{
	browser = "netscape"
	version = detect.charAt(8);
}
else browser = "unknown";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (checkIt('linux')) OS = "linux";
	else if (checkIt('x11')) OS = "unix";
	else if (checkIt('mac')) OS = "mac"
	else if (checkIt('win')) OS = "windows"
	else OS = "unknown";
}

function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}


var autoEntered = false;
function AutoEnter(event, target) {
    if (!autoEntered && event.keyCode == 13 &&
        !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {
        
        var defaultButton;
        if (browser!="ie") {
            defaultButton = document.getElementById(target);
        }
        else {
            defaultButton = document.all[target];
        }
        if (defaultButton && typeof(defaultButton.click) != "undefined") {
            autoEntered = true;
            defaultButton.click();
            event.cancelBubble = true;
            if (event.stopPropagation) event.stopPropagation();
            return false;
        }
    }
    return true;
}

/*******************************************/
function 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=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 swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i]);i++) var src = x.getAttribute('src'); x.setAttribute('src',x.getAttribute('osrc')); x.setAttribute('osrc',src); //x.src=x.oSrc; 
}

function findObj(n, d) { //v4.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=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swapImage() { //v3.0

  var i,j=0,x,a=swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.MM_sr[j++]=x;  x.setAttribute('osrc',x.getAttribute('src')); x.setAttribute('src',a[i+2]); }//if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
   
}

function openBrWindow(theURL,winName,features) { //v2.0

  window.open(theURL,winName,features);
}

function nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

/****************************************/
function ConfirmationMessage(msg) {
	var agree=confirm(msg);
	if(agree)
		return true;
	else
		return false;
}
/****************************************/
function DoContentRedirect(href) {
    window.location.href=href;
}
/*******************************************/
function replaceAll(str, oldstr, newstr) {
    while (str.indexOf(oldstr) != -1)
    {
        str =str.replace(oldstr,newstr)
    }
    return str
}


String.prototype.remove = function(from,to) {
	return replaceAll(this, from, to);
}


/*******************************************/
function addBookmark() {
    try {
        var oTitle, oUrl;
        var args = addBookmark.arguments;
        
        if (args.length == 2) {
            oTitle = args[0];
            oUrl = args[1];
        } 
        else if(args.length == 1) {
            oTitle = args[0];
            oUrl = window.location.href;
        }
        else {
            oTitle = document.title;
            oUrl = window.location.href;
        }

        if (window.sidebar) { 
            window.sidebar.addPanel(oTitle, url,""); 
        } 
        else if( document.all && !window.opera) {
            window.external.AddFavorite(oUrl, oTitle);
        } 
        else if( window.opera && window.print ) {
            return true;
        }
    }
    catch(e) {}
}

function DisableCtrlV(e){
    var keyCode = (e.charCode ? e.charCode : e.keyCode);
    if (e.ctrlKey && keyCode == 86) {
		return false;
    }
}
function DisableCtrlC(e){
    var keyCode = (e.charCode ? e.charCode : e.keyCode);
    if (e.ctrlKey && keyCode == 67) {
		return false;
    }
}

/* Fonction pour la redirection des languages ********************/

	function DoWebSiteCultureRedirect(item) {
		if(item!=null) {
			if(item.Value) {
				if(item.Value != "") {
					window.location.href=item.Value;
				}
			}
		}
	}

/* DynamicRequiredListValidator *****************************/
function ListValidation(sender, args) {
    var ctrl = findObj(sender.controltovalidate);
    var col = ctrl.getElementsByTagName("INPUT");
    
    if(ctrl.tagName && ctrl.tagName == "INPUT") {
        if (ctrl.checked) { 
	        args.IsValid = true;
	        return true; 
        }	
        else {
            args.IsValid = false;
        }
    }
    else {
        for (i = 0; i < col.length; i++) {
		    if (col[i].checked) { 
		        args.IsValid = true;
		        return true; 
            }	
	    }
        args.IsValid = false;
    }
	return false;
}

/* DivSmartNav ********************************************/
function GetScrollPosition(divid,inputTopID, inputLeftID) {
	findObj(inputTopID).value = findObj(divid).scrollTop;
	findObj(inputLeftID).value = findObj(divid).scrollLeft;
}

function SetScrollPosition(divid,inputTopID, inputLeftID) {
	findObj(divid).scrollTop = findObj(inputTopID).value; 
	findObj(divid).scrollLeft = findObj(inputLeftID).value; 
}

/* QUERYSTRING FUNCTIONS ***************************************/
function PageQuery(q) {
    if(q.length > 1) this.q = q.substring(1, q.length);
    else this.q = null;
    
    this.keyValuePairs = new Array();
    if(q) {
        for(var i=0; i < this.q.split("&").length; i++) {
            this.keyValuePairs[i] = this.q.split("&")[i];
        }
    }
    this.getKeyValuePairs = function() { return this.keyValuePairs; }
    this.getValue = function(s) {
        for(var j=0; j < this.keyValuePairs.length; j++) {
            if(this.keyValuePairs[j].split("=")[0].toLowerCase() == s.toLowerCase())
                return this.keyValuePairs[j].split("=")[1];
        }
        return false;
    }
    
    this.getParameters = function() {
        var a = new Array(this.getLength());
        for(var j=0; j < this.keyValuePairs.length; j++) {
            a[j] = this.keyValuePairs[j].split("=")[0];
        }
        return a;
    }

    this.getLength = function() { return this.keyValuePairs.length; } 
}

function queryString(key){
    var page = new PageQuery(window.location.search); 
    return unescape(page.getValue(key)); 
}

function displayItem(key){
    if(queryString(key)=='false') 
    {
        document.write("you didn't enter a ?name=value querystring item.");
    }else{
        document.write(queryString(key));
    }
}
/* *********************************************************************************************/

function PreloadImages() {
	for(cpt=0; cpt < arrImages.length; cpt++) {
		img = new Image();
		img.src = arrImages[cpt];
	}
}

function DropDownList(lblText, btnDrop, lstDrop) {
    this.id = "";
    this.items = new Array();
    this.Text = lblText;
    this.ButtonDrop = btnDrop;
    this.List = lstDrop;
    this.Open = false; 
    this.ButtonClick = InteractButton;
    this.SetText = TextPress;
    this.CloseList = Close;
    this.BgColorOver = "transparent";
    this.BgColorOut = "transparent";
    this.TextColorOver = "transparent";
    this.TextColorOut = "transparent";
    this.InitDropDownList = Initialize;  
}
     
function Initialize() {
     if(window.addEventListener){ // Mozilla, Netscape, Firefox
    	this.ButtonDrop.addEventListener('click', CancelClose, false);
    	this.Text.addEventListener('click', CancelClose, false);
    	this.Text.parentNode.addEventListener('click', CancelClose, false);
    	
    	this.Text.addEventListener('click', new Function(this.id+".ButtonClick();"), false);
    	this.Text.parentNode.addEventListener('click', new Function(this.id+".ButtonClick();"), false);
    	document.body.addEventListener('click', new Function(this.id+".CloseList();"), false);
    } else { // IE
	    this.ButtonDrop.attachEvent('onclick', CancelClose);
	    this.Text.attachEvent('onclick', CancelClose);
	    this.Text.parentNode.attachEvent('onclick', CancelClose);
	    this.List.attachEvent('onclick', CancelClose);
	    
	    this.Text.attachEvent('onclick', new Function(this.id+".ButtonClick();"));
	    this.Text.parentNode.attachEvent('onclick', new Function(this.id+".ButtonClick();"));
	    document.body.attachEvent('onclick', new Function(this.id+".CloseList();"));
    }
    
    tags = this.List.getElementsByTagName("li");
    for(cpt=0; cpt < tags.length; cpt++) {
        try {
            var oLi = tags[cpt];
            if(oLi.getAttribute("value") != "#") {
                oLi.onmouseover = new Function('this.style.backgroundColor = "'+this.BgColorOver+'"; this.style.color = "'+this.TextColorOver+'";');
                oLi.onmouseout = new Function('this.style.backgroundColor = "'+this.BgColorOut+'"; this.style.color = "'+this.TextColorOut+'";');
            }
        }
        catch(e) {
            alert(e.message);
        }
    }
}             
     
function Close() {
   this.List.style.display = "none";
   this.Open = false;
   
}

function CancelClose(evt) {
    var myEvent = evt || window.event;    
    myEvent.cancelBubble = true;
} 
function InteractButton() {
    if(this.Open) {
        this.List.style.display = "none";
        this.Open = false;
    }
    else {
        this.List.style.display = "";
        this.Open = true;
    }
}

function TextPress(element) {
    var url;
    if(element.target) {
        url = element.target.getAttribute("value");
        if(url != "#")
            this.Text.innerHTML = element.target.innerHTML;
    }
    else {
        url = window.event.srcElement.getAttribute("value");
        if(url != "#")
            this.Text.innerHTML = window.event.srcElement.innerHTML;
    }
    
    if(url == "#")
        return false;
       
    if(url != null)
        window.location.href = url;
        
    return true;
       
}
        
function ListItem(value,target) {
    this.value = value;
    this.target = target;
}
        
function ExpandCollapseSubSelectedRow(rowObject)
{
    if(this.Rows[rowObject.Index+1].Control.style.display == 'none')
    {
        this.Rows[rowObject.Index+1].Control.style.display = '';
    }
    else
    {
        this.Rows[rowObject.Index+1].Control.style.display = 'none';
    }
}