﻿// FancyZoom ressources Dir
$.fn.fancyzoom.defaultsOptions.imgDir='js/fancyzoom/ressources/';
//$.fn.ifixpng = true;
//$.fn.shadow=true;

$(document).ready(autoStart);

// B R O W S E R C H E C K
var browserCheck = navigator.userAgent.toLowerCase();
var browser = new Array ();
browser.firefox = (browserCheck.indexOf('firefox') != -1) ? true : false;
browser.ie = (browserCheck.indexOf('msie') != -1) ? true : false;
browser.safari = (browserCheck.indexOf('safari') != -1) ? true : false;
browser.opera = (browserCheck.indexOf('opera') != -1) ? true : false;

if (browser.ie) {
	var ie_version = Number(browserCheck.substr(browserCheck.indexOf('msie')+5,1));
}

var suchbegriff;

function autoStart () {
	styleSelectSearch();
	setSuchbegriff();
	setTimeout(setDtailImageWidth, 500);
	setFancyzoom();
	if (browser.ie && ie_version < 7) { ieFixes(); }
}

function setFancyzoom () {
	$('a.fancyzoom img').attr('alt', '');
	$('a.fancyzoom').fancyzoom({showoverlay:true,overlay:0.3});
}

function setDtailImageWidth () {
	var img = $('div.artikel.detail img:first');
	img.attr('alt','');
	img.css('padding','0!important');
	var img_w = $(img).width();
	if (img_w > 320) {
		$(img).addClass("max-width");
		$(img).after('<a href="'+$(img).attr('src')+'" class="artikel-detail-imagezoom" style="margin-top:5px" title="Bild vergrößern">Bild vergrößern</a>');
		var zoom_link = $(img).next('a.artikel-detail-imagezoom');
		$(img).clone().appendTo(zoom_link);
		$(img).next('a.artikel-detail-imagezoom').fancyzoom({showoverlay:true,overlay:0.1});
		if (browser.ie && ie_version < 7) {
			$('div.artikel.detail div.preis').css('position','absolute');
		}
	}
}

function ieFixes () {
	$('div.pager ul li').hover(
  	function () {
		$(this).addClass("hover");
  	},
  	function () {
   		$(this).removeClass("hover");
  	}
	);
}

function setSuchbegriff () {
	var select_suche = $('div#suche div.suche-input-text input')[0];
	suchbegriff = $(select_suche).attr('value');
	$(select_suche).focus(function() { if ($(this).attr('value') == suchbegriff) { $(this).attr('value',''); } });
	$(select_suche).blur(function() { if ($(this).attr('value').length == 0 || $(this).attr('value') == ' ' || $(this).attr('value') == '  ' || $(this).attr('value') == '   ') { $(this).attr('value',suchbegriff); } });
}

function styleSelectSearch () {
	var select_suche = $('div#suche select')[0];
	var select_name = $(select_suche).attr('name');
	var select_options = $(select_suche).find('option');
	
	var select_width = $(select_suche).width();
	
	var selected_option_name = $(select_options[0]).html();
	var selected_option_value = $(select_options[0]).attr('value');
	
	var list = '<ul>';
	$(select_options).each ( function (option) {
			if (this.selected) {
				selected_option_name = $(this).html();
				selected_option_value = $(this).attr('value');
			}
			var w = $(this).width();
			if (w > select_width) {
				select_width = w;
			}
			list += '<li><a href="#'+$(this).attr('value')+'" onclick="setSelectValue(this); return false;">'+$(this).html()+'</a></li>';
		}
	);
	list += '</ul>';
	
	var dhtmlSelect = '<div style="width: '+select_width+'px;" onclick="toggleSelect(this)" class="form_select down selectAutoWidth">';
	dhtmlSelect += '<input type="hidden" name="'+select_name+'" value="'+selected_option_value+'" />';
	dhtmlSelect += '<div class="form_select_title">';
	dhtmlSelect += '<span>'+selected_option_name+'</span>';
	dhtmlSelect += list+'</div></div>';
	
	$(select_suche).replaceWith(dhtmlSelect);
}

function setSelectValue (obj) {
	var input_obj = $(obj).parent('li').parent('ul').parent('div').prev('input')[0];
	var input_txt = $(obj).parent('li').parent('ul').prev('span')[0];
	$(input_obj).attr('value',$(obj).attr('href').substr(1));
	$(input_txt).html($(obj).html());
}


// Select Dropdown Menu DHTML
var selectElements = new Array();

function toggleSelect (obj, forceklasse) {
	if (browser.ie) { 
		$(obj).parents('div').css('zIndex','100');
	}
	var klasse = obj.className;
	//var menu = findElement ("ul", obj); // Eigene findElement Funktion
	var menu = $(obj).find("ul")[0];
	var setWidth = (klasse.indexOf("selectAutoWidth") != -1) ? false : true;
	
	var selected = false;
	for (var elem in selectElements) {
		if (selectElements[elem] == obj) {
			selected = true;
		}	
	}
	if (!selected) {
		selectElements.push(obj);
		/*
		if (menu != false) {
			if (setWidth) {
				menu.style.width = (obj.offsetWidth-18)+"px";
			} else {
				if (browser.ie && ie_version < 7) { menu.style.width = "auto"; }
			}
		}
		*/
	}
	
	var aktiv_pos = klasse.indexOf("aktiv");
	var aktiv = (aktiv_pos != -1) ? true : false;
	var klasse_neu = (aktiv) ? klasse.replace(" aktiv", "") : klasse+" aktiv";
	if (!aktiv || typeof (forceklasse) != 'undefined') {
		obj.className = klasse_neu;
	} 
	if (!aktiv) {
		setTimeout ( function () { hideSelect (obj, klasse_neu); }, 100);
	}
}

function hideSelect (obj, klasse) {
	document.body.onclick = function () {
		toggleSelect (obj, klasse);
		document.body.onclick = function () {};
	};
}