/*
			djConfig="parseOnLoad: true, isDebug: true"

		    dojo.require("dojo.event.*");
		    dojo.require("dojo.widget.*");
*/	    
			//dojo.require("dojo.debug.console"); // firebug integration

		    var classDelayed_Timeout=null;
		    var classDelayed_Toobj=null;
		    var classDelayed_Clazz=null;
		    var classDelayed_Delay=0;
		    
		    var pathFollowed = "";
		    
function getToTarget(e) {
    pathFollowed += "entered getToTarget\n";
    var rel = null;
    pathFollowed += "e="+e+"\n";
    if (!e.toElement) {
        if (e.type == "mouseout")
            rel = e.relatedTarget;
        else if (e.type == "mouseover")
            rel = e.target;
    } else {
        rel = e.toElement;
    }
    pathFollowed += "exiting getToTarget with rel="+rel+"\n";
    return rel;
}

function getToClass(e){
    pathFollowed += "entered getToClass\n";
    var rel = getToTarget(e);
    if (rel)
        rel = rel.className;
    pathFollowed += "exiting getToClass with rel="+rel+"\n";
    return rel;
}

function getEvent(e){
    if (!e)
        e=window.event;
    return e;
}

function clearClassDelayed(e) {
    pathFollowed += "entered clearClassDelayed\n";
    e = getEvent(e);
    var clazz=getToClass(e);
    if (clazz=="balloon" || clazz=="description_enlarged") {
        pathFollowed += "exiting clearClassDelayed without doing anything with clazz="+clazz+"\n";
        return;
    }
    if (classDelayed_Timeout) {
        clearTimeout(classDelayed_Timeout);
        classDelayed_Timeout=null;
    }
    if (classDelayed_Toobj) {
        if (classDelayed_Delay == 0) {
            //window.alert("i");
            classDelayed_Toobj.className=classDelayed_Clazz;
            classDelayed_Toobj = null;
        } else {
            //window.alert("d");
            classDelayed_Timeout = setTimeout("classDelayed_Toobj.className='"+classDelayed_Clazz+"';", classDelayed_Delay);
        }
        classDelayed_Delay=0;
    }
    pathFollowed += "exiting clearClassDelayed processed with clazz="+clazz+"\n";
}

function setClassDelayed(e, o, clazz1, clazz2, t) {
    e = getEvent(e);
    pathFollowed += "entered setClassDelayed\n";
    //window.alert("s");
    clearClassDelayed(e);
    classDelayed_Toobj=o;
    classDelayed_Clazz=clazz2;
    classDelayed_Delay=t;
    classDelayed_Timeout = setTimeout("classDelayed_Toobj.className='"+clazz1+"';", t);
    pathFollowed += "exiting setClassDelayed\n";
}

function debugSetClassDelayed(evt, o, clazz1, clazz2, t) {
    pathFollowed="";
    try {
        setClassDelayed(evt, o, clazz1, clazz2, t);
    } catch (e) {
        window.alert("An exception occurred in setClassDelayed.\n Error name: " + e.name + ".\n Error message: " + e.message + ".\n Path followed:\n"+pathFollowed); 
        return;
    }
    window.alert(pathFollowed);
}

function debugClearClassDelayed(evt) {
    pathFollowed="";
    try {
        clearClassDelayed(evt);
    } catch (e) {
        window.alert("An exception occurred in clearClassDelayed.\n Error name: " + e.name + ".\n Error message: " + e.message + ".\n Path followed:\n"+pathFollowed); 
        return;
    }
    window.alert(pathFollowed);
}

function setClassOfNextSibling(o, newClass) {
	//console.debug("Class name of next sibling is to be: " +  newClass);
	//console.debug("Class name of next sibling is: " +  o.nextSibling.className);
	if (o.nextSibling.nextSibling)
		o.nextSibling.nextSibling.className=newClass; // Firefox2 has the #text in the div as nextSibling, and then only the div
	else
		o.nextSibling.className=newClass; //Whereas IE7 is ganz korrekt!
	//console.debug("Class name of next sibling changed to: " +  o.nextSibling.className);
}

//add by lal 20080727
function setStyleId(id,mode) {
	document.getElementById(id).style.display=mode;
}

function toggleStyleId(id) {
	if(document.getElementById(id).style.display=="block")
	{
	document.getElementById(id).style.display="none";
	}
	else
	{
	document.getElementById(id).style.display="block";
	}
}

