jQuery.fn.highlight=function(pat,oxloadid){function innerGlossar(node,pat){var skip=0;if(node.nodeType==3){var pos=node.data.toUpperCase().indexOf(pat);if(pos>=0){var spannode=document.createElement('a');spannode.href=oxloadid;spannode.name=pat;spannode.className='quickview';var middlebit=node.splitText(pos);var endbit=middlebit.splitText(pat.length);var middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);skip=1}}else if(node.nodeType==1&&node.childNodes&&!/(script|style)/i.test(node.tagName)){for(var i=0;i<node.childNodes.length;++i){i+=innerGlossar(node.childNodes[i],pat)}}return skip}return this.each(function(){innerGlossar(this,pat.toUpperCase())})};function mwvpopupshow(){jQuery("#popup").dialog({modal:true,width:360,height:250,title:'Warenkorb',resizable:false,draggable:false,buttons:{'Zur Kasse':function(){document.tobasket2.submit()},'Weiter shoppen':function(){$(this).dialog('close')}},open:function(){$('.ui-dialog-buttonpane').find('button:contains("Weiter shoppen")').addClass('cancel')}}).addClass('on')}function mwvpopupload(){jQuery("#wait").dialog({modal:true,width:360,height:250,title:'Warenkorb',resizable:false,draggable:false,buttons:{'Zur Kasse':function(){document.tobasket1.submit()},'Weiter shoppen':function(){$(this).dialog('close')}},open:function(){$('.ui-dialog-buttonpane').find('button:contains("Weiter shoppen")').addClass('cancel')}}).addClass('load on')}function mwvpopupmdvariant(){jQuery("#m-popup-mdvariant").dialog({modal:true,width:290,height:170,title:'Bitte warten',resizable:false,draggable:false})}jQuery.insert=function(file){var data=[];var data2=[];if(typeof file=='object'){data=file;file=data.src!==undefined?data.src:false;file=file===false&&data.href!==undefined?data.href:file;file=file===false?file2:false}if(typeof file=='string'&&file.length){var index=file.lastIndexOf('.');var index2=file.replace('\\','/').lastIndexOf('/')+1;var ext=file.substring(index+1,file.length)}switch(ext){case'js':data2={elm:'script',type:'text/javascript',src:file};break;case'css':data2={elm:'link',rel:'stylesheet',type:'text/css',href:file};break;default:data2={elm:'link'};break}data2.id='script-'+(typeof file=='string'&&file.length?file.substring(index2,index):Math.round(Math.rand()*100));for(var i in data){data2[i]=data[i]}data=data2;var tag=document.createElement(data.elm);delete data.elm;for(i in data){tag.setAttribute(i,data[i])}jQuery('head').append(tag);return jQuery('#'+data.id)};


