var estSelCount = 0;
function CallFlash() 
{
	 document.write('<object type="application/x-shockwave-flash" data="img/kopfbal_immer.swf" width="1000" height="90"><param name="movie" value="img/kopfbal_immer.swf"/><img src="img/kopfbal_immer.jpg"/> width="1000" height="90" /></object>');
}


function mySubmit(event, angebotId, mode)
{
    Event.stop(event);
    var newPars = getNewParameterArray(angebotId, mode)
    resetSelection();
    
    //Neue Location setzten
    self.location.href = self.location.href.substring(0,self.location.href.indexOf("?")) + "?" + newPars.join("&");  
}
/* Liefert die GET-Parameter in Arrayform für die aktuelle Auswahl */
function getNewParameterArray(angebotId, mode)
{
    //Vorhandene GET-Parameter sichern (außer "key")
    var sHref = self.location.href;
    var iParsStart = sHref.indexOf("?");
    var aPars = [], newPars = [];
    if(iParsStart > -1)
    {
        aPars = sHref.substr(iParsStart+1).split("&");
        for(var i=0; i < aPars.length; i++)
        {
            var keyValue = aPars[i].split("=");
            if(keyValue[0] == "key" || keyValue[0] == "multiYear" || (mode && (keyValue[0]=="mainSel" || keyValue[0]=="mode")) || keyValue[0]=='stichprobe')
                continue;
            newPars.push(aPars[i]);
        }
    }

    var studie = 0;
    if($F("studie")!="multiYear")
        studie = $F("studie");
    else
        newPars.push("multiYear=1");
    //Neuen "sel"-Parameter zusammenbauen
    var sel = "";
    if(mode.substr(0,3)=="stv")  
        sel = "key=" + [studie,$F("basis"),$F("gebiet"), $("ang1") ? $F("ang1") : angebotId , $("ang2") ? $F("ang2") : "",$F("esender")||0].join(".");
    else
        sel = "key=" + [studie,$F("basis"),$F("gebiet"),$F("zgr1") , $("zgr2") ? $F("zgr2") : "" ,$F("esender")||0].join(".");

    if(angebotId && (mode=="est" || mode=="wEst" || mode=="key"))
        sel += "." + angebotId;

    newPars.push(sel);
    if(mode)
        newPars.push("mode=" + mode);
    
    newPars.push("stichprobe=" + $F('stichprobe'));
    
    return newPars;
}

function highlightSubmit()
{
    $("submitButton").style.color = "red";
}




function generateCompareTRs(iCol, valueField, sortAsc) 
{
    return  function compareTRs(oTR1, oTR2) 
            {
                var vValue1 = oTR1.getAttribute("captionRow") && iCol > 0 ? 0.0 : parseFloat(oTR1.cells[iCol].getAttribute(valueField));
                var vValue2 = oTR2.getAttribute("captionRow") && iCol > 0 ? 0.0 : parseFloat(oTR2.cells[iCol].getAttribute(valueField));

                if (vValue1 < vValue2) 
                    return sortAsc ? -1 : 1;
                else if (vValue1 > vValue2) 
                    return sortAsc ?  1 : -1;
                else
                    return 0;
            };
}

