function openWithSelfMain(url,name,width,height) {
	
	var options = "width=" + width + ",height=" + height + "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no";

	new_window = window.open(url, name, options);
	window.self.name = "main";
	new_window.focus();
}

function ixpGetElementById(id) {

	if (document.getElementById) {
		return (document.getElementById(id));
	} else if (document.all) {
		return (document.all[id]);
	} else {
		if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) {
			return (document.layers[id]);
		}
	}
}

function TodayDate( lang ) {

	if (lang=='french')	{
		d = new Array( 'Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
		m = new Array( 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
	} else {
		d = new Array( 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
		m = new Array( 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	}
	today = new Date();
	day = today.getDate();
	year = today.getYear();

	if (year < 2000)
		year = year + 1900; 
	return (d[today.getDay()] + " "+ day + " "+ m[today.getMonth()] + " "+ year);
}

function showImgSelected(imgId, selectId, imgDir) {
	imgDom = ixpGetElementById(imgId);
	selectDom = ixpGetElementById(selectId);
	imgDom.src = imgDir + "/" + selectDom.options[selectDom.selectedIndex].value;
}

function autoclose() {
	window.opener.history.go(0);
	window.close();
	//window.history.go(0);
	//window.location.reload();
}

/* http://chroder.com */
function toggleCollapseState(id) {
    var obj = ixpGetElementById(id);

    if(!obj) {
        return false;
	}

    if(obj.style.display == 'none') {
        var state = 1;
        obj.style.display = '';
    } else {
        var state = 0;
        obj.style.display = 'none';
    }

    saveCollapseState(id, state);

    return true;
}

function saveCollapseState(id, state) {

    var cookie = readCookie('collapseState');

    if(!cookie) {
        cookie = '';
	}

    var search = new RegExp('(' + id + ')=([01]{1}),');

    if(search.test(cookie)) {
        cookie = cookie.replace(search, '$1$2=' + state + ',');
	} else {
		cookie += id + '=' + state + ',';
	}
	cookie = cookie.replace(/==/g,"=");	/*trollix*/
    setCookie('collapseState', cookie, new Date('January 1, 2020'));
}


function setCookie(name, value, expires, domain, path) {
    //------------------------------
    // Build expiry
    //------------------------------
    // Date object
    if(expires.toGMTString)
        expires = '; expires=' + expires.toGMTString();

    // Integer, assume its number of days
    else if(typeof(expires) == 'integer')
    {
        var date = new Date();
		date.setTime( date.getTime() + (expires * 86400) );
		expires = '; expires=' + date.toGMTString();
    }

    // Session cookie
    else
        expires = '';


    //------------------------------
    // Build domain
    //------------------------------
    if(domain)
        domain = '; domain=' + domain;
    else
        domain = '';


    //------------------------------
    // Build path
    //------------------------------
    if(path)
        path = '; path=' + path;
    else
        path = '; path=/';


    //------------------------------
    // Make cookie
    //------------------------------
    document.cookie = name + '=' + escape(value) + expires + domain + path;
}


function readCookie(name) {
    var doc_cookies = document.cookie.split(';');
    search = name + '=';

    for(var i = 0; i < doc_cookies.length; i++)
    {
        cookie = doc_cookies[i];

        if(cookie.indexOf(search) != -1)
            return unescape(cookie.substring(search.length));
    }

    return null;
}

function addListener(element, baseName, handler) {
    if (element.addEventListener)
        element.addEventListener(baseName, handler, false);
    else if (element.attachEvent)
        element.attachEvent('on' + baseName, handler);
} // addListener
