$(document).ready(function() {
	//alert('articlebygroup.js');
	ArticleVariantsPattern.init();

	$('.button_inShopcart').bind('click', function(){ 
		var articleId = this.parentNode.firstChild.value;

		var articleCount = this.parentNode.firstChild.nextSibling.value;

		
		var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
				
		var internalArticleId = $('#id_article_number_internal_' + articleIndex).html() + ''
							  + $('#id_article_number_internal_suffix_' + articleIndex).html();
		
        var url = "articles/ajax/getrequiredvariants/articleId/" + articleId + '/localeId/' + Locales.localeId 
				+ "/internalArticleId/" + internalArticleId;

   	    $.getJSON(url , function(json) {
    		switch (json.isSuccess) {
    			case true:
    				if (json.countVariants > 0) {    				    
                        // Show Message for not selected variants
                        ArticleVariantsPattern.showVariantinfo(json.variants);
						//alert(internalArticleId);
						//MiniShopcart.addToShopCart(articleId, articleCount, internalArticleId);
                        //alert('Bitte Varianten auswählen');	
    				} else {		
    					//RowClicker._gotoShopcart(articleId, inputAmount);
                        //ShortInfo._gotoShopcart(articleId, inputAmount);
                        MiniShopcart.addToShopCart(articleId, articleCount, internalArticleId);
    				}
    			break;
    			default:
    				//SecteoInfo.show('id_','Info');
    			break;
		    }
		//
	    });
        
		
		
	});
    
    $('.button_spy').bind('click', function() {
            var articleId = this.parentNode.firstChild.value;
            var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
            var articleNumber = $('#id_article_number_internal_' + articleIndex).html();
            var articleCount = $('#id_input_articleId_'+articleId).attr('value');
            
			Article.toSpy(articleNumber , articleCount);
	});
	
	$('#id_button_inShopcart_top').bind('click', function(){
		//var articleId = this.parentNode.firstChild.value;
				
		var articleId = $('#id_articleId_0').attr('value');
				

		//var articleCount = this.parentNode.firstChild.nextSibling.value;
		var articleCount = $('#id_input_articleId_'+articleId).attr('value');

		var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
				
		var internalArticleId = $('#id_article_number_internal_' + articleIndex).html() + ''
							  + $('#id_article_number_internal_suffix_' + articleIndex).html();
							  
		var internalArticleNo     = $('#id_article_number_internal_0').html();
		var internalArticleSuffix = $('#id_article_number_internal_suffix_0').html();
		var internalArticleId = '' + internalArticleNo + internalArticleSuffix;
        
        var url = "articles/ajax/getrequiredvariants/articleId/" + articleId + '/localeId/' + Locales.localeId;
        
        $.getJSON(url , function(json) {
    		switch (json.isSuccess) {
    			case true:
    				if (json.countVariants > 0) {
    				    //ArticleDetails.showByArticleId(articleId, null, inputAmount, true);
                        // Show Message for not selected variants
                        ArticleVariantsPattern.showVariantinfo(json.variants);
                        //alert('Bitte Varianten auswählen');	
    				} else {		
    					//RowClicker._gotoShopcart(articleId, inputAmount);
                        //ShortInfo._gotoShopcart(articleId, inputAmount);
                        MiniShopcart.addToShopCart(articleId, articleCount, internalArticleId);
    				}
    			break;
    			default:
    				//SecteoInfo.show('id_','Info');
    			break;
		    }
		//
	    });
		
		//MiniShopcart.addToShopCart(articleId, articleCount, internalArticleId);		
	});
	
});

ArticleVariantsPattern = {
	'idDiv'       : 'id_articledetails_ArticleVariantsPattern',
	'classDiv' : 'pattern_article_variants',
	'isAllClosed' : true,
	'arrInitHeadersVariations':[],
	'overVariation': false,
	//'arrSelectedVariations':[],
	'variantsCount': ''
};

