﻿$().ready(function() {
	$(document).AdLayer({
		layerID: '#AdLayer',
		layerTimeout: 2000,
		boxClass: '#AdLayer .box',
		boxWidth: 760,
		boxHeight: 460,
		closeClass: '#AdLayer .boxBorder',
		closeTimeout: 3000,
		setCloseLink: 1,
		cookieTime: 3,
		contentClass: '#AdLayer .boxContent',
		contentFade: 3000
	});
	$('.boxBorder p').delay(6000).fadeIn();
	$('#jcornerSmall').css('z-index','10');
	$('#jcornerBig').css('z-index','100');
	$('#floatyContent').css('z-index','10');
});

$.fn.AdLayer = function(settings) {

	settings = $.extend({
		layerID: '#AdLayer',
		layerTimeout: 2000,
		boxClass: '#AdLayer .box',
		boxWidth: 750,
		boxHeight: 440,
		closeClass: '#AdLayer .close',
		closeTimeout: 4000,
		setCloseLink: 0,
		cookieTime: 1,
		contentClass: '#AdLayer .boxContent',
		linkCount: 0,
		contentFade: 3000,
		timer: ''
	}, settings);


	if($.cookie('LayerAd')) {
		return false;
	} else {
	settings.linkCount = $(settings.contentClass).find("a").length;
	$(settings.layerID).css({'width':$(window).width(),'height':$(document).height()});
	$(settings.boxClass).css({'position':'absolute','top':($(window).height()-settings.boxHeight)/2,'left':($(window).width()-settings.boxWidth)/2,'z-index':200,'width':settings.boxWidth,'height':settings.boxHeight,'overflow':'auto'});
	$(settings.closeClass).css('display','none');

	$(settings.closeClass).click(function() {
 		$.cookie('LayerAd', null);
		var date = new Date();
        date.setTime(date.getTime() + (settings.cookieTime * 60 * 60 * 1000));
        $.cookie('LayerAd', 'LayerAd', { path: '/', expires: date });
		if(settings.setCloseLink == 1) {
			clearInterval(settings.timer);
			var pop = open($(settings.contentClass + ' a.active').attr('href'),"","toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1");
			pop.blur();
            self.focus();
		}
		$(settings.layerID).fadeOut();
		return false;
	});
	
	$('#AdLayer .boxContent a').click(function() {
 		$.cookie('LayerAd', null);
		var date = new Date();
        date.setTime(date.getTime() + (settings.cookieTime * 60 * 60 * 1000));
        $.cookie('LayerAd', 'LayerAd', { path: '/', expires: date });
    	$(settings.layerID).fadeOut();
	});

	$(window).load(function() {
		$(settings.layerID).delay(settings.layerTimeout).fadeIn();
		$(settings.closeClass).delay(settings.closeTimeout).fadeIn();
		if(settings.linkCount>1) {
			$(settings.contentClass + ' a').css({'position':'absolute','top':0,'left':0});
			$(settings.contentClass + ' a' + ':gt(0)').hide();
			settings.timer = '';
			settings.timer = setInterval(function() { fadeInOut(settings.contentClass + ' a'); },settings.contentFade);
			$(settings.contentClass + ' a').hover(function(){
				clearInterval(settings.timer);
				settings.timer = '';
			}, function(){
				if(settings.timer == '') {
					setTimeout(function(){ fadeInOut(settings.contentClass + ' a'); },100);
					settings.timer = setInterval(function(){ fadeInOut(settings.contentClass + ' a'); },settings.contentFade);
				}
			});
		} else if(settings.linkCount==1) {
			$(settings.contentClass + ' a').addClass('active');
		} else {
			settings.setCloseLink = 0;
		}
		return false;
	});		 


	$(window).resize(function() {
		$(settings.layerID).css('width', $(document).width());
		$(settings.layerID).css('height', $(document).height());
		$(settings.boxClass).css('left', ($(window).width()-settings.boxWidth)/2);
		$(settings.boxClass).css('top', ($(window).height()-settings.boxHeight)/2);
	});

	$(window).scroll(function() {
		if(scrollX()>0) {
			$(settings.layerID).css('width', $(document).width());
		} else {
			$(settings.layerID).css('width', $(window).width());
		}
		$(settings.boxClass).css('left', scrollX() + ($(window).width()-settings.boxWidth)/2);
		$(settings.boxClass).css('top', scrollY() + ($(window).height()-settings.boxHeight)/2);
	});

	function fadeInOut(element) {
		var $active = $(element + '.active');
		if($active.length == 0) $active = $(element + ':last');
		var $next = $active.next().length ? $active.next() : $(element + ':first');
		$next.fadeIn().addClass('active');
		$active.fadeOut().removeClass('active');
	}

	function scrollX() {
		return getScrollXY('X');
	}

	function scrollY() {
		return getScrollXY('Y');
	}

	function getScrollXY(XY) {
		var scrOfX = 0, scrOfY = 0;

		if( typeof( window.pageYOffset ) == 'number' ) {
			//Netscape compliant
			scrOfY = window.pageYOffset;
			scrOfX = window.pageXOffset;
		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			//DOM compliant
			scrOfY = document.body.scrollTop;
			scrOfX = document.body.scrollLeft;
		} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode
			scrOfY = document.documentElement.scrollTop;
			scrOfX = document.documentElement.scrollLeft;
		}
		if(XY == 'X') { return scrOfX; }
		else if(XY == 'Y') { return scrOfY; } 
	}
	}
}

jQuery.cookie = function (key, value, options) {

    // key and value given, set cookie...
    if (arguments.length > 1 && (value === null || typeof value !== "object")) {
        options = jQuery.extend({}, options);

        if (value === null) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? String(value) : encodeURIComponent(String(value)),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};


