// Cookie functions
var exitviralCookie = {
	set: function(name, value, days)
	{
		var date = new Date();
		if (days !== undefined && typeof days == "object")
			date = days;
		else
		{
			// Default to a 1 year cookie
			if (days === undefined)
				days = 365;

			// Format date string
			var date = new Date();
			date.setTime(date.getTime() + (days * 864e5));
		}

		// Set cookie name, value, and expiration date
		document.cookie = name + "=" + value + "; expires=" + date.toGMTString() + "; path=/";
	},

	get: function(name)
	{
		// Find the cookie's value in the document cookie string
		var results = document.cookie.match(
			new RegExp("(?:^|; )" + name + "=" + "(.*?)(?:$|;)")
		);

		// Return the value if a match was found, undefined otherwise
		if (results && results.length > 1)
			return results[1];
		return undefined;
	},

	clear: function(name)
	{
		// Erase a cookie
		exitviralCookie.set(name, "", -1);
	}
};

var exitviral_url;
var exitviral_message;
var exitviral_popup;
var exitviral_limit;
var exitviral_timeout;
var exitviral_delay;
var exitviral_click;
var exitviral_redirect;
var exitviral_copyright;
var exitviral_background;
var exitviral_background_color;
var exitviral_background_opacity;
var exitviral_top_bar;
var exitviral_top_bar_height;
var exitviral_top_bar_color;
var exitviral_top_bar_content;
var exitviral_facebook;
var exitviral_arrow;
var exitviral_arrow_image_height;
var exitviral_arrow_image_width;
var exitviral_arrow_image_offset_x;
var exitviral_arrow_image_offset_y;
var exitviral_arrow_is_ie;
var exitviral_urlfilter_filters;
var exitviral_urlfilter_enable;
var exitviral_urlfilter_type;
var exitviral_urlfilter_ignorequery;
var exitviral_urlfilter_default;

// Cookie shared with Exit Viral
var actionCount = parseInt(exitviralCookie.get("actionCount"), 10);

if (exitviral_delay === undefined)
	exitviral_delay = 0;
else
	exitviral_delay = parseInt(exitviral_delay);

if (isNaN(exitviral_delay))
	exitviral_delay = 0;

