
	var UMG = UMG ? UMG : function() {
		var public = {

		};
		var private = {

		};
	return public;
	}();

	/* UMG.TOOLPAGESHARETHIS */
	UMG.ToolPageShareThis = function() {
		var private = {
			type:null,
			captchaUrl:null,
			imageUrl:null,
			messageUrl:null,
			actionId:null
		};
		var public = {
			thanksMessage:'',
			failureMessage:'',
			show: function(e, type, captchaUrl, imageUrl, messageUrl, actionId, thanksMessage, failureMessage) {

				private.type 		= unescape(type);
				private.captchaUrl 	= unescape(captchaUrl);
				private.imageUrl 	= unescape(imageUrl);
				private.messageUrl 	= unescape(messageUrl);
				private.actionId 	= unescape(actionId);

				public.thanksMessage 	= unescape(thanksMessage);
				public.failureMessage 	= unescape(failureMessage);

				if(!e) e = window.event;

				if(e.pageX) {
					xPos = e.pageX;
					yPos = e.pageY;
				}
				else if(e.clientX) {
						scrollOffset = document.viewport.getScrollOffsets()
						xPos = e.clientX + scrollOffset.left;
						yPos = e.clientY + scrollOffset.top;
				}

				if(!$('UMGShareThisObject')) {
			  		document.body.appendChild(new Element('div', {'class':'umgShareThis', 'style':'display=none', 'id':'UMGShareThisObject'}));
			  	}

			  	this.init();

			  	if(type == 'socialLinks') {
					this.socialLayer.show();
					this.emailLayer.hide();
				}
				else {
					this.socialLayer.hide();
					this.emailLayer.show();
				}

				$('UMGShareThisObject').update();
				$('UMGShareThisObject').appendChild(this.outerLayer);

				$('UMGShareThisObject').style.left = (xPos+10) + "px";
				$('UMGShareThisObject').style.top = (yPos+10) + "px";

				$('UMGShareThisObject').show();
			},

			init: function() {
			  	innerLayer = new Element('div', { 'class': 'innerLayer' });

			  	// MENUE
			  	menue = new Element('div', { 'class': 'menueLayer' });

				  	// SHARE BUTTON
				  	shareButtonBox =  new Element('div', { 'class': 'menueButtonLeft' });
				  	shareButton = new Element('a', { 'href': 'javascript:void(0);' }).update('Share');
				  	shareButton.observe('click', function () {
				  		$('UMGShareThisObjectSocialLinksLayer').show();
						$('UMGShareThisObjectSendToFriendLayer').hide();
			  			return(false);
				  	});

				    shareButtonBox.appendChild(shareButton);

				    // EMAIL BUTTON
				  	emailButtonBox =  new Element('div', { 'class': 'menueButtonLeft' });
				  	emailButton = new Element('a', { 'href': 'javascript:void(0);' }).update('Email');
				  	emailButton.observe('click', function () {
				  		$('UMGShareThisObjectSocialLinksLayer').hide();
						$('UMGShareThisObjectSendToFriendLayer').show();
			  			return(false);
				  	});

				    emailButtonBox.appendChild(emailButton);

				  	// CLOSE BUTTON
				  	closeButtonBox =  new Element('div', { 'class': 'menueButtonRight' });
				  	closeButton = new Element('a', { href: 'javascript:void(0);' }).update('Close');

				  	closeButton.observe('click', function () {
				       $('UMGShareThisObject').hide();
				    });

				    closeButtonBox.appendChild(closeButton);

			  		menue.appendChild(shareButtonBox);
			  		menue.appendChild(emailButtonBox);
			  		menue.appendChild(closeButtonBox);
			  		menue.appendChild(new Element('div', { 'class':'clearFloat' } ));

			  	innerLayer.appendChild(menue);

			  	// CONTENT
			  	contentLayer = new Element('div', {'class':'contentLayer'});

			  		// EMAIL
			  		this.emailLayer = new Element('div', {'class':'sendToFriendLayer', 'id':'UMGShareThisObjectSendToFriendLayer', 'style':'display:none'});

			  			// FORM
			  			form = new Element('div', {'id':'UMGShareThisObjectSendToFriendForm'});

			  			// HIDDEN
			  			form.appendChild(new Element('input', {'type':'hidden', 'id':'SendToFriend[_core_aktion_id]', 'value':private.actionId}));
			  			form.appendChild(new Element('input', {'type':'hidden', 'id':'SendToFriend[_core_subscribe_desc]', 'value':private.type}));
			  			form.appendChild(new Element('input', {'type':'hidden', 'id':'SendToFriend[_s2f_msg]', 'value':private.messageUrl}));

						// INPUT
				  		senderEmailLabel = new Element('label', {'class':'inputLabel'}).update('Deine Email:');
				  		senderEmailInput = new Element('input', {'class':'inputField', 'type':'text', 'id':'SendToFriend[_sender_email]'});

				  		recipientEmailLabel = new Element('label', {'class':'inputLabel'}).update('Email des Empfängers:');
				  		recipientEmailInput = new Element('input', {'class':'inputField', 'type':'text', 'id':'SendToFriend[_recipient_email]'});

				  		if(private.captchaUrl != '') {
				  			captchaLabel = new Element('label', {'class':'inputLabel'}).update('Sicherheitscode:');
				  			captchaInput = new Element('input', {'class':'inputField', 'type':'text', 'id':'SendToFriend[_captcha]'});

				  			captchaImageBox = new Element('div', {'class':'inputImageLayer'});

				  			private.captchaUrl = private.captchaUrl + (private.captchaUrl.indexOf('?') > -1 ? '&' : '?') + Math.random();
				  			captchaImage = new Element('img', {'class':'inputImage', 'id':'SendToFriend[captchaImage]', 'src':private.captchaUrl});

					  		captchaImageBox.appendChild(captchaImage);
				  		}

				  		sendButton = new Element('input', {'class':'inputButton', 'type':'button', 'value':'Senden'});
				  		sendButton.observe('click', function () {

							parameters = new Object();
							parameters['_core_aktion_id'] = $("SendToFriend[_core_aktion_id]").value;
							parameters['_core_subscribe_desc'] = $("SendToFriend[_core_subscribe_desc]").value;
							parameters['_s2f_msg'] = $("SendToFriend[_s2f_msg]").value;
							parameters['_sender_email'] = $("SendToFriend[_sender_email]").value;
							parameters['_recipient_email'] = $("SendToFriend[_recipient_email]").value;

							if(private.captchaUrl != '') {
								parameters['_captcha'] = $("SendToFriend[_captcha]").value;
							}

							new Ajax.Request('?ajax_proxy=share_this', {
								method:'post',
								encoding: 'UTF-8',
								contentType: 'application/x-www-form-urlencoded',
								parameters: parameters,
								onSuccess: function (transport) {

									if($('SendToFriend[captchaImage]')) {
										$('SendToFriend[captchaImage]').src = $('SendToFriend[captchaImage]').src + ($('SendToFriend[captchaImage]').src.indexOf('?') > -1 ? '&' : '?') + Math.random();
									}

									var response = transport.responseText.evalJSON();

									if(response['success']) {
										$('UMGShareThisObjectSendToFriendFormResponseMessage').update(public.thanksMessage);
									}
									else {
										$('UMGShareThisObjectSendToFriendFormResponseMessage').update(public.failureMessage);
									}

									return(false);
								},
								onFailure: function () {
									$('UMGShareThisObjectSendToFriendFormResponseMessage').update(public.failureMessage);
									return(false);
								}
							});

							return(false);
						});

					  	form.appendChild(senderEmailLabel);
					  	form.appendChild(new Element('br'));
					  	form.appendChild(senderEmailInput);
					  	form.appendChild(new Element('div', {'class':'spacer'}));

					  	form.appendChild(recipientEmailLabel);
					  	form.appendChild(new Element('br'));
					  	form.appendChild(recipientEmailInput);
					  	form.appendChild(new Element('div', {'class':'spacer'}));

					  	if(private.captchaUrl != '') {
					  		form.appendChild(captchaLabel);
						  	form.appendChild(new Element('br'));
						  	form.appendChild(captchaInput);
						  	form.appendChild(new Element('br'));
						  	form.appendChild(captchaImageBox);
						  	form.appendChild(new Element('div', {'class':'spacer'}));
					  	}

					  	form.appendChild(sendButton);

					this.emailLayer.appendChild(new Element('div', {'class':'responseMessage', 'id':'UMGShareThisObjectSendToFriendFormResponseMessage'})).update('');
					this.emailLayer.appendChild(form);

					// SOCIAL
					this.socialLayer = new Element('div', {'class':'socialLinksLayer', 'id':'UMGShareThisObjectSocialLinksLayer'});

						links = new Array();

						links[0] = new Array();
						links[0]['name'] = 'SchuelerVZ/StudiVZ/MeinVZ';
						links[0]['logo'] = 'vz.gif';
						links[0]['link'] = 'http://www.studivz.net/Suggest/Selection/?u={url}&desc={title}';
						
						links[1] = new Array();
						links[1]['name'] = 'facebook';
						links[1]['logo'] = 'facebook.png';
						links[1]['link'] = 'http://de.facebook.com/sharer.php?u={url}&t={title}';
						
						links[2] = new Array();
						links[2]['name'] = 'twitter';
						links[2]['logo'] = 'twitter.png';
						links[2]['link'] = 'http://twitter.com/home?status={url}';
						
						links[3] = new Array();
						links[3]['name'] = 'myspace';
						links[3]['logo'] = 'myspace.png';
						links[3]['link'] = 'http://www.myspace.com/index.cfm?fuseaction=postto&u={url}&t={title}';
						
						links[4] = new Array();
						links[4]['name'] = 'Google Bookmarks';
						links[4]['logo'] = 'Google.png';
						links[4]['link'] = 'http://www.google.com/bookmarks/mark?op=edit&bkmk={url}&title={title}';
						
						links[5] = new Array();
						links[5]['name'] = 'del.icio.us';
						links[5]['logo'] = 'delicious.png';
						links[5]['link'] = 'http://del.icio.us/post?url={url}&title={title}';
						
						links[6] = new Array();
						links[6]['name'] = 'Digg';
						links[6]['logo'] = 'digg.png';
						links[6]['link'] = 'http://digg.com/submit?phase=2&url={url}&title={title}';
						
						links[7] = new Array();
						links[7]['name'] = 'StumbleUpon';
						links[7]['logo'] = 'stumbleupon.png';
						links[7]['link'] = 'http://www.stumbleupon.com/submit?url={url}&title={title}';
						
						links[8] = new Array();
						links[8]['name'] = 'Technorati';
						links[8]['logo'] = 'technorati.png';
						links[8]['link'] = 'http://www.technorati.com/faves?add={url}';
						
						links[9] = new Array();
						links[9]['name'] = 'Windows Live';
						links[9]['logo'] = 'windows_live.gif';
						links[9]['link'] = 'https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={url}&title={title}&top=1';
						
						links[10] = new Array();
						links[10]['name'] = 'Yahoo! My Web';
						links[10]['logo'] = 'yahoo_myweb.gif';
						links[10]['link'] = 'http://myweb2.search.yahoo.com/myresults/bookmarklet?u={url}&t={title}';

						for(i=0;i<links.length;i++) {
							box = new Element('div', {'class':'item'});
							image = new Element('img', {'class':'imageLogo', 'title':links[i]['name'], 'src':private.imageUrl+links[i]['logo']});

							tempLinkUrl = links[i]['link'];
							tempLinkUrl = tempLinkUrl.replace(/\{url\}/, escape(private.messageUrl));
							tempLinkUrl = tempLinkUrl.replace(/\{title\}/, escape(document.title));

							link = new Element('a', { 'href':tempLinkUrl, 'target':'_blank'});
							link.appendChild(image);
							label = new Element('span', {'class':'imageLabel'}).update('\&nbsp;'+links[i]['name']);

							box.appendChild(link);
							box.appendChild(label);
							box.appendChild(new Element('br'));

							this.socialLayer.appendChild(box);

							rest = (i+1) % 2;
							if(rest == 0) {
								this.socialLayer.appendChild(new Element('div', {'class':'clearFloat'}) );
							}
						}
						
						this.socialLayer.appendChild(new Element('div', {'class':'clearFloat'}) );

					contentLayer.appendChild(this.socialLayer);
					contentLayer.appendChild(this.emailLayer);

			  	this.outerLayer = new Element('div', { 'class': 'outerLayer' });
			  	this.outerLayer.appendChild(innerLayer);
			  	this.outerLayer.appendChild(contentLayer);
			  }
		}

	return public;
	}();
  	/* UMG.TOOLPAGESHARETHIS */
