/**
 * Öffnet die AGB in einem neuen Popup Fenster.
 *
 * @param string mainControl
 */
function showAgb(mainControl)
{
	window.open(mainControl + "?EVENT=agbStandalone&amp;PHPSESSID=$PHPSESSID", "AGB", "toolbar=no,scrollbars=yes");
}

/**
 * Schreibt den Link zu den AGB in das HTML Dokument.
 *
 * @param string mainControl
 * @param string agbText
 */
function writeAgbLink(mainControl, agbText)
{
	document.write("<a class=\"navkleindunkel\" href=\"javascript: showAgb('" + mainControl + "');\">" + agbText + "</a>");
}

/**
 * Öffnet die Widerrufbelehrung in einem neuen Popup Fenster.
 *
 * @param string mainControl
 */
function showAvoidance(mainControl)
{
	window.open(mainControl + "?EVENT=agbStandalone&amp;PHPSESSID=$PHPSESSID#avoidance", "AGB", "toolbar=no,scrollbars=yes");
}

/**
 * Schreibt den Link zur Widerrufbelehrung in das HTML Dokument.
 *
 * @param string mainControl
 * @param string avoidanceText
 */
function writeAvoidanceLink(mainControl, avoidanceText)
{
	document.write("<a class=\"navkleindunkel\" href=\"javascript: showAvoidance('" + mainControl + "');\">" + avoidanceText + "</a>");
}

/**
 * Setzt das Attribut 'target' auf den Wert '_blank'.
 *
 * @param string id
 */
function setBlankTargetForElement(id)
{
	element = document.getElementById(id);

	if (null != element && element.target != undefined)
	{
		element.target = "_blank";
	}
}

/**
 * Zeigt ein Bild in einem Popup an.
 *
 * @param string path
 * @param string title
 * @param double width
 * @param double height
 */
function showItemImage(path, title, width, height)
{
	window.open(path, title, 'width=' + width + ', height=' + height);
}

function uncheckAll(this_checkbox, all_checkboxes)
{
    if ( this_checkbox.checked )
    {
        var boxes = all_checkboxes

        // check, if single box
        if (!all_checkboxes.length)
        {
            boxes = new Array( all_checkboxes );
        }

        // declare all variables local !!!
        var i = 0;

        for (i=0; i<boxes.length; i++)
        {
            var box = boxes[i];

            // see, if this_checkbox is the "all" checkbox
            if (box.value != "-1" && this_checkbox.value == "-1")
            {
                box.checked = false;
            }

            if (box.value == "-1" && this_checkbox.value != "-1")
            {
                box.checked = false;
            }
        }
        if ( this_checkbox.value == "-1" ) {
        	var key = $("#selectionform input[@name='"+this_checkbox.name+"'][@value='-1']").next().attr("class");
        	// Auch in Übersicht alle zugehörigen Elemente löschen
        	$("#selParamContainer input[@name='"+this_checkbox.name+"']").each(function() {
        		deleteFromSelParams(key, this_checkbox.name, $(this).val());
        	});
        }
               
    } 
}

function getStyleObject(objectId) 
{
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
	} else {
		return false;
	}
} 

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function changeObjectVisibility(objectId, newVisibility) 
{
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
} 

function setTableCellById(id, newVal)
{
    var cell = document.getElementById(id);
    cell.childNodes[0].data=newVal;
}

function priceInformation_getCombo(firstArticle, lastArticle)
{
    // Die beiden Parameter werden eigentlich nicht gebraucht
    
    var key = 0;
    var match;
    
    var index = 0;
    
    for (var i = 0; i < document.priceinformation.length; i++)
    {
        if (match = document.priceinformation[i].name.match('ARTIKELID'))
        {
            if (document.priceinformation[i].checked || document.priceinformation[i].type == 'hidden')
                key += Math.pow(2, index);
            index++;
        }
    }
    return key;
}


function priceInformation_updateSums(firstArticle, lastArticle, prices)
{
    var key=0;
    var match;

    key = priceInformation_getCombo(firstArticle, lastArticle);
    
    var finalprice = document.getElementById('priceinformation_netto');
    finalprice.firstChild.data = prices['NETTO'][key];
    
    var finalprice = document.getElementById('priceinformation_vat');
    finalprice.firstChild.data = prices['VAT'][key];
    
    var finalprice = document.getElementById('priceinformation_brutto');
    finalprice.firstChild.data = prices['BRUTTO'][key];
    
    if (finalprice = document.getElementById('priceinformation_discount'))
    {
        finalprice.firstChild.data = prices['DISCOUNT'][key];
    }
    
    if (finalprice = document.getElementById('priceinformation_discount_val_net'))
    {
        finalprice.firstChild.data = prices['NET_VAL_AFTER_DISCOUNT'][key];        
    }  
}