ArticleVariantsPattern.init = function() {
	//alert('ArticleVariantsPattern.init()') ;
	//this.div = $('#' + this.idDiv);
	this.div = $('.' + this.classDiv);
	var allVariants = $('.' + this.classDiv);
	//this.div.html('ArticleVariantsPattern.init()');



	this.isAllClosed = true;
	this.arrInitHeadersVariations = [];
	this.overVariation = false;
	this.arrSelectedVariations = [];
	//console.log(this.arrSelectedVariations);
	this.arrAllVariants = null;
	//console.log(allVariants);
	ArticleVariantsPattern.getVariants(allVariants);
	
	// Selected varations suffixes array(int=>string, 3=>'-Z-K'); 
	//ArticleVariantsPattern.suffixes = [];
	
	//var articleId = article_id;
	InputDigit.init('input.article_count');
	InputDigit.init('input.article_count_details');
	
	$('input.article_count').bind('keyup', function() {
		var articleId = StringUtils.getSplitedAt(1, this.id,'id_input_articleId_');
		var articleCount = this.value;
		var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
		//alert(articleCount);
		//alert(articleIndex);
		var arrVariations = ArticleVariantsPattern.getArticleVariations(articleIndex); 		
		//alert(arrVariations);		
		ArticleVariantsPattern.calculateArticlePriceWithVariants(articleId, arrVariations, articleCount);
	});
	
	$('input.article_count_details').bind('keyup', function() {
		var articleId = StringUtils.getSplitedAt(1, this.id,'id_input_articleId_');
		var articleCount = this.value;
		var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
		//alert(articleCount);
		//alert(articleIndex);
		var arrVariations = ArticleVariantsPattern.getArticleVariations(articleIndex); 		
		//alert(arrVariations);		
		ArticleVariantsPattern.calculateArticlePriceWithVariants(articleId, arrVariations, articleCount);
	});
}

ArticleVariantsPattern.showVariantinfo = function(json){
    var text = '<ul style="margin-left:24px;">'
    $(json).each(function(i, item) {
        text += '<li>' + item.translation_name + '</li>'
    });
    text += '</ul>'
    SecteoInfo.show('id_info_variants', text);
}

ArticleVariantsPattern.setRecordsVariants = function()
{
	if ( json.records.length > 0 ) {
		this.div.css({
			//'margin-top': 100 - json.records.length * 20 + 'px'
		});
	} else {
		ArticleVariantsPattern.variantsCount = 0;
		return 0;
	}


	this.div.append(this._getVariants(json.records));
}

ArticleVariantsPattern.getVariants = function(allVariants)
{
	$(allVariants).each(function(i, item){
		//console.log(item);
		var article_id = StringUtils.getSplitedAt(1, $(item).attr('id') ,'id_articledetails_ArticleVariants_');
		ArticleVariantsPattern._getVariant(article_id, item);		
	});
}

