//----------
//widgets
//----------
var proBox, proBoxActivator, clipboard, clipboardActivator;

function activateWidgets() {
  if (proBoxActivator = jQuery('#boxChooseProduct')) {
    proBoxActivator.children('a').onclick = function() {
      return false;
    };
    proBox = jQuery('#proBox');
  }
  if (clipboardActivator = jQuery('#boxClipboard')) {
    clipboardActivator.children('a').onclick = function() {
      return false;
    };
    clipboard = jQuery('#clipboard');
  }
}

function showProBox() {
  activateWidgets();
  
//  proBox.style.left = (proBoxActivator.cumulativeOffset()['left'] - 200) + 'px';
//  proBox.style.top = (proBoxActivator.cumulativeOffset()['top'] + 30) + 'px';
//  proBox.style.display = 'block';
  var left = proBoxActivator.offset()['left'] - 200;
  var top = proBoxActivator.offset()['top'] + 30;
  proBox.css("left", left);
  proBox.css("top", top);
  proBox.css("display", "block");
  
  proBox.mouseout(function(e) {
    hideProBox(e);
  });
  proBoxActivator.mouseout(function(e) { 
    hideProBox(e);
  });
  
  proBoxActivator.addClass('boxChooseProductHover');
}

function is_parent(element, expr) {
  if(jQuery(element).is(expr))
    return true;
  
  var parents = jQuery(element).parents().get();
  for (var j = 0; j < parents.length; j++ ) {
    if (jQuery(parents[j]).is(expr)) {
      return true;
    }
  }
  return false;
}

function hideProBox(e) {
  if (!e) e = window.event;
  if (e == null) return;
  var element = jQuery(e.relatedTarget || e.toElement);
  
  var p1 = is_parent(element, '#proBox');
  var p2 = is_parent(element, '#boxChooseProduct');
  
  if (!p1 && !p2) {
    proBoxActivator.removeClass('boxChooseProductHover');
    closeMe(proBox);
  }
}

clipboardStripLinks = function() {
  jQuery("#clipboard a").each( function() {
    jQuery(this).html(jQuery(this).text());
  });
}

function showClipboard() {
  activateWidgets();
  clipboardStripLinks();

  var left = clipboardActivator.offset()['left'] - 188;
  var top = clipboardActivator.offset()['top'] + 29;
  
  clipboard.css("left", left);
  clipboard.css("top", top);
  clipboard.css("display", "block");
  
  clipboard.mouseout(function(e) {
    hideClipboard(e);
  });
  clipboardActivator.mouseout(function(e) { 
    hideClipboard(e);
  });
  
  clipboardActivator.addClass('boxClipboardHover');
}

function hideClipboard(e) {
  if (!e) e = window.event;
  if (e == null) return;
  var element = jQuery(e.relatedTarget || e.toElement);
  
  var p1 = is_parent(element, '#clipboard');
  var p2 = is_parent(element, '#boxClipboard');
  
  if (!p1 && !p2) {
    clipboardActivator.removeClass('boxClipboardHover');
    closeMe(clipboard);
  }
}