function sortTable(oSortCell, sTableID, iCol, mode, valueField) 
{
    if(mode=="key")
        return;
    if(!valueField)
        valueField = "value";
    var priceSort = valueField == "price";
    
    var oTable = document.getElementById(sTableID);
    var oTBody = oTable.tBodies[0];
    var colDataRows = oTBody.rows;
    var aTRs = new Array;
    var oSortImg = $("sortImg");
    var bReverse = oTable.sortCol == (iCol + valueField) && (iCol!=0 || priceSort);
    var bSortDesc = false;
    
    /* Sortierbildchen Start */
    if(!oSortImg)
    {
        oSortImg = document.createElement("img");
        oSortImg.id = "sortImg";
        oSortImg.src = "img/desc.png";  
        bSortDesc = true;  
        oSortImg.style.verticalAlign = "middle";
        oSortImg.style.marginLeft = "5px";
    }
    if(bReverse)
    {
        if(oSortImg.src.indexOf("img/desc.png") >= 0)
        {
            oSortImg.src = "img/asc.png";
            bSortDesc = false;
        }
        else
        {
            oSortImg.src = "img/desc.png";
            bSortDesc = true;
        }
    }
    else
    {
        oSortImg.src = "img/desc.png";
        bSortDesc = true;
    }
    
    if(iCol==0 && !priceSort)  //Standardsortierung wiederherstellen und SortImage entfernen
    {
        if(oSortImg.parentNode)
          oSortImg.parentNode.removeChild(oSortImg);
    }
    else
        oSortCell.appendChild(oSortImg);
    /* Sortierbildchen Ende */
    
    
    for (var i=0; i < colDataRows.length; i++) 
        aTRs[i] = colDataRows[i];

    if (bReverse) 
        aTRs.reverse();
    else
        aTRs.sort(generateCompareTRs(iCol, valueField, iCol==0 && !priceSort));

    
    var oFragment = document.createDocumentFragment();
    for (var i=0, j=1; i < aTRs.length; i++) 
    {
        //Css entfernen
        Element.removeClassName(aTRs[i], "alt");
        Element.removeClassName(aTRs[i], "bb");

        var isCaption = aTRs[i].getAttribute("captionRow");
        //Bei Überschriften und Standardsortierung j zurücksetzen (für wechselnde Zeilenfarben)        
        if(isCaption && iCol==0 && !priceSort)
            j=1;
    
        
        //Wechselnde Zeilenfarben
        if(j%2==0)
            Element.addClassName(aTRs[i], "alt");
        //Alle 5 Zeilen einen Trenner, wenn nicht Standardsortierung eingestellt ist (iCol==0)        
        if(j%5==0 && ((iCol>0 && !priceSort) || mode=="est" || mode=="wEst" || mode.substr(0,3)=="stv"))
            Element.addClassName(aTRs[i], "bb");

        if (isCaption)
            aTRs[i].style.display = iCol==0 && !priceSort? "" : "none";
        else
            j++;        

        oFragment.appendChild(aTRs[i]);
        
    }

    oTBody.appendChild(oFragment);
    oTable.sortCol = iCol + valueField;
    oTable.sortValueField = bSortDesc ? "-" + valueField : valueField;
    oTable.sortColId = bSortDesc ? iCol * -1 : iCol;

}

var selectionStored = false;
function storeSelection()
{
	if($("stichprobe")) SIstichprobe = $("stichprobe").selectedIndex;
	if($("studie"))     SIStudie     = $("studie").selectedIndex;
	if($("basis"))      SIBasis      = $("basis").selectedIndex;
    if($("gebiet"))     SIGebiet     = $("gebiet").selectedIndex;
    if($("zgr1"))       SIZgr1       = $("zgr1").selectedIndex;
    if($("zgr2"))       SIZgr2       = $("zgr2").selectedIndex;
    if($("ang1"))       SIAng1       = $("ang1").selectedIndex;
    if($("ang2"))       SIAng2       = $("ang2").selectedIndex;
    if($("esender"))    SESender     = $("esender").selected;

	selectionStored = true;
}

function resetSelection()
{
	if(!selectionStored)
	    return;

	if($("stichprobe")) $("stichprobe").selectedIndex = SIstichprobe;
	if($("studie"))     $("studie").selectedIndex     = SIStudie;
	if($("basis"))      $("basis").selectedIndex      = SIBasis;
    if($("gebiet"))     $("gebiet").selectedIndex     = SIGebiet;
    if($("zgr1"))       $("zgr1").selectedIndex       = SIZgr1;
    if($("zgr2"))       $("zgr2").selectedIndex       = SIZgr2;
    if($("ang1"))       $("ang1").selectedIndex       = SIAng1;
    if($("ang2"))       $("ang2").selectedIndex       = SIAng2;
    if($("esender"))    $("esender").selected         = SESender;
}