ArticleVariantsPattern._getVariant = function(article_id, variant)
{
	//console.log(article_id);
	
	//this.arrAllVariants = variant; //usefull by form validation
	
	//console.log(json.length);

	//if (json.length > 0){
	//ArticleVariantsPattern.variantsCount = json.length;
	//}
	//console.log(variant);
	
	$(variant.childNodes).each(function(i, item) {
		
		//console.log(item);
		
		
		
		
		if (i % 2 == 0) {
			var variantId = $(item).attr('id');
			//console.log(variantId);
			variantId = StringUtils.getSplitedAt(1, variantId, 'id_article_Variant_');
			
			
		}
		
		if (i % 2 != 0){
			

		//$(item.parentNode.childnodes).each(function(j, variation){
		//console.log(variations.childNodes);
		//console.log('i = ' + i);
		$(item.childNodes).each(function(j, variation){
			//console.log('j = ' + j);
			if (j % 2 == 0) {
				//console.log(variation);
				objVariation = new Object;
				objVariation.variant_id = variantId;
				//console.log(variation.firstChild.nextSibling.value);
				//console.log(variation);
				var variationId__i = StringUtils.getSplitedAt(1, $(variation).attr('id'), 'id_article_Variation_');
				//console.log(variationId__i);
				var variationId = StringUtils.getSplitedAt(0, variationId__i, '__');
				//console.log(variationId);
				objVariation.variation_id = variationId;
				//console.log(objVariation);
				arrVariations.push(objVariation);
				
				
			}
		})
		
		ArticleVariantsPattern.__getVariations(variantId, item);
		}
	//})
		
		
		if (i % 2 == 0){
						
			//console.log(item.parentNode.childNodes);
						
			//console.log(item)
			var variantId = $(item).attr('id');
			//console.log(variantId);
			variantId = StringUtils.getSplitedAt(1, variantId, 'id_article_Variant_');
			if (typeof(article_id) != undefined){
				//ArticleVariantsPattern.___rememberVariant(article_id, variantId, item.firstChild.value);
			}
			
			//console.log(item.firstChild);
			//ArticleVariantsPattern.div.append(ArticleVariantsPattern.__getVariant(item));
			//console.log(item);
			
			//ArticleVariantsPattern.__getVariations(variantId, item);
			
			arrVariations = new Array;
	
						
		
		$(item).bind('click', function(){ 
			 //alert('click'); 
			
			 
			
			var variationIdDiv = $(item).attr('id'); 
			var variantId = StringUtils.getSplitedAt(1, variationIdDiv, 'id_article_Variant_');
			
			
			
			if (ArticleVariantsPattern.overVariation == false && ArticleVariantsPattern.isAllClosed == false){
				//alert('test 161');
				///ArticleVariantsPattern._removeFromSelectedVariations(arrVariations);
				//ArticleVariantsPattern.__restoreVariant(variantId);
					
				
				var variantName = $('#id_variant_translation_name_' + variantId).attr('value');
				//alert('valiantName=' + variantName);
				ArticleVariantsPattern._setVariantCaption(variantId, variantName);
				// alert('variantId=' + variantId); return;
				
				var articleId = article_id;
				
				var articleIndex = $('#id_articleIndex_' + articleId).attr('value');
				
				//alert('articleIndex=' + articleIndex); return;
							

				var div = $('#' + variationIdDiv);				
								
				var articleCount 	= $('#id_input_articleId_' + articleId).attr('value');		
				var variationSuffix = '';
				var variationId 	= '';
		
				// 08000344-X-Y: here -X-Y is articleSuffix			
				ArticleVariantsPattern._setSuffix(articleIndex, variantId, variationSuffix, variationId);
				var articleSuffix     = ArticleVariantsPattern.getArticleSuffix(articleIndex);
				var articleVariations = ArticleVariantsPattern.getArticleVariations(articleIndex);	
				
				$('#id_article_number_internal_suffix_' + articleIndex).html(articleSuffix);
			
				ArticleVariantsPattern.calculateArticlePriceWithVariants(articleId, articleVariations, articleCount);
						
				ArticleVariantsPattern.__closeAllMenus();
				//console.log('restore');	
			}
			
			if (ArticleVariantsPattern.isAllClosed == true) {
				//console.log(variantId);
				ArticleVariantsPattern._toOpenVariantId = variantId;
				ArticleVariantsPattern.__openVariant();
			} else {
				if (ArticleVariantsPattern.overVariation == false){
					//alert('ArticleVariantsPattern.overVariation == false');
					//ArticleVariantsPattern.__closeAllMenus();
				}			
			}
			//ArticleVariantsPattern.__restoreVariant(variantId);
		})
		
		$(item).bind('mouseenter', function(){
			//alert('hover');
			
			ArticleVariantsPattern.overVariation == false;
			var variantId = $(item).attr('id');
			variantId = StringUtils.getSplitedAt(1, variantId, 'id_article_Variant_')
			
			//console.log('mouseover ' + variantId);
			//id_article_Variations
			if (ArticleVariantsPattern.isAllClosed == true) {
				//ArticleVariantsPattern.__getVariant(variantId);
				ArticleVariantsPattern._toOpenVariantId = variantId;
				ArticleVariantsPattern.__openVariant();
			} else {
				ArticleVariantsPattern._killTimer(); // ON - NOT CLOSE OPENED VARIANT
			}
		})
		.bind('mouseleave', function(){
			ArticleVariantsPattern._closeAllMenusDelayed();
		})
		}
	});
}

