$(document).ready(function(){

  $(".numeric").keypress(function(event)
  {
    // Backspace, tab, enter, end, home, left, right
    // We don't support the del key in Opera because del == . == 46.
    var controlKeys = [8, 9, 13, 35, 36, 37, 39];
    // IE doesn't support indexOf
    var isControlKey = controlKeys.join(",").match(new RegExp(event.which));
    // Some browsers just don't raise events for control keys. Easy.
    // e.g. Safari backspace.
    if (!event.which || // Control keys in most browsers. e.g. Firefox tab is 0
        (49 <= event.which && event.which <= 57) || // Always 1 through 9
        (48 == event.which && $(this).attr("value")) || // No 0 first digit
        isControlKey) { // Opera assigns values for control keys.
      return;
    } else {
      event.preventDefault();
    }
  });
});

var disabledimg = "";
var timeoutId;
var aktFloatParentId;
var mouseOverProduct = false;
	  
// width: > 0: px, 0: css, -1: auto;
function centerPos2(elemid, xoffset, yoffset, width)
{
  var elem = "#" + elemid;
  if(width > 0)
    $(elem).width(width);
  else if(width == -1)
    $(elem).width('auto');
  var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
  var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;
  $(elem).css({
    position:'absolute',
    margin:0,
    top: (top > 0 ? top : 0)+'px',
    left: (left > 0 ? left : 0)+'px',
    visibility:'visible'
  });
}
	  
function hideElem(elemid)
{
  var elem = "#" + elemid;
  $(elem).css({
    display:'none'
  });
}
	  
function showFloatPanel(panelid, xoffset, yoffset, parentid)
{
  /*$(elem).css({visibility:'hidden'});*/
		
  // nem az akt. elemre vonatkozó hívások mellőzése (hálózati késleltetés miatti hívások szűrése)
  if(parentid != aktFloatParentId)
    return;
    
  if(disabledimg == parentid)
  {
    disabledimg = "";
    return;
  }
		 		
  var elem = "#" + panelid;
  var parent = "#" + parentid;
    
  $(elem).css({
    display:'none'
  });
  $(elem).css({
    visibility:'hidden'
  });
    
  /*
		$(elem).css({visibility:'hidden'}); // ?
		$(elem).css({width:'auto'});
        var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
        var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;		
		*/
  clearTimeout(timeoutId);
  timeoutId = setTimeout(function(){
    $(elem).css({
      visibility:'hidden'
    }); // ?
    $(elem).css({
      width:'auto'
    });
    var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
    var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;
		
    $(elem).css({
      position:'absolute',
      margin:0,
      top: (top > 0 ? top : 0)+'px',
      left: (left > 0 ? left : 0)+'px',
      visibility:'visible',
      display:'block'
    });
  }, 150);
		
  $(parent).mouseout(
    function(e)
    {
      clearTimeout(timeoutId); // ha nem látható, fedés feltétele teljesül!
      // ha fedésben van, ne tüntesse el
      if(e.pageX > $(elem).offset().left && e.pageY > $(elem).offset().top)
        return;
      hideFloatPanel(elem);
    }
    );
		
  $(elem).mouseout(
    function()
    {
      hideFloatPanel(elem);
    }
    );
		
  $(elem).mousedown(
    function()
    {
      disabledimg = parentid;
      hideFloatPanel(elem);
    }
    );
}

function centerPos2(elemid, xoffset, yoffset, width)
{
  var elem = "#" + elemid;
  if(width > 0)
    $(elem).width(width);
  else if(width == -1)
    $(elem).width('auto');
  var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
  var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;
  $(elem).css({
    position:'absolute',
    margin:0,
    top: (top > 0 ? top : 0)+'px',
    left: (left > 0 ? left : 0)+'px',
    visibility:'visible'
  });
}
	  
function hideElem(elemid)
{
  var elem = "#" + elemid;
  $(elem).css({
    display:'none'
  });
}
	  
function showFloatPanel2(panelid, xoffset, yoffset, parentid)
{
  /*$(elem).css({visibility:'hidden'});*/
	  
  var elem = "#" + panelid;
  var parent = "#" + parentid;
    
  $(parent).mouseout(
    function(e)
    {
      mouseOverProduct = false;            
      clearTimeout(timeoutId); // ha nem látható, fedés feltétele teljesül!

      // ha fedésben van, ne tüntesse el
      /*if(e.pageX > $(elem).offset().left && e.pageY > $(elem).offset().top)
        return;*/
      hideFloatPanel(elem);
    }
    );
  
  // nem az akt. elemre vonatkozó hívások mellőzése (hálózati késleltetés miatti hívások szűrése)
  if(parentid != aktFloatParentId)
    return;
    
  if(disabledimg == parentid)
  {
    disabledimg = "";
    return;
  }
		 		    
  $(elem).css({
    display:'none'
  });
  $(elem).css({
    visibility:'hidden'
  });
    
  /*
		$(elem).css({visibility:'hidden'}); // ?
		$(elem).css({width:'auto'});
        var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
        var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;		
		*/
  clearTimeout(timeoutId);
  //mouseOverProduct = true;
  timeoutId = setTimeout(function(){
    if(!mouseOverProduct)
    {
      $(elem).css({
        visibility:'hidden'
      });
      
      return;
    }
  
    $(elem).css({
      visibility:'hidden'
    }); // ?
    $(elem).css({
      width:'auto'
    });
    var top = ($(window).height() - $(elem).outerHeight()) / 2 + $(window).scrollTop() + yoffset;
    var left = ($(window).width() - $(elem).outerWidth()) / 2 + $(window).scrollLeft() + xoffset;

    top = $(parent).offset().top;
    left = $(parent).offset().left + 120;

    var pagebottom = $(window).height() + $(window).scrollTop();
    if(top + $(elem).outerHeight() > pagebottom)
    {
      top = pagebottom - $(elem).outerHeight();
    }
		
    $(elem).css({
      position:'absolute',
      margin:0,
      top: (top > 0 ? top : 0)+'px',
      left: (left > 0 ? left : 0)+'px',
      visibility:'visible',
      display:'block'
    });
  }, 150); // setTimeout
		
		
  $(elem).mouseout(
    function()
    {
      hideFloatPanel(elem);
    }
    );
		
  $(elem).mousedown(
    function()
    {
      disabledimg = parentid;
      hideFloatPanel(elem);
    }
    );
}
	  
function hideFloatPanel(elem)
{  
  aktFloatPanelId = '';
  clearTimeout(timeoutId);
  $(elem).css({
    display:'none'
  });
}

function productMouseout()
{
  mouseOverProduct = false;
}

function productMouseover()
{
  mouseOverProduct = true;
}

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