function priceInformation_printPreviewPopup(url, name)
{
    var attributes="location=no,menubar=yes,toolbar=no,status=no";
    attributes+=",resizable=no,scrollbars=no,width=800,height=600";
    var popup = window.open(url, name ,attributes);
}

function priceInformationJS(obj, fullId, rowId, price)
{
    /* alert(obj.name); */
    /* var finalprice = document.getElementById('finalsumprice'); */
    /* alert(finalprice.childNodes[0].data); */
    
    if (obj.name.match(fullId))
    {
        //setTableCellById('finalsumprice', priceinformationprices[0]);
        document.forms['priceinformation']["ARTIKELID["+rowId+"]"].checked = false;
        /* alert(document.priceinformation[1].name); */
        for(var i = 0; i < document.priceinformation.length; i++)
        {
            if (document.priceinformation[i].name.match('ARTIKELID')
                && !document.priceinformation[i].name.match('ARTIKELID.'+fullId+'.')
                && !document.priceinformation[i].name.match('ARTIKELID.'+rowId+'.'))
                {
                    /* alert(document.priceinformation[i].name); */
                    document.priceinformation[i].checked = false;
                    document.priceinformation[i].disabled = true;
                }
        }
    }
    else if (obj.name.match(rowId))
    {
        //setTableCellById('finalsumprice', priceinformationprices[1]);
        document.forms['priceinformation']["ARTIKELID["+fullId+"]"].checked = false;
        for(var i = 0; i < document.priceinformation.length; i++)
        {
            if (document.priceinformation[i].name.match('ARTIKELID')
                && !document.priceinformation[i].name.match('ARTIKELID.'+fullId+'.')
                && !document.priceinformation[i].name.match('ARTIKELID.'+rowId+'.')
                && document.priceinformation[i].value > 0)
                {
                    /* alert(document.priceinformation[i].name); */
                    document.priceinformation[i].disabled = false;
                }
        }
    }
}

function toggleDisplay(id) 
{
	if (document.getElementById(id).style.display=='none')
    {
        document.getElementById(id).style.display = '';
        if (id == 'downloaddata')
		{
			with (document.getElementById('TB_window').style) {
				top = '20%';
				width = '450px';
				height = '500px';
			}
			with (document.getElementById('TB_ajaxContent').style) {
				width = '420px';
				height = '470px';
			}
		}
    }
    else
    {
        document.getElementById(id).style.display = 'none';
        if (id == 'downloaddata')
		{
			with (document.getElementById('TB_window').style) {
				top = '50%';
				width = '420px';
				height = '150px';
			}
			with (document.getElementById('TB_ajaxContent').style) {
				width = '390px';
				height = '120px';
			}
		}
    }
}

function toggleVisibility(id)
{
    if (document.getElementById(id).style.visibility=='hidden')
    {
        document.getElementById(id).style.visibility = 'visible';
    }
    else
    {
        document.getElementById(id).style.visibility = 'hidden';
    }   
}

function swap(a, b)
{
    var hilf_text = a.text;
    var hilf_value = a.value;
    var hilf_selected = a.selected; 
    a.text = b.text;
    a.value = b.value;
    a.selected = b.selected;
    b.text = hilf_text;
    b.value = hilf_value;
    b.selected = hilf_selected;
}

function moveOptionInSelection(form_name, form_element, step)
{
    if (document.forms[form_name][form_element].selectedIndex != -1)
    {
        var index = document.forms[form_name][form_element].selectedIndex;
        swap(document.forms[form_name][form_element].options[index], document.forms[form_name][form_element].options[index+step]);
    }
}

var xmlreqs = new Array();

function CXMLReq(type, xmlhttp)
{ 
    this.type = type;
    this.xmlhttp = xmlhttp;
}

