﻿var SiteHelper;

(function ($) {

	SiteHelper = {
		is_loaded: false,
		
		initialize: function () {
			var self = this;
			
			this.is_loaded = true;
			this.detectPopups();
			this.detectWT8Track();
			
			$('#customer_service').click(function (e) { self.openCs(e) });
			$('#fp_help').click(function (e) { self.openHelp(e) });
			$('#email_friend').click(function (e) { self.openEmail(e) });
		},

		exitSite: function (from, destination, windowName, options, goesto, pid, sSite) {
			while (destination.indexOf('+') != -1)
				destination = destination.replace('+', 'FPSMBplusFPSMB');
		
			if (destination.indexOf("golink.asp") != -1)
				newWindow = window.open(destination + '&FPFrom=' + from, windowName, options);
			else
				newWindow = window.open('/' + sSite + '/leaving.asp?FPDest=' + escape(destination) + '&FPFrom=' + escape(from) + '&goto=' + escape(goesto) + '&pid=' + pid, windowName, options);
		},
		
		openEmail: function (e) {
			e.preventDefault();
			thisHref = $('#email_friend').attr('href'); 
			window.open(thisHref, 'emailWindow', 'left=150,top=50,screenX=200,screenY=100,resizable=yes,scrollbars=yes,toolbar=no,width=500,height=560');
		},
		
		openHelp : function (e) {
			e.preventDefault();
			thisHref = $('#fp_help').attr('href'); 
			window.open(thisHref, 'fphelp', 'left=5,top=10,screenX=100,screenY=100,resizable=yes,location=yes,scrollbars=yes,toolbar=yes,menubar=yes,width=790,height=470');
		},

		openCs : function (e) {
			e.preventDefault();
		
			thisHref = $('#customer_service').attr('href');
			thisSite = thisHref.match(/(\w{1,})(?=\/default)/g)[0];
			this.exitSite('/'+thisSite+'/default.asp?', thisHref, 'MATTELCR', 'left=5,top=10,screenX=100,screenY=100,resizable=yes,location=yes,scrollbars=yes,toolbar=yes,menubar=yes,width=790,height=470', 'Customer Service', '-1', thisSite);
		},
		
		validateSearch: function (default_text, options) {
			var defaults = {
				error_tooltip: true,
				error_text: 'Enter word(s) or item #'
			};
			
			var opts = $.extend({}, defaults, options);
			
			$('form#searchform input[name=\'keyword\']').focus(function () {
				var $this = $(this);
				if($this.hasClass('error')) {
					$this.removeClass('error');
				}
				if ($.trim($this.val()) == default_text || $.trim($this.val()) == opts.error_text) {
					$this.val('');
				}
			});
			$('form#searchform input[name=\'keyword\']').blur(function () { 
				var $this = $(this);
				if( $.trim($this.val()) == '') {
					$this.val(default_text);
				}
			});
			
			$('form#searchform').submit(function () {
				var $form = $(this);
				var $keyword = $('input[name=\'keyword\']', $form);
				if ($.trim($keyword.val()) != default_text && $keyword.val() != '' && $keyword.val() != 'search' && $keyword.val() != opts.error_text) {
					return true;
				} else {
					$keyword.blur();
					if (opts.error_tooltip) {
						$.getUniqueScript('/pages/script/jquery/jquery.fp.plugin.tooltip.js', function () {
							$form.tooltip(opts.error_text, { name: 'search', corner: true });
						});
					} else {
						$keyword.val(opts.error_text);
						if(!$keyword.hasClass('error')) {
							$keyword.addClass('error');
						}
					}
					return false;
				}
			});
		},
		
		detectPopups: function () {
			$('a[rel^=popup]').click(function (e) {
				e.preventDefault();
				var $link = $(this);
				var options = $link.attr('rel').split('|');
				
				var settings = {
					width: options[1] || 800,
					height: options[2] || 600,
					scrollbars: ($.inArray('scrollbars', options) != -1) ? 1 : 0,
					resizable: ($.inArray('resizable', options) != -1) ? 1 : 1,
					toolbar: ($.inArray('toolbar', options) != -1) ? 1 : 0,
					status: ($.inArray('status', options) != -1) ? 1 : 0,
					location: ($.inArray('location', options) != -1) ? 1 : 0,
					menubar: ($.inArray('menubar', options) != -1) ? 1 : 0
				};
				if (typeof popupwin != 'undefined' && !popupwin.closed) popupwin.close();
				popupwin = window.open($link.attr('href'), 'popup', 'width=' + settings.width + ',height=' + settings.height + ',scrollbars=' + settings.scrollbars + ',toolbar=' + settings.toolbar + ',status=' + settings.status + ',resizable=' + settings.resizable + ',location=' + settings.location + ',menubar=' + settings.menubar);
			});
			
			if( typeof DomHelper == 'undefined') {
				$('a[rel^=pdf]').append('<em class="window-warning">&nbsp;(<abbr title="Portable Document Format">PDF</abbr>, opens in new window)</em>');
				$('a[rel^=pdf]').click(function (e) {
					e.preventDefault();
					var $link = $(this);				
					var pdfwin = window.open($link.attr('href'), 'pdf', 'location=no,scrollbars,menubar,resizable,toolbar=no');
				});
				
				$('a[rel^=buy]').click(function (e) {
					e.preventDefault();
					var $link = $(this);				
					var buywin = window.open($link.attr('href'), 'buy', 'location,scrollbars,menubar,resizable,toolbar,width=782,height=400');
				});
				
				$('a[rel^=external]').click(function (e) {
					e.preventDefault();
					var $link = $(this);				
					var newwin = window.open($link.attr('href'), 'new', 'location,scrollbars,menubar,resizable,toolbar');
				});
			}
		},
		
		detectWT8Track: function () {
			$('a[wt8track]').click(function (e) {
				var $link = $(this);
				var params = $link.attr('wt8track').split('|');
				
				var settings = {
					name: params[0] || 'NONE',
					campaign: params[1] || 'NONE',
					channel: params[2] || 'NONE',
					contenttype: params[3] || 'NONE',
					action: params[4] || 'NONE'
				};
				
				if(typeof Tracker != 'undefined') {
					if((typeof WT == 'undefined') || ( !WT.wt8trackCalled))  {
						var scriptCall = 'Tracker.track(' + '{name:\'' + settings.name.replace(/\\/g,"\\\\").replace(/\'/g,"\\\'") +  				
							'\',campaign:CAMPAIGN.' + settings.campaign.toUpperCase() + 
							',channel:CHANNEL.' + settings.channel.toUpperCase() +
							',contenttype:CONTENTTYPE.' + settings.contenttype.toUpperCase() + 
							',action:ACTION.' + settings.action.toUpperCase() + '})';
						eval(scriptCall);
					}
				}
			});
		}
	};

	$(document).ready(function () {
		if(!SiteHelper.is_loaded) SiteHelper.initialize();
	});

}) (jQuery);