
/**
 * Javascript-Functions - SIGVARIS
 * (c) CLICKSPORTS DIGITAL SOLUTIONS
 * http://www.clicksports.de
 * 
 * $Rev: 1983 $
 * $Author: cs $
 * $Date: 2010-05-31 12:29:27 +0200 (Mo, 31 Mai 2010) $
 */

// IE6 Browser sniffing
Prototype.Browser.IE6=Prototype.Browser.IE && parseInt(navigator.userAgent.substring (navigator.userAgent.indexOf("MSIE")+5))==6

document.observe('dom:loaded', function() {
	
	loadScrollbar();
	detectFlashVer();

	$$('ul.navigation_sock li.tooltip').each(function(tt) {
		
		if (tt.innerHTML.length != 0) {
					
			new Tip(tt, tt.down('div').innerHTML);
			tt.setStyle({ 'cursor': 'pointer', 'opacity': 0.5 }).update('');
			
			tt.observe('mouseover', function(e){
				
				if (Prototype.Browser.IE6) {
					tt.setStyle({ 'opacity': 1.0 });
				}
				else {
					new Effect.Opacity(tt, {
						from: 0.5,
						to: 1.0,
						duration: 0.3
					});
				}
			});
			tt.observe('mouseout', function(e){
				
				if (Prototype.Browser.IE6) {
					tt.setStyle({
						'opacity': 0.5
					});
				}
				else {
					new Effect.Opacity(tt, {
						from: 1.0,
						to: 0.5,
						duration: 0.3
					});
				}
			});
		}
	});

});

// Remove error handling
window.onerror = function() { return true; }

/**
 * Load tabs for product page
 * 
 * @param object elm Element to use
 */
function loadTabs(elm) {
	if(!(t = $(elm))) return;
	$$('tab').invoke('hide');
	pp_tabs = new Control.Tabs(t, {
		afterChange: function(elm) {

			flashcontainer = $('navigation_sock');
			if(!flashcontainer) return;

			if(elm.id == 'tab1') {
				$('sock_wirkung').hide();
				$('sock_groessen').hide();
				$('sock_default').show();
				$('sock_anwendung').hide();
			} else if (elm.id == 'tab2') {
				$('sock_default').hide();
				$('sock_groessen').hide();
				$('sock_wirkung').show();
				$('sock_anwendung').hide();
			} else if( elm.id == 'tab3') {
				$('sock_default').hide();
				$('sock_wirkung').hide();
				$('sock_groessen').show();
				$('sock_anwendung').hide();
			} else if( elm.id == 'tab4') {
				$('sock_default').hide();
				$('sock_wirkung').hide();
				$('sock_groessen').hide();
				$('sock_anwendung').show();
			}
		}
	});
}

/**
 * Load new tabs instance
 */
function loadTabsNew() {

	var flashcontainer = $('navigation_sock');
	if(!flashcontainer) return;

	var act = $('tabs').select('a.active');
	if(act.length !== 1) return;
	
	var id = parseInt((act[0].id).substr(2));
	switch(id) {
		
		case 192:
			$('sock_wirkung').hide();
			$('sock_groessen').hide();
			$('sock_default').show();
			$('sock_anwendung').hide();
		break;
		
		case 193:
			$('sock_default').hide();
			$('sock_groessen').hide();
			$('sock_wirkung').show();
			$('sock_anwendung').hide();
		break;
		
		case 194:
			$('sock_default').hide();
			$('sock_wirkung').hide();
			$('sock_groessen').show();
			$('sock_anwendung').hide();
		break;
		
		default:
			$('sock_wirkung').hide();
			$('sock_groessen').hide();
			$('sock_default').show();
			$('sock_anwendung').hide();
		/*case 195:
			$('sock_default').hide();
			$('sock_wirkung').hide();
			$('sock_groessen').hide();
			$('sock_anwendung').show();
		break;*/
	}
}

function loadScrollbar() { scrollbar = new scrollbarWrap(); }

/**
 * Show a video in left column
 * @param {Object} movie
 */