function doXmlHttpRequest(uri, func, id)
{
    var xmlHttp = false;
    // Mozilla, Opera, Safari sowie Internet Explorer 7
    if (typeof(XMLHttpRequest) != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }
    if (!xmlHttp) {
        // Internet Explorer 6 und älter
        try {
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                xmlHttp  = false;
            }
        }
    }
    if (xmlHttp) 
    {
        xmlHttp.open('GET', uri, true);
        xmlHttp.onreadystatechange = 
            function()
            {
                if (xmlHttp.readyState == 4)
                {
                    func(xmlHttp, id);
                }
            };
        xmlHttp.send(null);
    }
}

function changeStatus(xmlHttp, selection)
{
    var target = document.getElementById("overviewstatus");
    
    //target.value = xmlHttp.responseText;
    //alert(target);
    target.style.visibility = 'visible';
    target.style.display = 'block';
    
    //text = target.appendChild(document.createTextNode(xmlHttp.responseText));
    if (xmlHttp.responseText.match('1'))
    {
        target = document.getElementById('overviewstatuspending');
        
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
            //target.lastChild.nodeValue += "+ ";
        }
        
        target = document.getElementById('overviewstatusdone');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        
        disableLinks('mainheading');
        
        //target = document.getElementById('mainArea');
        //target.style.visibility = 'hidden';
        //target.style.display = 'none';

        getStatus(selection);
    }
    else if (xmlHttp.responseText.match('2'))
    {
        target = document.getElementById('fortschritt');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        target = document.getElementById('overviewstatusdone');
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
        }
        target = document.getElementById('overviewstatuspending');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        
        target = document.getElementById('PHPSESSID');
        PHPSESSID = target.value;
        //alert(PHPSESSID);
        
        target = document.getElementById('GROUP');
        GROUP = target.value;
        
        target = document.getElementById('PARENT');
        PARENT = target.value;
        
        //enableLinks('mainheading');
        
        //target = document.getElementById('mainArea');
        //target.style.visibility = 'visible';
        //target.style.display = 'block';
        window.location="index.php?EVENT=priceInformation&GROUP=" + GROUP + "&PARENT=" + PARENT + "&PHPSESSID=" + PHPSESSID;
    }
    else if (xmlHttp.responseText.match('0'))
    {
        target = document.getElementById('overviewstatuspending');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
            
        target = document.getElementById('overviewstatusdone');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        
        //target = document.getElementById('mainArea');
        //target.style.visibility = 'hidden';
        //target.style.display = 'none';  
        
        target = document.getElementById('overviewstatuserror');
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';     
        }
        
        enableLinks('mainheading');        
    }
    //alert(text);
    //text.nodeValue = xmlHttp.responseText;
}

function getStatus(selection)
{
    if (selection)
    {
        doXmlHttpRequest('?EVENT=jscomm&SEL_ID=' + selection, changeStatus, selection);
    }
}

function getCallbackState (callbackId) {
    doXmlHttpRequest('?EVENT=jscomm&CALL_ID='+callbackId, showCallbackState, callbackId);
}

function getCallbackStateFirstCall (callbackId) {
    document.getElementById("watchLink").style.display = 'none';
    document.getElementById("watchNotice").style.visibility = 'visible';
    getCallbackState (callbackId);
}

function showCallbackState (xmlHttp, callbackId) {
    //alert(xmlHttp.responseText);
    //var target = document.getElementById("abcdef");
    
    document.getElementById("callback0").style.visibility = 'hidden';
    document.getElementById("callback1").style.visibility = 'hidden';
    document.getElementById("callback2").style.visibility = 'hidden';
    
    document.getElementById("callback"+xmlHttp.responseText).style.visibility = 'visible';
    //document.getElementById("callback"+xmlHttp.responseText).display=true;
    getCallbackState(callbackId);
}

function submitFormAndAddHiddenField(form_id, hidden_name, hidden_value)
{    
    var form = document.getElementById(form_id);

    if (!form) return false;
    
    var newHiddenField = document.createElement('input');
    newHiddenField.type = 'hidden';
    newHiddenField.name = hidden_name;
    newHiddenField.value = hidden_value;
    
    form.appendChild(newHiddenField);
    
    if (form.NEXT && !form.NEXT.disabled)
    {
        form.NEXT.click();
    }
    else if (form.BACK && !form.BACK.disabled)
    {
        form.BACK.click();
    }
    else return false;
    
    return true;
}