ArticleVariantsPattern._getMatchedVariantsForVariations = function()
{
	var selected = this.arrSelectedVariations; //alert('selected=' + selected);
	var result = [];
	$(selected).each(function(i, itemSelected) { //alert('itemSelected=' + itemSelected);
		$(ArticleVariantsPattern.arrAllVariants).each(function(j, itemVariant) {
			$(itemVariant.arrVariations).each(function(k, itemVariation) {
				if (itemSelected == itemVariation.variation_id) {
					result.push(itemVariation.variant_id);
				}
			});
		});
	});
	//alert(result);
	return result;
}

ArticleVariantsPattern.getNotSelectedVariants = function()
{
	var result = [];
	var isValid = true;
	var arrMatchedVariants = ArticleVariantsPattern._getMatchedVariantsForVariations();
	$(ArticleVariantsPattern.arrAllVariants).each(function(j, itemVariant) {
		if (itemVariant.variant_required == "1") {
			var isInArray = false;
			$(arrMatchedVariants).each(function(k, itemSelected) {
				if (itemVariant.variant_id == itemSelected) {
					isInArray = true;
				}
			});

			if ( isInArray == false ) {
				isValid = false;
				result.push(itemVariant.translation_name);
			}
		}
	});

	return result;
}

ArticleVariantsPattern.___rememberVariant = function(article_id, variant_id, translation_name)
{
	ArticleVariantsPattern.arrInitHeadersVariations[article_id].push({
		'variantId': variant_id,
		'translationName': translation_name
	});
}

ArticleVariantsPattern.___getVariant = function(variant_id)
{
	var result = null;
	$(ArticleVariantsPattern.arrInitHeadersVariations).each(function(i, item) {
		if ( item.variantId == variant_id ) {
			result = item;
		}
	});
	return result;
}

ArticleVariantsPattern.__restoreVariant = function(variantId)
{
	//this._refreshArticlePrice();
	//var variant = this.___getVariant(variant_id);
    //var header = variant.translationName;

	//$('#id_article_Variant_' + variant_id).empty().append(header);
	

	//var div = $('#id_article_Variant_' + variantId);
	//console.log(variantId);
	var div = document.getElementById('id_article_Variant_' + variantId);
	//console.log(div);
	var header = $('#id_variant_translation_name' + variantId).val();
	divCaption = div.firstChild.nextSibling;
	//console.log(header);
	$(divCaption).empty().append(header);
	ArticleVariantsPattern.__closeAllMenus();
	
}