function exitviral_enable()
{

	if (exitviral_url === undefined)
		exitviral_url = "http://seohs.com/special-offer.php";

	if (exitviral_message === undefined)
		exitviral_message = "*****************************************************\n Click CANCEL - Click CANCEL - Click CANCEL \n*****************************************************\n\nWAIT BEFORE YOU GO!\n\nI Have Something Very Special For You!\n\nClick The *Stay On Page* Button Right Now!\n\n*****************************************************";

	if (exitviral_popup === undefined)
		exitviral_popup = "*****************************************\n\n     > > > P L E A S E    W A I T < < <\n\nCLICK THE ***STAY ON PAGE*** BUTTON\n  on the NEXT Window for Something\n              VERY Special!\n\n*****************************************";

	if (exitviral_limit === undefined)
		exitviral_limit = 0;

	if (exitviral_timeout === undefined)
		exitviral_timeout = "10";

	if (exitviral_redirect === undefined)
		exitviral_redirect = false;

	if (exitviral_copyright === undefined)
		exitviral_copyright = false;

	if (exitviral_facebook === undefined)
		exitviral_facebook = true;

	if (exitviral_background === undefined)
		exitviral_background = false;

	if (exitviral_background_color === undefined)
		exitviral_background_color = "00f4f4";

	if (exitviral_background_opacity === undefined)
		exitviral_background_opacity = "30";

	if (exitviral_top_bar === undefined)
		exitviral_top_bar = false;

	if (exitviral_top_bar_height === undefined)
		exitviral_top_bar_height = "20";

	if (exitviral_top_bar_color === undefined)
		exitviral_top_bar_color = "0";

	if (exitviral_top_bar_content === undefined)
		exitviral_top_bar_content = "";

	if (exitviral_arrow === undefined)
		exitviral_arrow = true;

	if (exitviral_urlfilter_filters === undefined)
		exitviral_urlfilter_filters = [""];

	if (exitviral_urlfilter_enable === undefined)
		exitviral_urlfilter_enable = false;

	if (exitviral_urlfilter_type === undefined)
		exitviral_urlfilter_type = 1;

	if (exitviral_urlfilter_ignorequery === undefined)
		exitviral_urlfilter_ignorequery = false;

	if (exitviral_urlfilter_default === undefined)
		exitviral_urlfilter_default = 1;

	copyright_message = "";
	if (!exitviral_copyright)
		copyright_message = "\n\xA9 seohs.com";

	if (isNaN(actionCount))
		actionCount = 0;

	if (isNaN(exitviral_limit))
		exitviral_limit = 0;

	if (exitviral_limit > 0 && actionCount >= exitviral_limit)
		return;

	if (exitviral_background &&
		parseInt(exitviral_background_color, 16) >= 0x000000 &&
		parseInt(exitviral_background_color, 16) <= 0xFFFFFF &&
		parseInt(exitviral_background_opacity, 10) >= 0 &&
		parseInt(exitviral_background_opacity, 10) <= 100)
	{
		exitviral_background_div = jQuery('<div style="position:fixed;left:0;top:0;height:100%;width:100%;display:none;background-color:#'+exitviral_background_color+';filter:alpha(opacity='+exitviral_background_opacity+');-khtml-opacity:0.'+exitviral_background_opacity+';-moz-opacity:0.'+exitviral_background_opacity+';opacity:0.'+exitviral_background_opacity+';z-index:99;" id="exitviral_background_div"></div>');
		exitviral_background_div.appendTo('body');
	}

	if (exitviral_facebook)
	{
		exitviral_facebook_button = jQuery('<img class="exitviral_content" src="http://exitviral.com/demo/wp-content/plugins/exit-viral/likebottom.png" alt="Share on Facebook" style="position:fixed;bottom:0;right:0;z-index:999;display:none;" /><iframe class="exitviral_content" src="http://www.facebook.com/plugins/like.php?href='+encodeURIComponent(document.location.href)+'&amp;send=false&amp;layout=standard&amp;width=48&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=24" scrolling="no" frameborder="0" style="position:fixed;right:6px;bottom:3px;border:none;overflow:hidden;width:48px;height:24px;display:none;z-index:999;" allowTransparency="true"></iframe>');
		exitviral_facebook_button.appendTo('body');
	}

	var enable = true;

	if (exitviral_urlfilter_enable)
	{
		var currentPage = document.location.href;
		currentPage = currentPage.substr(0, (currentPage.indexOf(document.location.hash) || currentPage.length));

		if (exitviral_urlfilter_ignorequery)
		{
			currentPage = currentPage.split("?");
			currentPage = currentPage[0];
		}

		var matched = false;
		for (filter_index in exitviral_urlfilter_filters)
		{
			if (exitviral_urlfilter_type === 1 && currentPage.indexOf(exitviral_urlfilter_filters[filter_index] === 0) && currentPage.length == exitviral_urlfilter_filters[filter_index].length)
				matched = true;
			else if (exitviral_urlfilter_type === 2 && currentPage.indexOf(exitviral_urlfilter_filters[filter_index]) !== -1)
				matched = true;
		}

		if (exitviral_urlfilter_default === 1 && matched === true)
			enable = false;
		else if (exitviral_urlfilter_default === 2 && matched === false)
			enable = false;
	}

	if (enable)
	{
		window.onbeforeunload = function()
		{
			if (exitviral_url != '' && !exitviral_redirect)
			{
				if (exitviral_top_bar &&
					parseInt(exitviral_top_bar_color, 16) >= 0x000000 &&
					parseInt(exitviral_top_bar_color, 16) <= 0xFFFFFF &&
					parseInt(exitviral_top_bar_height, 10) > 0)
					exitviral_content_frame = jQuery('<div class="exitviral_content" style="position:fixed;top:0;left:0;z-index:9;width:100%;height:100%;display:none;"><span class="exitviral_content" style="text-align:left;position:absolute;top:0;left:0;z-index:9;width:100%;height:'+exitviral_top_bar_height+'px;background-color:#'+exitviral_top_bar_color+';">'+exitviral_top_bar_content+'</span><iframe class="exitviral_content" id="exitviral_content_frame" src="' + exitviral_url + '" scrolling="yes" style="border:none;height:100%;left:0px;overflow:auto;position:absolute;top:'+exitviral_top_bar_height+'px;width:100%;z-index:9;"></iframe></div>');
				else
					exitviral_content_frame = jQuery('<iframe class="exitviral_content" id="exitviral_content_frame" src="' + exitviral_url + '" scrolling="yes" style="border:none;display:none;height:100%;left:0px;overflow:auto;position:absolute;top:0px;width:100%;z-index:9;"></iframe>');

				exitviral_content_frame.appendTo('body');
			}

			actionCount++;
			var actionTimeObject = new Date();
			actionTimeObject = Date.parse('+' + exitviral_timeout);
			exitviralCookie.set("actionCount", actionCount, actionTimeObject);

			if (window.chromium || window.google || navigator.userAgent.indexOf('Safari') != -1)
			{
				exitviral_disable();
			}

			if (exitviral_background)
			{
				jQuery('#exitviral_background_div').show();

				jQuery(document).bind('mousemove', function()
				{
					jQuery('#exitviral_background_div').remove();
				});
			}

			if (exitviral_popup != '')
			{
				alert(exitviral_popup + copyright_message);
			}

			if (exitviral_url != '' && exitviral_redirect)
			{
				window.location = exitviral_url;
			}
			else if (exitviral_url != '' && !exitviral_redirect)
			{
				exitviral_disable();
				jQuery('.exitviral_content').show();
				jQuery('body > :not(.exitviral_content)').remove();
			}

			if (exitviral_message == '')
				return exitviral_message + copyright_message;
			return exitviral_message + copyright_message;
		}

		jQuery("a").each(function(i, obj)
		{
			var href = jQuery(obj).attr("href");
			if (href != undefined)
				jQuery(this).bind("click", exitviral_temp_disable);
		});

		jQuery("form").each(function(i, obj) {
			var href = jQuery(obj).attr("action");
			if (href != undefined)
				jQuery(this).bind("submit", exitviral_temp_disable);
		});

		jQuery("iframe").each(function(i, obj)
		{
			try {
				jQuery(this).load(function()
				{
					jQuery("a", jQuery(obj).contents()).each(function(i, obj)
					{
						var href = jQuery(obj).attr("href");
						if (href != undefined)
							jQuery(this).bind("click", exitviral_temp_disable);
					});

					jQuery("form", jQuery(obj).contents()).each(function(i, obj)
					{
						var href = jQuery(obj).attr("action");
						if (href != undefined)
							jQuery(this).bind("submit", exitviral_temp_disable);
					});
				});
			}
			catch (e)
			{
			}
		});
	}
}

