function nop()
{
    return false;
}

function displayStaticMessage(messageContent,cssClass,width,height)
{
if(width==undefined)
		width="300";
	if(height==undefined)
		height="150";
	messageObj.setHtmlContent(messageContent);
	messageObj.setSize(width,height);
	messageObj.setCssClassMessageBox(cssClass);
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	messageObj.display();


}



var messageObj;

function displayMessage(url, width, height,modal,name,title) {
    if (width == undefined)
        width = 400;
    if (height == undefined)
        height = 300;
    if (modal == undefined)
        modal = false;
    if (name == undefined)
        name = 'biobsPopupWin';
    if (title == undefined)
        title = '';
   
    var oManager = GetRadWindowManager();
    var messageObj = oManager.open(url, name);
    messageObj.setSize(width , height);
    //messageObj.setUrl(url);
    messageObj.set_modal(modal);
    messageObj.set_title(title);
    messageObj.center();
    m_bNeedReload = false;
}

var m_bChangedFlag = false;
function SetChangedFlag()
{
    m_bChangedFlag=true;
}
function ClearChangedFlag()
{
    m_bChangedFlag=false;
}
function HasChanged() {
    return m_bChangedFlag;
}
var m_bNeedReload = false;
function SetReloadFlag() {
    m_bNeedReload = true;
}
function ClearReloadFlag() {
    m_bNeedReload = false;
}

function closeMessage(reload,name)
{
    var oManager = GetRadWindowManager();
    //Get an existing window DialogWindow using getWindowByName
    if (name == undefined)
        name = 'biobsPopupWin';
    var oWnd = oManager.getWindowByName(name);
    if (oWnd != null)
        oWnd.close();
	if(reload==true)
    	document.location.reload();	
}

function closeMessageChanged()
{
    alert(m_bChangedFlag);
    if(m_bChangedFlag==true)
        askYesNo("Die Änderungen nicht speichern?",closeMessage);
    else
    	messageObj.close();	
}


function askYesNo(str,callBack,cls)
{
    if(cls==undefined)
        cls='prompt';
//    var txt='<div align="center" class="' + cls + '"><br><br><h2>' + str + '</h2><p><input type="button" class="btnpopup" onclick="' + callBack + '";return false;" value="OK">&nbsp;&nbsp;&nbsp;<input type="button" class="btnpopup" onclick="closeMessage();return false" value="Abbrechen"></div>';
    radconfirm(str, callBack); 
    
  //  displayStaticMessage(txt, null, 300, 160);
    
    
    
}

function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
}


function promtMessage(str,cls,bRef) {

    
    if(cls==undefined)
        cls='prompt';
    
    var act = '';
    if(bRef==true)
        act = 'true';
    radalert(str);     
    //radalert('<div align="center" class="' + cls + '"><h2>' + str + '</h2></div>');    
     //var txt='<div align="center" class="' + cls + '"><br><br><h2>' + str + '</h2><p><input type="button" class="btnpopup" onclick="closeMessage(' + act + ');return false" value="OK"></div>';
    //displayStaticMessage(txt,null,300,160);
}



function Dictionary(){

this.count = 0;
this.Obj = new Object();
this.exists = Dictionary_exists;
this.add = Dictionary_add;
this.remove = Dictionary_remove;
this.removeAll = Dictionary_removeAll;
this.values = Dictionary_values;
this.keys = Dictionary_keys;
this.items = Dictionary_items;
this.getVal = Dictionary_getVal;
this.setVal = Dictionary_setVal;
this.setKey = Dictionary_setKey;
}
function Dictionary_exists(sKey){
return (this.Obj[sKey])?true:false;
}
function Dictionary_add(sKey,aVal){
var K = String(sKey);
if(this.exists(K)) return false;
this.Obj[K] = aVal;
this.count++;
return true;
}
function Dictionary_remove(sKey){
var K = String(sKey);
if(!this.exists(K)) return false;
delete this.Obj[K];
this.count--;
return true;
}
function Dictionary_removeAll(){
for(var key in this.Obj) delete this.Obj[key];
this.count = 0;
}
function Dictionary_values(){
var Arr = new Array();
for(var key in this.Obj) Arr[Arr.length] = this.Obj[key];
return Arr;
}
function Dictionary_keys(){
var Arr = new Array();
for(var key in this.Obj) Arr[Arr.length] = key;
return Arr;
}
function Dictionary_items(){
var Arr = new Array();
for(var key in this.Obj){
var A = new Array(key,this.Obj[key]);
Arr[Arr.length] = A;
}
return Arr;
}
function Dictionary_getVal(sKey){
var K = String(sKey);
return this.Obj[K];
}
function Dictionary_setVal(sKey,aVal){
var K = String(sKey);
if(this.exists(K))
this.Obj[K] = aVal;
else
this.add(K,aVal);
}
function Dictionary_setKey(sKey,sNewKey){
var K = String(sKey);
var Nk = String(sNewKey);
if(this.exists(K)){
if(!this.exists(Nk)){
this.add(Nk,this.getVal(K));
this.remove(K);
}
}
else if(!this.exists(Nk)) this.add(Nk,null);

}

var PARAMETERS;

function GetParamterDict()
{
    return PARAMETERS;
}

function SetParameter(n,v)
{
    if(PARAMETERS==undefined)
        PARAMETERS=new Dictionary();
    PARAMETERS.setVal(n,v);
}
function GetParameter(n)
{
    if(PARAMETERS==undefined)
        return null;
    return PARAMETERS.getVal(n);
}


function doCenterItem(sName)
{
var dv = $get(sName);

var height=100;
var width=200;
var left= (document.body.clientWidth/2)-(width/2);
if(left<0)
	left=0;
var top= (document.body.clientHeight/2)-(height/2);
if(top<0)
	top=0;

dv.style.top='' + top + document.body.scrollTop + 100;
dv.style.left='' + left;

}

function centerElementOnScreen(element)
{
    var scrollTop = document.body.scrollTop;
    var scrollLeft = document.body.scrollLeft;

    var viewPortHeight = document.body.clientHeight;
    var viewPortWidth = document.body.clientWidth;

    if (document.compatMode == "CSS1Compat")
    {
        viewPortHeight = document.documentElement.clientHeight;
        viewPortWidth = document.documentElement.clientWidth;

        scrollTop = document.documentElement.scrollTop;
        scrollLeft = document.documentElement.scrollLeft;
    }

    var topOffset = Math.ceil(viewPortHeight / 2 - element.offsetHeight / 2);
    var leftOffset = Math.ceil(viewPortWidth / 2 - element.offsetWidth / 2);

    var top = scrollTop + topOffset - 40;
    var left = scrollLeft + leftOffset - 70;

    element.style.position = "absolute";
    element.style.top = top + "px";
    element.style.left = left + "px";
    
}
