(function(jQuery) 
{
    var displayingSub = false;
    jQuery.fn.HideDialog = function() 
	{
        return this.each(function() 
		{
            var mainDiv = jQuery(this);
            mainDiv.hide();
        });
    }
    jQuery.fn.SubDialog = function(o) 
	{
        o = jQuery.extend(
		{
            btnClose: null,
            styles: null,
            whichClick: 2,
			daysBetweenOffers: 2,
			expire_cookie_name: "sub_expire",
			clicks_cookie_name: "sub_pages"
        }, o || {});

        var mainDiv = null;

        return this.each(function() 
		{
            mainDiv = jQuery(this);

            if (o.btnClose) 
			{
                jQuery(o.btnClose).click(function() 
				{
                    closeDialog();
                });
            }
			
			var cookieTimeout = (o.daysBetweenOffers * 23 * 60 * 60);
            var lastDisplayed = jQuery.cookie(o.expire_cookie_name);
            var value = parseInt(jQuery.cookie(o.clicks_cookie_name));
            
			if (lastDisplayed == undefined) 
			{
                value = 0;
                jQuery.cookie(o.expire_cookie_name, "1", { expires: cookieTimeout });
            }
			
            if (value) 
			{
                if (value == (o.whichClick - 1)) 
				{
                    displayDialog();
                    jQuery.cookie(o.clicks_cookie_name, value + 1, { expires: cookieTimeout });
					try
					{
						if (subs_mag_id) 
						{
							jQuery.cookie("sub_mag", subs_mag_id, { expires: 365 * 23 * 60 * 60});
						}
					}
					catch(err)
					{
					}
                } 
				else 
				{
                    jQuery.cookie(o.clicks_cookie_name, value + 1, { expires: cookieTimeout });
                }
            } 
			else 
			{
                jQuery.cookie(o.clicks_cookie_name, "1", { expires: cookieTimeout });
            }
        });

        function closeDialog() 
		{
            jQuery(mainDiv).hide();
            displayingSub = false;
        }
		
        function displayDialog() 
		{
            var ie = document.all && !window.opera;
            var dom = document.getElementById;
            iebody = (document.compatMode == "CSS1Compat") ? document.documentElement : document.body;
            objref = jQuery(mainDiv).get(0);
            var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
            var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
            var docheight = (ie) ? iebody.clientHeight : window.innerHeight;

            var objwidth = jQuery(mainDiv).width();
            var objheight = jQuery(mainDiv).height();
			jQuery(mainDiv).css("position", "absolute");
            jQuery(mainDiv).css("left", ((docwidth / 2) - (objwidth / 2)) + "px");
			var topPos = (scroll_top + (docheight / 2) - (objheight / 2));
			if(topPos < 0)
			{
				topPos = 0;
			}
            jQuery(mainDiv).css("top", topPos + "px");

            jQuery.cookie("sub_expire", "1", { expires: o.daysBetweenOffers * 23 * 60 * 60 });

            jQuery(mainDiv).show();
	    jQuery(mainDiv).css ('z-index','100');
            jQuery(mainDiv).css('display', 'block');
            displayingSub = true;

            jQuery(window).keydown(function(event) 
			{
                if (event.keyCode && event.keyCode === 27) 
				{
                    closeDialog()
                    event.preventDefault();
                }
            });
        }
    }
})(jQuery);

/**
* Cookie plugin
*
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/

/**
* Create a cookie with the given name and value and other optional parameters.
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Set the value of a cookie.
* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
* @example $.cookie('the_cookie', null);
* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
*       used when the cookie was set.
*
* @param String name The name of the cookie.
* @param String value The value of the cookie.
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
*                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
*                             If set to null or omitted, the cookie will be a session cookie and will not be retained
*                             when the the browser exits.
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
*                        require a secure protocol (like HTTPS).
* @type undefined
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/

/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(name, value, options) 
{
    if (typeof value != 'undefined') 
	{ 
		// name and value given, set cookie
		o = jQuery.extend(
		{
            expires: null,
            path: '/',
            domain: null,
			secure: null
        }, options || {});
		
        if (value === null) 
		{
            value = '';
            o.expires = -1;
        }
        var expires = '';
        if (o.expires && (typeof o.expires == 'number' || o.expires.toUTCString)) 
		{
            var date;
            if (typeof o.expires == 'number') 
			{
                date = new Date();
                date.setTime(date.getTime() + (o.expires * 1000));
            } 
			else 
			{
                date = o.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
		var path = '';
		if(o.path)
		{
			path = '; path=' + o.path;
		}
		var domain = '';
		if(o.domain)
		{
			domain = '; domain=' + o.domain;
		}        
		var secure = '';
		if(o.secure)
		{
			secure = '; secure';
		}
		var cookieString = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');		
        document.cookie = cookieString;		
    } 
	else 
	{ 
		// only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') 
		{
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) 
			{
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) 
				{
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

jQuery.deleteCookie = function(name) 
{
    var cookie_date = new Date();  // current date & time
    cookie_date.setTime(cookie_date.getTime() - 1);
    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
};

function submitOffer(formObj, url) 
{ 
	var theString = "";	
	
	theString += url;
	theString += "&iOrdBillName=" + escape(formObj.iOrdBillName.value);
	theString += "&iOrdBillAddr1=" + escape(formObj.iOrdBillAddr1.value);
	theString += "&iOrdBillAddr2=" + escape(formObj.iOrdBillAddr2.value);
	theString += "&iOrdBillCity=" + escape(formObj.iOrdBillCity.value);
	theString += "&iOrdBillState=" + escape(formObj.iOrdBillState.options[formObj.iOrdBillState.selectedIndex].value);
	theString += "&iOrdBillPCode=" + escape(formObj.iOrdBillPCode.value);
	theString += "&iOrdBillCountry=" + escape(formObj.iOrdBillCountry.value);
	theString += "&iOrdBillEmail=" + escape(formObj.iOrdBillEmail.value);
	window.open(theString, 'mywindow', '');
	return false;
}
function AimTrackEvent(category, action, opt_label, opt_value)
{
	try
	{		
		pageTracker._trackEvent(category, action, opt_label, opt_value);
	}
	catch(err)
	{
	}	
	return true;
}