function start_video(movie) {

	var url = 'files/';
	var player_url = url + 'player.swf';
	var movie = movie;

	var flashvars = {};
	flashvars.movie = movie;
	flashvars.bgcolor = '0xFFFFFF';
	flashvars.fgcolor = '0x002E62';
	flashvars.volume = '';
	flashvars.autorewind = 'on';
	flashvars.autoplay = 'on';
	
	var params = {};
	params.wmode = "opaque";
	params.allowscriptaccess = "always";
	var attributes = {};
	attributes.id = "flash";
	swfobject.embedSWF(player_url, "flash", "1024", "431", "9.0.0", false, flashvars, params, attributes);
	$('navigation').scrollTo();
}

/**
 * Detect the active flash player version and try to update
 * if possible
 */
function detectFlashVer() {

	var minimum_version = swfobject.hasFlashPlayerVersion("9");
	if(minimum_version) return;

	// Show express install if flash version is too low
	if (swfobject.ua.pv != '0,0,0') {

		var att = { data: 'layout/expressInstall.swf', width: '1024', height: '430' };
		var par = {};
		swfobject.showExpressInstall(att, par, 'flash');
	} else {
		update_swf = window.confirm("Um diese Seite anzuzeigen wird der Flashplayer auf Ihrem System benötigt.\nMöchten Sie den aktuellen Flashplayer installieren?\n\nAchtung:\nNach der Installation müssen Sie Ihren Browser neu starten, um die Videos auf dieser Seite anzuzeigen!");
		if(update_swf) {
			window.location.href = 'http://www.adobe.com/go/getflash/';
		} else return;
	}
}

/**
 * Scroller wrapper script
 */
var scrollbarWrap = Class.create({
	
	initialize: function() {},
	scrollTo: function(anchor) { return true; },
	recalculateLayout: function() { return true; }
});

/**
 * Create a jumpmenu for selects
 * 
 * @param {string} className
 * @example createJumpMenu('jumpable'); Creates jumpmenu for all selects with class jumpable
 */
function createJumpMenu(className) {
	
	// Get all elements and assing an new eventlistener on them
	$$('select.' + className).each(function(jumpmenu) {
		
		Event.observe(jumpmenu, 'change', function(e) {
			
			jump_value = Event.element(e).value;

			if(jump_value != "") {

				location = jump_value;
			}
		});
	});
}

/**
 * Create a merchant search
 * 
 * 
 */
var csMerchantFR = Class.create({
	
	opt: {
		imgPath: 'layout/map_france',
		imgPrefix: 'map_',
		idPrefix: 'departement_',
		dfltImg: 0
	},
	
	initialize: function(elm, img) {
		
		if(
			!(this.elm = $(elm)) ||
			!(this.img = $(img))
		) return false;
		this.getElements().loadToolTips().prefetchImages().initListeners();
	},
	
	getElements: function() {
		
		this.elements = this.elm.select('area');
		return this;
	},

	loadToolTips: function() {
		
		this.elements.each(function(tt) {
			
			new Tip(tt, tt.alt);
			tt.alt='';
		});
		return this;
	},

	prefetchImages: function() {
		
		this.elements.each(function(i) {
			
			var imgID = this.getDepartementId(i);
			this.prefetchImage(imgID);
		}, this);
		
		return this;
	},

	getImgPath: function(id) { return this.opt.imgPath + '/' + this.opt.imgPrefix + id + '.gif'; },

	prefetchImage: function(id) {
		
		var img = new Image();
		img.src = this.getImgPath(id);
		
		return img; 
	},
	
	initListeners: function() {
		this.elements.each(function(e) {
			e.observe('mouseover', this.mouseEnter.bind(this));
			e.observe('click', this.reload.bind(this));
		}, this);		
		return this;
	},
	
	mouseEnter: function(e) { this.setBackground(this.getDepartementId(Event.element(e))); },
	getDepartementId: function(elm) { return elm.id.replace(this.opt.idPrefix, ''); },
	
	setBackground: function(elm) {
		
		var newBG = this.getImgPath(elm);
		this.img.src = newBG;
	},
	
	reload: function(e) {
		
		var elm = Event.element(e);
		var dep = this.getDepartementId(elm);
		console.log(window.location)
	}
});
