__da_lib.dbglog('video overlay is started'); if (typeof __da_video_over_settings == 'object') __da_video_over_params = jQuery.extend(__da_video_over_params, __da_video_over_settings) __da_video_over_params.fixFlashTransparent = function() { // loop through every embed tag on the site var embeds = document.getElementsByTagName('embed'); for (i = 0; i < embeds.length; i++) { embed = embeds[i]; if (__da_video_over_params.getSizeIndex(jQuery(embed)) > -1) { var new_embed; // everything but Firefox & Konqueror if (embed.outerHTML) { var html = embed.outerHTML; // replace an existing wmode parameter if (html.match(/wmode\s*=\s*('|")[a-zA-Z]+('|")/i)) new_embed = html.replace(/wmode\s*=\s*('|")window('|")/i, "wmode='transparent'"); // add a new wmode parameter else new_embed = html.replace(/ -1) { var new_object; // object is an IE specific tag so we can use outerHTML here if (object.outerHTML) { var html = object.outerHTML; // replace an existing wmode parameter if (html.match(//i)) new_object = html.replace(//i, ""); // add a new wmode parameter else new_object = html.replace(/<\/object\>/i, "\n"); // loop through each of the param tags var children = object.childNodes; for (j = 0; j < children.length; j++) { try { if (children[j] != null) { var theName = children[j].getAttribute('name'); if (theName != null && theName.match(/flashvars/i)) { new_object = new_object.replace(//i, ""); } } } catch (err) { } } // replace the old embed object with the fixed versiony object.insertAdjacentHTML('beforeBegin', new_object); object.parentNode.removeChild(object); } } } var frames = document.getElementsByTagName('iframe'); for (i = 0; i < frames.length; i++) { if (typeof frames[i].src != "undefined" && frames[i].src.toLowerCase().indexOf("youtube.com/embed") != -1) { if (frames[i].src.toLowerCase().indexOf("wmode=opaque") == -1) { src = frames[i].src; if (src.toLowerCase().indexOf("?") == -1) src += "?"; else src += "&"; src += "wmode=opaque"; frames[i].src = src; } } } } __da_video_over_params.getSizes = function(el) { var sizes = { width: el.width(), height: el.height() }; if (!sizes.width && el.css('width')) sizes.width = parseInt(el.css('width')); if (!sizes.width && el.attr('width')) sizes.width = parseInt(el.attr('width')); if (!sizes.height && el.css('height')) sizes.height = parseInt(el.css('height')); if (!sizes.height && el.attr('height')) sizes.height = parseInt(el.attr('height')); return sizes; } __da_video_over_params.getMargins = function(el) { var margins = __da_video_over_params.margins ? jQuery.extend({}, __da_video_over_params.margins) : {}; if (el.attr('data-top')) margins.top = el.attr('data-top'); if (el.attr('data-bottom')) margins.bottom = el.attr('data-bottom'); if (el.attr('data-left')) margins.left = el.attr('data-left'); if (el.attr('data-right')) margins.right = el.attr('data-right'); return margins; }; __da_video_over_params.getSizeIndex = function(el) { var ind = -1; var sizes = __da_video_over_params.getSizes(el); var margins = __da_video_over_params.getMargins(el); if (margins.bottom) sizes.height -= margins.bottom; if (margins.left) sizes.width -= margins.left; if (margins.right) sizes.width -= margins.right; for (var n = 0; n < __da_video_over_params.sizes.length; n++) { var s = __da_video_over_params.sizes[n]; if (!s.width || !s.height) { continue; } if ( sizes.width >= s.width && sizes.height >= s.height ) { ind = n; continue; } else { break; } } return ind; } __da_video_over_params.fixFlashTransparent(); __da_lib.dbglog('video overlay before ready'); jQuery(document).ready(function($) { __da_lib.dbglog('video overlay is ready'); __da_video_over_params.init = function() { __da_lib.dbglog('video overlay init'); __da_video_over_params.bannerIndex = 0; __da_video_over_params.processingCount = 0; __da_video_over_params.coords = []; __da_video_over_params.timers = []; __da_video_over_params.rollContainerId = 'DA_VIDEO_ROLL_CONTAINER_'; __da_video_over_params.rollBodyId = 'DA_VIDEO_ROLL_BODY_'; __da_video_over_params.tmpCls = 'DA-VIDEO-OVER-CONTAINER'; if (!__da_video_over_params.type) __da_video_over_params.type = 'bottom'; if (!__da_video_over_params.selector) __da_video_over_params.selector = "embed,object,iframe,video,[data-da-video=1]"; __da_video_over_params.processing(); __da_video_over_params.goProcessingTimer = setInterval(function() { __da_video_over_params.processing(); $(window).resize(); if (__da_video_over_params.processingCount >= 5) clearInterval(__da_video_over_params.goProcessingTimer); }, 1000); $(window).resize(function() { $(__da_video_over_params.selector).each(function(index, object) { var el = $(this); var da_id = __da_video_over_params.getDaId(el); if (da_id) { var roll = $('#' + __da_video_over_params.rollContainerId + da_id); if (roll.length) { var borderTop = 0, borderLeft = 0; if (el.css('border-top-width')) borderTop = parseInt(el.css('border-top-width')); if (el.css('border-left-width')) borderLeft = parseInt(el.css('border-left-width')); roll.css({ 'left': (el.offset().left + borderLeft), 'top': (el.offset().top + borderTop) }); } var rollTop = $('#' + __da_video_over_params.rollContainerId + da_id + '_top'); if (rollTop.length) { rollTop.css({ 'left': el.offset().left, 'top': el.offset().top }); } var rollBottom = $('#' + __da_video_over_params.rollContainerId + da_id + '_bottom'); if (rollBottom.length) { rollBottom.css({ 'left': el.offset().left, 'top': el.offset().top }); } __da_video_over_params.rotate(el); } }); }); $(window).scroll(function() { $(__da_video_over_params.selector).each(function() { __da_video_over_params.rotate($(this)); }); }); if (__da_lib.isIe()) { setInterval(function() { $(window).resize(); }, 500); } }; __da_video_over_params.rotate = function(el) { var da_id = __da_video_over_params.getDaId(el); if (!da_id) return; if (!el.hasClass('DA-HOVERED')) { if (__da_video_over_params.inWindow(el)) { if (!__da_video_over_params.timers['s_da_' + da_id]) { __da_video_over_params.timers['s_da_' + da_id] = setTimeout(function() { __da_video_over_params.funcOver(el); }, __da_video_over_params.timeToShow); } } else if (__da_video_over_params.timers['s_da_' + da_id]) { clearInterval(__da_video_over_params.timers['s_da_' + da_id]); __da_video_over_params.timers['s_da_' + da_id] = null; } } else if (__da_video_over_params.outWindow(el)) { $('#' + __da_video_over_params.rollContainerId + da_id).remove(); $('#' + __da_video_over_params.rollContainerId + da_id + '_top').show(); $('#' + __da_video_over_params.rollContainerId + da_id + '_bottom').show(); el.removeClass('DA-HOVERED'); if (__da_video_over_params.timers['r_da_' + da_id]) { clearInterval(__da_video_over_params.timers['r_da_' + da_id]); __da_video_over_params.timers['r_da_' + da_id] = null; } } }; __da_video_over_params.getDaId = function(el) { //var da_id = el.attr('da_id'); //for jquery 1.6+ for object elements var da_id = null; if (!da_id && el.attr('class')) { var list = el.attr('class').split(' '); for (var x = 0; x < list.length; x++) { if (list[x].indexOf('da_id_v') > -1) { da_id = list[x].replace(/da_id_v/g, ''); break; } } } return da_id; } __da_video_over_params.paintRoll = function(roll, color, shadow) { roll.children(':first').children(':first').css('background', color); if (__da_lib.isIe() && __da_lib.isIe() <= 8) { roll.css({ 'background': 'transparent', '-moz-opacity': 1, '-khtml-opacity': 1, 'opacity': 1, 'filter': 'alpha(opacity=100)' }); } else { roll.children(':first').children(':first').css({ '-moz-opacity': (shadow / 100), '-khtml-opacity': (shadow / 100), 'opacity': (shadow / 100), 'filter': 'alpha(opacity=' + shadow + ')' }); } }; __da_video_over_params.load = function(el, callback) { var num = __da_video_over_params.getSizeIndex(el) + 1; if (!num) { __da_lib.dbglog('num is 0', __da_video_over_params.debugMode); return; } var da_id = __da_video_over_params.getDaId(el); if (!da_id) return; if (__da_video_over_params.timers['s_da_' + da_id]) { clearInterval(__da_video_over_params.timers['s_da_' + da_id]); __da_video_over_params.timers['s_da_' + da_id] = null; } $.ajax({ url: __da_video_over_params.url + "show.cgi?adp=" + __da_video_over_params.adpId + "&json=4&num=" + num, type: 'GET', dataType: 'jsonp', jsonp: 'callback', // or false jsonpCallback: 'jsonpCallback', cache: false, async: false, success: function(data) { __da_lib.dbglog(data, __da_video_over_params.debugMode); var str = data[0]; var p = str.indexOf(''); if (p > -1) { str = $.trim(str.substr(p + 8)); if (!__da_video_over_params.stylesLoaded) { __da_video_over_params.stylesLoaded = true; $('body').append($.trim(data[0].substring(0, p + 8))); } } var margins = __da_video_over_params.getMargins(el); var sizes = __da_video_over_params.getSizes(el); var roll = $(str).children(':first'); __da_video_over_params.redesign(roll); var height = roll.height(); roll.attr({ 'id': __da_video_over_params.rollContainerId + da_id, 'da_id_v': da_id, 'class': __da_video_over_params.cls }); roll.addClass('da_id_v' + da_id); roll.css({ 'position': 'absolute', 'left': el.offset().left + 'px', 'top': el.offset().top + 'px', 'z-index': 100000, 'overflow': 'hidden', //'width': sizes.width + 'px', 'margin-left': (margins.left ? margins.left : (sizes.width / 2 - roll.width() / 2)) + 'px', 'margin-top': ( __da_video_over_params.type == 'top' ? (margins.top ? margins.top : 0) : (sizes.height - height - (margins.bottom ? margins.bottom : 0)) ) + 'px' }); roll.children(':first').attr('id', __da_video_over_params.rollBodyId + da_id); roll.children(':first').css( __da_video_over_params.type, '-' + height + 'px' ); __da_video_over_params.paintRoll(roll, '#000', __da_video_over_params.shadow); roll.find('a.da-close').attr('href', '#' + da_id); roll.find('a.da-close').click(function() { var da_id = $(this).attr('href').split('#')[1]; $('#' + __da_video_over_params.rollContainerId + da_id).remove(); $('.da_id_v' + da_id).removeClass('da_id_v' + da_id); if (__da_video_over_params.timers['s_da_' + da_id]) { clearInterval(__da_video_over_params.timers['s_da_' + da_id]); __da_video_over_params.timers['s_da_' + da_id] = null; } if (__da_video_over_params.timers['r_da_' + da_id]) { clearInterval(__da_video_over_params.timers['r_da_' + da_id]); __da_video_over_params.timers['r_da_' + da_id] = null; } return false; }); roll.find('td.da_adp_teaser').each(function(index) { $(this).css('width', (100 / num) + '%'); }); roll.children(':first').mouseenter(function() { __da_video_over_params.paintRoll($(this).parent(), '#000', 100); $(this).find('td.da_adp_img img').css({ '-moz-opacity': 0.9, '-khtml-opacity': 0.9, 'opacity': 0.9, 'filter': 'alpha(opacity=90)' }); $(this).find('td.da_adp_title a').css('color', '#ddd'); }); roll.children(':first').mouseleave(function() { __da_video_over_params.paintRoll($(this).parent(), '#000', __da_video_over_params.shadow); $(this).find('td.da_adp_img img').css({ '-moz-opacity': 1, '-khtml-opacity': 1, 'opacity': 1, 'filter': 'alpha(opacity=100)' }); $(this).find('td.da_adp_title a').css('color', '#fff'); }); roll.find('td.da_adp_teaser').click(function() { return !window.open($(this).find('a').attr('href')); }); if (callback) { callback(el, roll); } else { $('body').append(roll); __da_video_over_params.fixPosition(el); $('#' + __da_video_over_params.rollContainerId + da_id + '_top').hide(); $('#' + __da_video_over_params.rollContainerId + da_id + '_bottom').hide(); var params = {}; params[__da_video_over_params.type] = 0; $('#' + __da_video_over_params.rollBodyId + da_id).animate( params, __da_video_over_params.delayShow ); } __da_video_over_params.timers['r_da_' + da_id] = setTimeout(function() { __da_video_over_params.load( el, function (el, roll) { var da_id = __da_video_over_params.getDaId(el); roll.find('#' + __da_video_over_params.rollBodyId + da_id).css(__da_video_over_params.type, 0); if (__da_lib.isIe() && __da_lib.isIe() <= 9) { roll.css('opacity', 0); $('#' + __da_video_over_params.rollContainerId + da_id).animate( { opacity: 0 }, 500, function() { $('#' + __da_video_over_params.rollContainerId + da_id).remove(); $('body').append(roll); $('#' + __da_video_over_params.rollContainerId + da_id).animate( { opacity: 1 }, 500 ); } ); } else { var old = $('#' + __da_video_over_params.rollContainerId + da_id).html(); $('#' + __da_video_over_params.rollContainerId + da_id).html('
'); $('#' + __da_video_over_params.rollContainerId + da_id).css({ overflow: 'visible', height: 'auto' }); var cube = new HexaFlip( '#hexaFlip_' + da_id, { set: [ { value: old, style: { width: roll.width() + 'px' } }, { value: roll.html(), style: { width: roll.width() + 'px' } } ] }, { size: roll.height() } ); setTimeout(function() { cube.flip(); setTimeout(function() { $('#' + __da_video_over_params.rollContainerId + da_id).remove(); $('body').append(roll); }, 500); }, 100); } } ); }, __da_video_over_params.timeRotate); } }); }; __da_video_over_params.redesign = function(roll) { roll.find('table table').css('margin', 0); roll.find( 'tr:first td, img' ).css({ 'padding': 0, 'margin': 0, 'line-height': '12px' }); roll.find( 'td.da_adp_img' ).css({ 'padding-right': '9px' }); roll.find( 'td.da_adp_title' ).css({ 'padding-right': '20px' }); roll.find('td.da_adp_title a').css({ 'color': '#fff', 'line-height': 'normal' }); roll.find('td.da_adp_title').css( 'vertical-align', 'middle' ); roll.find('td.da_adp_teaser').css( 'cursor', 'pointer' ); }; __da_video_over_params.fixPosition = function(el) { var tags = __da_video_over_params.selector; if (__da_lib.isIe() && __da_lib.isIe() <= 8) tags = tags.replace(/embed,/g, ''); tags = tags.split(','); var da_id = __da_video_over_params.getDaId(el); var selector = tags[0] + '.da_id_v' + da_id; for (var i = 1; i < tags.length; i++) selector += ',' + tags[i] + '.da_id_v' + da_id; var obj = $(selector); if (obj.length) { if (el.get(0).tagName.toLowerCase() == 'div') { if (!obj.is(':visible')) { return; } } var borderTop = 0, borderLeft = 0; if (obj.css('border-top-width')) borderTop = parseInt(obj.css('border-top-width')); if (obj.css('border-left-width')) borderLeft = parseInt(obj.css('border-left-width')); $('#' + __da_video_over_params.rollContainerId + da_id).css({ 'left': (obj.offset().left + borderLeft), 'top': (obj.offset().top + borderTop) }); } } __da_video_over_params.funcOver = function(el) { if (!el || el.type == 'mouseenter') el = $(this); if ( el.is(':hidden') || el.hasClass('DA-HOVERED') ) return; el.addClass('DA-HOVERED'); __da_video_over_params.load(el); }; __da_video_over_params.inWindow = function(el) { var scrollTop = $(window).scrollTop(); var scrollLeft = $(window).scrollLeft(); var windowHeight = $(window).height(); var windowWidth = $(window).width(); var offset = el.offset(); __da_lib.dbglog('!!!' + scrollTop + ' <= ' + offset.top + ' && ' + (el.height() + offset.top) + ' <= ' + (scrollTop + windowHeight)); if ( scrollTop <= offset.top && (el.height() + offset.top) <= (scrollTop + windowHeight) && scrollLeft <= offset.left && (el.width() + offset.left) <= (scrollLeft + windowWidth) ) return true; return false; }; __da_video_over_params.outWindow = function(el) { var scrollTop = $(window).scrollTop(); var scrollLeft = $(window).scrollLeft(); var windowHeight = $(window).height(); var windowWidth = $(window).width(); var offset = el.offset(); if ( scrollTop > (el.height() + offset.top) || offset.top > (scrollTop + windowHeight) || scrollLeft > (el.width() + offset.left) || offset.left > (scrollLeft + windowWidth) ) return true; return false; }; __da_video_over_params.processing = function() { __da_video_over_params.processingCount++; $(__da_video_over_params.selector).each(function(index, object) { if ( object.tagName.toLowerCase() == 'iframe' && !$(this).attr('data-da-video') && ( !$(this).attr('src') || $(this).attr('src').toLowerCase().indexOf("youtube.com") == -1 )// || $(this).is(':hidden') || __da_video_over_params.coords[$(this).offset().left + '_' + $(this).offset().top] || $(this).attr('data-da-video-no') ) return; __da_video_over_params.checkBanner($(this)); }); }; __da_video_over_params.checkBanner = function(el) { if (el.parents('[data-da-video=1]').length) return; var ind = __da_video_over_params.getSizeIndex(el); if (ind >= 0) { var da_id = __da_video_over_params.getDaId(el); if (!da_id) { __da_video_over_params.bannerIndex++; el.attr('da_id_v', __da_video_over_params.bannerIndex); el.addClass('da_id_v' + __da_video_over_params.bannerIndex); __da_video_over_params.coords[el.offset().left + '_' + el.offset().top] = 1; var sizes = __da_video_over_params.getSizes(el); var rollTop = $('
'); rollTop.attr({ 'id': __da_video_over_params.rollContainerId + __da_video_over_params.bannerIndex + '_top', 'da_id_v': __da_video_over_params.bannerIndex }); rollTop.addClass('da_id_v' + __da_video_over_params.bannerIndex); rollTop.css({ 'position': 'absolute', 'left': el.offset().left + 'px', 'top': el.offset().top + 'px', 'z-index': 100000, 'width': sizes.width + 'px', 'height': (sizes.height / 2 - 25) + 'px', 'background': '#000', '-moz-opacity': 0, '-khtml-opacity': 0, 'opacity': 0, 'filter': 'alpha(opacity=0)' }); rollTop.mouseenter(function() { __da_video_over_params.funcOver(el); }); $('body').append(rollTop); var rollBottom = rollTop.clone(); rollBottom.attr('id', __da_video_over_params.rollContainerId + __da_video_over_params.bannerIndex + '_bottom'); rollBottom.css('margin-top', (sizes.height - (sizes.height / 2 - 25)) + 'px'); rollBottom.mouseenter(function() { __da_video_over_params.funcOver(el); }); $('body').append(rollBottom); el.mouseenter(__da_video_over_params.funcOver); __da_video_over_params.rotate(el); } } }; __da_video_over_params.init(); });