/*
* HTML classes with popup functionality
*
* After the class name you can add some popup window options like window height
* or width. The option list must be comma seperated.
*/
var popupElements = new Array
(
    'EXTERNAL'
);

init = function ()
{
    YAHOO.util.Dom.addClass( document.getElementsByTagName( "body" )[ 0 ] , "js" );

    if
    (
        document.getElementById( "page-index" )
        ||
        document.getElementById( "page-Page_Search" )
    )
    {
        document.getElementById( "q" ).focus();
        document.getElementById( "q" ).select();
    }

    Links = document.getElementsByTagName ( 'a' );
    Popups = getWindowAttribute ( popupElements );
    doPopups ( Popups, Links );

    //initSelectAll();
    initSwitcher();
    initInputFocus();
    initIconSwitcher();
    initQuickeditSwitcher();
    initCategoryBoxes();
    initIndexSwf();
	//initNutritionSwf();
	initAboutSwf();
	initConfirms ( Links );
	initStoplight( );
	initQuiz();
	initIcespecial( );
	initXmasspecial( );
	initTabNavigation();
	initProductEdit();
	initContactFormSubjectSwitch();
	initOnChangeRedir();
	//initIncompleteProductLayer();
	initProductDetailToolbox();
	//initSearchSuggest();
	initSearchFilter();
	initBoxedContent();
	initSubnavigation();
	initPrint();
	initReferal();
	initMagazineToolbox();
	initMagazineToolboxTop();
	initSurvey();
};

YAHOO.util.Event.onDOMReady( init );

function setJs
(
)
{
    YAHOO.util.Dom.addClass( document.getElementsByTagName( "body" )[ 0 ] , "js" );
}
YAHOO.util.Event.onAvailable( "page-product", setJs );

initSubnavigation = function
(
)
{
	var MainNavi = document.getElementById("navigation");
	var SubNavigations = YAHOO.util.Dom.getElementsByClassName ( 'sub' , 'ul' , MainNavi );

	if
	(
		SubNavigations.length > 0
	)
	{
		for
		(
			var i = 0; i < SubNavigations.length; i++
		)
		{
			SubNavigations[i].parentNode.onmouseover=function()
			{
				/*@cc_on
				@if (@_jscript_version < 5.7)
	           	YAHOO.util.Dom.addClass ( this , 'sfhover');
				@end
				@*/
	            YAHOO.util.Dom.removeClass( 'nav-products-list' , "unhide" );
                menuopen = false;
                
                if ( document.getElementById ( 'quiz' ) )
                {
                    _pauseQuiz();
                }
			}
			SubNavigations[i].parentNode.onmouseout=function()
			{
				/*@cc_on
				@if (@_jscript_version < 5.7)
	           	YAHOO.util.Dom.removeClass ( this , 'sfhover');
				@end
				@*/
                
                if ( document.getElementById ( 'quiz' ) )
                {
                    _unpauseQuiz();
                }
			}
		}
	}
}

_pauseQuiz = function()
{
    var Embed = document.getElementById ( 'quiz' ).getElementsByTagName ( 'embed' );
    
    if ( Embed.length == 0 )
    {
        Embed = document.getElementById ( 'quiz' ).getElementsByTagName ( 'object' );
        
        if ( Embed.length == 0 ) { return; }
    }
        
    Embed = Embed [ 0 ];
    
    Embed.height = 1;
    Embed.visibility = 'hidden';
    
    if
    (
        ! document.getElementById ( 'quiz-paused' )
    )
    {
        var Img = document.createElement ( 'img' );
        Img.id = 'quiz-paused';
        Img.src = '/pics/quiz/pic_quiz_paused_02.jpg';
        Img.width = 984;
        Img.height = 630;
        Img.alt = '';
        Img.title = '';
        
        YAHOO.util.Dom.insertBefore ( Img , Embed );
    }
}

_unpauseQuiz = function()
{
    if
    (
        document.getElementById ( 'quiz-paused' )
    )
    {
        document.getElementById ( 'quiz' ).removeChild ( document.getElementById ( 'quiz-paused' ) ) ;
    }

    var Embed = document.getElementById ( 'quiz' ).getElementsByTagName ( 'embed' );
    
    if ( Embed.length == 0 )
    {
        Embed = document.getElementById ( 'quiz' ).getElementsByTagName ( 'object' );
        
        if ( Embed.length == 0 ) { return; }
    }
    
    Embed = Embed [ 0 ];
    
    Embed.height = 630;
    Embed.visibility = 'hidden';
}

initSelectAll = function ()
{
    var Inputs = document.getElementsByTagName ( "input" );

    for
    (
        var i = 0;
        i < Inputs.length;
        i++
    )
    {
        if
        (
            Inputs[ i ].getAttribute( "type" ) == "text"
        )
        {
            Inputs[ i ].onfocus = function ()
            {
                this.select();
            };
        }
    }
};

initSwitcher = function ()
{
    if
    (
        document.getElementById( "product" )
        &&
        document.getElementById( "nutrition-food" )
        &&
        document.getElementById( "nutrition-allergy" )
    )
    {
        var Elements = new Array
        (
            document.getElementById( "nutrition-food" ),
            document.getElementById( "nutrition-allergy" )
        );

        for
        (
            var i = 0;
            i < Elements.length;
            i++
        )
        {
            if
            (
                Elements[i]
            )
            {
                Elements[ i ].onclick = function ()
                {
                    var Neighbours = this.parentNode.getElementsByTagName( "div" );
                    for
                    (
                        var j = 0;
                        j < Neighbours.length;
                        j++
                    )
                    {
                        YAHOO.util.Dom.removeClass( Neighbours[ j ], "selected" );
                    }
                    YAHOO.util.Dom.addClass( this , "selected" );
                };
            }
        }
    }
};


initIconSwitcher = function ()
{
    if
    (
        document.getElementById( "nutrition-icons" )
    )
    {
        var Elements = document.getElementById( "nutrition-icons" ).getElementsByTagName( "li" );

        for
        (
            var i = 0;
            i < Elements.length;
            i++
        )
        {
            Elements[ i ].onmouseover = function ()
            {
                this.getElementsByTagName( "img" )[ 0 ].src = this.getElementsByTagName( "img" )[ 0 ].src.replace( /sml/g, "big" );
                YAHOO.util.Dom.addClass( this , "big" );
                YAHOO.util.Dom.addClass( this.getElementsByTagName( "img" )[ 0 ] , "show-icon" );
            };
            Elements[ i ].onmouseout = function ()
            {
                this.getElementsByTagName( "img" )[ 0 ].src = this.getElementsByTagName( "img" )[ 0 ].src.replace( /big/g, "sml" );
                YAHOO.util.Dom.removeClass( this , "big" );
				var checkbox = this.getElementsByTagName( "img" )[ 0 ].id.replace ('img-' , '');
				checkbox = document.getElementById ( checkbox );
				if
				(
					checkbox
				)
				{
					if
					(
						checkbox.checked == false
					)
					{
		                YAHOO.util.Dom.removeClass( this.getElementsByTagName( "img" )[ 0 ] , "show-icon" );
		            }
		        }
            };
            Elements[ i ].onclick = function ()
            {
				var checkbox = this.getElementsByTagName( "img" )[ 0 ].id.replace ('img-' , '');
				checkbox = document.getElementById ( checkbox );
				if
				(
					checkbox
				)
				{
					if
					(
						checkbox.checked == true
					)
					{
						checkbox.checked = false;
						YAHOO.util.Dom.removeClass( this.getElementsByTagName( "img" )[ 0 ] , "show-icon" );
					}
					else
					{
						checkbox.checked = true;
						YAHOO.util.Dom.addClass( this.getElementsByTagName( "img" )[ 0 ] , "show-icon" );
					}
				}
				return false;
            };
        }
    }
};

initQuickeditSwitcher = function ()
{
    if
    (
        document.getElementById( "product" )
        &&
        YAHOO.util.Dom.hasClass( document.getElementsByTagName( "body" )[0], "editable" )
        &&
        !YAHOO.util.Dom.hasClass( document.getElementById( "product" ), "edit" )
    )
    {


        var Elements = YAHOO.util.Dom.getElementsByClassName( 'editable' , 'div' , 'content' );

        for
        (
            var i = 0;
            i < Elements.length;
            i++
        )
        {
           	var a = document.createElement( "a" );
           	var img = document.createElement( "img" );

			if
			(
				Elements [ i ].id == 'product-image'
			)
			{
				var P = YAHOO.util.Dom.getElementsByClassName ( 'IMG' , 'p' , Elements [ i ] ) [ 0 ];
				var PEdit = document.createElement ( 'p' );
				PEdit.className = 'img-quickedit';
           		a.href = './bearbeiten/#' + Elements[i].id;
				a.className = Elements[i].id;
	            img.src = '/pics/bt_edit_01.gif';
	            a.appendChild( img );
	            a.onclick = function ()
	            {
	            	ProductQuickEdit.requestEditByFieldId ( this.parentNode.parentNode.parentNode.id );
	            	return false;
	            }
				PEdit.appendChild ( a );
				YAHOO.util.Dom.insertAfter ( PEdit, P );


	            P.parentNode.onmouseover = function
	            (
	            )
	            {
	            	YAHOO.util.Dom.addClass(this,'IE');
	            }
	            P.parentNode.onmouseout = function
	            (
	            )
	            {
	            	YAHOO.util.Dom.removeClass(this,'IE');
	            }
			}
			else
			{
	            h3 = Elements[i].getElementsByTagName('h3')[0];
	/*@cc_on
	@if (@_jscript_version < 5.7)
	            h3.onmouseover = function
	            (
	            )
	            {
	            	YAHOO.util.Dom.addClass(this,'IE');
	            }
	            h3.onmouseout = function
	            (
	            )
	            {
	            	YAHOO.util.Dom.removeClass(this,'IE');
	            }@end
	@*/

				a.className = h3.parentNode.id;
	            img.src = '/pics/bt_edit_01.gif';
	            a.appendChild( img );
	            h3.appendChild( a );
	            a = h3.getElementsByTagName('a')[0];
	            a.onclick = function
	            (
	            )
	            {
	            	ProductQuickEdit.requestEditByFieldId ( this.parentNode.parentNode.id );
	            	return false;
	            }
			}
        }
    }
};

initInputFocus = function
(
)
{
	if
	(
		document.getElementById ( 'teaser-newsletter-email' )
	)
	{
  		inputFieldFocus ( 'teaser-newsletter-email' , '' , 'Ihre E-Mail-Adresse');
  	}
  	
  	if
  	(
  		document.getElementById('q')
  	)
  	{
  		inputFieldFocus ( 'q' , '' , 'Welches Lebensmittel suchen Sie? (Marke, Produkt, EAN-Code, etc.)');
  	}

	if
	(
		document.getElementById( 'product-search' )
	)
	{
	  	document.getElementById( 'product-search' ).onsubmit = function
	  	(
	  	)
	 	{
			document.getElementById('q').value = document.getElementById('q').value.replace ( 'Welches Lebensmittel suchen Sie? (Marke, Produkt, EAN-Code, etc.)' , '' );
	  	}
	}
}

initConfirms = function
(
	Links
)
{
    for
    (
        var i = 0;
        i < Links.length;
        i++
    )
    {
        if
        (
        	Links[i].className == "productdelete"
        )
        {
        	Links[i].onclick = function ()
        	{
        		return confirm ( 'Soll dieses Produkt wirklich gel'+unescape('%F6')+'scht werden?' );
        	}
        }
    }
}

initIncompleteProductLayer = function
(
)
{
	var Product = document.getElementById ( 'product' );

	if
	(
		Product
	)
	{
		if
		(
			YAHOO.util.Dom.hasClass ( Product , 'incomplete')
		)
		{
			var Field = Product.className.replace ( /(.*)-([a-zA-Z]+)$/ , '$2');

			if
			(
				Field.length > 0
			)
			{
				displayIncompleteLayer ( Product.id , Field );
			}
		}
	}
}