ArticleVariantsPattern.__getVariant = function(variant_id)
{
	//var div = $(document.createElement('div'));
	// All variatns with variations
	var div = $('.article_Variations');
/*
	div.attr({
		'id':'id_article_Variant_' + variant_id,
		'class':'article_Variant'
	});*/

	div.css({
		'background': 'url("media/icons/ArticelDetails_Variants__normal.png") no-repeat scroll left top',
		'height': '18px',
		'width': '224px',
		'cursor': 'pointer',
		'font-size': '12px',
		'font-weight': '100',
		'color': '#ffffff',
		'text-align': 'left',
		'padding-left': '6px',
		'padding-top': (Platform.isMac())?'1px':'0px',
		'margin-top':'10px'
	})

	//console.log(div);
	$(div).each(function(i, item){
		//console.log(item)
		arrVariations = [];
		$(item.childNodes).each(function(j, variation){			
			
			if (j % 2 == 0) {
				//console.log(j);
				// objVariation = new Object;
				objVariation = new Object;
				objVariation.variant_id = variant_id;
				//console.log(variation.firstChild.value);
				var variationId__i = StringUtils.getSplitedAt(1, $(variation).attr('id'), 'id_article_Variation_');
				var variationId = StringUtils.getSplitedAt(0, variationId__i, '__');
				
				//console.log(variationId);
				objVariation.variation_id = variationId;
				//console.log(objVariation);
				arrVariations.push(objVariation);
			}		
		})

	})
	
	//console.log(arrVariations);
	

	var div = $('#id_article_Variations_' + variant_id).bind('mouseover', function() {
		if (ArticleVariantsPattern.isAllClosed == true) {
			//alert('hover');
		    ArticleVariantsPattern._toOpenVariantId = variant_id;
			ArticleVariantsPattern.__openVariant();
		}
	})
	.bind('mouseout', function() {
		ArticleVariantsPattern._closeAllMenusDelayed();
	})
	.bind('click', function() {
		//alert('click In Bearbeitung');
		//ArticleVariantsPattern._toOpenVariantId = variant_id;
		//ArticleVariantsPattern.__openVariant();
		/* OFF - WITHOUT OK?
		if (ArticleVariantsPattern.isAllClosed == true) {
			ArticleVariantsPattern._toOpenVariantId = variant_id;
			ArticleVariantsPattern.__openVariant();
		} else {
			if (ArticleVariantsPattern.overVariation == false){
				alert('test 342');
				ArticleVariantsPattern._removeFromSelectedVariations(arrVariations);
				ArticleVariantsPattern.__restoreVariant(variant_id);
			}			
		}*/
	});

	//div.append(json.translation_name);

	return div;
}

ArticleVariantsPattern.__openVariant = function()
{
	if ( ArticleVariantsPattern._toOpenVariantId != null ) {
		ArticleVariantsPattern._killTimer();
		$('#id_article_Variant_' + ArticleVariantsPattern._toOpenVariantId).css({
				'background': 'url("media/icons/ArticelDetails_Variants__hover.png") no-repeat scroll left top'				
		});
		var divVariations = $('#id_article_Variations_' + ArticleVariantsPattern._toOpenVariantId);
		
		var divVariation = document.getElementById('id_article_Variations_' + ArticleVariantsPattern._toOpenVariantId);
		var divSecondVariant = divVariation.nextSibling;
		//alert(divSecondVariant);

		if (typeof(divSecondVariant) != 'undefined' && divSecondVariant != null && navigator.appName == 'Microsoft Internet Explorer') {
			//$(divSecondVariant).hide();
			if (Browser.isMsie7() == true) {
				$('#id_article_Variant_' + ArticleVariantsPattern._toOpenVariantId).css({				
					'margin-bottom':'0px'
				});
				$(divVariation).css({'top':'28px'});
				$(divSecondVariant).fadeOut('fast');
                $(divSecondVariant).css({'display': 'none'});
			}
		}
		
		ArticleVariantsPattern.isAllClosed = false;
		ArticleVariantsPattern._toOpenVariantId = null;
		divVariations.slideDown(200);
	}
}