function insertArrow(image, width, height, offsetX, offsetY, isIE)
{
	arrow_image_width = width;
	arrow_image_height = height;
	arrow_image_offset_x = offsetX;
	arrow_image_offset_y = offsetY;
	arrow_is_ie = isIE;

	positionLeft = (((arrow_is_ie) ? window.screen.availWidth : window.innerWidth) / 2) - (arrow_image_width / 2) + arrow_image_offset_x;
	positionTop = (((arrow_is_ie) ? window.screen.availHeight : window.innerHeight) / 2) - (arrow_image_height / 2) - arrow_image_offset_y;

	img = jQuery('<div style="position:fixed;top:0;left:0;height:100%;width:100%;display:block;z-index:99;" class="exitviral_content" id="exitviral_arrow_background"><img src="'+image+'" style="position:fixed;left:'+positionLeft+'px;top:'+positionTop+'px;height:'+height+'px;width:'+width+'px;display:none;z-index:999;" class="exitviral_content" id="exitviral_arrow" /></div>');
	img.appendTo("body");

	jQuery(window).resize(function()
	{
		positionLeft = (((arrow_is_ie) ? window.screen.availWidth : window.innerWidth) / 2) - (arrow_image_width / 2) + arrow_image_offset_x;
		positionTop = (((arrow_is_ie) ? window.screen.availHeight : window.innerHeight) / 2) - (arrow_image_height / 2) - arrow_image_offset_y;

		jQuery("#exitviral_arrow").css("left", positionLeft);
		jQuery("#exitviral_arrow").css("top", positionTop);
	});
}

function exitviral_temp_disable()
{
	exitviral_disable();
	setTimeout("exitviral_enable();", 1e3);
}

function exitviral_disable()
{
	window.onbeforeunload = null;
}

jQuery(function()
{
	if (exitviral_delay > 0)
		setTimeout("exitviral_enable();", exitviral_delay * 1e3);
	else
		exitviral_enable();

	if (exitviral_arrow)
	{
		if (navigator.userAgent.indexOf("MSIE") != -1)
			insertArrow("http://exitviral.com/demo/wp-content/plugins/exit-viral/ie9.gif", 173, 77, 0, -133, true);
		else if (navigator.userAgent.indexOf("Firefox") != -1)
			insertArrow("http://exitviral.com/demo/wp-content/plugins/exit-viral/firefox.gif", 173, 77, -07, -70, false);
		else if (navigator.userAgent.indexOf("Chrome") != -1)
			insertArrow("http://exitviral.com/demo/wp-content/plugins/exit-viral/chrome.gif", 173, 77, 50, -140, false);
		else if (navigator.userAgent.indexOf("Safari") != -1)
			insertArrow("http://exitviral.com/demo/wp-content/plugins/exit-viral/safari.gif", 173, 77, 120, -177, false);
	}

	jQuery(window).mousemove(function()
	{
		jQuery("#exitviral_arrow").hide();
		jQuery("#exitviral_arrow_background").hide();
	});
});