initProductDetailToolbox = function
(
)
{
	var Body = document.getElementById ( 'page-product');
	var ProductEnv = document.getElementById ( 'product' );
	var Options = document.getElementById("product-options");

	if
	(
		Body
		&&
		ProductEnv
		&&
		Options
	)
	{
		var sfEls = Options.getElementsByTagName("li");

		if
		(
			sfEls.length > 0
		)
		{
			for
			(
				var i=0; i<sfEls.length; i++
			)
			{
				sfEls[i].onmouseover = function
				(
				)
				{
					this.className+=" sfhover";
				}
				sfEls[i].onmouseout = function
				(
				)
				{
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
	}
}

initSearchSuggest = function
(
)
{
	if
	(
		SearchSuggestion.suggestInitializable()
	)
	{
		SearchSuggestion.init();
	}
}

initSearchFilter = function
(
)
{
	if
	(
		SearchFilter.suggestInitializable()
	)
	{
		SearchFilter.init();
	}
}

initPrint = function
(

)
{
	var PrintElements = YAHOO.util.Dom.getElementsByClassName ( 'PRINT' , 'a' );

	if
	(
		PrintElements.length > 0
	)
	{
		for
		(
			var i = 0; i < PrintElements.length; i++
		)
		{
			PrintElements [ i ].onclick = function()
			{
				self.print();
			};
		}
	}
}

initReferal = function
(
)
{
	Referal.init();
}

displayIncompleteLayer = function
(
	TargetElement,
	TargetClass
)
{
	var Target = document.getElementById ( TargetElement );

	if
	(
		Target
		&&
		YAHOO.util.Dom.getElementsByClassName( 'editable' , 'div' , 'content' ).length > 1
	)
	{
		var Layer = document.createElement ( 'div' );
		Layer.id = 'incomplete';
		Layer.className = TargetClass;

		Div = document.createElement ( 'div' );
		Div.className = 'visual';
		Img = document.createElement ( 'img' );
		Img.src = '/pics/bg_layer-incomplete_01.gif';
		Img.width = 395;
		Img.height = 219;
		Img.alt = '';
		Div.appendChild ( Img );
		Layer.appendChild ( Div );

		var H3 = document.createElement ( 'h3' );
		H3.innerHTML = 'Hier fehlt doch was!';
		Layer.appendChild ( H3 );

		var P = document.createElement ( 'p' );
		P.className = 'close';
		Img = document.createElement ( 'img' );
		Img.src = '/pics/ic_close_02.gif';
		Img.alt = 'Schlie' + unescape ( '%DF' ) + 'en';
		Img.width = 23;
		Img.height = 23;
		Img.onclick = removeIncompleteLayer;
		P.appendChild ( Img );
		Layer.appendChild ( P );

		var P = document.createElement ( 'p' );
		P.innerHTML = 'Helfen Sie mit, die Seite weiter zu f' + unescape ( '%FC' ) + 'llen, indem Sie die fehlenden Angaben erg' + unescape ( '%E4' ) + 'nzen. Mitmachen kann jeder, dazu braucht es keinen Ern' + unescape ( '%E4' ) + 'hrungsexperten!<br />Einfach einloggen und die fehlenden Angaben von der Produktverpackung hier eintragen.';
		Layer.appendChild ( P );

		var A = document.createElement ( 'a' );
		A.href = '/login/';
		if
		(
			YAHOO.util.Dom.hasClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'editable' )
		)
		{
			Options = YAHOO.util.Dom.getElementsByClassName ( 'options' , 'p' , document.getElementById ( 'product' ) );

			if
			(
				Options.length > 0
			)
			{
				Links = Options [ 0 ].getElementsByTagName ( 'a' );

				if
				(
					Links.length > 0
				)
				{
					A.href = Links  [ 0 ].href;
				}

			}
		}
		var Img = document.createElement ( 'img' );
		Img.src = '/pics/bt_jetzt-mitmachen_01.gif';
		Img.alt = 'Jetzt mitmachen';
		Img.width = 197;
		Img.height = 24;
		A.appendChild ( Img );
		P.appendChild ( A );
		Layer.appendChild ( P );

		Target.appendChild ( Layer );
	}
}

removeIncompleteLayer = function
(
)
{
	var Target = document.getElementById ( 'incomplete' );
	Target.parentNode.removeChild ( Target );
}

inputFieldFocus = function ( InputField, FocusValue, StandardValue )
{
    InputField = document.getElementById ( InputField );

    if
    (
        InputField
    )
    {
        InputField.onfocus = function ()
        {
            if
            (
                this.value == StandardValue
            )
            {
                this.value = FocusValue;
            }

        }
        InputField.onclick = function ()
        {
            if
            (
                this.value == StandardValue
            )
            {
                this.value = FocusValue;
            }
        }
        InputField.onblur = function ()
        {
            if
            (
                this.value == FocusValue
            )
            {
                this.value = StandardValue;
            }

        }
    }
}


function checkClasses
(
    Needles,
    Haystack
)
{
    for
    (
        var i = 0;
        i < Needles.length;
        i++
    )
    {
        if ( Haystack.indexOf ( Needles[ i ] ) > -1 )
        {
            return Needles[ i ];
        }
    }

    return false;
}

function aTrimArray
(
    Elements
)
{
    if ( Elements.length < 0 ) return false;

    var ElementsReturn = new Array ();

    for
    (
        var i = 0;
        i < Elements.length;
        i++
    )
    {
        ElementsReturn[ i ] = Elements[ i ].replace ( new RegExp ( '/\s/' ), '' );
    }

    return ElementsReturn;
}

function getWindowAttribute
(
    Elements
)
{
    if ( Elements.length < 1 ) return false;

    var WindowNames = new Array ();
    var WindowAttributes = new Array ();

    for
    (
        var i = 0;
        i < Elements.length;
        i++
    )
    {
            WindowAttributes[ i ] = aTrimArray ( Elements[ i ].split ( "," ) );
            WindowNames[ i ] = WindowAttributes[ i ].shift ();
    }

    var Return = new Array ( WindowNames, WindowAttributes );

    return Return;
}

function doPopups
(
    // Array containing HTML classes with popup functionality
    Popups,
    Links
)
{
    if ( !document.getElementsByTagName ) return false;
    if ( Popups.length < 1 ) return false;

    for
    (
        var i = 0;
        i < Links.length;
        i++
    )
    {
        if ( checkClasses ( Popups[ 0 ], Links[ i ].className ) )
        {
            Links[ i ].onclick = function ()
            {
                var PopupName = checkClasses ( Popups[ 0 ], this.className );
                var PopupId = inArray ( PopupName, Popups[ 0 ] );

                buildPopup ( this.href, PopupName, Popups[ 1 ][ PopupId ] );

                return false;
            };
        }
    }
}

function buildPopup
(
    WindowLocation,
    WindowName,
    WindowAttributes
)
{
    WindowName = WindowName.replace ( /-/, "_" );
    window.open ( WindowLocation, 'das_ist_drin' + WindowName , WindowAttributes.join ( ',' ) );
}

function inArray
(
    SearchTerm,
    Array
)
{
    if ( SearchTerm.length < 1 ) return false;
    if ( Array.length < 1 ) return false;

    for
    (
        var i = 0;
        i < Array.length;
        i++
    )
    {
        if ( Array[ i ] == SearchTerm )
        {
            return i;
        }
    }

    return false;
}

initIndexSwf = function
(
)
{
	Element = document.getElementById ( 'index-swf' );
	if
	(
		Element
	)
	{
	    var navigation = new SWFObject( "/flash/index/index_1.0.swf?url_xml=/flash/index/index_1.0.xml", false, 984, 420, 6 );
        navigation.addParam("wmode", "opaque");
	    navigation.write( "index-swf" );
	}
}

initAboutSwf = function
(
)
{
	Element = document.getElementById ( 'about-swf' );
	if
	(
		Element
	)
	{
	    var navigation = new SWFObject( "/flash/tsr_was-ist-das-ist-drin.swf?clicktag=/was-ist-das-ist-drin.de/", false, 228, 234, 6 );
        navigation.addParam("wmode", "opaque");
	    navigation.write( "about-swf" );
	}
}

initNutritionSwf = function
(
)
{
	Element = document.getElementById('nutrition-flash');

	if
	(
		Element
	)
	{
		Comment = Element.innerHTML.split('-->');
		Comment = Comment[0].replace('<!--', '');
		Comment = Comment.replace ('|%%|' , '--' );
		Comment = Comment.replace ('|%%|' , '--' );
		var swf = '/flash/infoslider.swf?'+Comment;
		NutritionFlash = new SWFObject( swf, 'nutritionobject', 447, 274, 8 );
        NutritionFlash.addParam("wmode", "opaque");
		NutritionFlash.write('nutrition-flash');
		if
		(
			document.getElementById('nutrition-flash').getElementsByTagName('object')[0]
		)
		{
			document.getElementById('nutrition-flash').getElementsByTagName('object')[0].id = 'nutritionobject';
		}
		else
		{
			initNutritionTableQuickEdit();
		}
	}
}



showFullscreenElement = function
(
	Element
)
{
	Element = document.getElementById(Element);
	if
	(
		Element
	)
	{
/*@cc_on
@if (@_jscript_version < 5.7)
	    document.getElementsByTagName ( 'body' )[ 0 ].style.overflow = 'hidden';
	    BodyHeight = document.getElementsByTagName ( 'body' )[ 0 ].scrollHeight;
	    BodyWidth = document.getElementsByTagName ( 'body' )[ 0 ].scrollWidth;
        Element.style.height = BodyHeight + 'px';
        Element.style.width = BodyWidth + 'px';
@end
@*/
	}
}

showMask = function
(
)
{
	if
	(
		!document.getElementById('mask')
	)
	{
		mask = document.createElement('div');
		mask.id = 'mask';
		YAHOO.util.Dom.insertBefore(mask,document.getElementById('moz-scroll'));
		showFullscreenElement( 'mask' );
	}
}

SealPanelAjax =
{
	callScope:'',

	getSealList:function
	(
	)
	{
		link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		url = '/' + link + '/xml/';
		YAHOO.util.Connect.asyncRequest('GET', url+'?query=get-all-seals', this.CallbackGetSeals, "");
	},

	displaySealList:function
	(
		o
	)
	{
		Seals = o.responseText.parseJSON();
		Body = document.getElementsByTagName('body')[0];
		showMask();
		SealLayer = document.createElement('div');
		SealLayer.id = 'seals-overlay';
		Body.appendChild(SealLayer);
		YAHOO.util.Dom.addClass(Body,'overlay');

		if
		(
			Seals.length > 0
		)
		{
			H2 = document.createElement ( 'h2' );
			H2.innerHTML = 'Siegel hinzuf' + unescape ('%FC') + 'gen';
			SealLayer.appendChild(H2);

			P = document.createElement('p');
			P.onclick = SealPanelAjax.hideLayer;
			P.id = 'close';
			Img = document.createElement('img');
			Img.src = '/pics/bt_close_01.gif';
			Img.title = 'schlie' + unescape('%DF') + 'en';
			P.appendChild(Img);
			SealLayer.appendChild(P);

			Layer = document.createElement('div');
			Layer.className = 'scroll';

			Env = document.createElement('div');
			Env = document.createElement('div');
			Env.className = 'products-list';
			Env.id = 'search-result';

			List = document.createElement('div');
			List.className = 'seal-list';

			for
			(
				i = 0; i < Seals.length; i++
			)
			{
				Seal = Seals [ i ];
				Div = document.createElement('div');
				Div.className = 'seal';

				Img = document.createElement('img');
				Img.src = Seal.img;
				Img.title = Seal.tooltip + ' hinzuf' + unescape ('%FC') + 'gen';


				P = document.createElement('p');
				P.appendChild(Img);
				Div.appendChild(P);

				Div.onclick = function
				(
				)
				{
					if
					(
						SealPanelAjax.callScope == 'NutritionNoFlash'
					)
					{
						NutritionNoFlash.saveSeal ( this.getElementsByTagName('h3')[0].className.replace('seal-','') );
					}
					else
					{
						SealPanelAjax.saveSeal ( this.getElementsByTagName('h3')[0].className.replace('seal-','') );
					}
				}

				if
				(
					i % 8 == 0
				)
				{
					Env.appendChild(List);
					List = document.createElement('div');
					List.className = 'seal-list';
				}

				H3 = document.createElement('h3');
				H3.innerHTML = Seal.tooltip;
				H3.className = 'seal-'+Seal.id;
				Div.appendChild(H3);

				List.appendChild(Div);
			}

			Env.appendChild(List);
			Layer.appendChild(Env);
			SealLayer.appendChild(Layer);

		}
	},

	saveSeal:function
	(
		sealId
	)
	{
		link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		url = '/' + link + '/ajax/';
		YAHOO.util.Connect.asyncRequest('POST', url, this.CallbackSaveSealSelection, "query=save-seal&seal="+sealId);
	},

	handleSealSave:function
	(
		o
	)
	{
		Seal = o.responseText.parseJSON();
		document.getElementById('nutritionobject').addNewSeal();
		SealPanelAjax.hideLayer();
	},

	failure:function
	(
	)
	{
	},

	hideLayer:function
	(
	)
	{
		Body = document.getElementsByTagName('body')[0];
		YAHOO.util.Dom.removeClass(Body, 'overlay');
		Body.removeChild(document.getElementById('seals-overlay'));
		Body.removeChild(document.getElementById('mask'));
		this.callScope = '';
	}

};

initOnChangeRedir = function
(
)
{
	Select = YAHOO.util.Dom.getElementsByClassName ( 'onchange-redir' , 'select' , 'content' );

	if
	(
		Select.length > 0
	)
	{
		for
		(
			i = 0; i < Select.length; i++
		)
		{
			Select[i].onchange = function
			(
			)
			{
				window.location = this.value;
			}
		}
	}
}

SealPanelAjax.CallbackGetSeals =
{
	success: SealPanelAjax.displaySealList,
	failure: SealPanelAjax.failure,
	scope: SealPanelAjax
};

SealPanelAjax.CallbackSaveSealSelection =
{
	success: SealPanelAjax.handleSealSave,
	failure: SealPanelAjax.failure,
	scope: SealPanelAjax
};

newSealToFlash = function
(
)
{
	SealPanelAjax.getSealList();
}


CategoryBox =
{
	level: 0,
	box: '',
	structure: new Array(),

	handleSuccess:function
	(
		o
	)
	{
		Categorys = o.responseText.parseJSON();

		if
		(
			Categorys.structure
		)
		{
			this.bufferStructure(Categorys.structure);
		}

		if
		(
			Categorys.data
		)
		{
			if
			(
				Categorys.data.length > 0
			)
			{
				if
				(
					Categorys.meta.level == 0
				)
				{
					this.fillLevel0 ( Categorys.data );
				}
				else
				{
					this.createNewBox ( Categorys );
				}
			}
			else
			{
				boxId = this.box.split('-');
				if
				(
					boxId.length > 1
				)
				{
					if
					(
						this.level > boxId[1]
					)
					{
						this.deleteChildBoxesRecursive( this.level );
					}
				}
				else
				{
					if
					(
						this.initialValue == 0
					)
					{
						this.deleteBox((this.level-1));
						this.deleteBox((this.level));
					}
				}
			}
		}
	},

	deleteChildBoxesRecursive:function
	(
		level
	)
	{
		var delLevel = parseInt(level);

		if
		(
			this.getElement('category-'+delLevel)
		)
		{
			this.getElement('category-select-boxes').removeChild(this.getElement('category-'+delLevel));
			this.deleteChildBoxesRecursive(delLevel);
		}
	},

	createNewBox:function
	(
		Data
	)
	{
		this.level = Data.meta.level;
		BoxName = 'category-'+Data.meta.level;
		Parent = this.getElement('category-select-boxes');
		Box = this.getElement(BoxName)

		if
		(
			!Box
		)
		{
			Box = document.createElement('select');
			Box.id = BoxName;
			Box.name = 'category_tree[]';
			Parent.appendChild (Box);
		}
		else
		{
			Box.length = 0;
		}

		this.fillBox ( BoxName , Data.data );
		this.addEvents ( BoxName );

	},

	handleFailure:function
	(
		o
	)
	{

	},

	fillLevel0:function
	(
		Data
	)
	{
		var BoxName = 'category';
		this.level = 0;
		this.fillBox ( 'category' , Data );
		this.addEvents ( BoxName );
	},

	addEvents:function
	(
		Boxname
	)
	{
		Box = this.getElement ( Boxname );

		if
		(
			Box
		)
		{
			Box.onchange = function
			(
			)
			{
				CategoryBox.deleteChildBoxes ( this.id );
				CategoryBox.getChildCategorys ( this.value );
				CategoryBox.box = this.id;
				CategoryBox.structure = new Array();
				CategoryBox.initialValue = 0;
			}
		}

		if
		(
			this.initialValue > 0
		)
		{
			var level = this.level;

			if
			(
				this.level > 1
			)
			{
				level = this.level-1;
			}
			this.getChildBox( level );
		}
	},

	deleteChildBoxes:function
	(
		name
	)
	{
		if
		(
			this.level > 0
		)
		{
			aktLevel = name.split('-');
			if
			(
				aktLevel.length == 1
			)
			{
				aktLevel = 1;
			}
			else
			{
				aktLevel = parseInt(aktLevel[1]);
			}

			checkLevel = parseInt(this.level)-(aktLevel-1);

			if
			(
				(this.level-aktLevel) > 1
			)
			{
				aktLevel = aktLevel+1;

				for
				(
					i = this.level; i > aktLevel; i--
				)
				{
					if
					(
						this.getElement('category-'+i)
					)
					{
						this.getElement('category-select-boxes').removeChild(this.getElement('category-'+i));
					}
				}
			}
		}
	},

	deleteBox:function
	(
		level
	)
	{

		if
		(
			this.getElement('category-'+parseInt(level))
		)
		{
			this.getElement('category-select-boxes').removeChild(this.getElement('category-'+level));
		}
	},


	getChildCategorys:function
	(
		category
	)
	{
		if
		(
			category > 0
		)
		{
			YAHOO.util.Connect.asyncRequest('POST', '/ajax/categorybox/', this.Callback, "parent="+category);
		}
	},


	getElement:function
	(
		name
	)
	{
		return document.getElementById ( name );
	},


	fillBox:function
	(
		Boxname,
		Categorys
	)
	{
		Box = this.getElement ( Boxname );

		if
		(
			Box
		)
		{
			var Option = document.createElement('option');
			Option.value = 0;
			Option.text = 'Bitte w'+unescape('%E4')+'hlen Sie eine Kategorie';
			Option.innerHTML = Option.text;
			Box.appendChild ( Option );

			var tmpLevel = this.level;

			if
			(
				this.level > 1
			)
			{
				tmpLevel-=1;
			}

			for
			(
				i = 0; i < Categorys.length; i++
			)
			{
				var Option = document.createElement('option');
				Option.value = Categorys [ i ].id;
				Option.text = Categorys [ i ].name+"-"+this.level;
				Option.innerHTML = Categorys [ i ] [ 'name' ];

				if
				(
					this.structure[tmpLevel]
				)
				{
					if
					(
						parseInt(Categorys [ i ].id) == parseInt(this.structure[tmpLevel].id)
					)
					{
						Option.selected = true;
					}
				}

				Box.appendChild ( Option );
			}
		}
	},

	requestByLevel:function
	(
		level
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/categorybox/', this.Callback, "level="+level);
	},

	bufferStructure:function
	(
		Structure
	)
	{
		this.structure = Structure;
		this.requestByLevel(0);
	},

	fetchStructureById:function
	(
		categoryId
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/categorybox/', this.Callback, "branchId="+categoryId);
	},

	getChildBox:function
	(
		level
	)
	{
		if
		(
			this.structure[level]
		)
		{
			this.getChildCategorys (  this.structure[level].id );
		}

	},

	init:function
	(
	)
	{
		this.initialValue = parseInt(this.getElement( 'category' ).value);
		this.getElement( 'category' ).length = 0;

		if
		(
			this.initialValue > 0
		)
		{
			this.fetchStructureById ( this.initialValue );
		}
		else
		{
			this.requestByLevel(0);
		}
	}
};

CategoryBox.Callback =
{
	success: CategoryBox.handleSuccess,
	failure: CategoryBox.handleFailure,
	scope: CategoryBox
};

initCategoryBoxes = function
(
)
{
	productPage = document.getElementById ( 'product' );
	productForm = document.getElementById ( 'product-form' );
	category = document.getElementById ( 'category' );

	if
	(
		productPage
		&&
		productForm
		&&
		category
	)
	{
		CategoryBox.init();
	}
}

ProductQuickEdit = {};
ProductQuickEdit =
{
	requestResponseSuccess:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		if
		(
			! response.login
		)
		{
			window.location.href = '/login/';
			return;
		}

		if
		(
			! response.requestedit
		)
		{
			window.location.href = 'bearbeiten/';
			return;
		}

		this.removeHover(response.requestedit);

		if
		(
			response.requestedit.inputtype == 'standard-input'
		)
		{
			this.displayStandardInput ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'standard-textarea'
		)
		{
			this.displayStandardTextarea ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'volume'
		)
		{
			this.displayVolumePanel ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'packaging'
		)
		{
			this.displayPackagingPanel ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'tags'
		)
		{
			this.displayTagsPanel ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'category-select'
		)
		{
			this.displayCategoryPanel ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'upload'
		)
		{
			this.displayUploadPanel ( response.requestedit );
		}
		else if
		(
			response.requestedit.inputtype == 'alcohol'
		)
		{
			this.displayAlcoholPanel ( response.requestedit );
		}

		return false;

	},

	removeHover:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		h3 = Env.getElementsByTagName('h3');

		if
		(
			h3.length > 0
		)
		{
			h3 = h3[0];
			a = h3.getElementsByTagName('a')[0];
			h3.removeChild(a);

		}
		else
		{
			Env.firstChild.nextSibling.getElementsByTagName ( 'p' )[1].innerHTML = '';
		}
	},

	addHover:function
	(
		HoverElement
	)
	{
            h3 = HoverElement.getElementsByTagName('h3')[0];
/*@cc_on
@if (@_jscript_version < 5.7)
            h3.onmouseover = function
            (
            )
            {
            	YAHOO.util.Dom.addClass(this,'IE');
            }
            h3.onmouseout = function
            (
            )
            {
            	YAHOO.util.Dom.removeClass(this,'IE');
            }@end
@*/
            var a = document.createElement( "a" );
            var img = document.createElement( "img" );
            a.href = './bearbeiten/#' + h3.parentNode.id;
			a.className = h3.parentNode.id;
            img.src = '/pics/bt_edit_01.gif';
            a.appendChild( img );
            h3.appendChild( a );
            a = h3.getElementsByTagName('a')[0];
            a.onclick = function
            (
            )
            {
            	ProductQuickEdit.requestEditByFieldId ( this.parentNode.parentNode.id );
            	return false;
            }
	},


	displayCategoryPanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);
		Form = ProductQuickEdit.createFormElement ( MetaInfo );
		Form.id = 'category-select-boxes';

		Span = document.createElement('span');
		Span.className = 'select-one';
		Form.appendChild (Span);

		SelectBox = document.createElement('select');
		SelectBox.id = 'category';
		SelectBox.name = MetaInfo.dbfield;

		for
		(
			i = 0; i < MetaInfo.fieldvalue['tree'].length; i++
		)
		{
			OptionItem = document.createElement('option');
			OptionItem.value = MetaInfo.fieldvalue['tree'][i]['id'];
			OptionItem.innerHTML = MetaInfo.fieldvalue['tree'][i]['name'];
			if
			(
				MetaInfo.fieldvalue[MetaInfo.dbfield] == MetaInfo.fieldvalue['tree'][i]['category_id']
			)
			{
				OptionItem.selected = true;
			}
			SelectBox.appendChild(OptionItem);
		}

		Span.appendChild(SelectBox);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);

		Env.appendChild(Form);
		CategoryBox.init();

	},

	displayTagsPanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);
		Form = ProductQuickEdit.createFormElement ( MetaInfo );

		Span = document.createElement('span');
		Span.className = 'input-text';
		Form.appendChild (Span);

		Input = document.createElement ('input');
		Input.type = 'text';
		Input.value = MetaInfo.fieldvalue[MetaInfo.dbfield];
		Input.name = MetaInfo.dbfield;
		Input.id = MetaInfo.dbField;
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);
		Env.appendChild(Form);
	},

	displayPackagingPanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );
		Form.className = Form.className + ' packaging';

		Span = document.createElement('span');
		Span.className = 'select-one';
		Form.appendChild (Span);

		Select = document.createElement('select');
		Select.name = MetaInfo.dbfield;
		Select.id = MetaInfo.dbfield;

		for
		(
			i = 0; i < MetaInfo.fieldvalue['packagings'].length; i++
		)
		{
			OptionItem = document.createElement('option');
			OptionItem.value = MetaInfo.fieldvalue['packagings'][i]['id'];
			OptionItem.innerHTML = this.htmlspecialchars(MetaInfo.fieldvalue['packagings'][i]['name']);
			if
			(
				MetaInfo.fieldvalue['packagings'][i]['selected'] == true
			)
			{
				OptionItem.selected = true;
			}
			Select.appendChild(OptionItem);
		}

		Span.appendChild(Select);

		Span = document.createElement('span');
		Span.className = 'TXT';
		Span.innerHTML = 'oder:';
		Form.appendChild(Span);

		Span = document.createElement('span');
		Span.className = 'input-text';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.name = 'new_packaging';
		Input.id = 'new_packaging';
		Span.appendChild(Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);

		Env.appendChild(Form);

	},

	displayVolumePanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );
		Form.className = Form.className + ' volume';

		Span = document.createElement('span');
		Span.className = 'input-text';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.name = MetaInfo.dbfield;
		Input.id = MetaInfo.dbfield;
		Input.value = MetaInfo.fieldvalue['volume'];
		Span.appendChild(Input);

		Span = document.createElement('span');
		Span.className = 'select-one';
		Form.appendChild (Span);

		Select = document.createElement('select');
		Select.name = MetaInfo.dbfield+'_unit_id';
		Select.id = MetaInfo.dbfield+'_unit_id';

		for
		(
			i = 0; i < MetaInfo.fieldvalue['units'].length; i++
		)
		{
			OptionItem = document.createElement('option');
			OptionItem.value = MetaInfo.fieldvalue['units'][i]['id'];
			OptionItem.innerHTML = MetaInfo.fieldvalue['units'][i]['name'];
			if
			(
				MetaInfo.fieldvalue['units'][i]['selected'] == true
			)
			{
				OptionItem.selected = true;
			}
			Select.appendChild(OptionItem);
		}

		Span.appendChild(Select);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);

		Env.appendChild(Form);
	},
	
	displayAlcoholPanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );
		Form.className = Form.className + ' alcohol';

		Span = document.createElement('span');
		Span.className = 'input-text-sml';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.name = MetaInfo.dbfield;
		Input.id = MetaInfo.dbfield;
		Input.value = ((MetaInfo.fieldvalue['alcohol'] != null) ? MetaInfo.fieldvalue['alcohol'] : '' );
		Input.disabled = ((MetaInfo.fieldvalue ['no_alcohol'] == 'Yes') ? 'disabled' : '');
		
		InnerSpan = document.createElement ( 'span' );
		InnerSpan.className = 'no-alcohol';
		Checkbox = document.createElement ( 'input' );
		Checkbox.type = 'checkbox';
		Checkbox.name = 'no_alcohol';
		Checkbox.id = Checkbox.name;
		Checkbox.checked = ((MetaInfo.fieldvalue ['no_alcohol'] == 'Yes') ? true : false);
		InnerSpan.appendChild ( Checkbox );
		Label = document.createElement ( 'label' );
		Label.setAttribute ( 'for' , Checkbox.id );
		Label.innerHTML = 'alkoholfrei';
		InnerSpan.appendChild ( Label );

		NoAlcohol = function ()
		{
			var NoAlcohol = document.getElementById ( 'no_alcohol' );
			var Alcohol = document.getElementById ( 'alcohol' );
/*@cc_on
			if
			(
				this.nodeName == 'LABEL'
			)
			{
				NoAlcohol.checked = ((NoAlcohol.checked == true ) ? false : true );
			}
@*/
			if
			(
				NoAlcohol.checked == true
			)
			{
				Alcohol.value = '';
				Alcohol.disabled = 'disabled';
			}
			else
			{
				Alcohol.disabled = false;
			}
			
		}