ArticleVariantsPattern.__getVariations = function(variant_id, variations)
{ //console.log(variations.childNodes);
	//var div = $(document.createElement('div'));
	//console.log(variations.childNodes);
	//$(json.arrVariations).each(function(i, item) {
	//	var isLast = ( i < json.arrVariations.length - 1)?false:true; // alert(isLast);
	
	//console.log(variations);
	arrVariations = new Array;
	
	$(variations.childNodes).each(function(i, variation){
		//console.log(variations.childNodes);
		//console.log('i = ' + i);
		//$(variation.childNodes).each(function(j, item){
			//console.log('j = ' + j);
			if (i % 2 == 0) {
				objVariation = new Object;
				objVariation.variant_id = variant_id;
				//console.log(variation.firstChild.nextSibling.value);
				//console.log($(variation).attr('id'));
				var variationId__i = StringUtils.getSplitedAt(1, $(variation).attr('id'), 'id_article_Variation_');
				//console.log(variationId__i);
				var variationId = StringUtils.getSplitedAt(0, variationId__i, '__');
				//console.log(variationId);
				objVariation.variation_id = variationId;
				//console.log(objVariation);
				arrVariations.push(objVariation);
				
				
			}
		//})
	})
		
	
	$(variations.childNodes).each(function(i, variation){
		
		
			if (i % 2 == 0){
			if ($(variation).hasClass('last') == true){
				isLast = true;
			} else {
				isLast = false;
			}
			// todo
			//console.log(variation);
			
			
			//console.log(arrVariations);
			//console.log(isLast);
			ArticleVariantsPattern.__getVariation(variation, isLast, arrVariations);
		}
		
		
	})
	
	//});
	

	$('#id_article_Variations_' + variant_id).bind('mouseover', function() {
		ArticleVariantsPattern.overVariation = true;
		ArticleVariantsPattern._killTimer();
		//console.log('test123');
	})
	.bind('mouseout', function() {
		ArticleVariantsPattern._closeAllMenusDelayed();
		ArticleVariantsPattern.overVariation = true;
	})

}

ArticleVariantsPattern._refreshArticlePrice = function()
{
	if (Browser.hasIdentity() == true) {
		ArticleDetails.calculateArticlePriceWithVariants(this.arrSelectedVariations);
	}
}

ArticleVariantsPattern.__getVariation = function(item, isLast, arrVariations)
{
	//console.log(item);
	var variationIdDiv = $(item).attr('id');
	var variationId__i = StringUtils.getSplitedAt(1, $(item).attr('id'), 'id_article_Variation_');
	var variationId = StringUtils.getSplitedAt(0, variationId__i, '__');
	var articleIndex = StringUtils.getSplitedAt(1, variationId__i, '__');
	var articleId = $('#id_articleId_' + articleIndex).attr('value');
	
	//var div = $(document.createElement('div'));

	var div = $('#' + variationIdDiv);
	
	//alert('div=' + div.attr('id'));
	
	var variantId = div[0].firstChild.value; //alert('variantId=' + variantId);
	var variationSuffix = div[0].firstChild.nextSibling.value; //alert('variationSuffix=' + variationSuffix);
	var translationName = div[0].firstChild.nextSibling.nextSibling.innerHTML;
	
	
	//console.log(div);
	//var variationId = $(this).attr('id')

	var srcNormal = '';
	var srcHover = '';

	if ( isLast == false ) {
		srcNormal = 'media/icons/ArticelDetails_Variation_normal.png';
		srcHover  = 'media/icons/ArticelDetails_Variation_hover.png';
	} else {
		srcNormal = 'media/icons/ArticelDetails_Variation_Last_normal.png';
		srcHover  = 'media/icons/ArticelDetails_Variation_Last_hover.png';
	}

	div.bind('mouseover', function() {
		$(this).css({
			'background': 'url("' + srcHover + '") no-repeat scroll left top'
		});
		
		ArticleVariantsPattern._killTimer();
	})
	.bind('mouseout', function() {
		$(this).css({
			'background': 'url("' + srcNormal + '") no-repeat scroll left top'
		});
		
		ArticleVariantsPattern._closeAllMenusDelayed();
	})
	.bind('click', function() {		
        //alert(variationId + ' und ' + articleIndex + ' und ' + variationSuffix);
		var articleCount = $('#id_input_articleId_' + articleId).attr('value');
		
		//var variationSuffix = $('#id_variation_number_variation_' + variationId).attr('value');
		
		// 08000344-X-Y: here -X-Y is articleSuffix			
		ArticleVariantsPattern._setSuffix(articleIndex, variantId, variationSuffix, variationId);
		var articleSuffix = ArticleVariantsPattern.getArticleSuffix(articleIndex);
		var articleVariations = ArticleVariantsPattern.getArticleVariations(articleIndex);	
				
		$('#id_article_number_internal_suffix_' + articleIndex).html(articleSuffix);
			
		ArticleVariantsPattern.calculateArticlePriceWithVariants(articleId, articleVariations, articleCount);
						
		ArticleVariantsPattern.__closeAllMenus();	
		ArticleVariantsPattern._setVariantCaption(variantId, translationName);
	});

	return div;
}