function data_export(format, mode, chart)
{
    var aPars = [], newPars = [];
    $('exportForm').reset()
    if(mode=="hpd" || mode=="wtrw")
    {
        window.allEstSelected = false;
        estSelCount=0;
        //Selektierte Angebot für Multi-Est-Export ermitteln
        var oTable = $("dataTable");
        if(oTable)
        {
            sParam = "";    
            oRows = oTable.tBodies[0].rows;
            for(var i=0, iCount = oRows.length; i < iCount; i++)
            {    
                if(!oRows[i].estSelected)
                    continue;
                
                //Selektion zurücksetzen
                oRows[i].estSelected = false;
                var img = $(oRows[i]).down("img.est");
                if(img)
                    img.src = "img/est.gif";
    
                
                if(sParam.length>0)
                    sParam += "|";
                sParam += oRows[i].id;
            }
            if(sParam.length > 0)
            {
                $('ExMultiEst').value = sParam;
                mode = mode=="hpd" ? "est" : "wEst";
            }
        }
    }    

    var sHref = self.location.href;
    var iParsStart = sHref.indexOf("?");
    if(iParsStart > -1)
    {
        aPars = sHref.substr(iParsStart+1).split("&");
        for(var i=0; i < aPars.length; i++)
        {
            var keyValue = aPars[i].split("=");
            if(keyValue[0]=="mode")
                continue;
            if(keyValue[0]=="key")
                $('ExKey').value = keyValue[1];    
            if(keyValue[0]=="mainSel")
                $('ExMainSel').value = keyValue[1];    
            if(keyValue[0]=="output")
                $('ExOutput').value = keyValue[1];    
            if(keyValue[0]=="subPage")
                $('ExSubPage').value = keyValue[1];    
            if(keyValue[0]=="multiYear")
                $('ExMultiYear').value = keyValue[1];    
            if(keyValue[0]=="chartSel")
                $('ExChartSel').value = keyValue[1];    
            if(keyValue[0]=="stichprobe")
                $('ExStichprobe').value = keyValue[1];    
                
        }
    }
    $('ExMode').value = mode;

    if((typeof chart)=="undefined")
    {
        var oTable = document.getElementById("dataTable");
        if(oTable.sortColId && oTable.sortColId!=0)
            $('ExSortCol').value = oTable.sortColId;
        else if(oTable.sortValueField=="price" || oTable.sortValueField=="-price")
            $('ExSortCol').value = oTable.sortValueField;
    }
    $('ExFormat').value = format;
    $('exportForm').submit();
}

function toggleChart(row)
{
    if(!row.showChart)
    {        
        row.cells[0].style.backgroundImage = "url(img/chart.gif)";
        row.cells[0].style.backgroundRepeat = "no-repeat";
        row.cells[0].style.backgroundPosition = "right 50%";
        row.cells[0].style.paddingRight = "20px";
        row.showChart = true;
    }    
    else
    {
        row.cells[0].style.backgroundImage = "none";
        row.cells[0].style.paddingRight = "0px";
        row.showChart = false;
    }
}

function toggleEstSel(row)
{
    row = $(row);
    var img = row.down("img.est");
    if(!img)
        return;
    if(!row.estSelected)
    {        
        if(estSelCount>=10)
        {
            alert('Sie können maximal 10 Angebote für den Mehrfachexport auswählen!');
            return;
        }
        img.src = "img/printer.gif";
        row.estSelected = true;
        estSelCount++;
    }    
    else
    {
        img.src = "img/est.gif";
        row.estSelected = false;
        estSelCount--;
    }
}


function toggleAllEstSel()
{
    if(!window.allEstSelected)
        window.allEstSelected = true;
    else
        window.allEstSelected = !window.allEstSelected;
    var oTable = $("dataTable");
    oRows = oTable.tBodies[0].rows;
    for(var i=0, iCount = oRows.length; i < iCount; i++)
    {    
        row = $(oRows[i]);
        var img = row.down("img.est");
        if(!img)
            continue;
        row.estSelected = window.allEstSelected    ;
        if(row.estSelected)
            img.src = "img/printer.gif";
        else
            img.src = "img/est.gif";
    }
}

function inlineGraph()
{
    var oTable = document.getElementById("dataTable");
    sParam = "";    
    oRows = oTable.tBodies[0].rows;
    for(var i=0, iCount = oRows.length; i < iCount; i++)
    {    
        if(!oRows[i].showChart)
            continue;
        if(sParam.length>0)
            sParam += "|";
        sParam += oRows[i].id;
    }
    if(sParam.length==0)
        sParam = "&chartSel=all";
    else
        sParam = "&chartSel=" + sParam;
        
    if(oTable.sortColId && oTable.sortColId!=0)
        sParam += "&sortCol=" + oTable.sortColId;

    self.location.href = self.location.href + sParam;
}

function kf()
{
	window.open("http://www.ass-radio.de/kombifinder.html?&no_cache=1","","width=1024, height=768, scrollbars=yes"); 
}