var detailSwitcher;
(function(){
    detailSwitcher = {
		options : {
			imageup : '/extension/spocomm/design/spocomm/images/icons/dd_logo_up.jpg',
            imagedown : '/extension/spocomm/design/spocomm/images/icons/dd_logo.jpg'
		},
        switchIt : function(){
			var args = $(this).getProperty('id').split('_');
			if( $('optioninfos_'+args[1]).getStyle('height').toInt() == 0 ){
                $('optimg_'+args[1]).setProperty( 'src', detailSwitcher.options.imageup );
				$('optioninfos_'+args[1]).tween( 'height', $('optioninfos_'+args[1]).scrollHeight );
			}
			else{
                $('optimg_'+args[1]).setProperty( 'src', detailSwitcher.options.imagedown );
				$('optioninfos_'+args[1]).tween( 'height', 0 );
			}
        },
		closeIt : function( elem ){
			var args = $(elem).getProperty('id').split('_');
            $('optimg_'+args[1]).setProperty( 'src', detailSwitcher.options.imagedown );
			$('optioninfos_'+args[1]).tween( 'height', 0 );
		}
    };
    Element.implement({
        detailSwitch: function(){
            $(this).addEvent( 'click', detailSwitcher.switchIt );
			detailSwitcher.closeIt( this );
        }
    });
})();
detailSwitcher.scanPage = function(){
    $$('.detail-switcher').detailSwitch();
}
window.addEvent("domready", detailSwitcher.scanPage);



ajaxControl = function(url,changeFunction,data,method) {
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest;
    } else if (window.ActiveXObject) {
        try {request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!request) {
        return false;
    } else {
        method = method?method:"post";
        data = data?data:null;

        request.open(method, url, true);
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        request.send(data);
        request.onreadystatechange = changeFunction;
    }
}


linehighlights = {
    offset: 0,
    change_lines : function()
    {
        switch (request.readyState) {
          case 4:
            if (request.status != 200) {
            } else {
                var xmlDoc = request.responseXML;
                var outputbox = document.getElementById('productline_highlights');
                outputbox.innerHTML=request.responseText;
            }
            break;
          default:
            break;
        }
    },
    backward : function( newoffset ) { ajaxControl('/navigation/productline/'+newoffset, linehighlights.change_lines, newoffset); },
    forward : function( newoffset ) { ajaxControl('/navigation/productline/'+newoffset, linehighlights.change_lines, newoffset); }
}

get_optioninfo = {
    showInfos : function()
    {
        switch (request.readyState) {
          case 4:
            if (request.status != 200) {
            } else {
                var xmlDoc = request.responseXML;
                var outputboxname='optioninfos'+get_optioninfo.optionNodeId;
                var outputbox = document.getElementById( outputboxname );
                outputbox.innerHTML=request.responseText;
            }
            break;
          default:
            break;
        }
    },
    loadInfos : function( optionNodeId )
    {
        get_optioninfo.optionNodeId=optionNodeId;
        ajaxControl('/navigation/get_optioninfo/'+optionNodeId, get_optioninfo.showInfos, optionNodeId);
        
        var showlinkname='optionshow'+optionNodeId;
        var showlink = document.getElementById( showlinkname );
        showlink.innerHTML='<td id="optionshow{$node.data_map.case.content.relation_list.0.node_id}"><a name="case" onclick="javascript:get_optioninfo.unloadInfos('+optionNodeId+');return false;" class="cursor">-</a></td>';
    },
    unloadInfos : function( optionNodeId )
    {
        var outputboxname='optioninfos'+optionNodeId;
        var outputbox = document.getElementById( outputboxname );
        outputbox.innerHTML='';
        
        var showlinkname='optionshow'+optionNodeId;
        var showlink = document.getElementById( showlinkname );
        showlink.innerHTML='<td id="optionshow{$node.data_map.case.content.relation_list.0.node_id}"><a name="case" onclick="javascript:get_optioninfo.loadInfos('+optionNodeId+');return false;" class="cursor">+</a></td>';
    }
}

product_optioninfo = {
    toggleInfos : function( optionNodeId )
    {
        var outputboxname='optioninfos'+optionNodeId;
        var outputbox = document.getElementById( outputboxname );
        if(outputbox.style.display == 'none')
        {
            try
            {
                outputbox.style.display = 'table-row';
            }
            catch( err )
            {
                outputbox.style.display = 'block';
            }
        }
        else
        {
            outputbox.style.display = 'none';
        }
    }
}

filter_functions = {

    getcount : function()
    {
        var cas = document.getElementById('case').options[document.getElementById('case').selectedIndex].value;
        var cpu = document.getElementById('cpu').options[document.getElementById('cpu').selectedIndex].value;
        var lan = document.getElementById('lan').options[document.getElementById('lan').selectedIndex].value;
        var usb = document.getElementById('usb').options[document.getElementById('usb').selectedIndex].value;
        var pci = document.getElementById('pci').options[document.getElementById('pci').selectedIndex].value;
        var com = document.getElementById('com').options[document.getElementById('com').selectedIndex].value;
        var verbrauch = document.getElementById('verbrauch').options[document.getElementById('verbrauch').selectedIndex].value;
        var kategorie = document.getElementById('kategorie').options[document.getElementById('kategorie').selectedIndex].value;

        var passive_cooling = document.getElementById('passive_cooling').checked;
        passive_cooling = passive_cooling?"&passive_cooling=on":"";
        var optical_device = document.getElementById('optical_device').checked;
        optical_device = optical_device?"&optical_device=on":"";
        var hdmi = document.getElementById('hdmi').checked;
        hdmi = hdmi?"&hdmi=on":"";
        var dualdisplay = document.getElementById('dualdisplay').checked;
        dualdisplay = dualdisplay?"&dualdisplay=on":"";
        var fullhd = document.getElementById('fullhd').checked;
        fullhd = fullhd?"&fullhd=on":"";

        var data = "case="+cas+"&cpu="+cpu+"&lan="+lan+"&usb="+usb+"&pci="+pci+"&com="+com+passive_cooling+optical_device+hdmi+dualdisplay+fullhd+"&verbrauch="+verbrauch+"&kategorie="+kategorie;

        ajaxControl('/filter/getcount2/', filter_functions.print_count, data);
    },

    print_count : function()
    {
        switch (request.readyState) {
          case 4:
            if (request.status != 200) {
            } else {
                if( request.responseText == 0 ){
                    //document.getElementById('filter_count').innerHTML = "Keine ";
                    document.getElementById('filter_count').style.display = 'none';
                    document.getElementById('filter_empty').style.display = 'inline';
                }
                else{
                    
                    document.getElementById('filter_empty').style.display = 'none';
                    document.getElementById('filter_count').style.display = 'inline';
                    document.getElementById('filter_count').innerHTML = request.responseText;
                }
            }
            break;
          default:
            break;
        }
    }

}