function uncheckRadios(_this, all_radios)
{
    var radios = all_radios
    
    // check, if single box
    if (!all_radios.length)
    {
        radios = new array( all_radios );
    }
    
    // declare all variables local !!!
    var i = 0;
    
    for (i=0; i<radios.length; i++)
    {
        var radio = radios[i];
    
        if (radio.value != _this.value)
        {
            radio.checked = false;
        }
    }
}

function alertIfCitySelected(_this, city_selection) {
    if (_this.checked) {
        if ($("input[@name='ORTE[]']").length > 0)
            $("#HinweisRegion").css("visibility", "visible");
    }
}

function alertIfPlzSelected(_this, plz) {
	if (plz && plz.value.length > 0) {
    	$("#HinweisRegion").css("visibility", "visible");
	}
}

function clearTextField(target_fields)
{
    var targets = target_fields;
    var i = 0;
    for (i=0; i<targets.length; i++)
    {
        var target = targets[i];
        //alert(target.type);
        if (target.type.match('text')) target.value = '';
    }
}

function changeLinkText(_this, text_a, text_b)
{
    if (_this.firstChild.nodeValue == text_a) _this.firstChild.nodeValue = text_b;
    else _this.firstChild.nodeValue = text_a;
}


function doMultipleXmlHttpRequests(uri, func, id)
{
    var xmlHttp = false;
    var browser = '';
    
    //alert('MultipleXmlHttpRequest()');

    // Mozilla, Opera, Safari sowie Internet Explorer 7
    if (typeof(XMLHttpRequest) != 'undefined') {
	//alert('XMLHttpRequest is defined');
        browser = 'gecko';
        xmlHttp = new XMLHttpRequest();
    }
    if (!xmlHttp) {
        // Internet Explorer 6 und älter
        browser = 'ie';
        try {
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                xmlHttp  = false;
            }
        }
    }
    if (xmlHttp) 
    {
        xmlHttp.open('GET', uri, true);
        xmlHttp.onreadystatechange = 
            function()
            {
                if (xmlHttp.readyState == 4)
                {
                    changeStatusOrderEnd(xmlHttp, id);
                }
            };            
        xmlHttp.send(null);
    }
}

function getStatusOrderEnd(selection)
{
    if (selection)
    {
        //alert('getStatus ' + selection);
        //doXmlHttpRequest('?EVENT=jscomm&SELECTION=' + selection, changeStatusOrderEnd, selection);
        doMultipleXmlHttpRequests('?EVENT=jscomm&SEL_ID=' + selection, changeStatusOrderEnd, selection);
    }
}

function changeStatusOrderEnd(xmlHttp, selection)
{
    var target = document.getElementById("statuus");
    //alert(target);
    target.style.visibility = 'visible';
    target.style.display = 'block';
    
    //alert('changeStatus ' + selection + '<br/> response: ' + xmlHttp.responseText);
    
    if (xmlHttp.responseText.match('1') || xmlHttp.responseText.match('4'))
    {
        // DL-File wird erstellt
        
        target = document.getElementById('statuspending_' + selection);
        //alert(target);
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
        }
        
        target = document.getElementById('statusdone_' + selection);
        //alert(target);
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        
        getStatusOrderEnd(selection);
    }
    else if (xmlHttp.responseText.match('5') || xmlHttp.responseText.match('6'))
    {
        //DL-File fertig
        
        target = document.getElementById('statusdone_' + selection);
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
        }
        target = document.getElementById('statuspending_' + selection);
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        target = document.getElementById('hintSelectionRunning');
        if (target)
        {
            target.style.visibility = 'hidden';
            target.style.display = 'none';
        }
        target = document.getElementById('hintSelectionReady');
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
        }
    }
    else if (xmlHttp.responseText.match('0'))
    {
        // Fehler
        
        target = document.getElementById('statuserror_' + selection);
        if (target)
        {
            target.style.visibility = 'visible';
            target.style.display = 'block';
        }
    }
}

function disableLinks(id)
{
    for (var i = 0; i< document.getElementById(id).childNodes.length; i++)
    {
        disableChildLinks(document.getElementById(id).childNodes[i]);
    };
}

function enableLinks(id)
{
    for (var i = 0; i< document.getElementById(id).childNodes.length; i++)
    {
        enableChildLinks(document.getElementById(id).childNodes[i]);
    };
}