/*@cc_on
		Label.onclick = NoAlcohol;
@*/
		Checkbox.onclick = NoAlcohol;

		Span.appendChild(Input);		
		Form.appendChild ( InnerSpan );

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);

		Env.appendChild(Form);
	},

	displayUploadPanel:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[1];
		ReferenceElement = Env.getElementsByTagName('p')[0];

		Env.firstChild.nextSibling.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );
		Form.className = Form.className + ' upload';

		Span = document.createElement('span');
		Span.className = 'input-file';
		Form.appendChild (Span);

		Input = document.createElement ( 'input' );
		Input.type = 'file';
		Input.name = MetaInfo.identifier;
		Span.appendChild ( Input );

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);

		YAHOO.util.Dom.insertAfter(Form,ReferenceElement);



	},

	submitForm:function
	(
		FormElement,
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p');
		if
		(
			P[0]
		)
		{
			Env.removeChild(P[0]);
		}

		YAHOO.util.Connect.setForm(FormElement);
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/quickedit/', this.SaveCallback, "action=saveelement&field="+MetaInfo.identifier+'&productId='+document.getElementById('product').className.split('-')[1]);
	},

	saveResponseSuccess:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();
		Env = document.getElementById(response.save['meta']['identifier']);

		if
		(
			response.save['error']
		)
		{
			P = document.createElement('p');
			P.className = 'quickedit-error';
			P.innerHTML = response.save['error'];
			H3 = Env.getElementsByTagName('h3')[0];
			YAHOO.util.Dom.insertAfter(P,H3);
			return false;
		}
		else
		{
			var ErrorLayer = YAHOO.util.Dom.getElementsByClassName ( 'quickedit-error' , 'p' );

			if
			(
				ErrorLayer.length > 0
			)
			{
				ErrorLayer[0].parentNode.removeChild ( ErrorLayer[0] );
			}

			this.displayLastEdit ( response.save['meta'] );
			FormElement = Env.getElementsByTagName('form')[0];
			this.showDefaultValue(response.save['meta']);
			this.removeForm(FormElement, response.save['meta']);
			if
			(
				response.save['meta']['identifier'] == 'product-tags'
			)
			{
				this.displayAllTagsChanges ( response.save['meta'] );
			}

			if
			(
				response.save['meta']['identifier'] == 'product-name'
			)
			{
				this.updateProductName ( response.save['meta']['fieldvalue'][response.save['meta']['dbfield']] );
			}

			if
			(
				response.save['meta']['identifier'] == 'product-trademark'
			)
			{
				this.updateTrademarkName ( response.save['meta']['fieldvalue'][response.save['meta']['dbfield']] );
			}

			if
			(
				response.save['meta']['identifier'] == 'product-volume'
			)
			{
				this.updateVolumeName ( response.save['meta']['fieldvalue'][response.save['meta']['dbfield']] );
			}
		}
	},

	updateVolumeName:function
	(
		name
	)
	{
		ProductContainer = document.getElementById('product');

		if
		(
			ProductContainer
		)
		{
			H1 = ProductContainer.getElementsByTagName('h1');

			if
			(
				H1.length > 0
			)
			{
				newValue = '';
				Product = document.getElementById('product-name').getElementsByTagName('p')[0].innerHTML;
				Brand = document.getElementById('product-trademark').getElementsByTagName('p')[0];

				if
				(
					!Brand.innerHTML.match (/Keine Angabe/g)
				)
				{
					newValue+=Brand.getElementsByTagName('a')[0].innerHTML+' ';
				}

				newValue+= this.htmlspecialchars(Product);
				newValue+= ' '+this.htmlspecialchars(name);

				H1[0].innerHTML = newValue;
				YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].innerHTML = newValue;
			}
		}
	},

	updateTrademarkName:function
	(
		name
	)
	{
		ProductContainer = document.getElementById('product');

		if
		(
			ProductContainer
		)
		{
			H1 = ProductContainer.getElementsByTagName('h1');

			if
			(
				H1.length > 0
			)
			{
				newValue = '';
				Product = document.getElementById('product-name').getElementsByTagName('p')[0].innerHTML;
				Packaging = trim(document.getElementById('product-volume').getElementsByTagName('p')[0].innerHTML);

				newValue+= this.htmlspecialchars(name);
				newValue+= ' '+this.htmlspecialchars(Product);

				if
				(
					!Packaging.match (/Keine Angabe/g)
				)
				{
					newValue+= ' '+this.htmlspecialchars(Packaging);
				}

				H1[0].innerHTML = newValue;
				YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].innerHTML = newValue;
			}
		}
	},


	updateProductName:function
	(
		name
	)
	{
		ProductContainer = document.getElementById('product');

		if
		(
			ProductContainer
		)
		{
			H1 = ProductContainer.getElementsByTagName('h1');

			if
			(
				H1.length > 0
			)
			{
				newValue = '';
				Brand = document.getElementById('product-trademark').getElementsByTagName('p')[0];
				Packaging = trim(document.getElementById('product-volume').getElementsByTagName('p')[0].innerHTML);

				if
				(
					!Brand.innerHTML.match (/Keine Angabe/g)
				)
				{
					newValue+=Brand.getElementsByTagName('a')[0].innerHTML+' ';
				}

				newValue+= this.htmlspecialchars(name);

				if
				(
					!Packaging.match (/Keine Angabe/g)
				)
				{
					newValue+= ' '+this.htmlspecialchars(Packaging);
				}

				H1[0].innerHTML = newValue;
				YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].innerHTML = newValue;
			}
		}
	},

	displayAllTagsChanges:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById('product-categories');

		if
		(
			! Env
		)
		{
			Env = document.createElement('div');
			Env.id = 'product-categories';
			Ul = document.createElement('ul');
			H3 = document.createElement('h3');
			H3.innerHTML = 'Alle Tags:';
			Env.appendChild(H3);
			Env.appendChild(Ul);
			YAHOO.util.Dom.insertAfter( Env , document.getElementById('product-tags') );
			Env = document.getElementById('product-categories');
		}
		else
		{
			Env = document.getElementById('product-categories');
			Env.innerHTML = '';
			Ul = document.createElement('ul');
			H3 = document.createElement('h3');
			H3.innerHTML = 'Alle Tags:';
			Env.appendChild(H3);
			Env.appendChild(Ul);
			YAHOO.util.Dom.insertAfter( Env , document.getElementById('product-tags') );
			Env = document.getElementById('product-categories');
		}

		Ul = Env.getElementsByTagName('ul')[0];
		Ul.innerHTML = '';
		if
		(
			MetaInfo['fieldvalue'][MetaInfo['dbfield']+'_all']
		)
		{
			if
			(
				MetaInfo['fieldvalue'][MetaInfo['dbfield']+'_all'].length > 0
			)
			{
				for
				(
					i = 0; i < MetaInfo.fieldvalue[MetaInfo['dbfield']+'_all'].length; i++
				)
				{
					Li = document.createElement('li');
					Li.className = 'tag'+MetaInfo.fieldvalue[MetaInfo['dbfield']+'_all'][i]['size'];
					link = document.createElement('a');
					link.href = this.htmlspecialchars(MetaInfo.fieldvalue[MetaInfo['dbfield']+'_all'][i]['url']);
					link.innerHTML = this.htmlspecialchars(MetaInfo.fieldvalue[MetaInfo['dbfield']+'_all'][i]['tag']);
					link.title = MetaInfo.fieldvalue[MetaInfo['dbfield']+'_all'][i]['count']+ ' Mal verwendet';
					Li.appendChild(link);
					Ul.appendChild(Li);
				}

				return;
			}
		}

		Env.removeChild(Ul);
		P = document.createElement('p');
		P.className = 'no-description';
		P.innerHTML = 'Keine Angaben';
		Env.appendChild(P);
	},


	displayLastEdit:function
	(
		MetaInfo
	)
	{
		if
		(
			MetaInfo['lastSaved']
		)
		{
			document.getElementById('product-last-update').innerHTML = MetaInfo['text'];
			
			if
			(
				false == MetaInfo['noLink']
			)
			{
				var A = document.createElement ( 'a' );
				A.href = MetaInfo['href'];
				A.innerHTML = MetaInfo['username'];
				document.getElementById('product-last-update').appendChild ( A );
			}
			else
			{
				document.getElementById('product-last-update').innerHTML += MetaInfo['username'];
			}
			document.getElementById('product-last-update').innerHTML += MetaInfo [ 'datetime' ];
			document.getElementById('product-last-update').innerHTML += ' ' +MetaInfo [ 'via' ];
		}
	},

	saveResponseFailure:function
	(
		o
	)
	{
		return false;
	},

	removeForm:function
	(
		FormElement,
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		Env.removeChild(FormElement);

		var ErrorLayer = YAHOO.util.Dom.getElementsByClassName ( 'quickedit-error' , 'p' );

		if
		(
			ErrorLayer.length > 0
		)
		{
			ErrorLayer[0].parentNode.removeChild ( ErrorLayer[0] );
		}
	},

	showDefaultValue:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		this.addHover ( Env );
		P = document.createElement('p');

		if
		(
			(
				typeof MetaInfo.fieldvalue[MetaInfo.dbfield] == 'undefined'
			)
			||
			(
				MetaInfo.fieldvalue[MetaInfo.dbfield] == null
			)
			||
			(
				MetaInfo.fieldvalue[MetaInfo.dbfield].length == 0
				||
				MetaInfo.fieldvalue[MetaInfo.dbfield] == 0
			)
		)
		{
			P.className = 'no-description';
			P.innerHTML = 'Keine Angaben';
		}
		else
		{
			if
			(
				MetaInfo.identifier == 'product-tags'
			)
			{
				if
				(
					MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'].length > 0
				)
				{
					for
					(
						i = 0; i < MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'].length; i++
					)
					{
						Tag = this.htmlspecialchars( MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'][i]['name'] );

						link = document.createElement('a');
						link.href = this.htmlspecialchars(MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'][i]['url']);
						link.innerHTML = Tag;
						P.appendChild(link);
						if
						(
							!MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'][i]['last']
						)
						{
							P.innerHTML += ', ';
						}
					}
					Env.appendChild(P);
					return;
				}
				else
				{
					P.className = 'no-description';
					P.innerHTML = 'Keine Angaben';
					Env.appendChild(P);
					return;
				}
			}

			if
			(
				MetaInfo.identifier == 'product-category'
			)
			{
				link = document.createElement('a');
				link.href = MetaInfo.fieldvalue['tree'][0]['url'];
				link.innerHTML = MetaInfo.fieldvalue['tree'][0]['name'];
				P.appendChild(link);
				Env.appendChild(P);
				return;
			}

			if
			(
				MetaInfo.identifier != 'product-ingredients'
			)
			{
				if
				(
					MetaInfo.identifier == 'product-volume'
					&&
					MetaInfo.fieldvalue[MetaInfo.dbfield+'_unit'].length > 0
				)
				{
					MetaInfo.fieldvalue[MetaInfo.dbfield]+= ' '+MetaInfo.fieldvalue[MetaInfo.dbfield+'_unit'];
				}
				else if
				(
					MetaInfo.identifier == 'product-packaging'
				)
				{
					MetaInfo.fieldvalue[MetaInfo.dbfield] = MetaInfo.fieldvalue[MetaInfo.dbfield+'_text'];
				}
			}
			else
			{
				if
				(
					MetaInfo.fieldvalue[MetaInfo.dbfield+'_html']
				)
				{
					if
					(
						MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'].length > 0
					)
					{
						MetaInfo.fieldvalue[MetaInfo.dbfield] = MetaInfo.fieldvalue[MetaInfo.dbfield+'_html'];
					}
				}
			}

			if
			(
				MetaInfo.identifier != 'product-ingredients'
			)
			{
				if
				(
					! MetaInfo.fieldvalue['url']
				)
				{
					P.innerHTML = this.htmlspecialchars(MetaInfo.fieldvalue[MetaInfo.dbfield]);
				}
				else
				{
					a = document.createElement('a');
					a.href = MetaInfo.fieldvalue['url'];
					a.innerHTML = this.htmlspecialchars(MetaInfo.fieldvalue[MetaInfo.dbfield]);
					P.appendChild(a);
				}
			}
			else
			{
				P.innerHTML = MetaInfo.fieldvalue[MetaInfo.dbfield];
			}
		}
		Env.appendChild(P);

	},

	htmlspecialchars:function
	(
		text
	)
	{
		text = text.replace(/&/g,'&amp;');
		text = text.replace(/</g,'&lt;');
		text = text.replace(/>/g,'&gt;');
		text = text.replace(/""/g,'&quot;');
		text = text.replace(/''/g,'&#039;');
		return text;
	},

	createFormElement:function
	(
		MetaInfo
	)
	{
		Form = document.createElement ( 'form' );
		Form.action = '#';
		Form.method = 'POST';
		Form.id = 'quicksave-form-'+MetaInfo.dbField;
		Form.className = 'quicksave-form';
		Form.onsubmit = function
		(
		)
		{
			ProductQuickEdit.submitForm
			(
				this,
				MetaInfo
			);

			return false;
		}

		return Form;
	},

	displayStandardInput:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );

		Span = document.createElement('span');
		Span.className = 'input-text';
		Form.appendChild (Span);

		Input = document.createElement ('input');
		Input.type = 'text';

		if
		(
			MetaInfo.fieldvalue[MetaInfo.dbfield] != null
		)
		{
			Input.value = MetaInfo.fieldvalue[MetaInfo.dbfield];
		}

		Input.name = MetaInfo.dbfield;
		Input.id = MetaInfo.dbField;
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);
		Env.appendChild(Form);
	},

	displayStandardTextarea:function
	(
		MetaInfo
	)
	{
		Env = document.getElementById(MetaInfo.identifier);
		P = Env.getElementsByTagName('p')[0];
		Env.removeChild(P);

		Form = ProductQuickEdit.createFormElement ( MetaInfo );

		Span = document.createElement('span');
		Span.className = 'textarea';
		Form.appendChild (Span);

		Textarea = document.createElement ('textarea');
		Textarea.innerHTML = MetaInfo.fieldvalue[MetaInfo.dbfield];
		Textarea.name = MetaInfo.dbfield;
		Textarea.id = MetaInfo.dbField;
		Span.appendChild (Textarea);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'image';
		Input.title = 'Speichern';
		Span.appendChild (Input);

		Span = document.createElement('span');
		Span.className = 'image';
		Form.appendChild (Span);

		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'image';
		Input.title = 'Abbrechen';
		Input.onclick = function
		(
		)
		{
			ProductQuickEdit.removeForm
			(
				this.parentNode.parentNode,
				MetaInfo
			);

			ProductQuickEdit.showDefaultValue
			(
				MetaInfo
			);

			return false;
		}

		Span.appendChild (Input);
		Env.appendChild(Form);
	},

	requestResponseFailure:function
	(
		o
	)
	{
		window.location.href = 'bearbeiten/';
		return;
	},

	requestEditByFieldId:function
	(
		fieldId
	)
	{
		if
		(
			fieldId == 'product-image'
		)
		{
			document.getElementById(fieldId).getElementsByTagName('p')[1].innerHTML = 'Bitte warten ...';
		}
		else
		{
			document.getElementById(fieldId).getElementsByTagName('p')[0].innerHTML = 'Bitte warten ...';
		}
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/quickedit/', this.RequestCallback, "action=requestedit&field="+fieldId+'&productId='+document.getElementById('product').className.split('-')[1]);
	}

};

