function switchProductImage(number) {
	
	for(var pi = 0; pi <= 10; ++pi) {
		if($('image-'+pi))
			$('image-'+pi).hide();
		else
			break;
	}
	
	$('image-'+number).show();
}

function loadOverlayContent(container, containerWidth) {

	var arrayPageSize = getPageSize();

	$('overlay').setStyle({ width:arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
	$('overlay').observe('click', function() {
		new Effect.Fade('overlay', { duration: 0.2 });
		$(container).hide();
	});

	$(container).setStyle({width:containerWidth+'px'});


	$('overlay').show();
	$(container).show();

	new Effect.Appear('overlay', {duration:1, from:0.0, to:0.8});

	// calculate top and left offset for the lightbox 
	var arrayPageScroll = document.viewport.getScrollOffsets();
	var lightboxTop = arrayPageScroll[1] + (document.viewport.getHeight() / 10);
	//var lightboxLeft = arrayPageScroll[0] + (arrayPageSize[0] / 2) - (1000 / 2);
	var lightboxLeft = (arrayPageSize[0] / 2) - (containerWidth / 2);

	$(container).setStyle({top:lightboxTop + 'px', left: lightboxLeft + 'px' });
}

function closeOverlayContent(container) {

	new Effect.Fade('overlay', { duration: 0.2 });
	$(container).hide();
}

function getPageSize() {
		
	var xScroll, yScroll;
		
	if(window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if(document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if(self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if(document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if(document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	return [pageWidth,pageHeight];
}

var Frontend = Class.create({
sociallinksdefaults : {
	'services' : {
		'facebook' : {
			'status'            : 'on',
			'app_id'            : '__FB_APP-ID__',
			'dummy_img'         : 'socialshareprivacy/dummy_facebook.png',
			'txt_info'          : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte übertragen.',
			'txt_info_on'       :'Jetzt sind sie verbunden',
			'txt_off'           : 'nicht mit Facebook verbunden',
			'txt_on'            : 'mit Facebook verbunden',
			'perma_option'      : 'on',
			'display_name'      : 'Facebook',
			'referrer_track'    : '',
			'language'          : 'de_DE',
			'action'            : 'recommend'
		}, 
		'twitter' : {
			'status'            : 'on', 
			'dummy_img'         : 'socialshareprivacy/dummy_twitter.png',
			'txt_info'          : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.',
			'txt_info_on' 	    : 'Jetzt sind sie mit Twitter verbunden',						
			'txt_off'           : 'nicht mit Twitter verbunden',
			'txt_on'            : 'mit Twitter verbunden',
			'perma_option'      : 'on',
			'display_name'      : 'Twitter',
			'referrer_track'    : '', 
			'tweet_text'        : 'Text für Twitter',//getTweetText,
			'language'          : 'de'
                },
		'gplus' : {
			'status'            : 'on',
			'dummy_img'         : 'socialshareprivacy/images/dummy_gplus.png',
			'txt_info'          : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte übertragen.',
			'txt_info_on'       :'Jetzt sind sie mit Google verbunden',
			'txt_off'     : 'nicht mit Google+ verbunden',
			'txt_on'      : 'mit Google+ verbunden',
			'perma_option'      : 'on',
			'display_name'      : 'Google+',
			'referrer_track'    : '',
			'language'          : 'de'
		}
	},
	'info_link'         : 'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html',
	'txt_help'          : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter oder Google in die USA übertragen und unter Umständen auch dort gespeichert. Näheres erfahren Sie durch einen Klick auf das i.',
	'settings_perma'    : 'Dauerhaft aktivieren und Datenüber­tragung zustimmen:',
	'cookie_path'       : '/',
	'cookie_domain'     : document.location.host,
	'cookie_expires'    : '365',
	'css_path'          : 'socialshareprivacy/socialshareprivacy.css',
	'uri'               : "getURI"
},
initialize: function() {
	frontend = this;
	if($("sociallinks")) {
		$("sociallinks").show();
		frontend.sociallinksdefaults.uri = frontend.getURI();
		this.initSociallinkTipTool();
	}
},

getURI:function () {
	var uri = document.location.href;
	var canonical = $$("link[rel=canonical]");

	if(canonical && canonical.length > 0) {
		var _uri = canonical[0].href;
		if(_uri.indexOf("http") < 0) {
			_uri = document.location.protocol + "//" + document.location.host + canonical;
		}
		if(_uri)
			uri = _uri;
	}
	return uri;
},

initSociallinkTipTool:function() {
	var sl = $$(".inittiptool");
	if(sl && sl.length) {
		sl.each(function(el) {
			el.observe("click", frontend.sociallinkAction)
			if(el.hasClassName("gplus"))
				settings = frontend.sociallinksdefaults.services.gplus;
			else if(el.hasClassName("twitter"))
				settings = frontend.sociallinksdefaults.services.twitter;
			else
				settings = frontend.sociallinksdefaults.services.facebook;

			onoroff = "off"; 
			frontend.sociallinkToolTip(el,settings,onoroff); 
		});
	} 
},

sociallinkToolTip:function(el,settings,onoroff) {
	var opts = {};
	opts.hook =  { tip: 'topLeft', mouse: true };
	opts.stem = 'topLeft';
	opts.style = 'bwhint';
	opts.width = 240;

	opts.offset= { x: 0, y: 16};
	var dertext  = settings.txt_info;

	if(onoroff=="on")
		dertext  = settings.txt_info_on;

//	new Tip(el.id, dertext, opts);
},

sociallinkAction:function(ev) {
	el = ev.element();

	if(!el) return;

	var ersterstatus = "off";
	var neuerstatus = "on";
	var uri = frontend.sociallinksdefaults.uri;

	if(el.hasClassName("gplus")) {
		settings = frontend.sociallinksdefaults.services.gplus;
		var btn_id = "btn_gplus";
		var lnk = $("link_gplus");
		var code = '<div class="g-plusone" data-size="medium" data-href="' + uri + '"></div><script type="text/javascript">window.___gcfg = {lang: "de"}; (function() { var po = document.createElement("script"); po.type = "text/javascript"; po.async = true; po.src = "https://apis.google.com/js/plusone.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); </script>';
	} else if(el.hasClassName("twitter")) {
		settings = frontend.sociallinksdefaults.services.twitter;
		var twitter_enc_uri = encodeURIComponent(uri + settings.referrer_track);
		var twitter_count_url = encodeURIComponent(uri);
		var text = settings.tweet_text;
		var btn_id = "btn_twitter";
		var lnk = $("link_twitter");
		var code = '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=' + twitter_enc_uri + '&amp;counturl=' + twitter_count_url + '&amp;text=' + text + '&amp;count=horizontal&amp;lang=' + settings.language + '" style="width:130px; height:25px;"></iframe>';
	} else {
		settings = frontend.sociallinksdefaults.services.facebook;
		var btn_id = "btn_facebook";
		var lnk = $("link_facebook");
		var code = '<iframe src="http://www.facebook.com/plugins/like.php?locale=de&app_id='+ settings.app_id +'&href=' + uri + '&send=false&layout=button_count&width=120&show_faces=false&action='+ settings.action +'&colorscheme=light&font&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:145px; height:21px;" allowTransparency="true"></iframe>';
	} 

	btn = $(btn_id);

	if(el.id  == btn_id) {
		if(el.hasClassName("off"))
			ersterstatus = "off";
		else {
			ersterstatus = "on";
			neuerstatus="off";
		}
	}
	tlt = (neuerstatus == "on" ? settings.txt_on:settings.txt_off);
	
	if(neuerstatus == "off")
		code = "";

	lnk.update(code).removeClassName(ersterstatus).addClassName(neuerstatus);
	btn.removeClassName(ersterstatus).addClassName(neuerstatus);
	btn.title = tlt;

	frontend.sociallinkToolTip(btn,settings,neuerstatus); 
	frontend.sociallinkToolTip(lnk,settings,neuerstatus); 
}
});