function disableChildLinks(p)
{
    for (var i = 0; i < p.childNodes.length; i++)
    {
        var href = p.getAttribute("href");
        if(href && href != "" && href != null)
        {            
            p.setAttribute('href_bak', href);
            p.removeAttribute('href');
        }
        else
        {
            disableChildLinks(p.childNodes[i]);
        }
    }
}

function enableChildLinks(p)
{
    for (var i = 0; i < p.childNodes.length; i++)
    {
        var href_bak = p.getAttribute("href_bak");
        if(href_bak && href_bak != "" && href_bak != null)
        {            
            p.setAttribute('href', href_bak);
            p.removeAttribute('href_bak');
        }
        else
        {
            enableChildLinks(p.childNodes[i]);
        }
    }
}

function getUsabilityHelp(id,top,width,left) {
	document.getElementById(id).style.top = top;
	document.getElementById(id).style.width = width;
	document.getElementById(id).style.left = left;
	toggleVisibility(id);
}

/************************************************************
	vereinfachter Webshop
*************************************************************/

/*
	Anstoßen der Zählung und speichern der 
	selektierten Parameter in die Datenbank
*/

function startQuery()
{    
//    var form = document.getElementById('selectionform');

	var form = document.getElementById('overviewform');

    if (!form) return false;
    
    var newHiddenField = document.createElement('input');
    newHiddenField.type = 'hidden';
    newHiddenField.name = 'startQuery';
    newHiddenField.value = 'startQuery';
    
    form.appendChild(newHiddenField);

	form.submit();
}


/*
	Will sich ein User während der Eingabe von Selektionskriterien
	einloggen, muss zunächst das Selektionsformular abgeschickt werden,
	damit der User nach erfolgreichem Login zurück zur Selektion 
	geleitet werden kann. 
	Ebenfalls notwendig beim Speichern einer Selektion aus Selektionsmaske
*/

function submitSelectionAndGoOn(target)
{    
    var form = document.getElementById('overviewform');

    if (!form) return false;
    
    var newHiddenField = document.createElement('input');
    newHiddenField.type = 'hidden';
    newHiddenField.name = 'scriptMode';
    newHiddenField.value = target;

    form.appendChild(newHiddenField);

	form.submit();
}


/*
	Übernehmen der Aktuellen Selektion aus der Preisinformation
	in den Warenkorb
*/
function priceinfoIntoCart()
{    
    var form = document.forms["priceinformation"];
	
    if (!form) return false;
 
    var newHiddenField = document.createElement('input');
    newHiddenField.type = 'hidden';
    newHiddenField.name = 'CART';
    newHiddenField.value = 'CART';

    form.appendChild(newHiddenField);

	form.submit();
}


function sendForm(formName, attribute)
{    
	var form = document.forms[formName];
	
    if (!form) return false;
    
	if(attribute){
		
		var newHiddenField = document.createElement('input');
    	newHiddenField.type = 'hidden';
    	newHiddenField.name = attribute;
    	newHiddenField.value = attribute;
    
    	form.appendChild(newHiddenField);
	}


    form.submit();
}


function sendForm(formName, attribute, value, selname)
{    
	var form = document.forms[formName];
	
    if (!form) return false;
    
	if(attribute){
		
		var newHiddenField = document.createElement('input');
    	newHiddenField.type = 'hidden';
    	newHiddenField.name = attribute;
    	newHiddenField.value = value;
    
    	form.appendChild(newHiddenField);
	}


    form.submit();
}




function sendFormAndSelectGroup(formName, attribute, group, parent)
{    
	var form = document.getElementById(formName);
	
    if (!form) return false;
    
	if(attribute){
		
		var newHiddenField = document.createElement('input');
    	newHiddenField.type = 'hidden';
    	newHiddenField.name = attribute;
    	newHiddenField.value = attribute;
    
    	form.appendChild(newHiddenField);
    }
	
	if(group){
		
		var newHiddenField = document.createElement('input');
    	newHiddenField.type = 'hidden';
    	newHiddenField.name = 'GROUP';
    	newHiddenField.value = group;
    
    	form.appendChild(newHiddenField);
	}
	
	if(parent){
		
		var newHiddenField = document.createElement('input');
    	newHiddenField.type = 'hidden';
    	newHiddenField.name = 'PARENT';
    	newHiddenField.value = parent;
    
    	form.appendChild(newHiddenField);
	}

    form.submit();
}



/*	
	Neue Funktionen für den vereinfachten Webshop
	Logik fürs Aufklappen und Schließen der einzelnen Selektionsmasken
*/

