active_reiter = new Array();
loaded_longdesc = new Array();
variants = new Array();
bilder = new Array();

function mark_activereiter( sId)
{
	if( oLi = $( '#' + sId + " .reiter li.active"))
	{
		active_reiter[ sId] = oLi;
	}
}

function set_productreiter( sId)
{
	//add click-event
	if( lis = $( '#' + sId + " .reiter li"))
	{
		$( 'a', lis).click( function()
				{
					if( !( $( this).parent().hasClass( 'active')))
					{
						switch_load( this);
						fnc_name = $( this).attr( 'class');
						switch( fnc_name)
						{
							case "artikelinfos":
								get_artikelinfos( this);
								break;
							case "preisinfos":
								get_preisinfos( this);
								break;
							case "artikelbilder":
								get_artikelbilder( this);
								break;
						}
						switch_reiter( this);
						$( this).blur();
						switch_load( this);
					}
					return false;
				}
		);
	}
}

function set_variant_select( sId, var_link)
{
	if( oSelect = $( '#' + sId + " .var_flag select"))
	{
		anid = $( oSelect).val();
		oDiv = $( '#' + sId);
		
		if(! variants[ anid])
		{
			variants[ anid] = oDiv;
		}
		oSelect.change( function()
				{
					switch_variant( this, sId, var_link);			
				}
		);
	}
}

//----- private functions
function get_artikelinfos( oA)
{
	oDiv = $( oA).parent().parent().parent();
	sId = $( oDiv).attr( 'id');
	artnum = $( 'tt .value', oDiv).text();
	artnum = 'ld_' + artnum;
	oDiv.removeClass( 'pics');
	if( loaded_longdesc[ sId] && loaded_longdesc[ sId][ artnum] == true)
	{
		$( '.dd_shortdesc', oDiv).addClass( 'off');
		$( '.dd_longdesc', oDiv).removeClass( 'off');
	}
	else
	{
		//Langbeschreibung nachladen
		$.get( $( oA).attr( 'href'), function(data)
				{
					//Kurzbeschr ausblenden
					$( '.dd_shortdesc', oDiv).addClass( 'off');
					//Langbeschr einblenden
					$( '.dd_longdesc', oDiv).html( data);
					$( '.dd_longdesc', oDiv).removeClass( 'off');
				}
		);
		if( !loaded_longdesc[ sId])
		{
			loaded_longdesc[ sId] = new Array();
		}
		loaded_longdesc[ sId][ artnum] = true;
	}
}

function get_preisinfos( oA)
{
	oDiv = $( oA).parent().parent().parent();
	sId = $( oDiv).attr( 'id');
	oDiv.removeClass( 'pics');
	$( '.dd_shortdesc', oDiv).removeClass( 'off');
	$( '.dd_longdesc', oDiv).addClass( 'off');
}

function get_artikelbilder( oA)
{
	oDiv = $( oA).parent().parent().parent();
	sId = $( oDiv).attr( 'id');
	artnum = $( 'tt .value', oDiv).text();
	artnum = 'pics_' + artnum;
	oDiv.removeClass( 'pics');
	if( bilder[ sId] && bilder[ sId][ artnum] == true)
	{
		oDiv.addClass( 'pics');
	}
	else
	{
		//Bilder nachladen
		$.get( $( oA).attr( 'href'), function(data)
				{
					$( '.pic_gallery', oDiv).append( data);
					oDiv.addClass( 'pics');
					//js-Fkt
					if( oJsDiv = $( ' .js_script', oDiv))
					{
						js_script = $( oJsDiv).text();
						$( 'body').append('<script type="text/javascript">' + js_script + '</script>');
						$( oJsDiv).remove();
					}
				}
		);
		if( !bilder[ sId])
		{
			bilder[ sId] = new Array();
		}
		bilder[ sId][ artnum] = true;
	}
	
}

function switch_reiter( oA)
{
	oLi = $( oA).parent();
	oUl = oLi.parent();
	$( 'li', oUl).removeClass( 'active');
	$( oLi).addClass( 'active');
}

function switch_load( oA)
{
	oDiv = $( oA).parent().parent().parent();
	$( '.load', oDiv).toggleClass( 'on');
}

function switch_variant( oSelect, sId, var_link)
{
	oDiv = $( '#' + sId);
	$( '.load', oDiv).toggleClass( 'on');
	anid = $( oSelect).val();
	oldid = $( 'input[name=oldid]', oDiv).val();
	
	var_link += '&anid=' + anid + '&oldid=' + oldid;
	
	reiter_pos = $( '.reiter li.active', oDiv).index();
	
	if( reiter_pos == 1)
	{
		var_link += '&longdesc=1';
	}
	
	/* Caching ausgeschaltet
	if( variants[ anid])
	{
		oNewDiv = variants[ anid];
		$( oDiv).replaceWith( oNewDiv);
		$( '.load', oNewDiv).toggleClass( 'on');
	}
	else
	*/
	{
		//über AJAX nachladen
		$.get( var_link, function(data)
				{
					$( oDiv).replaceWith( data);
					oNewDiv = $( '#' + sId);
					variants[ anid] = oNewDiv;
					//js-Fkt
					if( oJsDiv = $( ' .js_script', oNewDiv))
					{
						js_script = $( oJsDiv).text();
						$( 'body').append('<script type="text/javascript">' + js_script + '</script>');
						$( oJsDiv).remove();
					}
					if( reiter_pos == 1)
					{
						oA = $( '.reiter li a:eq(1)', oNewDiv);
						//get_artikelinfos( oA);
						switch_reiter( oA);
					}
				}
		);
	}
	
}

function get_linkobject( oA)
{
	aLink = $( oA).attr( 'href').split( '?');
	sUrl = aLink[ 0];
	aLink = aLink[ 1].split( '&');
	mode = aLink[ 0];
	sMode = mode.split( '=')[1];
	anid = aLink[ 1];
	sAnid = anid.split( '=')[1];
	
	oLink = { url:sUrl, mode:sMode, anid:sAnid};
	return oLink;
}

/*function is_activereiter( oA)
{
	if( oLi = $( oA).parent())
	{
		if( oUl = $( oLi).parent())
		{
			idx_clicked = $( 'li', oUl).index( oA);
			
			if( oDiv = $( oUl).parent())
			{
				idx_was_active = 				
			}
		}
	}
}*/