__previewTimer = null;
__previewHider = null;
__previewInit = false;
function previewInit(){
    if (!__previewInit) {
        $('body').append('<div id="previewContainer"><div id="previewHeader"></div><div id="previewContent"></div></div>');
		if (jQuery.browser.msie) {

			// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
			var iframe = [	'<iframe tabindex="-1" ',
		 					'style="display:block; position:absolute;',
							'top: 0;',
							'left:0;',
							'z-index:-1; filter:Alpha(Opacity=\'0\');',
							'width:380px;',
							'height:320px"/>'].join('');
			$('#previewContainer').append(document.createElement(iframe));
		}        
        __previewInit = true;
    }
    $('a.hotel').unbind().hover(function(e){
        if (__previewTimer) {
            window.clearTimeout(__previewTimer);
        }
        __link = $(this);
        __previewTimer = window.setTimeout(function(){
            $('#previewContent').load(__link.attr('preview'),function(){
                $('#previewHeader').html(__link.text());
                var el = $('#previewContainer');
                var coords = jQuery.iUtil.getPosition(__link.get(0));
				var cl = jQuery.iUtil.getClient();
				var el_w = 380;
				var el_h = 236;
				if ((coords.x + 14) > (cl.w - el_w - 50)) {
					// показываем подсказку слева
					el.css('left', parseInt(coords.x + 14 - el_w) + 'px');
	                var pnv = $('body').get(0).clientHeight - coords.y;
	                if (pnv > 0 && pnv - 101 > 0) {
	                    el.css('top', coords.y + 14 + 'px');
						el.removeClass('previewTop');
						el.removeClass('previewBottom');
						el.removeClass('previewLTop');
						el.addClass('previewLBottom');
	                } else {
	                    el.css('top', coords.y - el_h + 'px');
						el.removeClass('previewBottom');
						el.removeClass('previewLBottom');
						el.removeClass('previewTop');
						el.addClass('previewLTop');
	                }
				} else {
					// показываем подсказку справа
	                el.css('left',coords.x + 14 + 'px');
	                var pnv = $('body').get(0).clientHeight - coords.y;
	                if (pnv > 0 && pnv - 101 > 0) {
	                    el.css('top', coords.y + 14 + 'px');
						el.removeClass('previewTop');
						el.removeClass('previewLTop');
						el.removeClass('previewLBottom');
						el.addClass('previewBottom');
	                } else {
	                    el.css('top', coords.y - el_h + 'px');
						el.removeClass('previewLTop');
						el.removeClass('previewLBottom');
						el.removeClass('previewBottom');                
						el.addClass('previewTop');
	                }
				}
                el.css('display','block');
                __previewHider = window.setTimeout(function() {
                    $('#previewContainer').css('display','none');
                }, 600);
            })
        }, 2500);
    },function(){
        if (__previewTimer) {
            window.clearTimeout(__previewTimer);
        }
        __previewTimer = null;
    })
    $('#previewContainer').hover(function(){
        if (__previewHider) {
            window.clearTimeout(__previewHider);                
        }
        __previewHider = null;
    },function(){
        __previewHider = window.setTimeout(function(){
            $('#previewContainer').css('display','none');
        },600);        
    })
}