ArticleVariantsPattern._setSuffix = function(articleIndex, variantId, suffix, variationId)
{	
	$('#id_articleIndex_' + articleIndex + '_variantId_' + variantId + '_variationSuffix').attr({'value':suffix});
	$('#id_articleIndex_' + articleIndex + '_variantId_' + variantId + '_variationId').attr({'value':variationId});	
}

/**
 * getArticleSuffix
 * 
 * @param {integer} articleIndex
 * @return array
 */
ArticleVariantsPattern.getArticleSuffix = function(articleIndex) 
{
	var result = '';
	$('input.variant-suffix-articleIndex-' + articleIndex).each(function(i, item) {
		var s = $(item).attr('value');
		if (s > '') {
			result += '-' + s;
		}
	});
	return result;
}

/**
 * getArticleVariations
 * 
 * @param {integer} articleIndex
 * @return array
 */
ArticleVariantsPattern.getArticleVariations = function(articleIndex) 
{
	var result = [];
	$('input.variant-id-articleIndex-' + articleIndex).each(function(i, item) {
		var s = $(item).attr('value');
		if (s > '') {
			result.push(s);
		}
	});
	return result;
}

ArticleVariantsPattern._setArticlePrice = function(articleId, price)
{
	if ( Browser.hasIdentity() == false ) {
		return;
	}
	//console.log(price);
	var oldSrc = $('#id_img_price_articleId_' + articleId).attr('src');
	var newSource = 'media/price/?c=' + price + '&type=1&currency=1';
	//console.log(newSource);

	$('#id_img_price_articleId_' + articleId).attr("src", newSource);
	$('#id_img_price_articleId_' + articleId).attr("alt", price);
	
	ArticleVariantsPattern._setArticlePriceStroke(articleId, price);
}

ArticleVariantsPattern._setArticlePriceStroke = function(articleId, price)
{

	var oldSrc = $('#id_img_price_stroke_articleId_' + articleId).attr('src');
	var newSource = 'media/price/?c=' + price + '&type=2&currency=1';

	$('#id_img_price_stroke_articleId_' + articleId).attr("src", newSource);
	$('#id_img_price_stroke_articleId_' + articleId).attr("alt", price);
	var repSource = $('#id_img_price_stroke_articleId_' + articleId).attr('src');
}

ArticleVariantsPattern.calculateArticlePriceWithVariants = function(articleId, arrVariantIds, articleCount)
{   //alert('ArticleDetails.calculateArticlePriceWithVariants = ' + arrVariantIds);
	//alert('articleId=' + articleId + ' articleCount=' + articleCount);
	//return;
	var url = "articles/group/getarticleprice/article_id/" + articleId
	+ '/count/' + articleCount
	+ '/localeId/' + Locales.localeId + '/strLocale/' + Locales.strLocale;
    // alert(url);
	//$.get(url ,  {'arrVariations[]':arrVariantIds}, function(json) {  alert(json);
	$.getJSON(url , {'arrVariations[]':arrVariantIds}, function(json) {			 
			ArticleVariantsPattern._setArticlePrice(articleId, json.article_price);
			///!ArticleVariantsPattern._setArticlePriceStroke(articleId, json.article_price);
			///!ArticleDetails.setArticleNumberInternalSuffix(json.variationsNumbers);
        }, 'json');
}