$(function() {		   
	if($("ul[id$='faq']").length) {
		$.insert(getResourceUrl + "js/faq/faq.js");
		$('#faq').faq();
	}

	$("a[href$='.jpg'][target='_blank'], a[href$='.gif'][target='_blank'], a[href$='.png'][target='_blank']").fancybox({
		'transitionIn'		: 'fade',
		'transitionOut'		: 'fade'
	});

	$("a[rel=img-group]").fancybox({
		'transitionIn'		: 'fade',
		'transitionOut'		: 'fade',
		'titlePosition' 	: 'over',
		'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Bild ' +  (currentIndex + 1) + ' von ' + currentArray.length + '</span>';
		}
	});

	$.insert(getResourceUrl + "js/smoothscroll/smoothscroll.js");

	$.insert(getResourceUrl + "js/cookie/jquery.cookie.js");
	
	// social bookmark
	if(getPageFile == "details") {
	$.insert(getResourceUrl + "js/addthis/addthis_widget.js");
	}

	$.insert(getResourceUrl + "ui/jquery.ui.tooltip-custom.min.js");
	$(".tooltip-link").tooltip({
		position: {
			my: "center bottom",
			at: "center top",
			offset: "0 -5"
		},
		content: function() {
			return $($(this).attr("name")).html();
		}
	});

	$("input.tooltip-input").tooltip({
		position: {
			my: "center bottom",
			at: "center top",
			offset: "0 -5"
		},
		content: function() {
			return $(this).attr("title");
		}
	});

	// if demo shop
	$('div.demo').dialog({
		modal:true,
		dialogClass: 'warning',
		title: 'Bitte beachten Sie:',
		resizable: false,
		draggable: false,
		buttons: {
			"Ok": function() {
				$(this).dialog("close");
			}
		}
	});

	$('table.evenorodd tbody tr:odd').addClass('odd');
	
	// Carousel
	/*if($("ul[type^='jcarousel-skin-grey']").length) {
		$.insert(getResourceUrl + "js/jcarousel/skins/grey/skin.css");
	}
	if($("ul").hasClass('jcarousel-skin-newest')) {
		$.insert(getResourceUrl + "js/jcarousel/skins/newest/skin.css");
	}
	if($("ul[type^='jcarousel-skin-category']").length) {
		$.insert(getResourceUrl + "js/jcarousel/skins/category/skin.css");
	}	
	if($("ul[type^='jcarousel-skin-big']").length) {
		$.insert(getResourceUrl + "js/jcarousel/skins/big/skin.css");
	}
	if($("ul[type^='jcarousel-skin-tango']").length) {
		$.insert(getResourceUrl + "js/jcarousel/skins/tango/skin.css");
	}*/
	if($("ul[id^='jcarousel']").length) {
		$.insert(getResourceUrl + "js/jcarousel/jquery.jcarousel.min.js").ready(function(){
			$('ul.scroll1').jcarousel({
				scroll: 1
			});
			$('ul.scroll3').jcarousel({
				scroll: 3
			});
			$('ul.scroll4').jcarousel({
				scroll: 4
			});		
		});
	}
	   
	// Add pdf icons to pdf links
	$("a[href$='.pdf']").addClass("pdf");
 
	// Add txt icons to document links (doc, rtf, txt)
	$("a[href$='.doc'], a[href$='.txt'], a[href$='.rft']").addClass("txt");
 
	// Add zip icons to Zip file links (zip, rar)
	$("a[href$='.zip'], a[href$='.rar']").addClass("zip"); 
 
	// Add email icons to email links
	$("a[href^='mailto:']").addClass("email");

	$('a.togglelink').click(function() {
	    var toggleme = '#'+$(this).attr('href');
		$(toggleme).toggle();
		return false;
	});
	
	$('.js-text-shadow-white').textShadow({
		x:      2, 
		y:      2, 
		radius: 3,
		color:  "#fff"
	});

	$('.js-text-shadow-black').textShadow({
		x:      2, 
		y:      2, 
		radius: 3,
		color:  "#000"
	});

	// Tab
	$("#relatedaccesories, #more-details").tabs();

	// Navigation
	$('li.level0').hover(
		function(){
			$(this).addClass('open');
			$('a.level0', this).addClass('gradient-orange-dark');
		},
		function(){
			$(this).removeClass('open');
			$('a.level0', this).removeClass('gradient-orange-dark');
		}
	);
	$('li.level1').hover(
		function(){
			$(this).addClass('open');
			$('ul', this).css("left",($(this).outerWidth() - 30));
		},
		function(){
			$(this).removeClass('open');
		}
	);

	// Autocomplete
	/*$.insert(getResourceUrl + "js/autocomplete/jquery.autocomplete.pack.js");
	$.insert(getResourceUrl + "js/autocomplete/jquery.autocomplete.css");      
	function formatArtikelsuchen(catnu) {
		return catnu.oxtitle + "<span class='hide'>" + catnu.oxartnum + "</span>";
	}
	$("input.artikelsuchen").autocomplete(getResourceUrl + 'js/autocomplete/artikel.php', {
		scroll: true,
		width: 300,
		minChars: 3,
		delay: 400,
		cacheLength: 0,
		dataType: "json",
		parse: function(data) {
			return $.map(data, function(row) {
				return {
					data: row,
					value: row.oxtitle,
					result: row.oxtitle
				}
			});
		},
		formatItem: function(item) {
			return formatArtikelsuchen(item);
		}
	});
	function formatArtnusuchen(catnu) {
		return "<span class='hide'>" + catnu.oxtitle + "</span>" + catnu.oxartnum;
	}
	$("input.artnusuchen").autocomplete(getResourceUrl + 'js/autocomplete/artikelnu.php', {
		scroll: true,
		minChars: 3,
		mustMatch: true,
		delay: 400,
		cacheLength: 0,
		dataType: "json",
		parse: function(data) {
			return $.map(data, function(row) {
				return {
					data: row,
					value: row.oxartnum,
					result: row.oxartnum
				}
			});
		},
		formatItem: function(item) {
			return formatArtnusuchen(item);
		}
	});*/
	
	/*if($("input[class~='artikelsuchen']").length) {
		$("input.artikelsuchen").autocomplete({
			minLength: 3,
			source: function( request, response ) {
				$.ajax({
					url: getResourceUrl + 'js/autocomplete/json.php',
					dataType: "json",
					data: {
						q: request.term
					},
					success: function( data ) {
						response( $.map( data, function( row ) {
							return {
								data: row,
								label: row.oxtitle,
								value: row.oxtitle,
								artnum: row.oxartnum,
								icon: row.oxicon,
								oxid: row.oxid
							}
						}));
					}
				});
			},
			select: function(event, ui) {
				$("input.artikelsuchen").val( ui.item.value );
				document.searchme.submit();
			}
		})
		.data("autocomplete")._renderItem = function( ul, item ) {			
			return $( "<li></li>" )
				.data( "item.autocomplete", item )
				.append( '<a href="' + getBaseDir + 'index.php?cl=details&anid=' + item.oxid + '"><div class="img"><img src="' + getBaseDir + 'out/pictures/icon/' + item.icon + '" /></div><div class="desc"><span class="title">' + item.label + '</span><span class="catnum">Art.Nr.: ' + item.artnum + '</span></div></a>' )
				.appendTo( ul );
		};
	}*/

	/* start: MWV Best.-Nr. direkt eingeben */
	$("input.artnusuchen").keyup(function () {
	  var value = $(this).val(),
	  	currentId = $(this).attr('id');
	  if(value.length > '4'){
		$.ajax({
			url: getResourceUrl + 'js/autocomplete/oxtitle.php?q=' + value,
			type: 'POST',
			data: $(this).serialize(),
			success: function(data) {
				$('td.' + currentId).html(data);
				if(data!=''){
					$('input.' + currentId).val('1');
				}
			}
		});
	  } else {
		  $('td.' + currentId).html('');
		  $('input.' + currentId).val('');
	  }
	});

	$('a#add').click(function() {
	    var currentId = Number($(this).attr('name')),
			newRow	= new Number(currentId + 1);
		$('table.azcatalog tr.row' + newRow).fadeIn();
		$(this).remove();
		return false;
	});
	/* end: MWV Best.-Nr. direkt eingeben */
	
	/*$('#add').click(function(){
		$('table.azcatalog tbody>tr:last').clone(true).insertAfter('table.azcatalog tbody>tr:last');
	});*/

	/*$("input.artnusuchen").autocomplete({
		minLength: 4,
		source: function( request, response ) {
			$.ajax({
				url: getResourceUrl + 'js/autocomplete/json-catnu-with-variant.php',
				dataType: "json",
				data: {
					q: request.term
				},
				success: function( data ) {
					response( $.map( data, function( row ) {
						return {
							data: row,
							label: row.oxartnum,
							value: row.oxartnum,
							title: row.oxtitle
						}
					}));
				}
			});
		},
		select: function(event, ui) {
				var currentId = $(this).attr('id');
				$("td." + currentId).html( ui.item.title );
				if($("input." + currentId).val()==''){
					$("input." + currentId).val('1');
				}
		}
	});*/

	$("button, a.button, input[type='submit'][name!='updateBtn']").button();
	$('button.tocart').button({icons: {primary:'ui-icon-cart'}});
	$('button.tocart.icon-only').button({icons: {primary:'ui-icon-cart'},text: false});
	$('button.trash').button({icons: {primary:'ui-icon-trash'}});
	$('button.refresh').button({icons: {primary:'ui-icon-refresh'}});
	$("button.locked, a.locked").button({icons: {primary: "ui-icon-locked"}});
	$("button.unlocked").button({icons: {primary: "ui-icon-unlocked"}});
	$('button.home').button({icons: {primary:'ui-icon-home'}});
	$('button.home-secondary').button({icons: {secondary:'ui-icon-home'}});
	$('button.next').button({icons: {primary:'ui-icon-circle-triangle-e'}});
	$('button.next-secondary').button({icons: {primary:'ui-icon-carat-1-e',secondary:'ui-icon-carat-1-e'}});
	$('button.prev').button({icons: {primary:'ui-icon-circle-triangle-w'}});
	$('button.check').button({icons: {primary:'ui-icon-check'}});
	$('button.check-secondary').button({icons: {secondary:'ui-icon-check'}});
	$('button.inquiry').button({icons: {primary:'ui-icon-mail-closed'}});
	$('button.save').button({icons: {primary:'ui-icon-disk'}});
	$('button.edit').button({icons: {primary:'ui-icon-gear'}});
	$('button.close').button({icons: {primary:'ui-icon-circle-close'}});
	$('button.info').button({icons: {primary:'ui-icon-info'}});
	
	if($("input[title!='']").length) {
		$.insert(getResourceUrl + "js/example/jquery.example.js");
		$("input[title!='']").example(function() {
		  return $(this).attr('title');
		});
	}
	
	/*function showZoomify(){
		$.insert(getResourceUrl + "js/gzoom/jquery.gzoom.css");
		$.insert(getResourceUrl + "js/gzoom/jquery.gzoom.js");
		var currentWidth = $('#zoom_img').attr('width');
		var currentHeight = $('#zoom_img').attr('height');		
		$('div#zoomimg').gzoom({
			sW: 400,
			sH: 400,
			lW: currentWidth,
			lH: currentHeight
		});
		$('#zoom_img').css({width: '400px', height: '400px'});
	}*/

	/*function showZoomify(){
		$.insert(getResourceUrl + "js/zoomify/jquery.zoomify.js").ready(function(){
			var $this=$('div#zoomimg').css({position:'relative', overflow:'hidden', cursor:'move'})
			var $img=$this.find('img:eq(0)') //image to pan
			var options={$pancontainer:$this, pos:$this.attr('data-orient'), curzoom:1, canzoom:$this.attr('data-canzoom'), wrappersize:[$this.width(), $this.height()]}
			$img.imgmover(options)
		});
	}*/

	//hover states on the static widgets
	/*$('.m-ui-botton').hover(
		function() { $(this).addClass('ui-state-hover'); }, 
		function() { $(this).removeClass('ui-state-hover'); }
	);*/

	//$.insert(getResourceUrl + "ui/minified/jquery.effects.core.min.js");
	$.insert(getResourceUrl + "ui/jquery.effects.fade.js");
	// increase the default animation speed to exaggerate the effect
	$.fx.speeds._default = 600;

	/*$('a.m-popup').click(function(){
		var popuptitle = $(this).attr('title')
		$("#m-popup-content").load($(this).attr('href'), function() {
		  $("#m-popup-content").dialog({
			modal:true,
			show: 'fade',
			//maxHeight: 460,
			width: 'auto',
			title: popuptitle
			//resizable: false		
		  });	
		});
		return false;
	});*/
	
	$('a.m-popup').click(function(){
		var popuptitle = $(this).attr('title'),
			popupBox = $('<div style="display:hidden; width:auto;"></div>').appendTo('body'),
			popupUrl = $(this).attr('href') + '?'+ jQuery.param({ plain:1 }),
			sourceUrl = $(this).attr('href');
		
		popupBox.load(sourceUrl, function() {
		  popupBox.dialog({
			modal:true,
			show: 'fade',
			width: 'auto',
			height: 'auto',
			title: popuptitle,
			close: function(event, ui) {
				jQuery.dialog( "destroy" );
			}
		  });	
		});
		
		return false;
	});

	$('a.m-popup-glossar').click(function(){
		var popuptitle = $(this).attr('title'),
			popupBox = $('<div style="display:hidden; width:auto;"></div>').appendTo('body'),
			popupUrl = $(this).attr('href') + '?'+ jQuery.param({ plain:1 }),
			sourceUrl = $(this).attr('href');
		
		popupBox.load(sourceUrl, function() {
		  popupBox.dialog({
			modal:true,
			show: 'fade',
			width: 800,
			height: 640,
			title: popuptitle,
			close: function(event, ui) {
				jQuery.dialog( "destroy" );
			}
		  });	
		});
		
		return false;
	});

	$('a.m-popup-login').click(function(){
		var popuptitle = $(this).attr('title')
		$("#m-popup-login").dialog({
			dialogClass: 'm-popup-login',
			modal:true,
			show: 'fade',
			width: 600,
			title: popuptitle,
			resizable: false,
			open: function(event, ui) {
				$(this).find('input#lgn_usr').focus();
			}
		});
		return false;
	});

	$('a.m-popup-zoom').click(function(){
		var popuptitle = $(this).attr('title')
		zoomsrcFrist = $('a#zoom_th:first').attr("href");
		$('img#zoom_img').attr('src',zoomsrcFrist);
		//var zoomimgWidth = $('img#zoom_img').attr('width');
		//var zoomimgHeight = $('img#zoom_img').attr('height');
		
		$("div#zoom").dialog({
			modal:true,
			show: 'fade',
			width: 550,
			height: 480,
			title: popuptitle,
			resizable: false
		});
		
		$('a#zoom_th').click(function(){
			zoomsrc = $(this).attr("href");
			$('img#zoom_img').attr('src',zoomsrc);
			return false;
		});
		return false;
	});

	var popuptitle = $('a.m-popup-i').attr('title')
	$('#m-popup-content-i').dialog({
		autoOpen: false,
		modal:true,
		show: 'fade',
		width: 799,
		height: 600,
		title: popuptitle,
		resizable: false
	});

	$('a.m-popup-i').click(function() {
		$('#m-popup-content-i').dialog('open');
		return false;
	});

	if($("a#m-popup-window").length) {
		$.insert(getResourceUrl + "js/popupwindow/jquery.popupwindow.js").ready(function(){
			$("a#m-popup-window").popupwindow();
		});
	}

	$(".toggle-hover").hover(function() {
		$(this).toggleClass('hover');
	});

	$(".toggle-gradient-blue-light").hover(function() {
		$(this).toggleClass('gradient-blue-light');
	});

	/*$('div.button-zurwarenkorb button, div.icon-zurkasse').mouseover(function(){
		$(".m-popup-basket").addClass('on').fadeIn();
	});
	
	$('a.ui-dialog-titlebar-close').parent().parent().click(function(){
		$(".m-popup-basket").removeClass('on').fadeOut();
	});*/

	if($("div[id^='hidemsg'],div[class^='errorbox']").length) {
		$('div#hidemsg').delay(20000).fadeOut();
		$('div.errorbox').delay(20000).fadeOut();
	}

	/*
	 * Show/hide list dropdowns
	 */
	function showDropdown(){
		hideDropdown();
		targetObj = $(this);
		sublist = targetObj.nextAll("ul.drop");

		sublist.prepend("<li class='value'></li>");
		targetObj.clone().appendTo(".value", sublist);
		sublist.css("width", targetObj.parent().outerWidth());

		if (sublist.length) {
			sublist.slideToggle("fast");
			targetObj.toggleClass("selected");
		}
	}

	function hideDropdown(){
		$("ul.drop").hide();
		$("ul.drop li.value").remove();
		$(".dropDown p").removeClass("selected");
	}

	$(".dropDown p").click(showDropdown);

	$(document).click( function(e){
		if(e.target.className !== ".dropDown"){
			$(".drop").hide();
		}
	});

	$(".dropDown p").hover(function(){
		$(this).toggleClass("selected");
	});

	$("ul.drop a").click(function(){
		var obj = $(this);
		var objFnIdent = obj.parents().hasClass("fnSubmit");
		if ( objFnIdent ){
			$("input[name=fname]", obj.parents(".fnSubmit")).attr("value", obj.attr("rel")).attr("name", obj.parents(".dropDown").attr("id"));
			obj.closest("form").submit();
			return false;
		}
	});

	$(".copy-this-value").keyup(function () {
	  var copythis = $(this).val(),
	      pasteto =  $(this).attr('name');
	  $('input#' + pasteto).val(copythis);
	});

	$('#edit-mycart').click(function(){
		var text = $(this).text() == 'Bearbeiten' ? 'Fertig' : 'Bearbeiten';
		$('.toggle-this').toggle();
		$(this).text(text);
		return false;
	});
});