function getMoreDetails(id, blockid) {

	setFocusOnThisBox(blockid);
	try{
		document.getElementById(id).style.display ='table-row';
	}
	catch(e){
		document.getElementById(id).style.display ='inline';
	}
		
}

function closeAllDetails() {
	/*
	if(document.getElementById('MerkmaleDetail')){
		detailBlocks = new Array("BrancheDetail", "RegionDetail", "MerkmaleDetail", "EntscheiderDetail");
		detailLinks = new Array("DetailLinkRegion", "DetailLinkMerkmale", "DetailLinkEntscheider");
		//closeLinks = new Array("CloseLinkBranche", "CloseLinkRegion", "CloseLinkMerkmale", "CloseLinkEntscheider");
	}
	else{
		detailBlocks = new Array("RegionDetail", "InteressenDetail", "SozioDetail", "WohnsituationDetail");
		detailLinks = new Array("DetailLinkRegion","DetailLinkInteressen", "DetailLinkSozio", "DetailLinkWohnsituation");
		//closeLinks = new Array("CloseLinkRegion", "CloseLinkInteressen", "CloseLinkSozio", "CloseLinkWohnsituation");
	}
	*/
    detailBlocks
        = new Array("RegionDetail",
                    "InteressenDetail",
                    "SozioDetail",
                    "WohnsituationDetail",
                    "BrancheDetail",
                    "RegionDetail",
                    "MerkmaleDetail",
                    "EntscheiderDetail",
                    "PersonenmerkmaleDetail",
                    "HaushaltDetail",
                    "KaufverhaltenDetail",
                    "SoziodemografieDetail",
                    "LebenssituationDetail");

    detailLinks
        = new Array("DetailLinkRegion",
                    "DetailLinkMerkmale",
                    "DetailLinkEntscheider",
                    "DetailLinkInteressen",
                    "DetailLinkSozio",
                    "DetailLinkWohnsituation",
                    "DetailLinkPersonenmerkmale",
                    "DetailLinkHaushalt",
                    "DetailLinkKaufverhalten",
                    "DetailLinkSoziodemografie",
                    "DetailLinkLebenssituation");
    
	for (var i = 0; i < detailBlocks.length; i++) {
		var blockid = detailBlocks[i];
        if (document.getElementById(blockid))
            document.getElementById(blockid).style.display
                = 'none';
	}
	
	for (var i = 0; i < detailLinks.length; i++) {
		var linkid = detailLinks[i];
        if (document.getElementById(linkid))
            document.getElementById(linkid).innerHTML
                = document.getElementById(linkid).title;
	}
	
	/*
	detailBlocks = document.getElementsByName("Detail");
	for (var i = 0; i < detailBlocks.length; ++i)
        detailBlocks[i].style.display = "none";
	   
    detailLinks = document.getElementsByName("DetailLink");
    for (var i = 0; i < detailLinks.length; ++i)
        detailLinks[i].innerHTML
            = detailLinks[i].title;
    */
}

function setFocusOnThisBox(id) {    
	if(document.getElementById(id)
       && document.getElementById(id).className != 'gimmeborder_active') {
		closeAllDetails(); }
	
	setActiveLayout(id); }

function setDetailLinkText(link, newtext){	
	document.getElementById(link).innerHTML = newtext; }


function setActiveLayout(id) {
	
	//alle Boxen passivieren
    /*
	if(document.getElementById('BranchenMaske')){
		blocks = new Array("BranchenMaske", "RegionenMaske", "MerkmaleMaske", "EntscheiderMaske");
	}
	else{
		blocks = new Array("SozioMaske", "RegionenMaske", "InteressenMaske", "WohnsituationMaske");
	}
	*/
    blocks
        = new Array("BranchenMaske",
                    "RegionenMaske",
                    "MerkmaleMaske",
                    "EntscheiderMaske",
                    "SozioMaske",
                    "RegionenMaske",
                    "InteressenMaske",
                    "WohnsituationMaske",
                    "PersonenmerkmaleMaske",
                    "HaushaltMaske",
                    "KaufverhaltenMaske",
                    "SoziodemografieMaske",
                    "LebenssituationMaske",
                    "RegionMaske");

	for (var i = 0; i < blocks.length; i++) {
		var blockid = blocks[i];
        if (document.getElementById(blockid))
            document.getElementById(blockid).className
                = "gimmeborder";
	}

	//Box aktivieren
    if (document.getElementById(id))
        document.getElementById(id).className
            = "gimmeborder_active";
	
}