ProductQuickEdit.RequestCallback =
{
	success: ProductQuickEdit.requestResponseSuccess,
	failure: ProductQuickEdit.requestResponseFailure,
	scope: ProductQuickEdit
};

ProductQuickEdit.SaveCallback =
{
	success: ProductQuickEdit.saveResponseSuccess,
	failure: ProductQuickEdit.saveResponseFailure,
	scope: ProductQuickEdit
};

function trim(s)
{
	while
	(
		s.substring(0,1) == ' '
	)
	{
		s = s.substring(1,s.length);
	}

	while
	(
		s.substring(s.length-1,s.length) == ' '
	)
	{
    	s = s.substring(0,s.length-1);
	}

	return s;
}

initStoplight = function
(
)
{
	Env = document.getElementById('stoplight');

	if
	(
		Env
	)
	{
		H1 = Env.getElementsByTagName('h1')[0];
		XmlPath = H1.innerHTML.split ('<!--');
		XmlPath = XmlPath[1];
		XmlPath = XmlPath.replace ( '-->' , '');
		XmlPath = trim(XmlPath);
		Stoplight = new SWFObject( '/flash/stoplight.swf?lxml='+XmlPath, false, 684, 600, 8 );
        Stoplight.addParam("wmode", "opaque");
		Stoplight.write('stoplight');
	}
}

initQuiz = function
(
)
{
	Env = document.getElementById('quiz');

	if
	(
		Env
	)
	{
		var width = 984;
		var height = 630;
		var XmlPath = Env.innerHTML.split ('<!--');
		XmlPath = XmlPath[1];
		XmlPath = XmlPath.split('-->')[0];
		XmlPath = XmlPath.replace ( '-->' , '');
		XmlPath = trim(XmlPath);
		var Segments = XmlPath.split('||');
		var swfPath = '/flash/quiz/' + parseInt(Segments[1]) + '/quiz.swf';
		Segments [2] = trim ( Segments [2].replace ( /\n/ , '') );

		if ( Segments [2] == 'e')
		{
			width = 500;
			height = 320;
		}
		else if ( Segments [2] == 'f')
		{
			width = 760;
			height = 487;
		}
		
        swfPath = swfPath + '?url_xml=' + Segments[0];

		var Quiz = new SWFObject( swfPath, false, width, height, 8  );
		Quiz.write('quiz');

		if ( Segments [2] == 'e')
        {
            var Params = Env.getElementsByTagName ( 'param' );
    		
    		for ( var i = 0; i < Params.length; i++ )
    		{
    			if (Params [ i ].name == 'wmode')
    			{
    				Params [ i ].value = 'normal';
    			}
    		}
        }
	}
}

initIcespecial = function
(
)
{
	Env = document.getElementById('icespecial');

	if
	(
		Env
	)
	{
		XmlPath = Env.getElementsByTagName('p')[0].innerHTML.split ('<!--');
		XmlPath = XmlPath[1];
		XmlPath = XmlPath.replace ( '-->' , '');
		XmlPath = trim(XmlPath);
		Special = new SWFObject( '/flash/eisspecial.swf?url_xml='+XmlPath, false, 684, 600, 8 );
        Special.addParam("wmode", "opaque");
		Special.write('icespecial');
	}
}

