if (window.location.href.match(/mcmedia/i)) {
 var buttonuri = '/media/static/pics/mcmedia/buttons/bt_weiterempfehlen_01.gif';
}
if (!window.location.href.match(/mcmedia/i)) {
    var buttonuri = '/media/static/pics/button/recommend_01.gif';
}

var Recommendation =
{
	Callback: {},
	CallbackName: {},
	productName: null,
	Lang:
	{
		'de': 
		{
			'recommendProductHeadline': 'Empfehle das Produkt %product% weiter!',
			'recommendShopHeadline': 'Empfehle das %shop% weiter!',
			'recommendCataloguePage': 'Empfehle diese Katalogseite weiter!',
			'recommendCalendarHeadline': 'Empfehle unseren Adventskalender weiter!',
            'recommendMagazinePage': 'Empfehle diese Leseprobe weiter!',
			'close': 'schlie'+unescape('%DF')+'en',
			'recommendation': 'Empfehlung',
			'fieldsetLabel': 'Informationen zum Empf'+unescape('%E4')+'nger und Versender',
			'senderName':'Dein Vorname und Nachname (z.B. Peter Schmidt)',
			'senderEmail':'Deine E-Mail Adresse',
			'receiverName':'Name des Empf'+unescape('%E4')+'ngers',
			'receiverEmail':'E-Mail Adresse des Empf'+unescape('%E4')+'ngers',
			'commonAdvice':'F'+unescape('%FC')+'lle bitte alle Felder aus, damit die Produktweiterempfehlung verschickt werden kann.',
            'commonAdviceCatalog':'F'+unescape('%FC')+'lle bitte alle Felder aus, damit die Katalogempfehlung verschickt werden kann.',
            'commonAdviceMagazine':'F'+unescape('%FC')+'lle bitte alle Felder aus, damit die Leseprobe verschickt werden kann.',
			'senderMessage':'Deine Nachricht',
			'button': ''+buttonuri+''
		},
		'en':
		{
			'recommendProductHeadline': 'Recommend item %product%',
			'recommendShopHeadline': 'Recomment %shop%',
			'recommendCataloguePage': 'Recommend catalogue page',
			'close': 'close',
			'recommendation': 'Recommendation',
			'fieldsetLabel': 'Receiver and sende',
			'senderName':'Your first and sure name (e.g. Peter Schmidt)',
			'senderEmail':'Your email address',
			'receiverName':'Receiver name',
			'receiverEmail':'Receiver email address',
			'commonAdvice':'Please fill out all fields to send a recommendation.',
			'senderMessage':'Your message',
			'button':'/media/static/pics/button/en/recommend_01.gif'
		}
	},


	init: function
	(
	)
	{
		if
		(
			YAHOO.util.Dom.hasClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'product' )
		)
		{
			Recommendation.initProduct();
		}

		if
		(
			YAHOO.util.Dom.hasClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'search-entry' )
		)
		{
			Recommendation.initShop();
		}		
		
		if
		(
			YAHOO.util.Dom.hasClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'adventcalendar' )
		)
		{
			Recommendation.initCalendar( null , 'calendar' );
		}
	},
	initCatalog:function
	(
		page
	)
	{
		var init = 'catalog';
        
        if (YAHOO.util.Dom.hasClass ( document.getElementsByTagName ( 'body' ) [ 0 ] , 'magazine' )) {
            init = 'magazine';
        }
        
        Recommendation.initLayer ( page , init );
	},
	initCalendar:function
	(
		page
	)
	{
		var RecommendLinks = YAHOO.util.Dom.getElementsByClassName ( 'recommend' , 'span' , 'content' );

		if
		(
			RecommendLinks.length > 0
		)
		{
			for
			(
				var i = 0; i < RecommendLinks.length; i++
			)
			{
				RecommendLinks [ i ].getElementsByTagName ( 'a' ) [ 0 ].onclick = function
				(
				)
				{
					Recommendation.initLayer ( null , 'calendar' );

					return false;
				}
			}
		}
	},
	initFlashProduct:function
	(
		productId
	)
	{
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/recommendation/', Recommendation.CallbackName, "query=getName&productId=" + productId);
	},
	initProduct:function
	(
	)
	{
		var RecommendLinks = YAHOO.util.Dom.getElementsByClassName ( 'recommend' , 'li' , 'content' );

		if
		(
			RecommendLinks.length > 0
		)
		{
			for
			(
				var i = 0; i < RecommendLinks.length; i++
			)
			{
				RecommendLinks [ i ].getElementsByTagName ( 'a' ) [ 0 ].onclick = function
				(
				)
				{
					var itemId = parseInt(this.href.split('#')[1]);

					if
					(
						itemId > 0
					)
					{
						Recommendation.initLayer ( itemId , 'product' );
					}

					return false;
				}
			}
		}
	},
	initShop:function
	(
	)
	{
		var RecommendLinks = YAHOO.util.Dom.getElementsByClassName ( 'recommend' , 'li' , 'content' );

		if
		(
			RecommendLinks.length > 0
		)
		{
			for
			(
				var i = 0; i < RecommendLinks.length; i++
			)
			{
				RecommendLinks [ i ].getElementsByTagName ( 'a' ) [ 0 ].onclick = function
				(
				)
				{
					var itemId = parseInt(this.href.split('#')[1]);

					if
					(
						itemId > 0
					)
					{
						Recommendation.initLayer ( itemId , 'shop' );
					}

					return false;
				}
			}
		}
	},
	initLayer:function
	(
		itemId,
		type
	)
	{
		var wishlist = YAHOO.util.Dom.getElementsByClassName ( 'wishlist' , 'li' , 'personalize' );
		var lang = 'de';
		var brand = '';
		
		if
		(
			wishlist.length > 0
		)
		{
			lang = wishlist [ 0 ].getElementsByTagName ( 'a' ) [ 0 ].href.split ( '/' ) [ 3 ];
		}
		
		
		if
		(
			type == 'product'
			&&
			window.location.href.split('/')[4] != 'produkte'
		)
		{
			brand = window.location.href.split('/')[4];
		}
		else if
		(
			type == 'catalog'
			&&
			window.location.href.split('/')[4] != 'katalog'
		)
		{
			brand = window.location.href.split('/')[4];
		}
		else if
		(
			type == 'magazine'
			&&
			window.location.href.split('/')[4] != 'kundenmagazine'
		)
		{
			brand = window.location.href.split('/')[4];
		}
		else if
		(
			type == 'shop'
			&&
			window.location.href.split('/')[4] != 'fachgeschaefte'
		)
		{
			brand = window.location.href.split('/')[4];
		}

		var Anchor = document.getElementById ( 'content' );

		var Mask = document.createElement ( 'div' );
		Mask.id = 'mask';
		document.getElementById('content').appendChild ( Mask );
		

/*@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;
    Mask.style.height = (BodyHeight+(BodyHeight/2)) + 'px';
    Mask.style.width = (BodyWidth*2) + 'px';
    Mask.style.left = '-' + (BodyWidth/2) + 'px';
    if
    (
    	document.getElementById('theme')
    )
    {
        document.getElementById('theme').style.display = 'none';
        document.getElementById('theme').style.visibility = 'hidden';
    }
@end
@*/
	
		Recommendation.hideObjects();

		var Env = document.createElement ( 'div' );
		Env.id =  'recommend-overlay';

		var H2 = document.createElement ( 'h2' );
		if
		(
			type == 'product'
		)
		{
			if
			(
				null == Recommendation.productName
			)
			{
				var productName = document.getElementById('container').getElementsByTagName('h1')[0].innerHTML;
			}
			else
			{
				var productName = Recommendation.productName;
			}
			H2.innerHTML = eval("this.Lang."+lang+".recommendProductHeadline").replace ( /%product%/ , trim ( productName ) );
		}
		else if
		(
			type == 'shop'
		)
		{
			var shop = document.getElementById('container').getElementsByTagName('h1')[0].innerHTML.replace ( 'idee+spiel Fachgesch'+unescape('%E4')+'ft - ' , '');
			H2.innerHTML = eval("this.Lang."+lang+".recommendShopHeadline").replace ( /%shop%/ , trim ( shop ) );
		}
		else if
		(
			type == 'calendar'
		)
		{
			H2.innerHTML = eval("this.Lang."+lang+".recommendCalendarHeadline");
		}
		else if
		(
			type == 'magazine'
		)
		{
			H2.innerHTML = eval("this.Lang."+lang+".recommendMagazinePage");
		}
		else
		{
			H2.innerHTML = eval("this.Lang."+lang+".recommendCataloguePage");
		}
		Env.appendChild ( H2 );


		var Close = document.createElement ( 'p' );
		Close.id = 'close';
		var CloseButton = document.createElement ( 'img' );
		CloseButton.src = '/media/static/pics/icon/delete_01.gif';
		CloseButton.alt = eval("this.Lang."+lang+".close");
		CloseButton.title = CloseButton.alt;
		CloseButton.onclick = Recommendation.closeLayer;
		Close.appendChild ( CloseButton );
		Env.appendChild ( Close );

		var Scroll = document.createElement ( 'div' );
		Scroll.id = 'scroll';

		var Form = document.createElement ( 'form' );
		Form.action = '#';
		Form.method = 'post';

		var Fieldset = document.createElement ( 'fieldset' );

		var Legend = document.createElement ( 'legend' );
		Legend.innerHTML = eval("this.Lang."+lang+".recommendation");
		Fieldset.appendChild ( Legend );

		var MailFieldset = document.createElement ( 'fieldset' );
		MailFieldset.id = 'email';

		var MailLegend = document.createElement ( 'legend' );
		MailLegend.innerHTML = eval("this.Lang."+lang+".fieldsetLabel");
		MailFieldset.appendChild ( MailLegend );

		var SenderNameLabel = document.createElement ( 'label' );
		SenderNameLabel.setAttribute ( 'for' , 'sender_name' );
		SenderNameLabel.innerHTML = eval("this.Lang."+lang+".senderName");
		MailFieldset.appendChild ( SenderNameLabel );

		var InputSenderName = document.createElement ( 'input' );
		InputSenderName.type = 'text';
		InputSenderName.name = 'sender_name';
		InputSenderName.id = InputSenderName.name;
		MailFieldset.appendChild ( InputSenderName );

		var SenderEmailLabel = document.createElement ( 'label' );
		SenderEmailLabel.setAttribute ( 'for' , 'sender_email' );
		SenderEmailLabel.innerHTML = eval("this.Lang."+lang+".senderEmail");
		MailFieldset.appendChild ( SenderEmailLabel );

		var InputSenderEmail = document.createElement ( 'input' );
		InputSenderEmail.type = 'text';
		InputSenderEmail.name = 'sender_email';
		InputSenderEmail.id = InputSenderEmail.name;
		MailFieldset.appendChild ( InputSenderEmail );

		var ReceiverNameLabel = document.createElement ( 'label' );
		ReceiverNameLabel.setAttribute ( 'for' , 'receiver_name' );
		ReceiverNameLabel.innerHTML = eval("this.Lang."+lang+".receiverName");
		MailFieldset.appendChild ( ReceiverNameLabel );

		var InputReceiverName = document.createElement ( 'input' );
		InputReceiverName.type = 'text';
		InputReceiverName.name = 'receiver_name';
		InputReceiverName.id = InputReceiverName.name;
		MailFieldset.appendChild ( InputReceiverName );

		var ReceiverEmailLabel = document.createElement ( 'label' );
		ReceiverEmailLabel.setAttribute ( 'for' , 'receiver_email' );
		ReceiverEmailLabel.innerHTML = eval("this.Lang."+lang+".receiverEmail");
		MailFieldset.appendChild ( ReceiverEmailLabel );

		var InputReceiverEmail = document.createElement ( 'input' );
		InputReceiverEmail.type = 'text';
		InputReceiverEmail.name = 'receiver_email';
		InputReceiverEmail.id = InputReceiverEmail.name;
		MailFieldset.appendChild ( InputReceiverEmail );

		Fieldset.appendChild ( MailFieldset );
		
		var Advice = document.createElement ( 'p' );
		Advice.id = 'advice';
        if (type == 'magazine') {
            adType = 'Magazine';
        } else if (type == 'catalog') {
            adType = 'Catalog';
        } else {
            adType = '';
        }
		Advice.innerHTML = eval("this.Lang."+lang+".commonAdvice"+adType);
		Fieldset.appendChild ( Advice );

		var Textfieldset = document.createElement ( 'fieldset' );
		Textfieldset.id = 'recommendation-message';
		var MessageLabel = document.createElement ( 'label' );
		MessageLabel.setAttribute ( 'for' , 'sender_message' );
		MessageLabel.innerHTML = eval("this.Lang."+lang+".senderMessage");
		Textfieldset.appendChild(MessageLabel);
		var InputMessage = document.createElement ( 'textarea' );
		InputMessage.name = 'sender_message';
		InputMessage.id = InputMessage.name;
		Textfieldset.appendChild ( InputMessage );
		Fieldset.appendChild ( Textfieldset );

		var Button = document.createElement ( 'input' );
		Button.type = 'image';
		Button.src = eval("this.Lang."+lang+".button");
		Button.name = 'recommend';
		Button.id = Button.name;
		Fieldset.appendChild ( Button );

		var Type = document.createElement ( 'input' );
		Type.type = 'hidden';
		Type.id = 'referralType';
		Type.value = type;
		Type.name = Type.id;
		Fieldset.appendChild ( Type );

		var ItemId = document.createElement ( 'input' );
		ItemId.type = 'hidden';
		ItemId.id = 'referralId';
		ItemId.value = itemId;
		ItemId.name = ItemId.id;
		Fieldset.appendChild ( ItemId );

		var Url = document.createElement ( 'input' );
		Url.type = 'hidden';
		Url.id = 'referralUrl';
		Url.value = window.location.href + ((type == 'catalog' || type == 'magazine') ? '&p=' +itemId : '');
		Url.name = Url.id;
		Fieldset.appendChild ( Url );

		var Lang = document.createElement ( 'input' );
		Lang.type = 'hidden';
		Lang.id = 'lang';
		Lang.value = lang;
		Lang.name = Lang.id;
		Fieldset.appendChild ( Lang );
		
		var Brand = document.createElement ( 'input' );
		Brand.type = 'hidden';
		Brand.id = 'brand';
		Brand.value = brand;
		Brand.name = Brand.id;
		Fieldset.appendChild ( Brand );

		Form.appendChild ( Fieldset );
		Scroll.appendChild ( Form );

		Env.appendChild ( Scroll );

		Anchor.appendChild ( Env );

		Form.onsubmit = Recommendation.submitForm;
		Button.onclick = Recommendation.submitForm;
	},
	hideObjects:function
	(
	)
	{
		var Object = document.getElementsByTagName ( 'object' );

		if
		(
			Object.length > 0
		)
		{
			for
			(
				var i = 0; i < Object.length; i++
			)
			{
				Object [ i ].style.visibility = 'hidden';
			}
		}
	},
	showObjects:function
	(
	)
	{
		var Object = document.getElementsByTagName ( 'object' );

		if
		(
			Object.length > 0
		)
		{
			for
			(
				var i = 0; i < Object.length; i++
			)
			{
				Object [ i ].style.visibility = 'visible';
			}
		}
	},
	closeLayer:function
	(
	)
	{
		Recommendation.showObjects();
		document.getElementById('recommend-overlay').parentNode.removeChild(document.getElementById('recommend-overlay'));
		document.getElementById('mask').parentNode.removeChild(document.getElementById('mask'));
/*@cc_on
@if (@_jscript_version < 5.7)
    if
    (
    	document.getElementById('theme')
    )
    {
        document.getElementById('theme').style.display = 'block';
        document.getElementById('theme').style.visibility = 'visible';
    }
@end
@*/
	},
	submitForm:function
	(
	)
	{
		YAHOO.util.Connect.setForm( document.getElementById ( 'recommend-overlay' ).getElementsByTagName ( 'form' ) [ 0 ] );
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/recommendation/', Recommendation.Callback, "query=save");
		return false;
	},
	saveName:function
	(
		o
	)
	{
		var Response = YAHOO.lang.JSON.parse(o.responseText);
		Recommendation.productName = Response.name;
		Recommendation.initLayer ( Response.productId , 'product' );

	},
	success:function
	(
		o
	)
	{
		var Response = YAHOO.lang.JSON.parse(o.responseText);

		if
		(
			Response.error
		)
		{
			var ErrorElement = document.getElementById('advice');
			ErrorElement.innerHTML = Response.error;
			ErrorElement.className = 'error';
		}
		else
		{

			var Scroll = document.getElementById ( 'scroll' );
			var Env = document.getElementById ( 'recommend-overlay' );
			Env.className = 'success';
			Scroll.removeChild ( Scroll.getElementsByTagName('form')[0] );

			Env.removeChild ( Env.getElementsByTagName('h2')[0] );

			var SuccessMsg = document.createElement ( 'p' );
			SuccessMsg.innerHTML = Response.success;
			Scroll.appendChild ( SuccessMsg );
		}

	},
	failure:function
	(
	)
	{
	}
}

Recommendation.Callback =
{
	success: Recommendation.success,
	failure: Recommendation.failure,
	scope: Recommendation
}

Recommendation.CallbackName =
{
	success: Recommendation.saveName,
	failure: Recommendation.failure,
	scope: Recommendation
}

YAHOO.util.Event.onDOMReady( Recommendation.init );
