jQuery.noConflict();

// replacement of submit buttons with custom submit links
function replaceSubmitButton(wrapper, cssClass)
{
	var submitBtn = wrapper.find('input:submit');
	var submitLink = jQuery('<a href="#" class="' + cssClass + '"><span>' + submitBtn.val() + '</span></a>');
	submitBtn.replaceWith(submitLink);
	submitLink
		.click(function()
				{
					var form = jQuery(this).parents('form');
					form.submit();
					return false;
				})
}

function replaceSubmitButtons()
{
	replaceSubmitButton(jQuery('#RegisterForm'), 'btnSubmitEntry');	
}

function initUITabs()
{
	// home tabs
	jQuery('#HomeTabs')
		.css('overflow', 'visible')
		.tabs({
			fx: {opacity: 'toggle', duration: 'fast'},
			show: function(event, ui)
				{
					jQuery('#HomeTabs').css('visibility', 'visible');
					var activePanel = jQuery(ui.panel);
					
					jQuery('.tab-content ul.InnerSlideshow').cycle('pause');
					
					activePanel.find('#tab-content-OnlyOnEbay ul.InnerSlideshow').cycle('resume')							
				},
			selected: Math.floor(jQuery('#HomeTabs>ul:first>li').size() * Math.random())

		});
}

function initTabsSlideshows()
{
	// Only on eBay slideshow
	jQuery('.tab-content #tab-content-OnlyOnEbay ul.InnerSlideshow')
		.cycle({
		       	fx: 'scrollLeft', 
			easing: 'easeInOutBack', 
			timeout: 8000, 
			pause: 1, 
			random: 0,
			next: '.tab-content #tab-content-OnlyOnEbay a.btnNext', 
			prev: '.tab-content #tab-content-OnlyOnEbay a.btnPrev',
			
			pager: '.tab-content #tab-content-OnlyOnEbay ul.InnerSlideshowPager',
			pagerAnchorBuilder: function(idx, slide)
						{ 
							return '<li><a href="#">' + idx + '</a></li>'; 
						},
			prevNextClick:  function(isNext, slideIndex, slideElement) 
					{
						jQuery(slideElement).parents('ul.InnerSlideshow:first').cycle('pause');
					},
			pagerClick:  function(slideIndex, slideElement) 
					{ 
						jQuery(slideElement).parents('ul.InnerSlideshow:first').cycle('pause');
					}
			});
	// Your Progress scroller
	jQuery('.tab-content #tab-content-YourProgress #YourProgressSlideScroller ul')
		.cycle({
		       	fx: 'scrollHorz', 
			easing: 'swing', 
			timeout: 0, 
			random: 1,
			next: '#YourProgressSlideScroller a.btnNext', 
			prev: '#YourProgressSlideScroller a.btnPrev'
		});
}

// Your Impact page slideshows boxes
function initImpactBoxesSlideshow()
{
	jQuery('#YourImpactContent ul.Slides').cycle({fx: 'fade', timeout: 6000, pause: 1, random: 1, sync: false});
}

// social networking overlays
function initSNOverlays()
{
	jQuery('ul.snHomeLinks a[rel=snLink], ul.snSideLinks a[rel=snLink]')// social networking overlay triggers
		.click(function()
			{
				var lnk = jQuery(this);
				var target = jQuery(lnk.attr('href'));
				
				lnk.fadeTo('normal', 1); // highlight selection
				lnk.parents('ul').find('a[rel=snLink]').not(lnk).fadeTo('fast', 0.5); // fade other links
					
				if(target.size() > 0)
				{
					jQuery('body>.snOverlay').fadeTo('fast', 0.1, function(){jQuery(this).css('display', 'none');}) // close any existing overlays
					target
						.stop()
						.appendTo('body')// reposition selected overlay
						.css({
							position: 'absolute',
							zIndex: 1000,
							left: lnk.offset().left - target.width()/2 + lnk.width()/2 + 'px',
							top: lnk.offset().top - getFullHeight(target) -1  +  'px',
							opacity: 0.1,
							display: 'block'
						})
						.fadeTo('normal', 1, function()// show selected overlay
									{
										var overlay = jQuery(this);
										var closeBtn = overlay.find('a.btnCloseOverlay');
										if(closeBtn.size() == 0) // create close button
										{
											var closeBtn = jQuery('<a class="btnCloseOverlay" href="#" title="close">[X]</a>');
											closeBtn
												.appendTo(overlay)
												.click(function()
													{
														// close overlay
														overlay.fadeTo('fast', 0.1, function(){jQuery(this).css('display', 'none');})
														// fade in sn links
														jQuery('ul.snHomeLinks a[rel=snLink], ul.snSideLinks a[rel=snLink]').fadeTo('normal', 1)
														return false
													});
										}
									});
					return false;
				}
			})
}

