if($.browser.msie) {
var ie = $.browser.version;
} else {
var ie = false;
}

function in_array(arr, val) {
	var found = false;
	for(i=0,l=arr.length;i<l;i++) {
		if(arr[i] === val) {
			found = true;
		}
	}
	return found;
}

if(!ie) {
function touchHandler(event) {
	var touches = event.changedTouches,
		first = touches[0],
		type = "";
		switch(event.type) {
			case "touchstart": type = "mousedown"; break;
			case "touchmove":  type="mousemove"; break;        
			case "touchend":   type="mouseup"; break;
			default: return;
		}
    
	var simulatedEvent = document.createEvent("MouseEvent");
	simulatedEvent.initMouseEvent(type, true, true, window, 1, 
				first.screenX, first.screenY, 
				first.clientX, first.clientY, false, 
				false, false, false, 0/*left*/, null);
 
	first.target.dispatchEvent(simulatedEvent);
	event.preventDefault();
}
 
function init() {
	document.addEventListener("touchstart", touchHandler, true);
	document.addEventListener("touchmove", touchHandler, true);
	document.addEventListener("touchend", touchHandler, true);
	document.addEventListener("touchcancel", touchHandler, true);    
}
}
$(document).ready(function() {
	if(!ie) {
		init();
	}

	$('#package img.info').each(function(i, el) {
		$(this).data('width', 50);
		$(this).data('height', 46);
		$(this).data('left', $(this).attr('offsetLeft'));
	});

	$('#package img.info').mouseenter(function() {
		w = $(this).width();
		h = $(this).height();
		wd = w/2;
		hd = h/2;
		$(this).css('z-index', '30');
		$(this).stop().animate({
			'width' : 77 + 'px',
			'height' : 71 + 'px',
			'left' : $(this).attr('offsetLeft')-13.5 + 'px',
			'top' : $(this).attr('offsetTop')-12.5 + 'px'
		}, 150);
	});
	$('#package img.info').mouseleave(function() {
		$(this).css('z-index', '20');
		$(this).stop().animate({
			'width' : $(this).data('width') + 'px',
			'height' : $(this).data('height') + 'px',
			'left' : $(this).data('left') + 'px',
			'top' : '0px'
		}, 150);
	});

	$('img.ryhma').mouseenter(function() {
		$(this).attr('src', $(this).attr('src').replace('.jpg', 'a.jpg'));
	});
	$('img.ryhma').mouseleave(function() {
		$(this).attr('src', $(this).attr('src').replace('a.jpg', '.jpg'));
	});
	$('#tuotekuva').click(function() {
		if($('section.right').height()<540) {
			$('section.right').animate({
				'height' : '540px'
			}, 100, function() {
				$('#wrap').css('height', $('article').height()-2 + 'px');
			});
		}
		$('#popover').fadeIn(200);
	});

	$('#popover, #close_popover').click(function() {
		$('section.right').css({
			'height' : 'auto'
		});
		$('#popover').fadeOut(200);
		$('#wrap').css('height', $('article').height()-2 + 'px');
	});

	$('#ukk strong[data-id!=""]').click(function() {
		$('div[data-id="' + $(this).attr('data-id') + '"]').slideToggle();
	});

	if($('#ukk').length) {
		$('#ukk strong:eq(0)').trigger('click');
	}

	$('#sivut a:eq(0)').addClass('active');

	$('#sivut a').click(function() {
		if($('#muut').length) {
			var holder = $('#muut');
		} else {
			var holder = $('#tuotehaku');
		}
		var pagesize = $(holder).attr('data-pagesize');
		$('#sivut a.active').removeClass('active');
		$(this).addClass('active');
		var sivu = $(this).attr('data-page');
		var min = sivu * pagesize - pagesize;
		var max = sivu * pagesize;
		$(' > a', holder).hide();
		$(' > a:eq(' + min + ')', holder).show();
		$(' > a:gt(' + min + ')', holder).show();
		$(' > a:eq(' + max + ')', holder).hide();
		$(' > a:gt(' + max + ')', holder).hide();
	});
	setTimeout(function() {
		$('#wrap').css('height', $('article').height()-2 + 'px');
	}, 200);

// Tuoteslider
	if($('#slider').length>0) {
		// Muuttujat
		var slider = $('#slider');
		var slides = $('#slides');
		var handle = $('#slider-handle');

		var sliderw = $(slider).width();						// Koko sliderin leveys
		var slidesw = $(slides).width();						// Maskin leveys
		var unitw = 184;								// Tuotteen leveys
		var totalslidesw = $('ul li', slides).length*unitw;				// Kaikkien tuotteiden leveys
		totalslidesw < slidesw ? $(handle).parent().hide() : totalslidesw = totalslidesw;
		var handlew = Math.floor((slidesw) / Math.floor(totalslidesw/slidesw));	// Kahvan leveys suhteutettuna tuotteiden lukumäärään
		handlew < 50 ? handlew = 50 : handlew = handlew;				// Kahvan leveyden korjaus
		var _o = $(slider).offset();

		$(handle).css('width', handlew + 'px');

		$(handle).mousedown(function(e) {
			e.preventDefault();
			$(document).bind('mousemove', function(e) {
				e.preventDefault();
				var _x = e.pageX;

				// Handlen liikutus
				var _m = _x - _o.left - (handlew/2);
				_m < 0 ? _m = 0 : _m = _m;
				_m > (sliderw-handlew) ? _m = (sliderw-handlew) : _m = _m;
				$(handle).css('left', _m + 'px');

				// Tuotteiden liikutus
				var _p = (_m / (sliderw-handlew));
				var _u = (totalslidesw-slidesw) * _p;
				$('ul', slides).css('left', (_u*-1) + 'px');
			});
		});
		$(document).mouseup(function() {
			$(document).unbind('mousemove');
		});
		$('#slide_right').click(function() {
			var _l = $('ul', slides).attr('offsetLeft');
			_l = _l - slidesw;
			_p = ((_l*-1)/totalslidesw);
			_m = sliderw * _p;
			
			_l < ((totalslidesw - slidesw)*-1) ? _l = ((totalslidesw - slidesw)*-1) : _l = _l;
			_m > (sliderw - handlew) ? _m = sliderw - handlew : _m = _m;

			$('ul', slides).animate({
				'left' : _l + 'px'
			}, 200);
			$(handle).animate({
				'left' : _m + 'px'
			}, 200);
		});
		$('#slide_left').click(function() {
			var _l = $('ul', slides).attr('offsetLeft');
			_l = _l + slidesw;
			_p = ((_l*-1)/totalslidesw);
			_m = sliderw * _p;
			
			_l > 0 ? _l = 0 : _l = _l;
			_m < 0 ? _m = 0 : _m = _m;

			$('ul', slides).animate({
				'left' : _l + 'px'
			}, 200);
			$(handle).animate({
				'left' : _m + 'px'
			}, 200);
		});
	
		if($('#slides li.active').length) {
			var _l = $('#slides li.active').attr('offsetLeft')-370;
			_l < 0 ? _l = 0 : _l = _l;

			$('#slides ul').animate({
				'left' : '-' + _l + 'px'
			}, 0);

			_p = (_l/totalslidesw);
			_m = sliderw * _p;

			_l > (totalslidesw - slidesw) ? _l = (totalslidesw - slidesw) : _l = _l;
			_m > (sliderw - handlew) ? _m = sliderw - handlew : _m = _m;

			$(handle).animate({
				'left' : _m + 'px'
			}, 0);
		}

	}
});
