/**                                                                                                                                                                                              
 * clever + zöger gmbh                                                                                                                                                                           
 * http://www.clever-zoeger.de                                                                                                                                                                   
 * @author Ronny Hempel <rhempel@clever-zoeger.de>                                                                                                                                           
 * @version $Id: konfigurator.js 295 2011-06-20 10:48:40Z vgromov $                                                                                                                                                                                
 * $HeadURL: https://svn.clever-zoeger.de/plaketten-petersen/plaketten-petersen.de/branches/v1/skin/frontend/default/default/js/konfigurator.js $                                                                                                                                                                                   
 * $LastChangedBy: vgromov $                                                                                                                                                                            
 * $LastChangedRevision: 295 $                                                                                                                                                                       
 * $LastChangedDate: 2011-06-20 12:48:40 +0200 (Mo, 20 Jun 2011) $                                                                                                                                                                            
 */
function viewportHeight() { 
	var viewportHeight = window.innerHeight ? window.innerHeight : jQuery(window).height();
	return viewportHeight;
}

function getScrollTop() { 
	var scrollTop = window.scrollTop ? window.scrollTop : jQuery(window).scrollTop();
	return scrollTop;
}

 
function writeZoomBlockImg() {
	jQuery('body').append('<div class="hidden imagezoomblock imgzoomblock"><img src="" /></div>');
}
function writeZoomBlockDiv() {
	jQuery('body').append('<div class="hidden imagezoomblock divzoomblock"></div>');
}
function writeInfoBlockDiv() {
	jQuery('body').append('<div class="hidden infoblock divinfoblock"></div>');
}

function setEvents() {
	if (jQuery('.zoomimg').length) {
		jQuery('.zoomimg').mousemove(function(e) {
			var x = e.pageX + 10;
			var y = e.pageY + 10;
			var src = jQuery(this).attr('rel');
			jQuery('.imgzoomblock img').attr('src',src);
			jQuery('.imgzoomblock').css('top',y);
			jQuery('.imgzoomblock').css('left',x);
			jQuery('.imgzoomblock').removeClass('hidden');
		});
		jQuery('.zoomimg').mouseleave(function() {
			jQuery('.imgzoomblock').addClass('hidden');
		});
	}
	if (jQuery('.zoomimgsmall').length) {
		jQuery('.zoomimgsmall').click(function() {
			jQuery('.prodviewbild .category-image img').attr('src',jQuery(this).attr('small'));
			jQuery('.prodviewbild .zoomimg').attr('rel',jQuery(this).attr('rel'));
		});
	}
	if (jQuery('.catpopup').length) {
		
		jQuery('.catpopup a').mousemove(function(e) {
			
			var x = e.pageX + 10;
			var y = e.pageY + 10;
			var px = jQuery('body').width();
			var py = viewportHeight();
			//check max width
			if ((x+770) > px) {
				x = px - 770;
			}
			
			//check max height
			var html = jQuery(this).parent().find('.katinfopopup').html();
			jQuery('.divzoomblock').html(html);
			jQuery('.divzoomblock').css('top',y);
			jQuery('.divzoomblock').css('left',x);
			if (jQuery('.divzoomblock').hasClass('hidden')) {
			    jQuery('.divzoomblock').removeClass('hidden');
			    jQuery('.divzoomblock').css('opacity',1).css('display','none').delay(500).fadeIn(250);
			}
			var h = jQuery('.divzoomblock').height();
			


			if ((y+h - getScrollTop()) > py) {
				y = y - h - 30;
				jQuery('.divzoomblock').css('top',y);
			}
			
			//jQuery('.category-description').html('YS: '+ys+' X: '+x+' Y: '+y+' pagex: '+px+' pagey: '+py+ 'H: '+h+' STop: '+getScrollTop());
		});
		
		jQuery('.catpopup a').mouseleave(function() {
			//jQuery('.divzoomblock').dequeue().addClass('hidden');
			jQuery('.divzoomblock').dequeue().stop().fadeOut(0).addClass('hidden');
		});
	}
	
	if (jQuery('.infobox').length) {
		
		jQuery('.infobox').mousemove(function(e) {
			
			var x = e.pageX + 10;
			var y = e.pageY + 10;
			var px = jQuery('body').width();
			var py = viewportHeight();
			//check max width
			if ((x+770) > px) {
				x = px - 770;
			}
			
			//check max height
			var html = jQuery(this).parent().parent().find('.infoboxtext').html();
			jQuery('.divinfoblock').html(html);
			jQuery('.divinfoblock').css('top',y);
			jQuery('.divinfoblock').css('left',x);
			jQuery('.divinfoblock').removeClass('hidden');
			var h = jQuery('.divinfoblock').height();
			


			if ((y+h - getScrollTop()) > py) {
				y = y - h - 30;
				jQuery('.divinfoblock').css('top',y);
			}
			
			//jQuery('.category-description').html('YS: '+ys+' X: '+x+' Y: '+y+' pagex: '+px+' pagey: '+py+ 'H: '+h+' STop: '+getScrollTop());
		});
		
		jQuery('.infobox').mouseleave(function() {
			jQuery('.divinfoblock').addClass('hidden');
		});
	}
	
	
}
function initZoomImages() {
	writeZoomBlockImg();
	writeZoomBlockDiv();
	writeInfoBlockDiv();
	setEvents();
}

jQuery(document).ready(function(){
	initZoomImages();
});