initXmasspecial = function
(
)
{
	Env = document.getElementById('xmasspecial');

	if
	(
		Env
	)
	{
		XmlPath = Env.getElementsByTagName('p')[0].innerHTML.split ('<!--');
		XmlPath = XmlPath[1];
		XmlPath = XmlPath.replace ( '-->' , '');
		XmlPath = trim(XmlPath);
		Special = new SWFObject( '/flash/weihnachtsspecial.swf?url_xml='+XmlPath, false, 684, 648, 8 );
        Special.addParam("wmode", "opaque");
		Special.write('xmasspecial');
	}
}

initTabNavigation = function ()
{
	TabNavigation = YAHOO.util.Dom.getElementsByClassName('tab-navigation', 'div', 'content');

	for
	(
		i = 0; i < TabNavigation.length; i++
	)
	{
		Parent = TabNavigation[i].parentNode;

		if
		(
			Parent.id == 'nutrition-flash'
		)
		{
			List = TabNavigation[i].getElementsByTagName('li');

			for
			(
				k = 0; k < List.length; k++
			)
			{
				if
				(
					false == YAHOO.util.Dom.hasClass(List[k],'ACTIVE')
				)
				{
					List[k].onclick = function
					(
					)
					{
						NutritionNoFlash.switchTab ( this );
                        return false;
					}
				}
				else
				{
					List[k].onclick = function(){ return false; };
				}
			}
		}
	}
}

initContactFormSubjectSwitch = function
(
)
{
	if
	(
		document.getElementById('contact-form')
	)
	{
		Subject = document.getElementById('subject');

		if
		(
			Subject
		)
		{
			Subject.onchange = function
			(
			)
			{
				if
				(
					this.value == 3
				)
				{
					alert("Bitte beachten Sie, dass wir KEIN Hersteller sind.\n\nGenaue Auskunft zu den Produkten kann ausschlie"+unescape("%DF")+"lich der Hersteller geben.");
				}
			}
		}
	}
}


initNutritionTableQuickEdit = function
(
)
{
	NutritionNoFlash.initQuickEdit();
}

NutritionNoFlash =
{
	_IconStatusData: null,
	_iconId: 0,
	_iconCurrentDbStatus: 0,
	_iconMaxStatus: 3,
	_iconClicked: false,

	switchTab:function
	(
		Element
	)
	{
		List = Element.parentNode.getElementsByTagName('li');

		for
		(
			i = 0; i < List.length; i++
		)
		{
			YAHOO.util.Dom.removeClass ( List [ i ], 'ACTIVE' );
			List[i].onclick = function
			(
			)
			{
				NutritionNoFlash.switchTab ( this );
                return false;
			}
		}

		YAHOO.util.Dom.addClass ( Element, 'ACTIVE' );
		Element.onclick = function(){ return false; };

		Tabs = YAHOO.util.Dom.getElementsByClassName('tab', 'div', 'nutrition-flash');

		for
		(
			i = 0; i < Tabs.length; i++
		)
		{
			YAHOO.util.Dom.removeClass ( Tabs [ i ], 'ACTIVE' );
		}

		TabName = Element.className.split(' ')[0];

		if
		(
			document.getElementById(TabName)
		)
		{
			YAHOO.util.Dom.addClass ( TabName, 'ACTIVE' );
			if
			(
				true == NutritionNoFlash.isLoggedIn()
			)
			{
				NutritionNoFlash.sendActiveHolder ( Element.id.replace('tab-','' ) );
			}
		}

	},

	sendActiveHolder:function
	(
		holder
	)
	{
		link = NutritionNoFlash.getLink();
		url = '/' + link + '/ajax/';
		YAHOO.util.Connect.asyncRequest('POST', url, this.CallbackChangeHolder, "query=change_holder&holderActive="+holder);
	},

	stdResponse:function
	(
	)
	{

	},

	stdFailure:function
	(
	)
	{
	},

	getLink:function
	(
	)
	{
		return YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
	},

	isLoggedIn:function
	(
	)
	{
		Element = document.getElementById('nutrition-flash');

		if
		(
			YAHOO.util.Dom.hasClass( Element , 'loggedin' )
		)
		{
			return true;
		}

		return false;
	},

	initQuickEdit:function
	(
	)
	{
		Table = document.getElementById('nutrition-facts-table');

		if
		(
			Table
		)
		{
			Rows = Table.getElementsByTagName('tr');
			if
			(
				YAHOO.util.Dom.hasClass ( document.getElementById('nutrition-flash') , 'enable-quickedit' )
			)
			{
				for
				(
					i = 1; i < Rows.length; i++
				)
				{
					ValueCell = Rows[i].getElementsByTagName('td')[1];
					Span = this.getHoverElement();
					ValueCell.appendChild(Span);
	
					Rows[i].onmouseover = NutritionNoFlash.getIeHoverElement('add');
					Rows[i].onmouseout = NutritionNoFlash.getIeHoverElement('remove');
				}
			}
	
			DailyValues = YAHOO.util.Dom.getElementsByClassName('dailyvalue' , 'th' , 'nutrition-facts-table')[0];
			DailyValues = YAHOO.util.Dom.getElementsByClassName('dailyvalue-switch', 'span', DailyValues);
	
			if
			(
				DailyValues.length > 0
			)
			{
				for
				(
					i = 0; i < DailyValues.length; i++
				)
				{
					DailyValues[i].onclick = this.changeDailyValues;
				}
			}
	
			this.initSealQuickEdit();
			this.initIconQuickEdit();
		}
	},

	getHoverElement:function
	(
	)
	{
		Span = document.createElement('span');
		Span.className = 'editable';
		A = document.createElement('a');
		A.href = 'bearbeiten/';
		A.onclick = function()
		{
			if
			(
				NutritionNoFlash.isLoggedIn()
			)
			{
				NutritionNoFlash.requestEditByFieldId (this.parentNode.parentNode);
				return false;
			}
		}
		Img = document.createElement('img');
		Img.src = '/pics/bt_edit_01.gif';
		Img.title = 'Diesen Wert bearbeiten';
		A.appendChild(Img);
		Span.appendChild(A);

		return Span;
	},

	getIeHoverElement:function
	(
		action
	)
	{
		if
		(
			action == 'remove'
		)
		{
			return function
			(
			)
			{
	/*@cc_on
	@if (@_jscript_version < 5.7)
				ValueCell = this.getElementsByTagName('td')[1];
				YAHOO.util.Dom.removeClass(ValueCell, 'IE');
	@end
	@*/
			}
		}
		else
		{
			return function
			(
			)
			{
	/*@cc_on
	@if (@_jscript_version < 5.7)
				ValueCell = this.getElementsByTagName('td')[1];
				YAHOO.util.Dom.addClass(ValueCell, 'IE');
	@end
	@*/
			}
		}
	},

	getIeClassHoverElement:function
	(
		action
	)
	{
		if
		(
			action == 'remove'
		)
		{
			return function
			(
			)
			{
	/*@cc_on
	@if (@_jscript_version < 5.7)
				YAHOO.util.Dom.removeClass(this, 'IE');
	@end
	@*/
			}
		}
		else
		{
			return function
			(
			)
			{
	/*@cc_on
	@if (@_jscript_version < 5.7)
				YAHOO.util.Dom.addClass(this, 'IE');
	@end
	@*/
			}
		}
	},

	requestEditByFieldId:function
	(
		fieldName
	)
	{
		fieldName.innerHTML = 'Lade ...';
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/quickedit/', this.CallbackRequestEdit, "action=requestedit&field=nutrition-"+fieldName.className.split(' ')[1].split('-')[0]+'&field-set=nutrition&productId='+document.getElementById('product').className.split('-')[1]);
	},

	displayEditField:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		if
		(
			response.requestedit != false
		)
		{
			this.writeForm ( response );
		}
		else
		{
			window.location.href = 'bearbeiten/';
		}
	},

	writeForm:function
	(
		response
	)
	{
		this.writeDefaultForm ( response );
	},

	writeDefaultForm:function
	(
		response
	)
	{
		DestElement = YAHOO.util.Dom.getElementsByClassName(response.requestedit['dbfield']+'-data' , 'td' , 'nutrition-facts-table')[0];
		DestElement.innerHTML = '';
		Form = document.createElement('form');
		Form.onsubmit = function
		(
		)
		{
			FormElement = YAHOO.util.Dom.getElementsByClassName(response.requestedit['dbfield']+'-data' , 'td' , 'nutrition-facts-table')[0].getElementsByTagName('form')[0];
			YAHOO.util.Connect.setForm(FormElement);
			YAHOO.util.Connect.asyncRequest('POST', '/ajax/quickedit/', NutritionNoFlash.CallbackSaveEdit, "action=saveelement&field="+response.requestedit.identifier+'&productId='+document.getElementById('product').className.split('-')[1]);
			return false;
		}
		Input = document.createElement('input');
		Input.name = response.requestedit['identifier'];
		Input.value = response.requestedit['fieldvalue']['value'];


		if
		(
			response.requestedit ['fieldvalue']['units'].length > 0
		)
		{
			Select = document.createElement('select');
			Select.name = response.requestedit['identifier']+'_unit_id';

			for
			(
				i = 0; i < response.requestedit ['fieldvalue']['units'].length; i++
			)
			{
				OptItem = document.createElement('option');
				OptItem.value = response.requestedit ['fieldvalue']['units'][i]['id'];
				OptItem.innerHTML = response.requestedit ['fieldvalue']['units'][i]['value'];
				if
				(
					OptItem.value == response.requestedit ['fieldvalue']['unit_id']
				)
				{
					OptItem.selected = true;
				}
				Select.appendChild(OptItem);
			}

			Input.className = 'sml';
			Form.appendChild(Input);
			Form.appendChild(Select);

		}
		else
		{
			Input.className = 'big';
			Form.appendChild(Input);
			Span = document.createElement ('span');
			Span.innerHTML = response.requestedit ['fieldvalue']['unit_text'];
			Span.className = 'unit';
			Form.appendChild(Span);
		}

		Span = document.createElement('span');
		Span.className = 'button submit';
		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_ok_01.gif';
		Input.value = 'S';
		Input.className = 'submit';
		Input.title = 'Speichern';
		Input.onmouseover = this.getIeClassHoverElement('add');
		Input.onmouseout = this.getIeClassHoverElement('remove');
		Input.onclick = function
		(
		)
		{
			FormElement = YAHOO.util.Dom.getElementsByClassName(response.requestedit['dbfield']+'-data' , 'td' , 'nutrition-facts-table')[0].getElementsByTagName('form')[0];
			YAHOO.util.Connect.setForm(FormElement);
			YAHOO.util.Connect.asyncRequest('POST', '/ajax/quickedit/', NutritionNoFlash.CallbackSaveEdit, "action=saveelement&field="+response.requestedit.identifier+'&productId='+document.getElementById('product').className.split('-')[1]);
			return false;
		}
		Span.appendChild(Input);
		Form.appendChild(Span);

		Span = document.createElement('span');
		Span.className = 'button cancel';
		Input = document.createElement('input');
		Input.type = 'image';
		Input.src = '/pics/bt_cancel_01.gif';
		Input.value = 'X';
		Input.className = 'cancel';
		Input.title = 'Abbrechen';
		Input.onmouseover = this.getIeClassHoverElement('add');
		Input.onmouseout = this.getIeClassHoverElement('remove');
		Input.onclick = function
		(
		)
		{
			DestElement = YAHOO.util.Dom.getElementsByClassName(response.requestedit['dbfield']+'-data' , 'td' , 'nutrition-facts-table')[0];
			DestElement.innerHTML = '';
			Span = document.createElement('span');

			if
			(
				response.requestedit ['fieldvalue']['value'].length > 0
			)
			{
				if
				(
					response.requestedit['dbfield'] == 'calorificvalue'
				)
				{
					Span.innerHTML = (response.requestedit ['fieldvalue']['value_text'].length > 0)?response.requestedit ['fieldvalue']['value_text']:'&nbsp;';
				}
				else
				{
					Span.innerHTML = (response.requestedit ['fieldvalue']['value'].length > 0)?response.requestedit ['fieldvalue']['value'] + ' ' + response.requestedit ['fieldvalue']['unit_text']:'&nbsp;';
				}
			}
			else
			{
				Span.innerHTML = '&nbsp;';
			}

			DestElement.appendChild(Span);
			DestElement.appendChild(NutritionNoFlash.getHoverElement());

			DestElement.parentNode.onmouseover = NutritionNoFlash.getIeHoverElement('add');
			DestElement.parentNode.onmouseout = NutritionNoFlash.getIeHoverElement('remove');
			NutritionNoFlash.hideErrorLayer();
			return false;
		}
		Span.appendChild(Input);
		Form.appendChild(Span);

		DestElement.appendChild(Form);
		return false;
	},

	saveSuccessResponse:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();
		DestElement = YAHOO.util.Dom.getElementsByClassName(response.save.meta['dbfield']+'-data')[0];
		if
		(
			response.save.meta['error']
		)
		{
			this.showErrorLayer ( response.save.meta['error'] );
		}
		else
		{
			this.hideErrorLayer();
			DestElement.innerHTML = '';
			Span = document.createElement('span');
			Span.innerHTML = (response.save.meta['fieldvalue'].length > 0) ? response.save.meta['fieldvalue'] : '&nbsp;';
			DestElement.appendChild(Span);
			DestElement.appendChild(NutritionNoFlash.getHoverElement());
			DestElement.parentNode.onmouseover = NutritionNoFlash.getIeHoverElement('add');
			DestElement.parentNode.onmouseout = NutritionNoFlash.getIeHoverElement('remove');
			document.getElementById('product-last-update').innerHTML = response.save.meta['lastSaved'];
			this.getDailyValues();
		}
	},

	showErrorLayer:function
	(
		message
	)
	{
		Tab = document.getElementById('nutrition-facts');
		ErrorLayer = document.createElement('div');
		ErrorLayer.className = 'error';
		ErrorLayer.innerHTML = message;
		Tab.appendChild(ErrorLayer);
	},

	hideErrorLayer:function
	(
	)
	{
		Tab = document.getElementById('nutrition-facts');
		ErrorLayer = YAHOO.util.Dom.getElementsByClassName ( 'error' , 'div' , Tab );
		if
		(
			ErrorLayer.length == 1
		)
		{
			Tab.removeChild(ErrorLayer[0]);
		}
	},

	getDailyValues:function
	(
	)
	{
		Th = YAHOO.util.Dom.getElementsByClassName('dailyvalue' , 'th' , 'nutrition-facts-table')[0];
		ActiveValue = trim(YAHOO.util.Dom.getElementsByClassName('ACTIVE','span',Th)[0].innerHTML.replace ('kcal' , ''));
		Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackGetDailyValues, "query=get-daily-values&productId="+document.getElementById('product').className.split('-')[1]+"&templateValue="+ActiveValue);
	},

	refreshDailyValues:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		Elements = YAHOO.util.Dom.getElementsByClassName('dailyvalue' , 'td' , 'nutrition-facts-table');

		for
		(
			i = 0; i < Elements.length; i++
		)
		{
			Element = Elements [ i ].className.split('-')[1];

			if
			(
				Element != 'be'
			)
			{
				DestSpan = YAHOO.util.Dom.getElementsByClassName('percent','span',Elements [ i ])[0];
				DestSpan.innerHTML = (response.dailyvalues [ Element ].length > 0) ? response.dailyvalues [ Element ] : '&nbsp;';
			}
		}
	},

	changeDailyValues:function
	(
	)
	{
		value = this.id.replace('dailyvalue-','');

		isVal = 2000;
		destVal = 2500;

		if
		(
			value == 2500
		)
		{
			isVal = 2500;
			destVal = 2000;
		}

		YAHOO.util.Dom.removeClass(document.getElementById('dailyvalue-'+destVal), 'ACTIVE');
		YAHOO.util.Dom.addClass(document.getElementById('dailyvalue-'+isVal), 'ACTIVE');

		NutritionNoFlash.getDailyValues();

		if
		(
			NutritionNoFlash.isLoggedIn()
		)
		{
			NutritionNoFlash.saveDailyValue ( value );
		}
	},

	saveDailyValue:function
	(
		value
	)
	{
		Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackSaveDailyValues, "query=save_dailyvalue&activeDailyValue="+value);
	},

	saveSeal:function
	(
		sealId
	)
	{
		Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackDisplaySeals, "query=save-seal&productId="+document.getElementById('product').className.split('-')[1]+"&seal="+sealId+"&type=response-list");
		SealPanelAjax.hideLayer();
	},

	initSealQuickEdit:function
	(
	)
	{
		SealAddLink = document.getElementById('nutrition-seals').getElementsByTagName('p')[0];

		if
		(
			YAHOO.util.Dom.hasClass ( document.getElementById('nutrition-flash') , 'enable-quickedit' )
		)
		{
			SealAddLink.onclick = function
			(
			)
			{
				if
				(
					! YAHOO.util.Dom.hasClass(this,'INACTIVE')
				)
				{
					if
					(
						NutritionNoFlash.isLoggedIn()
					)
					{
						SealPanelAjax.callScope = 'NutritionNoFlash';
						SealPanelAjax.getSealList();
					}
					else
					{
						window.location.href = '/login/';
					}
				}
			}

			this.addSealDeleteIcons();
		}
		else
		{
			YAHOO.util.Dom.addClass(SealAddLink,'INACTIVE')
		}
	},

	addSealDeleteIcons:function
	(
	)
	{
		Seals = document.getElementById('nutrition-seals').getElementsByTagName('li');

		if
		(
			Seals.length > 0
		)
		{
			for
			(
				i = 0; i < Seals.length; i++
			)
			{
				Span = document.createElement('span');
				Img = document.createElement('img');
				Img.src = '/pics/bt_delete_01.gif';
				Img.onclick = function
				(
				)
				{
					if
					(
						NutritionNoFlash.isLoggedIn()
					)
					{
						sealId = this.parentNode.parentNode.className.split('-')[1];
						NutritionNoFlash.deleteSeal ( sealId );
					}
					else
					{
						window.location.href = '/login/';
					}
				}
				Img.title = 'Dieses Siegel entfernen';
				Span.onmouseover = this.getIeClassHoverElement ('add');
				Span.onmouseout = this.getIeClassHoverElement ('remove');
				Seals[i].onmouseover = this.getIeClassHoverElement ('add');
				Seals[i].onmouseout = this.getIeClassHoverElement ('remove');
				Span.appendChild(Img);
				Seals[i].appendChild(Span);
			}
		}
	},

	deleteSeal:function
	(
		sealId
	)
	{
		Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
		YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackDisplaySeals, "query=delete_seal&productId="+document.getElementById('product').className.split('-')[1]+"&sealId="+sealId+"&type=response-list");
	},

	displayResponseSeals:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();
		Tab = document.getElementById('nutrition-seals');

		if
		(
			response['seals'].length > 0
		)
		{
			if
			(
				response['seals'].length == 1
			)
			{
				NoSeals = Tab.getElementsByTagName('div');
				if
				(
					NoSeals.length == 1
				)
				{
					Tab.removeChild(NoSeals[0]);
				}
			}

			List = Tab.getElementsByTagName('ul');

			if
			(
				List.length == 0
			)
			{
				List = document.createElement('ul');
				Tab.appendChild(List);
				List = Tab.getElementsByTagName('ul')[0];
			}
			else
			{
				List = List[0];
			}

			List.innerHTML = '';

			for
			(
				i = 0; i < response.seals.length; i++
			)
			{
				Seal = response.seals[i];
				Li = document.createElement('li');
				Li.className = 'seal-' + Seal['id'];
				A = document.createElement('a');
				A.href = Seal['url'];
				Img = document.createElement('img');
				Img.src = Seal['img'];
				Img.alt = Seal['tooltip'];
				Img.width = 70;
				Img.height = 70;
				A.appendChild (Img);
				Li.appendChild(A);
				List.appendChild(Li);
			}

			this.addSealDeleteIcons();

		}
		else
		{
			List = Tab.getElementsByTagName('ul')[0];
			Tab.removeChild(List);
			Div = document.createElement('div');
			Div.className = 'no-seals';
			Div.innerHTML = 'Bisher wurden diesem Produkt keine Siegel zugeordnet.';
			Tab.appendChild(Div);
		}

		Add = Tab.getElementsByTagName('p')[0];

		if
		(
			response.seals.length >= 12
		)
		{
			if
			(
				! YAHOO.util.Dom.hasClass ( Add , 'INACTIVE' )
			)
			{
				YAHOO.util.Dom.addClass(Add , 'INACTIVE');
				Add.onclick = function(){}
			}
		}
		else
		{
			if
			(
				YAHOO.util.Dom.hasClass ( Add , 'INACTIVE' )
			)
			{
				YAHOO.util.Dom.removeClass(Add , 'INACTIVE');
				Add.onclick = function
				(
				)
				{
					if
					(
						NutritionNoFlash.isLoggedIn()
					)
					{
						SealPanelAjax.callScope = 'NutritionNoFlash';
						SealPanelAjax.getSealList();
					}
					else
					{
						window.location.href = '/login/';
					}
				}
			}
		}

		if
		(
			response.lastSaved
		)
		{
			document.getElementById('product-last-update').innerHTML = response.lastSaved;
		}
	},

	initIconQuickEdit:function
	(
	)
	{
		if
		(
			! YAHOO.util.Dom.hasClass ( document.getElementById('nutrition-flash') , 'enable-quickedit' )
		)
		{
			return;
		}

		IconTabs = new Array ();
		IconTabs [ 0 ] = 'nutrition-allergy';
		IconTabs [ 1 ] = 'nutrition-food';

		for
		(
			t = 0; t < IconTabs.length; t++
		)
		{
			Tab = document.getElementById(IconTabs[t]);
			Icons = Tab.getElementsByTagName('li');

			if
			(
				Icons.length > 0
			)
			{
				for
				(
					i = 0; i < Icons.length; i++
				)
				{
					Span = document.createElement('span');
					Img = document.createElement('img');
					Img.src = '/pics/bt_browse_01.gif';
					Img.title = 'Status wechseln';
					Span.onclick = this.changeIconStatus;
					Span.onmouseover = this.getIeClassHoverElement ('add');
					Span.onmouseout = this.saveIconStatus;
					Span.appendChild(Img);
					Icons[i].appendChild(Span);
					Icons[i].onmouseover = this.getIeClassHoverElement ('add');
					Icons[i].onmouseout = this.getIeClassHoverElement ('remove');
				}
			}
		}
	},

	changeIconStatus:function
	(
		Event,
		Element
	)
	{
		if
		(
			! NutritionNoFlash.isLoggedIn()
		)
		{
			window.location.href = '/login/';
		}

		if
		(
			! Element
		)
		{
			Icon = this.parentNode.getElementsByTagName('img')[0];
		}
		else
		{
			Icon = Element;
		}

		IconParts = Icon.src.split('/');
		IconFilename = IconParts[IconParts.length-1].replace('.gif','').split('_');
		IconId = IconFilename[2];
		IconStatus = IconFilename[3];
		NutritionNoFlash._iconClicked = true;

		if
		(
			NutritionNoFlash._iconId == 0
			||
			NutritionNoFlash._iconId != IconId
		)
		{
			Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
			YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackGetIconStatus, "query=get-icon-info&productId="+document.getElementById('product').className.split('-')[1]+"&iconId="+IconId);
		}
		else
		{
			if
			(
				IconStatus == NutritionNoFlash._iconMaxStatus
			)
			{
				IconNewStatus = 0;
			}
			else
			{
				IconStatus = parseInt(IconStatus);

				if
				(
					NutritionNoFlash._IconStatusData [ (IconStatus + 1) ]
				)
				{
					IconNewStatus = (IconStatus + 1);
				}
				else
				{
					IconNewStatus = (IconStatus + 2);
				}
			}

			Icon.src = Icon.src.replace ( IconId+'_'+IconStatus ,  IconId+'_'+IconNewStatus );
			Icon.title = NutritionNoFlash._IconStatusData [ IconNewStatus ] [ 'text' ];
		}
	},

	saveIconStatus:function
	(
	)
	{
		if
		(
			NutritionNoFlash.isLoggedIn()
			&&
			NutritionNoFlash._iconClicked == true
		)
		{
			Icon = this.parentNode.getElementsByTagName('img')[0];
			IconParts = Icon.src.split('/');
			IconFilename = IconParts[IconParts.length-1].replace('.gif','').split('_');
			IconId = IconFilename[2];
			IconStatus = IconFilename[3];

			Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
			YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', NutritionNoFlash.CallbackSaveIconStatus, "query=save-icon-by-id&productId="+document.getElementById('product').className.split('-')[1]+"&iconId="+IconId+"&status="+IconStatus);
		}

		NutritionNoFlash.getIeClassHoverElement ('remove')();
	},

	receiveAndSaveIconStatus:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		if
		(
			response.icon['icon']['id']
		)
		{
			NutritionNoFlash._iconId = response.icon['icon']['id'];
			NutritionNoFlash._IconStatusData = response.icon['status'];
			NutritionNoFlash._iconCurrentDbStatus = response.icon['currentStatus']['id'];
			NutritionNoFlash._iconClicked = false;
			NutritionNoFlash.changeIconStatus( false , YAHOO.util.Dom.getElementsByClassName('icon-'+ NutritionNoFlash._iconId, 'li', 'nutrition-flash' )[0].getElementsByTagName('img')[0] );
		}

		return false;
	},

	updateLastEdit:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		if
		(
			response.lastSaved
		)
		{
			if
			(
				response.lastSaved != false
			)
			{
				document.getElementById('product-last-update').innerHTML = response.lastSaved;
			}
		}
	}
};

