function cycleHoverNav(slideshowSelector, navWrapperId, prevImg, nextImg, cycleProperties) {
    var slideshowElement = $(slideshowSelector);
    
    // create navWrapper
    var wrapper = $('<div></div>');
    wrapper.attr('id', navWrapperId);

    // clone slideshow element CSS
    wrapper.attr('class', slideshowElement.attr('class'));
    wrapper.attr('style', slideshowElement.attr('style'));

    // clear positional CSS (invisible wrapper)
    wrapper.css({ 'padding': '0px',
                  'margin': '0px',
                  'background-color': 'transparent',
                  'border': 'none',
                  'position': 'relative'});



    // wrap slideshow element
    slideshowElement.wrap(wrapper);

    // append prev/next links inside wrapper (after slideshow)
    slideshowElement.after('<div id="navLinkWrapper">' +
                               '<div class="cycleNavDiv" id="cyclePrevDiv"><a href="#" class="cycleNavLink" id="cyclePrevLink"><img src="' + prevImg + '" border="0" /></a></div>' +
                               '<div class="cycleNavDiv" id="cycleNextDiv"><a href="#" class="cycleNavLink" id="cycleNextLink"><img src="' + nextImg + '" border="0" /></a></div>' +
                           '</div>');


    // selector strings
    var navWrapperIdSelector = '#' + navWrapperId;
    var navLinkWrapperSelector = '#navLinkWrapper';
    var prevNextLinkSelector = navWrapperIdSelector + ' a.cycleNavLink';
    var prevNextLinkFocusSelector = prevNextLinkSelector + ':focus';
    var prevLinkSelector = navWrapperIdSelector + ' a#cyclePrevLink';
    var nextLinkSelector = navWrapperIdSelector + ' a#cycleNextLink';
    
    var prevNextDivSelector = navWrapperIdSelector + ' div.cycleNavDiv';
    var prevDivSelector = navWrapperIdSelector + ' div#cyclePrevDiv';
    var nextDivSelector = navWrapperIdSelector + ' div#cycleNextDiv';

    var prevNextImgSelector = prevNextDivSelector + ' img';
    var prevImgSelector = prevDivSelector + ' img';
    var nextImgSelector = nextDivSelector + ' img';
    
    // navLinkWrapper style
    $(navLinkWrapperSelector).css({ 'width': wrapper.css('width'),
                                    'height': wrapper.css('height'),
                                    'position': 'absolute',
                                    'top': '0pt',
                                    'z-index': (slideshowElement.children().size() + 10) });
    
    
    // prev/next link styles
    $(prevNextLinkSelector).css({'width': '100%',
                                 'height': '100%',
                                 'position': 'relative',
                                 'display': 'none'});
    $(prevNextLinkFocusSelector).css({ 'outline': '0' });
    
    // prev link style
    $(prevLinkSelector).css({'float': 'left'});
    // next link style
    $(nextLinkSelector).css({'float': 'right'});

    // prev/next div styles
    $(prevNextDivSelector).css({'position': 'relative',
                                'width': '48%',
                                'height': '100%',
                                'display': 'block'});
    $(prevDivSelector).css({'float': 'left'});
    $(nextDivSelector).css({'float': 'right'});

    // prev/next img styles
    $(prevNextImgSelector).css({'margin-bottom': '0px',
                                'margin-top': '45%',
                                'background-color':
                                'transparent',
                                'border': 'none',
                                'padding': '0px'});
    // prev img style
    $(prevImgSelector).css({'margin-left': '15%', 'margin-right': '0px'});
    $(prevImgSelector).attr('align', 'left');
    // next img style
    $(nextImgSelector).css({'margin-left': '0px', 'margin-right': '15%'});
    $(nextImgSelector).attr('align', 'right');

    $(navWrapperIdSelector).mouseover(function() { $(slideshowSelector).cycle('pause'); });
    $(navWrapperIdSelector).mouseout(function() { $(slideshowSelector).cycle('resume'); });

    // add prev/next mouse events
    $(prevDivSelector).mouseover(function() { $(prevLinkSelector).show(); });
    $(prevDivSelector).mouseout(function() { $(prevLinkSelector).hide(); });

    $(nextDivSelector).mouseover(function() { $(nextLinkSelector).show(); });
    $(nextDivSelector).mouseout(function() { $(nextLinkSelector).hide(); });

    // add cycle prev next properties
    cycleProperties['prev'] = prevLinkSelector;
    cycleProperties['next'] = nextLinkSelector;


    // load cycle slideshow
    $(slideshowSelector).cycle(cycleProperties);
}