/**
 * Produkt Empfehlungen
 *
 * @author Fstrauss
 * @access public
 *
 * Beispiel:
 *
 *	HTML Markup:
 *
 *	<div class="product-recommendation-container">
 *		<h3>Produktempfehlungen</h3>
 *		<div class="recommendation" title="1101010031" url="http://shop.buenting-tee.loc/typo3services.php"></div>
 *		<div class="recommendation" title="1101010031" url="http://shop.buenting-tee.loc/typo3services.php"></div>
 *	</div>
 *
 *	title = produkt SKU
 *	url = URL zum Service
 *
 *	Javascript:
 *
 *  $('div.product-recommendation-container').productRecommendation();
 *
 *  CSS:
 *  Siehe Bünting-Tee TYPO3: content.css
 *
 */

var myFunc;

(function($){

$.fn.productRecommendation = function(options) {

	/**
	 * Plugin Default Options
	 */
	var defaults = {
		serviceURL : '?service=product_information'
	}

	options = $.extend(defaults, options);


    var createRecommendation = function(product) {        
    	var domTitle;
		if(product.title.length > 22) { domTitle = product.title.substr(0,22)+'...' } else { domTitle = product.title }
		
        var title   = $('<h4>').html(domTitle);
        var img     = $('<img>').attr('src',product.image);
        var price   = $('<span>').html(product.price).addClass('price');
        var mwst    = $('<span>').html(product.mwst).addClass('mwst');
        var link    = $('<a>').html('Details').attr('href',product.link);
        var clean   = $('<div>').addClass('clean');
        var containerTest = $('<div>').addClass('recommendation');
        var titlelink = $('<a>').addClass('crossellingbox').html(title).attr('href',product.link);
        var pricelink = $('<a>').addClass('crossellingbox').html(price).attr('href',product.link);
        var imglink	  = $('<a>').addClass('crossellingbox').html(img).attr('href',product.link);



		containerTest.append(titlelink);
		containerTest.append(imglink);
		containerTest.append(pricelink);
		containerTest.append(mwst);
		containerTest.append(link);
		containerTest.append(clean);
		return containerTest;

    }



	var getURL = function(parent) {
		return $(parent).find('div.recommendation:first').attr('url');
	}
	var getSKUs = function(parent) {

		var sku =""
			

		$(parent).find('div.recommendation').each(function(i, item) {
			sku+=$(this).attr('title');
			if(i != ($(parent).find('div.recommendation').length-1)) {
				sku+= ',';			
			}
		})
		return sku;
	}




    return this.each(function() {
		var SKUs	= getSKUs(this),
			URL		= getURL(this),
			self	= this,
			i		= 0;
		
        $.ajax({
            url: URL+options.serviceURL+'&product_sku='+SKUs+'&jsoncallback=?',
            dataType:'jsonp',
            async: false,
            crossDomain: true,
            success:  function(data) {
$(self).find('div.recommendation').remove();

			var container 	= $(self),
				hidden 		= $('<div>').addClass('product-recommendation-hidden'),
				more 		= $('<div class="more"><a href="#"><span>weitere Empfehlungen</span></a></div>'),
				item;
	


			$(data).each(function(i, item) {

				item = createRecommendation(item);
				
				if(i == 0) {
					container.append(item);
				} else {
					item.appendTo($(container).find('div.product-recommendation-hidden'));
				}

				if(i == 0 && data.length > 1) {
				
					more.click(function() {
						var self = this;
						$(container).find('div.product-recommendation-hidden').slideToggle('fast',function() {
							if($(container).find('div.product-recommendation-hidden').css('display') == "none") {
								$(self).removeClass('active');
							} else {
								$(self).addClass('active');
							}
						});

						return false;
					})
					container.append(more);

					container.append(hidden);
					
				}

			});

            }
        });
        
        
        /*
        myFunc = function(data) {

                    }*/        


        //$.getJSON(URL+options.serviceURL+'&product_sku='+SKUs+'&jsoncallback=?', myFunc);

	});
};

})(jQuery);
