/*
	################
*/

// JScript File
var popwin = null;

function openPopup(popupURL, popupParams) { 
    // vorhandenes Fenster schließen
    if (popwin != null && !popwin.closed) {
        popwin.close();
    }
    var myParams = new Object();
    // Parameter auslesen
    if (popupParams != null && popupParams.length > 0) {
        var arrParams = popupParams.split(",");
        for (var i=0; i<arrParams.length; i++) {
            var keyValue = arrParams[i].split("=");
            myParams[keyValue[0]] = keyValue[1];
        }
    }
    // Parameter checken und parsen
    if (!myParams["locationbar"]) myParams["locationbar"] = "yes";
    if (!myParams["directories"]) myParams["directories"] = "no";
    if (!myParams["status"]) myParams["status"] = "no";
    if (!myParams["menubar"]) myParams["menubar"] = "no";
    if (!myParams["resizable"]) myParams["resizable"] = "no";
    if (!myParams["scrollbars"]) myParams["scrollbars"] = "no";
    if (!myParams["width"]) myParams["width"] = screen.width/2;
    if (!myParams["height"]) myParams["height"] = screen.height/2;
    if (!myParams["left"]) myParams["left"] = (screen.width - myParams["width"]) / 2;
    if (!myParams["top"]) myParams["top"] = (screen.height - myParams["height"]) / 2;
    var parsedParams = "";
    for (var myKey in myParams) {
        parsedParams += myKey + "=" + myParams[myKey] + ",";
    }
    
	popwin = window.open(popupURL,"RCPopup",parsedParams);
	popwin.focus();
}

function alignControl(alignToControl, toAlignControl, padding_left, padding_top) {
    var aControl = getControlObject(alignToControl); ;    
    var taControl = getControlObject(toAlignControl);
     //    
    taControl.style.left = getPosition(aControl).x + padding_left;
    taControl.style.top = getPosition(aControl).y + padding_top;
}

var zeit = '';

function setCurrentTimeout(functionName, timeout) {
	zeit = setTimeout(functionName, timeout);
}

function clearCurrentTimeout() {
	clearTimeout(zeit);
}

function toggleVisibility(cId) {
    var controlObj = getControlObject(cId);
    if(controlObj != null) {
		if(controlObj.style.display == "none") {
			controlObj.style.display = "block";                
		} else {
	        controlObj.style.display = "none";
	    }
	}
}
        
function setInnerHtml(controlId, value) {
     controlId = getRealControlId(controlId);    
     var controlObj = document.getElementById(controlId);
     if(controlObj != null) {
        controlObj.innerHTML = value;
     }
}

function setValue(controlId, value) {
     controlId = getRealControlId(controlId);    
     var controlObj = document.getElementById(controlId);
     if(controlObj != null) {
        controlObj.value = value;
     }
}

function toggleValue(controlId, value1, value2) {
     var controlObj = getControlObject(controlId);    
     if(controlObj != null) {
        if(controlObj.value == value1) {
            controlObj.value = value2;
        } else {
            controlObj.value = value1;
        }
     }
}

function clearNode(controlId) {
	var controlObj = getControlObject(controlId);	
	if(controlObj != null) {
		controlObj.innerHTML = '';
	}
}

function closeLayer(controlId) {
    setControlVisibility(controlId, false);
}

function setControlVisibility(controlId, show) {  	   
	var cControl = getControlObject(controlId);   	   
    if(cControl != null) {		
 		//     
		var display = "none"
		if(show == true) {
			display = "block";   
		} 
		//
		if (document.getElementById) { // DOM3 = IE5, NS6
			cControl.style.display = display;			
		}
	}
}

function getControlObject(controlIdOrObj) {
    if(controlIdOrObj.nodeType == undefined) {
        controlIdOrObj = getRealControlId(controlIdOrObj);
        controlIdOrObj = document.getElementById(controlIdOrObj);
    }  
    return controlIdOrObj;
}

function getRealControlId(controlId) {
    var controlObj = document.getElementById(controlId);
    if(controlObj != null) {
        return controlId;
    }
    controlId = replaceAll(controlId, ":", "_");
	controlObj = document.getElementById(controlId);
	if(controlObj != null) {
		return controlId;
	}	
    return replaceAll(controlId, "$", "_");
}

function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );
    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
    }
    return str;
}

/* 
   der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element 
 */
function getPosition(element) {
    var elem=element,tagname="",x=0,y=0;  
    /* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
    wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
    while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")) {
        y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
        x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
        tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

    /* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
    if (tagname=="BODY")
        elem=0;

    /* wenn elem ein Objekt ist und offsetParent enthaelt
    Offset-Elternelement ermitteln */
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
    }

    /* Objekt mit x und y zurueckgeben */
    position=new Object();
    position.x=x;
    position.y=y;
    return position;
}

function preloadImage(img_url) {
	imgObj 		= new Image(62,16);
	imgObj.src 	= img_url;
}

function setImage(controlId, imgUrl) {
	var controlObj = getControlObject(controlId);
    if(controlObj != null) {
        controlObj.src = imgUrl;
        return true;
    }
    return false;
}

function toggleImage(controlId, imgUrl1, imgUrl2) {
     var controlObj = getControlObject(controlId);      
     if(controlObj != null) {
         if(controlObj.src.indexOf(imgUrl2) > -1) {
            return setImage(controlObj, imgUrl1);
         }
         return setImage(controlObj, imgUrl2);
     }
     return false;
}

function compareImageUrl(controlId, imageUrl) {
	var controlObj = getControlObject(controlId); 
    if(controlObj != null) {
        if(controlObj.src.indexOf(imageUrl) > -1) {
           return true;
        }
    }
    return false;
}

function isCookieEnabled() {
	if(typeof navigator.cookieEnabled != 'undefined') {
		return navigator.cookieEnabled;
	}
    document.cookie = "name=cookie_enabled;"
    cookieEnabled = (document.cookie.indexOf("cookie_enabled") != -1) ? true : false
    return cookieEnabled;
}