ArticleVariantsPattern._addToSelectedVariations = function(arrVariations, variationId, articleIndex)
{   //alert('ArticleVariantsPattern._addToSelectedVariations');
	ArticleVariantsPattern._removeFromSelectedVariations(arrVariations, articleIndex);
	//this.arrSelectedVariations.push(variationId);

	if ( typeof(this.arrSelectedVariations[articleIndex]) == 'undefined') {
		this.arrSelectedVariations[articleIndex] = [];
	}

	this.arrSelectedVariations[articleIndex].push(variationId);

	//alert(this.arrSelectedVariations[articleIndex]);
}

ArticleVariantsPattern._removeFromSelectedVariations = function(arrVariations, articleIndex)
{
	//alert('_removeFromSelectedVariations = ' + arrVariations);

	$(arrVariations).each(function(i, Variation) {

		var arrResult = new Array();
		$(ArticleVariantsPattern.arrSelectedVariations[articleIndex]).each(function(j, variationId) {
			if (variationId != Variation.variation_id) {
				arrResult.push(variationId);
			}
		});

		ArticleVariantsPattern.arrSelectedVariations[articleIndex] = arrResult;
	});
}

ArticleVariantsPattern._setVariantCaption = function(variantId, caption)
{	
	$('#id_variant_caption_variantId_' + variantId).empty().append('<div>' + caption + '</div>');		
}

ArticleVariantsPattern._closeAllMenusDelayed = function()
{   //return ; //ON -DEBUG
	if (ArticleVariantsPattern.timer == null) {
		ArticleVariantsPattern.timer = window.setTimeout(function(){
			ArticleVariantsPattern.__closeAllMenus();
		}, 400);
	}
}

ArticleVariantsPattern._killTimer = function() {
	if (ArticleVariantsPattern.timer != null) {
		window.clearTimeout(ArticleVariantsPattern.timer);
	}
	ArticleVariantsPattern.timer = null;
}

ArticleVariantsPattern.__closeAllMenus = function(){

	ArticleVariantsPattern._killTimer();
	//OFF - DEBUG;
	$('div.article_Variations').each(function(i, item){
		//alert($(item).attr('id') == $(notThis).attr('id'));
		if ($(item).css('display') == 'block') {
			$(item).slideUp(200, function(){
				$('div.article_Variant').css({
					'background': 'url("media/icons/ArticelDetails_Variants__normal.png") no-repeat scroll left top'
				});
				
				ArticleVariantsPattern.isAllClosed = true;
				//ArticleVariantsPattern.__openVariant();
			});
		}
	});
	
	var divSecondVariant = $('.article_Variant:hidden');
	//console.log(divSecondVariant);
	if (typeof(divSecondVariant) != 'undefined' && divSecondVariant != null && navigator.appName == 'Microsoft Internet Explorer') {
		divSecondVariant.fadeIn('def');
		//divSecondVariant.show();
		divSecondVariant.css({'display': 'block'});
	}
	
}
ArticleVariantsPattern._gotoShopcart = function(articleId, articleCount,internalArticleId) {
	//console.log('in der warenkorb methode');
	//console.log('artikel ID: ' + articleId);
	//console.log('anzahl: ' + articleCount);
	
		var url = "default/shopcart/addarticle/article_id/" + articleId + '/article_count/' + articleCount
		+ '/localeId/' + Locales.localeId + '/strLocale/' + Locales.strLocale
;

		//alert(url);
		alert(ArticleVariantsPattern.arrSelectedVariations);
     	$.getJSON(url , {
			'arrVariations':ArticleVariantsPattern.arrSelectedVariations,
			'internalArticleId':internalArticleId
			}, function(json) {
			switch (json.isSuccess) {
				case true:
					/*
					$(json.shopcart).each(function(i, item) {
						alert('article_number_internal=' + item.record.article_number_internal + ' count=' + item.count);
					});
					*/
					//OverlayModal.hide();
					// Rückmeldung über Hinzufügen zum Warenkorb
					//SecteoInfo.show('id_info_shopcart','Article has been added');
					MiniShopcart.refresh();
				break;
				default:
					//SecteoInfo.show('id_info_shopcart','Article has been not added');
				break;
			}
			//
		});
}
