function generateProductTrees()
{
	//convert string to tree structure
	var productTreeNodes = jQuery( 'div.producttree' );
	jQuery.each( productTreeNodes, function( iNodeKey, elemNode ) {
		var elemProdTreeNode = jQuery( elemNode );
		var strNewNode = '<ul class="producttree filetree" style="float:left;">';
		var strProdTree = jQuery.trim( elemProdTreeNode.html() );
		var arrBranches = strProdTree.split( ',' );
		
		var objData = {};
		jQuery.each( arrBranches, function( iBranchKey, strBranch ) {
			strBranch = jQuery.trim( strBranch );
			var arrBranchContent = strBranch.split( '|' );
			
			switch( arrBranchContent.length )
			{
				case 3:
					var strProductGroup = jQuery.trim( arrBranchContent[0] );
					var strProductSubGroup = jQuery.trim( arrBranchContent[1] );
					var strProduct = jQuery.trim( arrBranchContent[2] );
					if ( typeof objData[ strProductGroup ] == "undefined" )
					{
						objData[ strProductGroup ] = {};
					}
					if ( typeof objData[ strProductGroup ][ strProductSubGroup ] == "undefined" )
					{
						objData[ strProductGroup ][ strProductSubGroup ] = [];
					}
					objData[ strProductGroup ][ strProductSubGroup ][ (objData[ strProductGroup ][ strProductSubGroup ]).length ] = strProduct;
					break;
				case 2:
					var strProductGroup = jQuery.trim( arrBranchContent[0] );
					var strProductSubGroup = jQuery.trim( arrBranchContent[1] );
					if ( typeof objData[ strProductGroup ] == "undefined" )
					{
						objData[ strProductGroup ] = {};
					}
					if ( typeof objData[ strProductGroup ][ strProductSubGroup ] == "undefined" )
					{
						objData[ strProductGroup ][ strProductSubGroup ] = [];
					}
					break;
				case 1:
					var strProductGroup = jQuery.trim( arrBranchContent[0] );
					if ( typeof objData[ strProductGroup ] == "undefined" )
					{
						objData[ strProductGroup ] = {};
					}
					break;
			}
		} );

		for( var productGroup in objData )
		{
			var strData = '<li class="root"><span class="folder">' + productGroup + '</span>';
			if ( !jQuery.isEmptyObject( objData[ productGroup ] ) )
			{
				strData += '<ul>';
			}
			for( var productSubGroup in objData[ productGroup ] )
			{
				strData += '<li><span class="folder">' + productSubGroup + '</span>';
				var length = objData[ productGroup ][ productSubGroup ].length
				if ( length > 0 )
				{
					strData += '<ul>';
				}
				for( var i=0; i<length; i++ )
				{
					strData += '<li><span class="file">' + objData[ productGroup ][ productSubGroup ][ i ] + '</span></li>';
				}
				if ( length > 0 )
				{
					strData += '</ul>';
				}
				strData += '</li>';
			}
			if ( !jQuery.isEmptyObject( objData[ productGroup ] ) )
			{
				strData += '</ul>';
			}
			strData += '</li>';
			strNewNode += strData;
		}
		strNewNode += "</ul>";
		elemNode.innerHTML = strNewNode;
	} );

	//format as tree
	jQuery( "ul.producttree" ).treeview(
		{
			animated: "fast",
			collapsed: true,
			unique: false
		}
	);
}

jQuery( document ).ready(
    function() {
        generateProductTrees();
		hidePostalcodeInSearchKeyword();
    }
);


function hidePostalcodeInSearchKeyword(keyword){
	var plz_feld = $('div#WFQBE_PLZ_4 input#FIELD_WFQBE_PLZ_4');
	if ( plz_feld )
	{
		var suche_feld = $('div#WFQBE_SEARCH_1 input#FIELD_WFQBE_SEARCH_1');
		if($(plz_feld).length > 0){
			$(plz_feld).val('');
			$('div#WFQBE_PLZ_4').css('display','none');
		}
		if($(suche_feld).length > 0){
			$(suche_feld).val('');
		}
	}
}


function setProductSearchKeyword(keyword){
	$('input#productsearch_keyword').val(keyword);
	$('#product_search_form').submit();
}
