var firstclick;
var current_style;
var sizes;
var media;
var logContent;
var newW;
var  feedsExist = 0;
 
logContent = '';
firstclick=0;
newW = null;
current_style = 'small';
 

sizes = new Array(3);
sizes[0] = 'small';
sizes[1] = 'medium';
sizes[2] = 'large';

media = new Array(2);
media[0] = 'print';
media[1] = 'screen';

var xRequest= null;

function sendRequest(  url , params , onReadyStateFunction )
{
    xRequest= initXMLHttpRequest();
 
  
    if ( xRequest )
    {
        xRequest.onreadystatechange = onReadyStateFunction;
        xRequest.open('POST',url,true);
        xRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        xRequest.send(params);
    }
    else
    {
        alert('Couldnt initialize XMLHttpRequest');
    }
}

 
function initXMLHttpRequest () 
{
  
    if ( window.XMLHttpRequest )
    {
        xRequest = new XMLHttpRequest()
    }
    else if ( window.ActiveXObject )
    {
        xRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xRequest ;
}  

function onReadyState_Example()
{
    var ready = xRequest.readyState;
 
    if ( ready == 4)
    {
        alert('dfsdf' + ready);
    }
}




 

function addLog( line)
{
    logContent = logContent + "\n" + line ;
}

function addOpenerLog( line)
{
 
    if ( opener )
        opener.logContent = opener.logContent + "\n" + line ;
}


function clearLog( )
{
    logContent = "";
}

function showLog()
{
    if (newW) newW.close();
    newW= window.open('','LogWindow');
    newW.document.open();
    newW.document.write(logContent);
    newW.document.close();
    newW.focus();
  
}


function firstclick_stichwort(where)
{
    if (firstclick==0)
    {
        where.value="";
        firstclick=1;
    }
}

//  font size changing
function change_size(whatstyle,firsttime)
{
    var i,k,j;
    for ( i=0; i< sizes.length; i++ )
    {
        if ( document.getElementById('orgStyle' + sizes[i] ) )
            document.getElementById('orgStyle' + sizes[i]).disabled=true;
    }
    if ( document.getElementById('orgStyle' + whatstyle) )
        document.getElementById('orgStyle' + whatstyle).disabled=false;


    for ( i=0 ; i < sizes.length  ; i++  )
    {
        for ( k=0; k<media.length ; k++)
        {
            for ( j=0; j< 99; j++)
            {
                if ( document.getElementById('rewebStyleNr_'+ j + '_' + media[k] + '_' + sizes[i] ) )
                {
                    document.getElementById('rewebStyleNr_'+ j + '_' + media[k] + '_' + sizes[i] ).disabled=true;
                }
                else
                    j=1000;
            }
        }
    }


    for ( k=0; k<media.length ; k++)
    {
        for ( j=0; j< 99; j++)
        {
            if ( document.getElementById('rewebStyleNr_'+ j +  '_' + media[k] + '_' + whatstyle ) )
            {
                document.getElementById('rewebStyleNr_'+ j +  '_' + media[k]  + '_' + whatstyle ).disabled=false;
            }
            else
                j=1000;
        }
    }

    eraseCookie('fontsize');
    createCookie('fontsize',whatstyle,'1');
    if (firsttime!='first_time')
    {
        set_size_button(whatstyle);
    }
}





function set_size_button(new_style)
{

    if (document.getElementById('button_small') )
        document.getElementById('button_small').style.backgroundImage="url(/pics/db2005/non_lang/schriftgroesse_bg.gif)";
    if (document.getElementById('button_medium') )
        document.getElementById('button_medium').style.backgroundImage="url(/pics/db2005/non_lang/schriftgroesse_bg.gif)";
    if (document.getElementById('button_large') )
        document.getElementById('button_large').style.backgroundImage="url(/pics/db2005/non_lang/schriftgroesse_bg.gif)";
    if (document.getElementById('button_'+new_style) )
        document.getElementById('button_'+new_style).style.backgroundImage="url(/pics/db2005/non_lang/schriftgroesse_bg_x.gif)";
}



function set_size_first_time()
{
    if (readCookie('fontsize'))
    {
        current_style=readCookie('fontsize');
    }
    change_size(current_style,'first_time');
}

set_size_first_time();

// Cookie handling


function createCookie(name,value,hours)
{
    if (hours)
    {
        var date = new Date();
        date.setTime(date.getTime()+(hours*60*60*1000));
        var expires = "";
        if ( hours )
           expires =  "; expires="+date.toGMTString();
       
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name)
{
    createCookie(name,"",-1);
}

// LINKING FROM OPTION LIST

function linkFromOption(what)
{
    stringToSplit=document.getElementById(what).options[document.getElementById(what).selectedIndex].value
    splitUrl=stringToSplit.split('&$&$')[0];
    splitTarget=stringToSplit.split('&$&$')[1];
    splitHeight=stringToSplit.split('&$&$')[2];
    splitWidth=stringToSplit.split('&$&$')[3];
    splitSroll=stringToSplit.split('&$&$')[4];
    splitResize=stringToSplit.split('&$&$')[5];
    if (splitUrl) {
        if (splitTarget!='_self' && splitWidth!='' && splitHeight!='') {
            popupParams='width='+splitWidth+',height='+splitHeight+',scrollbars='+splitSroll+',resizable='+splitResize;
            //          height='height='+splitHeight;
            //          width=',width='+splitWidth;
            //          scrollbars=',scrollbars='+splitSroll;
            //          resize=',resizable='+splitResize; else resize='';
            //alert('"'+popupParams+'"');
            focusPopup=window.open(splitUrl,splitTarget,popupParams);
            focusPopup.focus();
        }
        else {
            focusPopup=window.open(splitUrl,splitTarget);
            focusPopup.focus();
        }
    //      document.getElementById(what).selectedIndex=0;
    }
}

var firstselect;
function resetOptionList(what) {
    if (firstselect=='yes') {
        document.getElementById(what).selectedIndex=0;
        firstselect='no';
    }
    if (document.getElementById(what).selectedIndex!=0) firstselect='yes';
}

function showElementBoth( objId)
{
    showObject ( objId, true);
}

function showElement( objId)
{
    showObject ( objId, true);
}

function showElementDisplay( objId)
{
    showObjectDisplay ( objId, true);
}


function hideElement( objId)
{
    showObject( objId, false);
}

function hideElementDisplay( objId)
{
    showObjectDisplay( objId, false);
}


function showObject( objId, isVisible )
{

    showObjectDoc ( objId, isVisible, document,'visibility' );
}

function showObjectDisplay( objId, isVisible )
{

    showObjectDoc ( objId, isVisible, document,'display' );
}




function toggleObject(objId) {
   
    var obj = document.getElementById(objId);
  
    if ( ! obj)
        return;
    var objDisplay = getStyle(obj,'display');
    var setToVisible = false;
   
    if (  objDisplay &&  objDisplay == 'none' )
    {
        setStyle ( objId, 'display' ,'block' );
        setToVisible = true;       
        
    }
    else
    {
        setStyle ( objId, 'display' ,'none' );
    }
   
   
    var objVisibility  = getStyle(obj,'visibility');
   
    if (  setToVisible || ( objVisibility  && objVisibility=='hidden')  )
    {
        setStyle ( objId, 'visibility' ,'visible' );
      
      
    }
    else
    {
        setStyle ( objId, 'visibility' ,'hidden' );
      
    }
   
}



function showObjectDoc( objId, isVisible, doc , styleName   )
{
    
    var obj = doc.getElementById(objId);
    
   
    if ( obj != null  )
    {
    	
        if ( isVisible )
        {          
        
            if (  styleName == 'display')
            {
           
                setStyle(objId,styleName,'block' );
            }
            else
                setStyle(objId,styleName,'visible' );
        }
        else
        {
        
            if (  styleName == 'display')
                setStyle(objId,styleName,'none' );
            else
                setStyle(objId,styleName,'hidden' );
        }    
    }
}

function sendSaveForm(formId,actionUrl)
{
    var f = document.getElementById(formId);
    if ( f)
    {
        f.action=actionUrl;
        f.submit();
        f.action='';
    
    }
}


function show_calendar2_de(str_target, str_datetime)
{
    old_target = str_target;
    new_target = '';
    var le = str_target.length;
    for ( i=0; i< le ; i++) {
        ch = str_target.charAt(i) ;     
        if ( ch == '\'' && i > 0  && i < le-1 ) 
            new_target = new_target.concat('\\\''); 
        else
            new_target = new_target.concat(ch); 
    }
    str_target=new_target;
    var arr_months = ["Januar", "Februar", "März", "April", "Mai", "Juni","July", "August", "September", "Oktober", "November", "Dezember"];
    var week_days = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
    var n_weekstart = 1; // day week starts from (normally 0 or 1)
    var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt2_de(str_datetime));
    var dt_prev_year = new Date(dt_datetime);
    dt_prev_year.setYear(dt_datetime.getFullYear()-1);
    var dt_prev_decade = new Date(dt_datetime);
    dt_prev_decade.setYear(dt_datetime.getFullYear()-10);
    var dt_prev_month = new Date(dt_datetime);
    dt_prev_month.setMonth(dt_datetime.getMonth()-1);
    if(dt_datetime.getMonth()%12 != (dt_prev_month.getMonth()+1)%12)
    {
        dt_prev_month.setMonth(dt_datetime.getMonth());
        dt_prev_month.setDate(0);
    }
    var dt_next_month = new Date(dt_datetime);
    dt_next_month.setMonth(dt_datetime.getMonth()+1);
    if((dt_datetime.getMonth() + 1)%12 != dt_next_month.getMonth()%12)
    {
        dt_next_month.setDate(0);
    }
    var dt_next_year = new Date(dt_datetime);
    dt_next_year.setYear(dt_datetime.getFullYear()+1);
    var dt_next_decade = new Date(dt_datetime);
    dt_next_decade.setYear(dt_datetime.getFullYear()+10);
    var dt_firstday = new Date(dt_datetime);
    dt_firstday.setDate(1);
    dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
    var dt_lastday = new Date(dt_next_month);
    dt_lastday.setDate(0);
    // html generation (feel free to tune it for your particular application)
    // print calendar header
    text_next_decade = 'nächstes Jahrzehnt';
    text_next_month = 'nächster Monat';
    text_next_year = 'nächstes Jahr';
    text_prev_decade = 'vorheriges Jahrzehnt';
    text_prev_month = 'vorheriger Monat';
    text_prev_year = 'vorheriges Jahr';
    var str_buffer = new String("<html><head><title>Calendar</title></head><body bgcolor=\"White\"><table class=\"clsOTable\" cellspacing=\"0\" border=\"0\" width=\"100%\"><tr><td bgcolor=\"#003399\">"+
        "<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">"+
        "<tr><td bgcolor=\"#003399\"><b><a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+ dt2dtstr2_de(dt_prev_decade)+"');\">"+
        "<img src=\"/pics/nav/prev_decade.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_prev_decade+"\"></a><a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+ dt2dtstr2_de(dt_prev_year)+"');\">"+
        "<img src=\"/pics/nav/prev_year.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_prev_year+"\"></a>" +
        "<a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+ dt2dtstr2_de(dt_prev_month)+"');\">"+
        "<img  src=\"/pics/nav/prev_month.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_prev_month+"\"></a>"+
        "</td><td bgcolor=\"#003399\" colspan=\"5\"><font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"  +
        arr_months[dt_datetime.getMonth()]+  " " +
        dt_datetime.getFullYear()+"</font></td>"+
        "<td bgcolor=\"#003399\" align=\"right\"><b>" +
        "<a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+dt2dtstr2_de(dt_next_month)+"');\"><img src=\"/pics/nav/next_month.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_next_month+"\"></a>" +
        "<a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+dt2dtstr2_de(dt_next_year)+"');\"><img src=\"/pics/nav/next_year.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_next_year+"\"></a><a href=\"javascript:window.opener.show_calendar2('"+str_target+"', '"+dt2dtstr2_de(dt_next_decade)+"');\"><img src=\"/pics/nav/next_decade.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"" + text_next_decade+"\"></a></b></td></tr></table>");
    var dt_current_day = new Date(dt_firstday);
    // print weekdays titles
    str_buffer += '<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">';    str_buffer += "<tr>";
    for (var n=0; n<7; n++)
        str_buffer += "	<td bgcolor=\"#87CEFA\"><font color=\"white\" face=\"tahoma, verdana\" size=\"2\">"+week_days[(n_weekstart+n)%7]+"</font></td>";
    str_buffer += "</tr>";
    while (dt_current_day.getMonth() == dt_datetime.getMonth() || dt_current_day.getMonth() == dt_firstday.getMonth())
    {
        str_buffer += "<tr>";
        for (var n_current_wday=0; n_current_wday<7; n_current_wday++)
        {
            if (dt_current_day.getDate() == dt_datetime.getDate() && dt_current_day.getMonth() == dt_datetime.getMonth())
                str_buffer += "	<td bgcolor=\"#FFB6C1\" align=\"right\">";
            else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
                str_buffer += "	<td bgcolor=\"#DBEAF5\" align=\"right\">";
            else
                str_buffer += "	<td bgcolor=\"white\" align=\"right\">";
            if (dt_current_day.getMonth() == dt_datetime.getMonth()) {
                str_buffer += "<a href=\"javascript:window.opener."+old_target+".value='"+dt2dtstr2_de(dt_current_day)+"'; window.close();\">"+
                "<font color=\"black\" face=\"tahoma, verdana\" size=\"2\">";
            }else{
                str_buffer += "<a href=\"javascript:window.opener."+old_target+".value='"+dt2dtstr2_de(dt_current_day)+"'; window.close();\"><font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";
            }
            str_buffer += dt_current_day.getDate()+"</font></a></td>";
            dt_current_day.setDate(dt_current_day.getDate()+1);
        }
        str_buffer += "</tr>";
    }
    str_buffer +=
    "</table></tr></td></table>";

    str_buffer +='</body></html>' ;
    var vWinCal = window.open("", "Calendar", "width=250,height=220,status=no,resizable=yes,top=200,left=200");
    vWinCal.opener = self;
    vWinCal.focus();
    var calc_doc = vWinCal.document;
    calc_doc.write (str_buffer);
    calc_doc.close();
}

function str2dt2_de (str_datetime) 
{
    var dttype =0; 
    var year  ; 
    var month  =1; 
    var day  =1; 
    var re_date =  /^(\d+)\.(\d+)\.(\d+)$/;   
    var result = re_date.exec(str_datetime); 
    if (result)
    {
        dttype=0;
        year = result[3];
        month = result[2];
        day = result[1];
    }
    else
    {
        re_date = /^(\d+)\.(\d+)$/;
        result = re_date.exec(str_datetime);
        if ( result)
        {
            dttype=1;
            year = result[2];
            month = result[1];
        }
        else
        {
            re_date = /^(\d+)$/;
            result = re_date.exec(str_datetime);
            if (result)
            {
                dttype=2;
                year = result[1];
            }
            else
            {
                return alert("Invalid Datetime format: "+ str_datetime);
            }
        }
    }
    if ( year.length == 2 ) {           
        if ( year >='00' && year <='49' )
        {
            year = 20 + year;
        }
        else
        {
            year = 19 + year;
        }
    }           
    return  new Date (year, month-1, day)  ;
}

function dt2dtstr2_de (dt_datetime) 
{
    if(dt_datetime.getDate() < 10 && dt_datetime.getMonth()+1 < 10)
        return (new String ("0" + dt_datetime.getDate() + ".0"
            + (dt_datetime.getMonth()+1) + "."
            + dt_datetime.getFullYear()));
	
    if(dt_datetime.getDate() < 10 && dt_datetime.getMonth()+1 >= 10)
        return (new String ("0" + dt_datetime.getDate() + "."
            + (dt_datetime.getMonth()+1) + "."
            + dt_datetime.getFullYear()));
	                        
    if(dt_datetime.getDate() >= 10 && dt_datetime.getMonth()+1 < 10)
        return (new String (dt_datetime.getDate() + ".0"
            + (dt_datetime.getMonth()+1) + "."
            + dt_datetime.getFullYear()));
	                    
    if(dt_datetime.getDate() >= 10 && dt_datetime.getMonth()+1 >= 10)
        return (new String (dt_datetime.getDate() + "."
            +(dt_datetime.getMonth()+ 1) + "."
            + dt_datetime.getFullYear()));
}
  
  
  
function NewWindow(url,options)
{    
    var host = window.location.host;
    var prot = window.location.protocol+'//';
    protArray=new Array(4);
    protArray[0]='http://';
    protArray[1]='https://';
    protArray[2]='ftp://';
    protArray[3]='file://';
    protFound = false;
    
    for ( i=0; i< protArray.length; i++ )
    {
        if ( url.toLowerCase().indexOf(protArray[i]) == 0)
            protFound=true;
    }
   
    if (! protFound) url = prot + host + url;

    var w = open(url,'Document',options);
    w.focus();
    

}

function NewBrowserWindow(winUrl,winName,features)
{
    newWin = window.open(winUrl,winName,features);
    newWin.focus();
}







function getStyle(el, style) {
    if(! document.getElementById )
        return;
  
    var value = el.style[toCamelCase(style)];
    
  
    if(!value)
        if(document.defaultView)
            value = document.defaultView.
            getComputedStyle(el, "").getPropertyValue(style);
    
        else if(el.currentStyle)
     
            value = el.currentStyle[toCamelCase(style)];
   
    return value;
}

function setStyle(objId, style, value) {
    if ( ! objId)
        return ;
    var x = document.getElementById(objId);
    if ( ! x )
        return ;
    x.style[style] = value;
}

function toCamelCase( sInput ) {
    var oStringList = sInput.split('-');
    if(oStringList.length == 1)
        return oStringList[0];
    var ret = sInput.indexOf("-") == 0 ?
    oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0];
    for(var i = 1, len = oStringList.length; i < len; i++){
        var s = oStringList[i];
        ret += s.charAt(0).toUpperCase() + s.substring(1)
    }
    return ret;
}

function increaseWidth(addToWidth, whichDiv){
    var theDiv = document.getElementById(whichDiv);
    var currWidth = parseInt(getStyle(theDiv, "width"));
    var newWidth = currWidth + parseInt(addToWidth);
    setStyle(whichDiv, "width", newWidth + "px");
}
 
 
 
function createExpandableHeadline (   )  
{
    $( '.headline_grayline_dyn').collapser({
        target: 'next',
        targetOnly: 'div',
        effect: 'slide',
        changeText:false,
        collapseClass: 'headline_grayline_coll',
        expandClass: 'headline_grayline_exp'
    });
}

function get( id ) {
    return document.getElementById(id);
}