function getInline(){

	if(navigator.appName == "Microsoft Internet Explorer")
	{
		return("display:inline;");
	}
	else
	{
		return("display:table-row;");
	}
}


function activateProfile() {
	
	//alle Boxen passivieren
	articles = new Array("article1", "article2", "article2AddOn", "article3", "article4", "article5", "article6");
	sumprices = new Array("sumprice_article1", "sumprice_article2", "sumprice_article3", "sumprice_article4", "sumprice_article5", "sumprice_article6");

	
	for (var i = 0; i < sumprices.length; i++) {
		var sumpricesid = sumprices[i];
		document.getElementById(sumpricesid).style.fontWeight="normal";
	}
	

	for (var i = 0; i < articles.length; i++) {
		var articleid = articles[i];
		document.getElementById(articleid).className="";
	}

	//Box aktivieren
	document.getElementById('article1').className="light";

}

function activateTargetGroup() {
	
	//alle Boxen passivieren
	articles = new Array("article1", "article2", "article2AddOn", "article3", "article4", "article5", "article6");
	sumprices = new Array("sumprice_article1", "sumprice_article2", "sumprice_article3", "sumprice_article4", "sumprice_article5", "sumprice_article6");

	for (var i = 0; i < sumprices.length; i++) {
		var sumpricesid = sumprices[i];
		document.getElementById(sumpricesid).style.fontWeight="normal";
	}
			
	for (var i = 0; i < articles.length; i++) {
		var articleid = articles[i];
		document.getElementById(articleid).className="";
	}

	//Box aktivieren
	document.getElementById('article2').className="light";
	document.getElementById('article2AddOn').className="light";
	document.getElementById('article3').className="light";
	document.getElementById('article4').className="light";
	document.getElementById('article5').className="light";
	document.getElementById('article6').className="light";

}

function markingSumPrice(id){
	if(document.getElementById(id).style.fontWeight != "bold")
	{
		document.getElementById(id).style.fontWeight="bold";
	}
	else
	{
		document.getElementById(id).style.fontWeight="normal";
	}
}

function resizeShophead() {
	
	document.getElementById('shophead').style.height="auto";
	document.getElementById('shophead').style.zIndex="1";
	document.getElementById('shopbody').style.top="18em";
	document.getElementById('middlecontainer').style.top="-4.5em";
}


function getNoTipsCookie(name){
	
	var cookiewert;
	var nameEQ = "noTips_" + 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) cookiewert = c.substring(nameEQ.length,c.length);
	}
	
	if(cookiewert == 'true')
	{
		return true;
	}
	else
	{
		return false;
	}
}

function setNoTipsCookie(div){
	
	//jeden Tipp grunds. nur 1x anzeigen/Session
	var ablauf = new Date();
	var ineinemTag = ablauf.getTime() + (1 * 24 * 60 * 60 * 1000);
	ablauf.setTime(ineinemTag);
	document.cookie = "noTips_"+div+"=true; expires=" + ablauf.toGMTString();
	
}	

function getSelectionGroup(groupid, count)
{
	
	for(var i=1; i<=count; i++)
	{	
		document.getElementById("selection".concat(i)).style.display = 'none';
		document.getElementById("grouplink".concat(i)).className = 'selectionGroupPassive';
	}
	
	document.getElementById("selection".concat(groupid)).style.display = 'inline';
	document.getElementById("grouplink".concat(groupid)).className = 'selectionGroupActive';
}


function setSelectionName(f, formName)
{
 
 	var form = document.getElementById(formName);
	
    if (!form) return false;
 	
    form.SELECTIONNAME.value = f.SELECTIONNAME.value;
 	
    var newHiddenField = document.createElement('input');
    newHiddenField.type = 'hidden';
    newHiddenField.name = 'QUICKCART';
    newHiddenField.value = 'QUICKCART';
    
    form.appendChild(newHiddenField);
    
    var newHiddenFieldMode = document.createElement('input');
    newHiddenFieldMode.type = 'hidden';
    newHiddenFieldMode.name = 'MODE';
    newHiddenFieldMode.value = 'quickCart';
    
    form.appendChild(newHiddenFieldMode);
 	
    form.submit();
     	
 }