﻿
var cookieName = "MASTERSITEBO";
var separator  = "_";
var initValue = "init";

/********************************************************************
 * 
 *							DIV MANAGEMENT
 *
/*********************************************************************/

onload = checkDivVisibility;

function checkDivVisibility()
{    				
    var divList = null;
    divList = LireCookie(cookieName);

    if(divList != null)
    {				
        if(divList.indexOf(separator)!= -1)
        {
            var div_array = divList.split(separator);
            var i = 0;
            while (i < div_array.length)
            {
                if(div_array[i] != initValue) 
                    hideDiv(div_array[i]);
                i++;
            }
        }	 				
    }
    else
    {
        EcrireCookie(cookieName, initValue, GetCookieDate());
    }    
}

function AddDivToCookie(divName)
{
    var divList = LireCookie(cookieName);
    if(divList != null)
    { 
        divList = divList.replace(initValue, "");
        if(divList.indexOf(divName + separator) == -1)
            divList += divName + separator;
        EcrireCookie(cookieName, divList, GetCookieDate());
    }
}

function RemoveDivFromCookie(divName)
{
    var divList = LireCookie(cookieName);
    if( divList != null)
    {
        divList = divList.replace(divName + separator, "");
        EcrireCookie(cookieName, divList, GetCookieDate());
    }
}

function hideDiv(divID)
{
    if (document.getElementById(divID) != null)
    {
        document.getElementById(divID).style.display = 'none';
        AddDivToCookie(divID);
    }
    return false;
}

function showDiv(divID)
{
    if (document.getElementById(divID) != null)
    {
        document.getElementById(divID).style.display = 'block';
        RemoveDivFromCookie(divID);
    }
    return false;
}

function HideOrShow(element)
{
	if(document.getElementById(element) != null)
	{
	    if(navigator.appName == "Microsoft Internet Explorer")
	    {
	        if(document.getElementById(element).style.display == 'none')
            {
                document.getElementById(element).style.display = 'block';
            }							 
            else if(document.getElementById(element).style.display == 'block')
            {
                document.getElementById(element).style.display = 'none';
            }
	    }
	    else
	    {
            if(document.getElementById(element).style.display == 'none')
            {
                document.getElementById(element).style.display = 'table';
            }							 
            else if(document.getElementById(element).style.display == 'table')
            {
                document.getElementById(element).style.display = 'none';
            }
        }
	}
}

/*********************************************************************
 * 
 *							COOKIE MANAGEMENT
 *
/*********************************************************************/

function GetCookieDate()
{
    date = new Date;
    date.setMonth(date.getMonth()+6);
    return date;
}


function EcrireCookie(nom, valeur)
{
   var argv = EcrireCookie.arguments;
   var argc = EcrireCookie.arguments.length;
   var expires = (argc > 2) ? argv[2] : null;
   var path = (argc > 3) ? argv[3] : null;
   var domain = (argc > 4) ? argv[4] : null;
   var secure = (argc > 5) ? argv[5] : false;
   document.cookie = nom + "=" + escape(valeur)+
      ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
      ((path==null) ? "" : ("; path="+path))+
      ((domain==null) ? "" : ("; domain="+domain))+
      ((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1) 
    endstr=document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}

function LireCookie(nom)
{
    var arg = nom + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i<clen)
    {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) 
            return getCookieVal(j);
        i = document.cookie.indexOf(" ",i) + 1;
        if (i==0) 
            break;
    }
    return null;
}

/*********************************************************************
 * 
 *					    TABLE DISPLAY MANAGEMENT
 *
/*********************************************************************/
function expandcollapse(linkId)
{   
    expression = new RegExp("^" + linkId + "$");
    expressionFind_ = new RegExp("_");
    bool = false;
    for(i=0 ; i < document.getElementsByTagName("tr").length ; i++)
    {
        if(expression.test(document.getElementsByTagName("tr")[i].id))
        {
            if($(document.getElementsByTagName("tr")[i]).css("display") == "none")
            {
                if(jQuery.browser.msie)
		        {
			        $(document.getElementsByTagName("tr")[i]).css('display', 'block');
		        }
		        else
		        {
			        $(document.getElementsByTagName("tr")[i]).css('display', 'table-row');
		        }
		        document.getElementById(linkId).innerHTML = '-';
            }
            else
	        {
	            if(!expressionFind_.test(linkId))
	            {
	                bool = true;
	            }
		        $(document.getElementsByTagName("tr")[i]).css("display", "none");		
		        document.getElementById(linkId).innerHTML = '+';
	        }
        }
    }
    
    if(bool)
    {
        expression = new RegExp("^" + linkId + "_");
        for(i=0 ; i < document.getElementsByTagName("tr").length ; i++)
        {
            if(expression.test(document.getElementsByTagName("tr")[i].id))
            {
	            $(document.getElementsByTagName("tr")[i]).css("display", "none");		
	            document.getElementById(document.getElementsByTagName("tr")[i].id).innerHTML = '+';
            }
        }
    }
}

/*function expandcollapse(linkId, level)
{     
    var lvl = "tr[@id^='" + level + '_' + "']";
	
	
	if ($(lvl).css('display') == 'none')
	{	
		if(jQuery.browser.msie)
		{
			$(lvl).css('display', 'block');
		}
		else
		{
			$(lvl).css('display', 'table-row');
		}
		
		document.getElementById(linkId).innerHTML = '-';
	}
	else
	{
		$(lvl).css('display', 'none');		
		document.getElementById(linkId).innerHTML = '+';
	}
}*/

/*********************************************************************
 * 
 *							CHECKBOX MANAGEMENT
 *
/*********************************************************************/
function ToggleCheckBoxes(checkallid,ids)
{
    var checkAll = document.getElementById(checkallid);
    if (checkAll.checked)
    {
        for (var i = 0 ; i < ids.length ; ++i)
        {
            document.getElementById(ids[i]).checked = true;
        }
    }
    else if (!checkAll.checked)
    {    
        for (var i = 0 ; i < ids.length ; ++i)
        {
            document.getElementById(ids[i]).checked = false;
        }
    }
}

function GridviewCheckBoxes(checkId, checkAllId)
{
    if (!document.getElementById(checkId).checked)
        document.getElementById(checkAllId).checked = false;
}