// returns the full height of an element (height + padding + border)
function getFullHeight(el)
{
	return el.height() + (parseInt(el.css('paddingTop'))||0) + (parseInt(el.css('paddingBottom'))||0) + (parseInt(el.css('borderTopWidth'))||0) + (parseInt(el.css('borderBottomWidth'))||0);
}

var uiPT = null; // ui popup trigger, stores the link that triggered the UI popup
function initUIPopups()
{	
	var rLinks = jQuery('a[rel="#RegistrationNotice"]'); // registration trigger links
	if(rLinks.size() > 0)
	{
		createRegistrationNoticeDialog(); // dynamically create registration dialog
		rLinks.click(function()
				{
					uiPT = jQuery(this);
					if (sweepsRegistered()) // visitor registered for sweepstakes, link goes directly to the url
					{
						if(uiPT.attr('target') == '_blank')
							open(uiPT.attr('href'))
						else
							location.href = uiPT.attr('href');
					}
					else // visitor not registered for sweepstakes, show dialog
					{	
						jQuery(uiPT.attr('rel')).dialog('open');
					}
					return false
				});
	}
}

function createRegistrationNoticeDialog()
{
	var d = jQuery('<div id="RegistrationNotice" title="NOTICE" style="display: none"><p>We did not detect you are registered for the sweepstakes yet.</p></div>');
	d.appendTo('body')
		.dialog({
					autoOpen: false,
					width: 400,
					modal: true,
					draggable: false,
					resizable: false,
					buttons: {						
						"Continue": function()
								{
									jQuery(this).dialog("close"); // user not registered, accesses page without registration
									if(uiPT.attr('target') == '_blank')
										open(uiPT.attr('href'))
									else
										location.href = uiPT.attr('href');
								},
						"Register Now": function()
								{ 
									// user not registered, goes to the registration page
									jQuery(this).dialog("close"); 
									location.href = 'http://ebay.promotionexpert.com/givegoodgreen/login.html';
								}
					}
				});
}

function sweepsRegistered()
{
	//  'sweepsRegistered' cookie == 1 => user registered
	var sweepsRegistered = jQuery.cookie('sweepsRegistered');
	if(sweepsRegistered)
		if(sweepsRegistered > 1)
			return true
	return false;
}

function initUIBannerPopups()
{
	var bpTriggers = jQuery('a.bannerOverlayTrigger');
	if(bpTriggers.size() > 0)
	{
		jQuery('.bnrOverlay')
				.dialog({
					autoOpen: false,
					width: 400,
					modal: true,
					draggable: false,
					resizable: false,
					buttons: {
							"Close": function() {
								jQuery(this).dialog('close');
							}
						}
				})
			.find('textarea').click(function(){jQuery(this).select();trackThis("banner-copied");})
		
		bpTriggers.click(function()
				{
					var bpt = jQuery(this);
					jQuery(bpt.attr('rel')).dialog('option', 'width', getGGGPopupWidth(bpt.attr('rel'))).dialog('open');	
					return false
				})
	}
}

function getGGGPopupWidth(popupId)
{
	switch(popupId)
	{
		case '#bnrOverlay_160x600': return 500;
		case '#bnrOverlay_300x250': return 324;
		case '#bnrOverlay_728x90': return 752;
		case '#bnrOverlay_468x60': return 492;
	}
	return 400
}
	
function initToolTips()
{
	jQuery(".TooltipTrigger")
		.each(function()
			{
				var tt = jQuery(this);
				var tttt = jQuery(this).attr('rel');
				tt.tooltip({
						tip: jQuery(this).attr('rel'),
						offset: [30, 0],
						opacity: 1
					 });
			});
}
	
jQuery(function(){
	replaceSubmitButtons();
	initUITabs();
	initTabsSlideshows();
	initImpactBoxesSlideshow();
	initSNOverlays();
	initUIPopups();
	initUIBannerPopups();
	initToolTips()
})