NutritionNoFlash.CallbackChangeHolder =
{
	success: NutritionNoFlash.stdResponse,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackRequestEdit =
{
	success: NutritionNoFlash.displayEditField,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackSaveEdit =
{
	success: NutritionNoFlash.saveSuccessResponse,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackGetDailyValues =
{
	success: NutritionNoFlash.refreshDailyValues,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackSaveDailyValues =
{
	success: NutritionNoFlash.stdResponse,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackDisplaySeals =
{
	success: NutritionNoFlash.displayResponseSeals,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackGetIconStatus =
{
	success: NutritionNoFlash.receiveAndSaveIconStatus,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

NutritionNoFlash.CallbackSaveIconStatus =
{
	success: NutritionNoFlash.updateLastEdit,
	failure: NutritionNoFlash.stdFailure,
	scope: NutritionNoFlash
};

initProductEdit = function
(
)
{
	if
	(
		document.getElementById('product-form')
	)
	{
		ProductEdit.init();
	}
}

ProductEdit =
{
	_RootNode : null,
	_startBox : 'product-general',
	_iconBox : 'product-allergy',
	_iconClicked : false,
	_iconMaxStatus : NutritionNoFlash._iconMaxStatus,
	_IconStatusData : null,

	init:function
	(
	)
	{
		this._RootNode = document.getElementById('product-form');
		this.initGroupBoxes();
		this.initIconPanel();
		this.initSealPanel();
		this.initAlcoholPanel();
	},

	initGroupBoxes:function
	(
	)
	{
		Boxes = this._RootNode.getElementsByTagName('fieldset');

		for
		(
			i = 0; i < Boxes.length; i++
		)
		{
			Clickable = Boxes[i].getElementsByTagName('h2')[0];
			Clickable.onclick = function
			(
			)
			{
				ProductEdit.triggerGroupBox( this , this.parentNode.parentNode );
			}

			if
			(
				Boxes[i].id == this._startBox
			)
			{
				if
				(
					Boxes[i].className == 'collapsed'
				)
				{
					YAHOO.util.Dom.addClass(Boxes[i], 'collapsed');
					Boxes[i].getElementsByTagName('img')[0].src = '/pics/ic_plus_01.gif';
				}
			}
			else if
			(
				Boxes[i].id != this._startBox
				&&
				Boxes[i].className != 'uncollapsed'
			)
			{
				YAHOO.util.Dom.addClass(Boxes[i], 'collapsed');
				Boxes[i].getElementsByTagName('img')[0].src = '/pics/ic_plus_01.gif';
			}
			else
			{
				YAHOO.util.Dom.removeClass(Boxes[i], 'uncollapsed');
			}
		}
	},

	triggerGroupBox:function
	(
		Element,
		Parent
	)
	{
		if
		(
			Parent.className == 'collapsed'
		)
		{
			YAHOO.util.Dom.removeClass (Parent,'collapsed');
			Element.getElementsByTagName('img')[0].src = '/pics/ic_minus_01.gif';
		}
		else
		{
			YAHOO.util.Dom.addClass (Parent,'collapsed');
			Element.getElementsByTagName('img')[0].src = '/pics/ic_plus_01.gif';
		}
	},

	initIconPanel:function
	(
	)
	{
		IconNode = document.getElementById(this._iconBox);
		Icons = IconNode.getElementsByTagName('li');

		for
		(
			i = 0; i < Icons.length; i++
		)
		{
			Icon = Icons[i];

			if
			(
				Icon.className != 'icon-status'
			)
			{
				EnvSpan = Icon.getElementsByTagName('span')[0];
				Span = document.createElement('span');
				Img = document.createElement('img');
				Img.src = '/pics/bt_browse_01.gif';
				Img.title = 'Status wechseln';
				Span.onclick = this.changeIconStatus;
				Span.onmouseover = NutritionNoFlash.getIeClassHoverElement ('add');
				Span.onmouseout = NutritionNoFlash.getIeClassHoverElement('remove');
				Icon.onmouseover = NutritionNoFlash.getIeClassHoverElement ('add');
				Icon.onmouseout = NutritionNoFlash.getIeClassHoverElement('remove');
				Span.appendChild(Img);
				EnvSpan.appendChild(Span);
			}
		}
	},
	
	initAlcoholPanel:function
	(
	)
	{
		var NoAlcohol = document.getElementById ( 'x_no_alcohol' );
		var NoAlcoholLabel = document.getElementById ( 'l-no_alcohol' );
		var NoAlcoholToggle = NoAlcohol.onclick = function
		(
		)
		{
			var Alcohol = document.getElementById('alcohol');
			
			if
			(
				this.checked == true
			)
			{
				Alcohol.disabled = true;
				Alcohol.value = '';
			}
			else
			{
				Alcohol.disabled = false;
			}
		}
				
		
		if
		(
			NoAlcohol
		)
		{
			NoAlcohol.onclick = NoAlcoholToggle;
		}
		
		if 
		(
			NoAlcoholLabel
		)
		{
			NoAlcoholLabel.onclick = NoAlcoholToggle;
		}
			
	},

	changeIconStatus:function
	(
		Event,
		Element
	)
	{
		if
		(
			! Element
		)
		{
			Icon = this.parentNode.getElementsByTagName('img')[0];
		}
		else
		{
			Icon = Element;
		}

		IconParts = Icon.src.split('/');
		IconFilename = IconParts[IconParts.length-1].replace('.gif','').split('_');
		IconId = IconFilename[2];
		IconStatus = IconFilename[3];
		ProductEdit._iconClicked = true;

		if
		(
			ProductEdit._iconId == 0
			||
			ProductEdit._iconId != IconId
		)
		{
			if
			(
				YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb').length > 0
			)
			{
				Link = YAHOO.util.Dom.getElementsByClassName('ACTIVE','li','breadcrumb')[0].getElementsByTagName('a')[0].href.replace('http://','').split('/')[1];
			}
			else
			{
				Link = 'neues-produkt';
			}

			YAHOO.util.Connect.asyncRequest('POST', '/' + Link + '/ajax/', ProductEdit.CallbackIconStatus, "query=get-icon-info&productId="+document.getElementById('product').className.split('-')[1]+"&iconId="+IconId);
		}
		else
		{
			if
			(
				IconStatus == ProductEdit._iconMaxStatus
			)
			{
				IconNewStatus = 0;
			}
			else
			{
				IconStatus = parseInt(IconStatus);

				if
				(
					ProductEdit._IconStatusData [ (IconStatus + 1) ]
				)
				{
					IconNewStatus = (IconStatus + 1);
				}
				else
				{
					IconNewStatus = (IconStatus + 2);
				}
			}

			Icon.src = Icon.src.replace ( IconId+'_'+IconStatus ,  IconId+'_'+IconNewStatus );
			Icon.title = ProductEdit._IconStatusData [ IconNewStatus ] [ 'text' ];

			Radio = Icon.parentNode.parentNode.getElementsByTagName('input');

			for
			(
				i = 0; i < Radio.length; i++
			)
			{
				if
				(
					Radio[i].id != 'icon-'+IconId+'-'+IconNewStatus
				)
				{
					Radio[i].checked = false;
				}
				else
				{
					Radio[i].checked = true;
				}
			}
		}
	},

	receiveAndSaveIconStatus:function
	(
		o
	)
	{
		response = o.responseText.parseJSON();

		if
		(
			response.icon['icon']['id']
		)
		{
			ProductEdit._iconId = response.icon['icon']['id'];
			ProductEdit._IconStatusData = response.icon['status'];
			ProductEdit._iconCurrentDbStatus = response.icon['currentStatus']['id'];
			ProductEdit._iconClicked = false;
			ProductEdit.changeIconStatus( false , YAHOO.util.Dom.getElementsByClassName('icon-'+response.icon['icon']['id'], 'li', ProductEdit._RootNode)[0].getElementsByTagName('img')[0]);
		}

		return false;
	},

	stdFailure:function
	(
	)
	{
	},

	initSealPanel:function
	(
	)
	{
		SealRoot = document.getElementById('product-seals');
		Seals = SealRoot.getElementsByTagName('li');

		for
		(
			i = 0; i < Seals.length; i++
		)
		{
			Seal = Seals[i];
			SealImg = Seal.getElementsByTagName('img')[0];

			Span = document.createElement('span');
			Img = document.createElement('img');
			Img.src = '/pics/bt_browse_01.gif';
			Img.title = 'Status wechseln';
			SealImg.onclick = this.changeSealState;
			Span.appendChild(Img);
			Span.onmouseover = NutritionNoFlash.getIeClassHoverElement ('add');
			Span.onmouseout = NutritionNoFlash.getIeClassHoverElement('remove');
			Span.onclick = this.changeSealState;
			Seal.getElementsByTagName('label')[0].appendChild(Span);
			Seal.onmouseover = NutritionNoFlash.getIeClassHoverElement ('add');
			Seal.onmouseout = NutritionNoFlash.getIeClassHoverElement('remove');
		}
	},

	changeSealState:function
	(
	)
	{
		if
		(
			YAHOO.util.Dom.hasClass(this.parentNode.parentNode, 'active')
		)
		{
			YAHOO.util.Dom.removeClass(this.parentNode.parentNode, 'active');
			this.parentNode.parentNode.getElementsByTagName('input')[0].checked = false;
		}
		else
		{
			YAHOO.util.Dom.addClass(this.parentNode.parentNode, 'active');
			this.parentNode.parentNode.getElementsByTagName('input')[0].checked = true;
		}

		return false;
	}
};

ProductEdit.CallbackIconStatus =
{
	success: ProductEdit.receiveAndSaveIconStatus,
	failure: ProductEdit.stdFailure,
	scope: ProductEdit
};


initBoxedContent = function
(
)
{
	if
	(
		document.getElementById('boxed')
	)
	{
		BoxedContent.init();
	}
}

BoxedContent =
{
	_RootNode : null,
	_startBox : 0,
	_itemPrefix: '',
	_specialAreas: { 'claim': 8 },
	_ie: false,
	_areaItemLength: 0,

	init:function
	(
	)
	{
/*@cc_on
		this._ie = true;
@*/
		this._RootNode = document.getElementById('boxed');
		this._itemPrefix = this._RootNode.className;
		this.setSpecialArea(this._itemPrefix);
		this.initGroupBoxes();
	},

	setSpecialArea: function
	(
		area
	)
	{
		if
		(
			this._specialAreas[area]
		)
		{
			this._areaItemLength = this._specialAreas[area];
		}
	},

	initGroupBoxes:function
	(
	)
	{
		Boxes = this._RootNode.getElementsByTagName('div');

		for
		(
			i = 0; i < Boxes.length; i++
		)
		{
			var Clickable = Boxes[i].getElementsByTagName('h2')[0];

			if
			(
				this._areaItemLength > 0
			)
			{
				Clickable = this.getModifiedValue ( Clickable );
			}

			Clickable.onclick = function
			(
			)
			{
				BoxedContent.triggerGroupBox( this , this.parentNode );
			}

			if
			(
				i == this._startBox
			)
			{
				YAHOO.util.Dom.removeClass(Boxes[i], 'collapsed');
				Boxes[i].getElementsByTagName('img')[0].src = '/pics/ic_minus_01.gif';
			}
			else if
			(
				Boxes[i].id != this._startBox
				&&
				Boxes[i].className != 'uncollapsed'
			)
			{
				YAHOO.util.Dom.addClass(Boxes[i], 'collapsed');
				Boxes[i].getElementsByTagName('img')[0].src = '/pics/ic_plus_01.gif';
			}
			else
			{
				YAHOO.util.Dom.removeClass(Boxes[i], 'uncollapsed');
			}
		}

		this.detectJumpMark();
	},

	getModifiedValue:function
	(
		Clickable
	)
	{
		if
		(
			this._ie == true
		)
		{
			var img = Clickable.innerHTML.split(">")[0] + '>';
			var text = trim(Clickable.innerHTML.split(">")[1]).split ( ' ' );
		}
		else
		{
			var img = trim(Clickable.innerHTML.split("\n")[1]);
			var text = trim(Clickable.innerHTML.split("\n")[2]).split ( ' ' );
		}

		var textWords = text.length;


		if
		(
			textWords > this._areaItemLength
		)
		{
			var Display = new Array();
			var Hide = new Array();

			for
			(
				var x = 0; x < textWords; x++
			)
			{
				if
				(
					x < this._areaItemLength
				)
				{
					Display[Display.length] = text [ x ];
				}
				else
				{
					Hide[Hide.length] = text [ x ];
				}
			}

			Display = Display.join ( ' ' );
			Hide = Hide.join ( ' ' );

			var DottedSpan = document.createElement ( 'span' );
			DottedSpan.className = 'dotted';
			DottedSpan.innerHTML = ' ...';


			var HideSpan = document.createElement ( 'span' );
			HideSpan.className = 'hidden';
			HideSpan.innerHTML = ' ' + Hide;

			Clickable.innerHTML = '';
			Clickable.innerHTML = img;
			Clickable.innerHTML += "\n" + Display;
			Clickable.appendChild (DottedSpan);
			Clickable.appendChild (HideSpan);

			return Clickable;
		}

		return Clickable;
	},

	detectJumpMark:function
	(
	)
	{
		if
		(
			window.location.href.match ( '#' ) != null
		)
		{
			var Id = window.location.href.split ( '#')[1].replace ( /[^0-9]+/ , '');

			if
			(
				Id
				&&
				parseInt ( Id ) > 0
			)
			{
				document.getElementById(BoxedContent._itemPrefix+'-'+Id).className = '';
			}
		}
	},

	triggerGroupBox:function
	(
		Element,
		Parent
	)
	{
		if
		(
			Parent.className == 'collapsed'
		)
		{
			YAHOO.util.Dom.removeClass (Parent,'collapsed');
			Element.getElementsByTagName('img')[0].src = '/pics/ic_minus_01.gif';
		}
		else
		{
			YAHOO.util.Dom.addClass (Parent,'collapsed');
			Element.getElementsByTagName('img')[0].src = '/pics/ic_plus_01.gif';
		}
	}
};

Referal =
{
	_referalLinkName: 'REFERAL',
	_insertHook: 'moz-scroll',

	init: function
	(
	)
	{
		var ReferalElements = YAHOO.util.Dom.getElementsByClassName ( this._referalLinkName , 'a' );

		if
		(
			ReferalElements.length > 0
		)
		{
			document.getElementById ( 'close' ).onclick = function
			(
			)
			{
				YAHOO.util.Dom.removeClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'overlay' );
			};

			if
			(
				document.getElementById ( 'redo-referal' )
			)
			{
				document.getElementById ( 'redo-referal' ).onclick = function
				(
				)
				{
					window.location.href = document.getElementById ( 'referalUrl' ).value + 'empfehlung/';
				}
			}

			for
			(
				var i = 0; i < ReferalElements.length; i++
			)
			{
				ReferalElements [ i ].onclick = function
				(
				)
				{
					Referal.renderLayer ();
				}
			}
		}
	},

	getInsertHook: function
	(
	)
	{
		return document.getElementById ( Referal._insertHook );
	},

	renderLayer: function
	(
	)
	{
		YAHOO.util.Dom.addClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'overlay' );
	}
};

initMagazineToolbox = function
(
)
{
	var Body = document.getElementById ( 'page-static');
	var MagazineEnv = document.getElementById ( 'magazine-options' );
	var Options = document.getElementById("magazine-options-list");

	if
	(
		Body
		&&
		MagazineEnv
		&&
		Options
	)
	{
		var sfEls = Options.getElementsByTagName("li");

		if
		(
			sfEls.length > 0
		)
		{
			for
			(
				var i=0; i<sfEls.length; i++
			)
			{
				sfEls[i].onmouseover = function
				(
				)
				{
					this.className+=" sfhover";
				}
				sfEls[i].onmouseout = function
				(
				)
				{
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
	}
}

initMagazineToolboxTop = function
(
)
{
	var Body = document.getElementById ( 'page-static');
	var MagazineEnv = document.getElementById ( 'magazine-article' );
	var Options = document.getElementById("magazine-options-list-top");

	if
	(
		Body
		&&
		MagazineEnv
		&&
		Options
	)
	{
		var sfEls = Options.getElementsByTagName("li");

		if
		(
			sfEls.length > 0
		)
		{
			for
			(
				var i=0; i<sfEls.length; i++
			)
			{
				sfEls[i].onmouseover = function
				(
				)
				{
					this.className+=" sfhover";
				}
				sfEls[i].onmouseout = function
				(
				)
				{
					this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
	}
}
SearchSuggestion =
{
	formElementName: 'q',
	formElement: null,
	searchUrl: '/suche/ajax/',
	Callback: null,
	suggestLayerName: 'suggest',
	suggestLayer: null,
	layerOpened: false,
	lastSearchName: 'search-history',
	formWrapperName: 'product-search',
	maxLengthTitle: 36,

	suggestInitializable : function
	(
	)
	{
		if
		(
			document.getElementById(this.formElementName)
		)
		{
			return true;
		}

		return false;
	},

	initFormElement : function
	(
	)
	{
		this.formElement = document.getElementById ( this.formElementName );
	},

	initSuggestLayer: function
	(
	)
	{
		this.suggestLayer = document.getElementById ( this.suggestLayerName );
	},

	init: function
	(
	)
	{
		this.initFormElement();
		this.initSuggestLayer();
		this.formElement.onkeyup = function
		(
		)
		{
			if
			(
				this.value.length > 1
			)
			{
				SearchSuggestion.search ( this.value );
			}
		}
	},

	search: function
	(
		term
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', this.searchUrl , this.Callback, "action=suggest&q=" + term);
	},

	display: function
	(
		o
	)
	{
		var Response = o.responseText.parseJSON();

		this.suggestLayer.innerHTML = '';

		if
		(
			Response.length > 0
		)
		{
			this.suggestLayer.style.display = 'block';
			var Ul = document.createElement ( 'ul' );
			var LastSearch = document.createElement ( 'div' );
			LastSearch.id = this.lastSearchName;

			this.suggestLayer.onmouseout = function
			(
			)
			{
        		window.setTimeout("SearchSuggestion.removeSuggest()", 1000);
			}

			this.formElement.onmouseover = function
			(
			)
			{
				SearchSuggestion.layerOpened = true;
			}

			LastSearch.onmouseover = function
			(
			)
			{
				SearchSuggestion.layerOpened = true;
			}

			for
			(
				var i = 0; i < Response.length; i++
			)
			{
				var Li = document.createElement ( 'li' );
				var Item = Response [ i ];
				var Name = document.createElement ( 'a' );
				var SectionImage = document.createElement ( 'img' );
				var Section = document.createElement ( 'span' );
				var Meta = document.createElement ( 'span' );

				Name.href = Item.url;
				Section.innerHTML = Item [ 'appTitle' ];
				Section.className = 'application';
				SectionImage.src = ((! Item['img'] || Item [ 'img' ] == '/pics/pic_no-image_sml.gif' || Item[ 'img'].length == 0) ? '/pics/empty.gif' : Item [ 'img' ]);

				if
				(
					Item [ 'app' ] == 'prod'
				)
				{
					var tempName = Item [ Item [ 'app' ] + '_brand' ];
					tempName += ' ';
					tempName += Item [ Item [ 'app' ] + '_name' ]
					tempName += ' ';
					tempName += Item [ Item [ 'app' ] + '_volume' ];

					if
					(
						tempName.length > SearchSuggestion.maxLengthTitle
					)
					{
						tempName = tempName.substr ( 0, SearchSuggestion.maxLengthTitle );
						tempName += ' [...]';
					}
					Name.innerHTML = ProductQuickEdit.htmlspecialchars( tempName );
				}
				else if
				(
					Item [ 'app' ] == 'enu'
				)
				{
					var tempName = Item [ 'number' ] + ' ' + Item [ 'title' ];

					if
					(
						tempName.length > SearchSuggestion.maxLengthTitle
					)
					{
						tempName = tempName.substr ( 0, SearchSuggestion.maxLengthTitle );
						tempName += ' [...]';
					}

					Name.innerHTML = ProductQuickEdit.htmlspecialchars( tempName );
				}
				else if
				(
					Item [ 'app' ] == 'blog'
				)
				{
					var tempName = Item [ Item [ 'app' ] + '_title' ];

					if
					(
						tempName.length > SearchSuggestion.maxLengthTitle
					)
					{
						tempName = tempName.substr ( 0, SearchSuggestion.maxLengthTitle );
						tempName += ' [...]';
					}

					Name.innerHTML = ProductQuickEdit.htmlspecialchars( tempName );
				}
				else if
				(
					Item [ 'app' ] == 'help'
				)
				{
					var tempName = Item [ Item [ 'app' ] + '_title' ];

					if
					(
						tempName.length > SearchSuggestion.maxLengthTitle
					)
					{
						tempName = tempName.substr ( 0, SearchSuggestion.maxLengthTitle );
						tempName += ' [...]';
					}

					Name.innerHTML = ProductQuickEdit.htmlspecialchars( tempName );
				}
				else
				{
					var tempName = Item [ 'title' ];

					if
					(
						tempName.length > SearchSuggestion.maxLengthTitle
					)
					{
						tempName = tempName.substr ( 0, SearchSuggestion.maxLengthTitle );
						tempName += ' [...]';
					}

					Name.innerHTML = ProductQuickEdit.htmlspecialchars( tempName );
				}

				Meta.className = 'META Suchtreffer';
				Meta.innerHTML = Item [ 'searchTerm' ];
				Name.appendChild ( Meta );

				Li.appendChild ( SectionImage );
				Li.appendChild ( Name );
				Li.appendChild ( Section );

				Li.onclick = function
				(
				)
				{
					SuggestSearchHistory.addTermAndForward ( this.getElementsByTagName('a')[0].getElementsByTagName('span')[0].innerHTML , this.getElementsByTagName('a')[0].href );
					return false;
				}

				Li.onmouseover = function
				(
				)
				{
					YAHOO.util.Dom.addClass ( this , 'IEhover' );
					SearchSuggestion.layerOpened = true;
				}

				Li.onmouseout = function
				(
				)
				{
					YAHOO.util.Dom.removeClass ( this , 'IEhover' );
					SearchSuggestion.layerOpened = false;
				}

				Ul.appendChild ( Li );
			}

			this.suggestLayer.appendChild ( Ul );
			this.suggestLayer.appendChild ( LastSearch );
			SuggestSearchHistory.getList();
		}
		else
		{
			SearchSuggestion.layerOpened = false;
			this.removeSuggest();
		}

	},

	removeSuggest:function
	(
	)
	{
   		if
   		(
   			SearchSuggestion.layerOpened == false
   		)
   		{
			this.suggestLayer.style.display = 'none';
			this.suggestLayer.innerHTML = '';
		}
	},

	stdFailure: function
	(
	)
	{

	}
};

SearchSuggestion.Callback =
{
	success: SearchSuggestion.display,
	failure: SearchSuggestion.stdFailure,
	scope: SearchSuggestion
};

SuggestSearchHistory =
{
	formElementName: SearchSuggestion.formElementName,
	searchUrl: SearchSuggestion.searchUrl,
	lastSearchName: SearchSuggestion.lastSearchName,
	formWrapperName: SearchSuggestion.formWrapperName,
	CallbackAdd: null,
	CallbackAddForward: null,
	CallbackGet: null,

	addTermAndForward: function
	(
		term,
		target
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', this.searchUrl , this.CallbackAddForward, "action=search-history-add&q=" + term + '&target='+target);
	},

	addTerm: function
	(
		term
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', this.searchUrl , this.CallbackAdd, "action=search-history-add&q=" + term);
	},

	getList: function
	(
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', this.searchUrl , this.CallbackGet, "action=search-history-get");
	},

	display: function
	(
		o
	)
	{
		var History = o.responseText.parseJSON();

		if
		(
			History.length > 0
		)
		{
			var LastSearch = document.getElementById(this.lastSearchName);

			if
			(
				LastSearch
			)
			{
				if
				(
					LastSearch.getElementsByTagName ( 'p' ).length == 0
				)
				{
					var P = document.createElement ( 'p' );
					P.innerHTML = 'Meine letzten Suchanfragen';
					LastSearch.appendChild ( P );
					var Ul = document.createElement ( 'ul' );
					LastSearch.appendChild ( Ul );
				}

				var Ul = LastSearch.getElementsByTagName ( 'ul' )[0];
				Ul.innerHTML = '';

				for
				(
					var i = 0; i < History.length; i++
				)
				{
					var Li = document.createElement ( 'li' );
					var A = document.createElement ( 'a' );

					A.innerHTML = ProductQuickEdit.htmlspecialchars( History [ i ] );
					A.onclick = function
					(
					)
					{
						document.getElementById(SuggestSearchHistory.formElementName).value = this.innerHTML;
						document.getElementById(SuggestSearchHistory.formWrapperName).getElementsByTagName('form')[0].submit();
					}

					Li.appendChild ( A );

					if
					(
						i < History.length -1
					)
					{
						//Li.innerHTML += ' ,';
					}

					Ul.appendChild ( Li );
				}
			}

		}
	},

	forward: function
	(
		o
	)
	{
		Response = o.responseText.parseJSON();

		window.location.href = Response.target;
	},

	stdFailure: function
	(
	)
	{

	},

	stdSuccess: function
	(
	)
	{
	}
};

SuggestSearchHistory.CallbackAdd =
{
	success: SuggestSearchHistory.stdSuccess,
	failure: SuggestSearchHistory.stdFailure,
	scope: SuggestSearchHistory
};

SuggestSearchHistory.CallbackAddForward =
{
	success: SuggestSearchHistory.forward,
	failure: SuggestSearchHistory.stdFailure,
	scope: SuggestSearchHistory
};

SuggestSearchHistory.CallbackGet =
{
	success: SuggestSearchHistory.display,
	failure: SuggestSearchHistory.stdFailure,
	scope: SuggestSearchHistory
};

SearchFilter =
{
	bodyId: 'page-Page_Search',
	container: 'sidebar-search',
	filterClassName: 'filter',

	init: function
	(

	)
	{
		var Container = document.getElementById ( this.container );

		if
		(
			Container
		)
		{
			var Filter = YAHOO.util.Dom.getElementsByClassName ( 'filter' , 'div' , Container );

			if
			(
				Filter.length > 0
			)
			{
				for
				(
					var i = 0; i < Filter.length; i++
				)
				{
					var Itemlist = Filter [ i ].getElementsByTagName ( 'li' );
					var isActive = YAHOO.util.Dom.hasClass ( Filter [ i ] , 'search-criteria' );

					var hiddenLimit = 4;

					if
					(
						true == isActive
					)
					{
						hiddenLimit = 1;
					}


					for
					(
						var j = 0; j < Itemlist.length; j++
					)
					{
						if
						(
							j == 0
							&&
							Itemlist [ j ].className == 'FIRST'
							&&
							true == isActive
						)
						{
							var Element = Itemlist [ j ].getElementsByTagName ( 'a' ) [ 0 ];

							Element.onclick = function
							(
							)
							{
								var Env = this.parentNode.parentNode;
								var Img = this.getElementsByTagName ( 'img' )[0];

								if
								(
									YAHOO.util.Dom.hasClass ( Env , 'uncollapsed' )
								)
								{
									Img.src = '/pics/ic_arrow_green_right_01.gif';
									SearchFilter.showLessActive ( this.parentNode.parentNode );
								}
								else
								{
									Img.src = '/pics/ic_arrow_green_down_01.gif';
									SearchFilter.showMoreActive ( this.parentNode.parentNode );
								}

								return false;
							}
						}


						if
						(
							j > hiddenLimit
						)
						{
							YAHOO.util.Dom.addClass ( Itemlist [ j ] , 'hidden' );
						}
					}

					if
					(
						false == isActive
					)
					{
						var More = YAHOO.util.Dom.getElementsByClassName ( 'more' , 'a' , Filter [ i ] );

						if
						(
							More.length > 0
						)
						{
							More [ 0 ].onclick = function
							(
							)
							{
								SearchFilter.showMore ( this );
								return false;
							}
						}
					}
				}
			}
		}
	},

	showLessActive: function
	(
		Element
	)
	{
		YAHOO.util.Dom.removeClass ( Element , 'uncollapsed' );
		Items = Element.getElementsByTagName ( 'li' );

		for
		(
			var i = 0; i < Items.length; i++
		)
		{
			if
			(
				i > 1
			)
			{
				YAHOO.util.Dom.addClass ( Items [ i ] , 'hidden' );
			}
		}
	},

	showMoreActive: function
	(
		Element
	)
	{
		YAHOO.util.Dom.addClass ( Element , 'uncollapsed' );
		Items = Element.getElementsByTagName ( 'li' );

		for
		(
			var i = 0; i < Items.length; i++
		)
		{
			YAHOO.util.Dom.removeClass ( Items [ i ] , 'hidden' );
		}
	},

	showMore: function
	(
		Element
	)
	{
		var Items = Element.parentNode.getElementsByTagName ( 'li' );

		if
		(
			Items.length > 0
		)
		{
			for
			(
				var i = 0; i < Items.length; i++
			)
			{
				if
				(
					Items [ i ].className == 'hidden'
				)
				{
					YAHOO.util.Dom.removeClass ( Items [ i ] , 'hidden'  );
				}
			}
		}

		Element.innerHTML = 'weniger';

		Element.onclick = function
		(
		)
		{
			SearchFilter.showLess ( this );
			return false;
		}

		return false;
	},

	showLess: function
	(
		Element
	)
	{
		var Items = Element.parentNode.getElementsByTagName ( 'li' );

		if
		(
			Items.length > 0
		)
		{
			if
			(
				Items.length > 0
			)
			{
				for
				(
					var i = 0; i < Items.length; i++
				)
				{
					if
					(
						i > 4
					)
					{
						YAHOO.util.Dom.addClass ( Items [ i ] , 'hidden'  );
					}
				}
			}

			Element.innerHTML = 'mehr';

			Element.onclick = function
			(
			)
			{
				SearchFilter.showMore ( this );
				return false;
			}
		}

		return false;
	},

	suggestInitializable: function
	(
	)
	{
		if
		(
			document.getElementById ( this.bodyId )
			&&
			document.getElementById ( this.container )
		)
		{
			this.init();
		}
	}
};

initSurvey = function
(
)
{
	if
	(
		YAHOO.util.Dom.hasClass( 'content' , 'survey' )
	)
	{
		if
		(
			true == document.getElementById ( 'question7' ).checked
		)
		{
		}
		else
		{
			var Wrapper = YAHOO.util.Dom.getElementsByClassName ( 'lottery' , 'div' , 'content' )[0];
			Wrapper.style.display = 'none';
			Wrapper.style.visibility = 'hidden';
		}
		
		YAHOO.util.Dom.getElementsByClassName ( 'decision' , 'div' , 'content' )[0].onclick = function
		(
		)
		{
			var Wrapper = YAHOO.util.Dom.getElementsByClassName ( 'lottery' , 'div' , 'content' )[0];
			if
			(
				true == document.getElementById ( 'question7' ).checked
			)
			{
				Wrapper.style.display = 'block';
				Wrapper.style.visibility = 'visible';
			}
			else
			{
				Wrapper.style.display = 'none';
				Wrapper.style.visibility = 'hidden';
			}
		}
		
	}
	
}

akt_ergaenzung = 1;

window.onload = function()
{
	var tooltip = document.getElementById('tooltip');

	if (tooltip)
	{
		tooltip.style.visibility = 'hidden';
		tooltip.style.display = 'none';
	}
	if (document.getElementById('teilnahmelink'))
	{
		document.getElementById('teilnahmelink').onmouseover = function()
		{
			tooltip = document.getElementById('tooltip');
			if (tooltip)
			{
				tooltip.style.visibility = 'visible';
				tooltip.style.display = 'block';
			}
		}

		document.getElementById('teilnahmelink').onmouseout = function()
		{
			tooltip = document.getElementById('tooltip');

			if (tooltip)
			{
				tooltip.style.visibility = 'hidden';
				tooltip.style.display = 'none';
			}
		}
        
		document.getElementById('tooltip').onmouseover = function()
		{
			tooltip = document.getElementById('tooltip');
			if (tooltip)
			{
				tooltip.style.visibility = 'visible';
				tooltip.style.display = 'block';
			}
		}

		document.getElementById('tooltip').onmouseout = function()
		{
			tooltip = document.getElementById('tooltip');

			if (tooltip)
			{
				tooltip.style.visibility = 'hidden';
				tooltip.style.display = 'none';
			}
		}
	}

	for(i=2; i<11; i++)
	{
		var ergaenzung = document.getElementById('ergaenzung'+i);

		if (ergaenzung)
		{
			ergaenzung.style.visibility = 'hidden';
			ergaenzung.style.display = 'none';
		}
	}
	if (document.getElementById('plus'))
	{
		document.getElementById('plus').onclick = function()
		{
			akt_ergaenzung++;
			ergaenzung = document.getElementById('ergaenzung'+akt_ergaenzung);
			if (ergaenzung)
			{
				ergaenzung.style.visibility = 'visible';
				ergaenzung.style.display = 'block';
			}
			if (akt_ergaenzung == 10)
			{
				this.style.visibility = 'hidden';
			}
			return false;
		}
	}
}
