/* standard functions */
; $().ready(function() { $('div.container').corner(); $('div.flyout a').flyout(); $('.hoverbox').hoverbox() })
; Number.prototype.toHexFixed = function() { return isNaN(this) ? 'NaN' : (this < 16 ? '0' + this.toString(16) : this.toString(16)) }
; String.prototype.RGBtoHEX = function() { var a = /(\d+)\D+(\d+)\D+(\d+)/; var b = a.test(this); var c = ['#' + Number(RegExp.$1).toHexFixed(), Number(RegExp.$2).toHexFixed(), Number(RegExp.$3).toHexFixed()].join(''); return b ? c : this }
; String.prototype.endsWith = function(t, i) { if (i == false) { return (t == this.substring(this.length - t.length)) } else { return (t.toLowerCase() == this.substring(this.length - t.length).toLowerCase()) } }
; function loader(a, b) { var t = (b) ? b : 0; if (a) { $('.loader').css('display', 'inline') } else { $('.loader').css('display', 'none') } }
; function login() { var d = $('#facebox').find('#email').val(); if (d == null) { d = $('#email').val() } var e = $('#facebox').find('#rememberMe').attr('checked'); if (e == null) { e = $('#rememberMe').val() } var p = $('#facebox').find('#password').val(); if (p == null) { p = ' ' } var f = new RegExp("//.*?/"); var g = $("base")[0].href; var h = f.exec(window.location.href).toString(); var i = f.exec(g).toString(); var j = g.replace(f, h); var k = j + 'account/logon'; var l = j + 'account/logoff'; var m = function(a, b) { var c = eval("(" + a + ")"); window.location = c.url }; if (i.toLowerCase() != h.toLowerCase()) { m = function(a, b) { $.ajax({ url: l, type: 'GET', async: false }); window.location = g + 'account/logon?email=' + d + '&password=' + p + '&rememberMe=' + e } } $.ajax({ url: k, type: 'POST', data: 'email=' + d + '&password=' + p + '&rememberMe=' + e, beforeSend: loader(true), completed: loader(false), success: m, error: function(a, b) { var c = eval("(" + a.responseText + ")"); $('#email').attr('class', 'input-validation-error'); $('.message').text(c.error).css({ 'display': 'inline' }).attr('class', 'field-validation-error') } }); return true }
; function generate_password() { var email = $("#facebox").find("#reset_email").val(); if (email == null) { email = $("#reset_email").val() } $("#facebox").find("#reset_message").css({ display: "none" }); var hostRE = new RegExp("//.*?/"); var baseURL = $("base")[0].href; var currentHost = hostRE.exec(window.location.href).toString(); var baseHost = hostRE.exec(baseURL).toString(); var modBaseURL = baseURL.replace(hostRE, currentHost); var logonURL = modBaseURL + "account/generatepassword"; $.ajax({ url: logonURL, type: "POST", data: "email=" + email, beforeSend: loader(true), completed: loader(false), success: function(response, status) { var result = eval("(" + response + ")"); $("#facebox").find("#reset_message").text(result.message).css({ display: "inline" }).attr("class", "field-validation-success"); $("#facebox").find("#send").css({ visibility: "hidden" }); $("#facebox").find("#close").css({ visibility: "visible" }) }, error: function(response, status) { var result = eval("(" + response.responseText + ")"); $("#facebox").find("#reset_message").text(result.error).css({ display: "inline" }).attr("class", "field-validation-error") } }); return true }
; function change_password() { var currentpassword = $("#facebox").find("#current_password").val(); var newpassword = $("#facebox").find("#new_password").val(); var confirmpassword = $("#facebox").find("#confirm_password").val(); $("#facebox").find("#change_message").css({ display: "none" }); var hostRE = new RegExp("//.*?/"); var baseURL = $("base")[0].href; var currentHost = hostRE.exec(window.location.href).toString(); var baseHost = hostRE.exec(baseURL).toString(); var modBaseURL = baseURL.replace(hostRE, currentHost); var logonURL = modBaseURL + "account/changepassword"; $.ajax({ url: logonURL, type: "POST", data: "currentpassword=" + currentpassword + "&newpassword=" + newpassword + "&confirmpassword=" + confirmpassword, beforeSend: loader(true), completed: loader(false), success: function(response, status) { var result = eval("(" + response + ")"); $("#facebox").find("#chg_message").text(result.message).css({ display: "inline" }).attr("class", "field-validation-success"); $("#facebox").find("#change").css({ visibility: "hidden" }); $("#facebox").find("#close").css({ visibility: "visible" }) }, error: function(response, status) { var result = eval("(" + response.responseText + ")"); $("#facebox").find("#chg_message").text(result.error).css({ display: "inline" }).attr("class", "field-validation-error") } }); return true }
; function popup_calculator(a, b, c) { window.open(a, b, c); return false }
; function popup_thankyou() { $.facebox.settings.showClose = true; $.facebox($('#popup_thankyou')); return false }
; function popup_guidelines() { $.facebox.settings.showClose = true; $.facebox($('#popup_guidelines')); return false }
; function popup_cardchoice() { $.facebox.settings.showClose = true; $.facebox($('#popup_cardchoice')); return false }
; function load_template(i) { $('#facebox').find('#pcsFrame').children().remove(); $('#facebox').find('#pcsFrame').append('<iframe src="' + CardImageDesigners[i].URL + '" frameborder="0" width="770" height="450"></iframe>') }
; function popup_pcs(i) { $.facebox.settings.showClose = true; $.facebox($('#popup_pcs')); load_template(i); if (i > 0) { cardtemplates_load(); $('#facebox').find('#popup_templates').css({ 'visibility': 'visible' }) } else { $('#facebox').find('#popup_templates').css({ 'visibility': 'hidden' }) } $('#facebox').css({ 'top': (($(window).height() - $('#facebox table').height()) / 2 + $(window).scrollTop() + "px"), 'left': (($(window).width() - $('#facebox table').width()) / 2 + $(window).scrollLeft() + "px") }); return false }
; function email_template_select() { $.get("marketing/emailtemplate", { type: $('#selection').attr("selectedIndex") }, function(a) { $('#code').html(a) }, "html") }
; function email_template_generate() { $.ajax({ url: 'marketing/emailer', type: 'POST', data: 'type=' + $('#selection').attr("selectedIndex"), beforeSend: loader(true), completed: loader(false), success: function(a, b) { $.facebox.settings.showClose = true; $.facebox($('#popup_message')) }, error: function(a, b) { var c = eval("(" + a.responseText + ")"); alert('Error : ' + c.error) } }) }
; function cardimages_sortable() { $('#cards-list').sortable({ handle: '.handle', update: function() { $('#save').css('display', 'inline') } }); $('#save').click(function() { var d = new Array(); $('#cards-list div').each(function(i, a) { d[i] = a.id }); var e = { values: d }; $.ajax({ url: 'marketing/orderpublishedcardimages', type: 'POST', data: e, beforeSend: loader(true), completed: loader(false), success: function(a, b) { $('#save').css('display', 'none'); alert('Your new order of card designs has been saved.') }, error: function(a, b) { var c = eval("(" + a.responseText + ")"); alert('Error : ' + c.error) } }) }) }

/* jQuery Rounded Corners */
; (function($) { $.fn.corner = function(o) { var k = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent); function sz(a, p) { return parseInt($.css(a, p)) || 0 }; function hex2(s) { var s = parseInt(s).toString(16); return (s.length < 2) ? '0' + s : s }; function gpc(a) { for (; a && a.nodeName.toLowerCase() != 'html'; a = a.parentNode) { var v = $.css(a, 'backgroundColor'); if (v.indexOf('rgb') >= 0) { if ($.browser.safari && v == 'rgba(0, 0, 0, 0)') continue; var b = v.match(/\d+/g); return '#' + hex2(b[0]) + hex2(b[1]) + hex2(b[2]) } if (v && v != 'transparent') return v } return '#ffffff' }; function getW(i) { switch (t) { case 'round': return Math.round(q * (1 - Math.cos(Math.asin(i / q)))); case 'cool': return Math.round(q * (1 + Math.cos(Math.asin(i / q)))); case 'sharp': return Math.round(q * (1 - Math.cos(Math.acos(i / q)))); case 'bite': return Math.round(q * (Math.cos(Math.asin((q - i - 1) / q)))); case 'slide': return Math.round(q * (Math.atan2(i, q / i))); case 'jut': return Math.round(q * (Math.atan2(q, (q - i - 1)))); case 'curl': return Math.round(q * (Math.atan(i))); case 'tear': return Math.round(q * (Math.cos(i))); case 'wicked': return Math.round(q * (Math.tan(i))); case 'long': return Math.round(q * (Math.sqrt(i))); case 'sculpt': return Math.round(q * (Math.log((q - i - 1), q))); case 'dog': return (i & 1) ? (i + 1) : q; case 'dog2': return (i & 2) ? (i + 1) : q; case 'dog3': return (i & 3) ? (i + 1) : q; case 'fray': return (i % 2) * q; case 'notch': return q; case 'bevel': return i + 1 } }; o = (o || "").toLowerCase(); var l = /keep/.test(o); var m = ((o.match(/cc:(#[0-9a-f]+)/) || [])[1]); var n = ((o.match(/sc:(#[0-9a-f]+)/) || [])[1]); var q = parseInt((o.match(/(\d+)px/) || [])[1]) || 10; var r = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/; var t = ((o.match(r) || ['round'])[0]); var u = { T: 0, B: 1 }; var x = { TL: /top|tl/.test(o), TR: /top|tr/.test(o), BL: /bottom|bl/.test(o), BR: /bottom|br/.test(o) }; if (!x.TL && !x.TR && !x.BL && !x.BR) x = { TL: 1, TR: 1, BL: 1, BR: 1 }; var y = document.createElement('div'); y.style.overflow = 'hidden'; y.style.height = '1px'; y.style.backgroundColor = n || 'transparent'; y.style.borderStyle = 'solid'; return this.each(function(a) { var b = { T: parseInt($.css(this, 'paddingTop')) || 0, R: parseInt($.css(this, 'paddingRight')) || 0, B: parseInt($.css(this, 'paddingBottom')) || 0, L: parseInt($.css(this, 'paddingLeft')) || 0 }; if ($.browser.msie) this.style.zoom = 1; if (!l) this.style.border = 'none'; y.style.borderColor = m || gpc(this.parentNode); var c = $.curCSS(this, 'height'); for (var j in u) { var f = u[j]; if ((f && (x.BL || x.BR)) || (!f && (x.TL || x.TR))) { y.style.borderStyle = 'none ' + (x[j + 'R'] ? 'solid' : 'none') + ' none ' + (x[j + 'L'] ? 'solid' : 'none'); var d = document.createElement('div'); $(d).addClass('jquery-corner'); var g = d.style; f ? this.appendChild(d) : this.insertBefore(d, this.firstChild); if (f && c != 'auto') { if ($.css(this, 'position') == 'static') this.style.position = 'relative'; g.position = 'absolute'; g.bottom = g.left = g.padding = g.margin = '0'; if ($.browser.msie) g.setExpression('width', 'this.parentNode.offsetWidth'); else g.width = '100%' } else if (!f && $.browser.msie) { if ($.css(this, 'position') == 'static') this.style.position = 'relative'; g.position = 'absolute'; g.top = g.left = g.right = g.padding = g.margin = '0'; var h = 0; if (k || !$.boxModel) h = sz(this, 'borderLeftWidth') + sz(this, 'borderRightWidth'); k ? g.setExpression('width', 'this.parentNode.offsetWidth - ' + h + '+ "px"') : g.width = '100%' } else { g.margin = !f ? '-' + b.T + 'px -' + b.R + 'px ' + (b.T - q) + 'px -' + b.L + 'px' : (b.B - q) + 'px -' + b.R + 'px -' + b.B + 'px -' + b.L + 'px' } for (var i = 0; i < q; i++) { var w = Math.max(0, getW(i)); var e = y.cloneNode(false); e.style.borderWidth = '0 ' + (x[j + 'R'] ? w : 0) + 'px 0 ' + (x[j + 'L'] ? w : 0) + 'px'; f ? d.appendChild(e) : d.insertBefore(e, d.firstChild) } } } }) }; $.fn.uncorner = function(o) { return $('.jquery-corner', this).remove() } })(jQuery);

/* jQuery FlyOut */
; (function($) { $.fn.flyout = function(b) { var c = false; var d = false; var e; var f; var g; var h; var i; var j = new Image(); var k = 'img'; var l; this.click(function() { if (d == true) { return false } if (c) { putAway(this) } else { flyOut(this) } return false }); var o = jQuery.extend({ outSpeed: 1000, inSpeed: 500, outEase: 'swing', inEase: 'swing', loadingSrc: null, loader: 'loader', loaderZIndex: 500, widthMargin: 40, heightMargin: 40 }, b); function flyOut(a) { d = true; e = $(a); f = $('img', a); j = new Image(); sL = $(window).scrollLeft(); sT = $(window).scrollTop(); g = f.offset(); h = f.height(); i = f.width(); $('<div></div>').attr('id', o.loader).appendTo('body').css({ 'position': 'absolute', 'top': g.top, 'left': g.left, 'height': h, 'width': i, 'opacity': .5, 'display': 'block', 'z-index': o.loaderZIndex }); if (o.loadingSrc) { $('#' + o.loader).append($('<img/>').load(function() { $(this).css({ 'position': 'relative', 'top': h / 2 - (this.height / 2), 'left': i / 2 - (this.width / 2) }).attr('alt', 'Loading...Please wait') }).attr('src', o.loadingSrc)) } else { $('#' + o.loader).css('background-color', '#000').append($('<span></span>').text('loading').css({ 'position': 'relative', 'top': '2px', 'left': '2px', 'color': '#FFF', 'font-size': '9px' })) } $(j).load(function() { imgtag = $('<img/>').attr('src', e.attr('href')).attr('title', e.attr('title') + " - Click again to put away.").height(h).width(i); max_x = $(window).width() - o.widthMargin; max_y = $(window).height() - o.heightMargin; width = j.width; height = j.height; x_dim = max_x / width; y_dim = max_y / height; if (x_dim <= y_dim) { y_dim = x_dim } else { x_dim = y_dim } dw = Math.round(width * x_dim); dh = Math.round(height * y_dim); if (dw > width) { dw = width } if (dh > height) { dh = height } dl = Math.round(($(window).width() / 2) - (dw / 2) + sL); dt = Math.round(($(window).height() / 2) - (dh / 2) + sT); $('#' + o.loader).empty().css('opacity', 1).append(imgtag).width('auto').height('auto').animate({ top: dt, left: dl }, { duration: o.outSpeed, queue: false, easing: o.outEase }); $('#' + o.loader + ' ' + k).animate({ height: dh, width: dw }, o.outSpeed, o.outEase, function() { c = true; d = false; $('#' + o.loader + ' ' + k).click(function() { putAway(null) }) }) }); j.src = e.attr('href') } function putAway(a) { if (d == true || c == false) { return false } d = true; $('#' + o.loader).animate({ top: g.top, left: g.left }, { duration: o.inSpeed, queue: false, easing: o.inEase }); $('#' + o.loader + ' ' + k).animate({ height: h, width: i }, o.inSpeed, o.inEase, function() { $('#' + o.loader).css('display', 'none').remove(); c = false; d = false; j = null; if (a) { flyOut(a) } }) } return this } })(jQuery);

/* jQuery Code */
; (function($) { $.fn.code = function(b) { var c = $.extend({}, $.fn.code.defaults, b); function show(e) { $code = $(c.parent).find('#code'); var a = $code.html().replace(/</gi, '&lt;').replace(/>/gi, '&gt;'); $box = $('<textarea id="html_box"></textarea>').append(a); $box.css({ 'top': $code.position().top, 'height': $code.height(), 'width': $code.width() - 20 }); $code.append($box); $box.slideDown('slow') } function hide(e) { $box.remove(); $box.slideUp('normal') } return this.each(function() { $(this).toggle(show, hide) }) }; $.fn.code.defaults = { parent: 'body'} })(jQuery);

/* jQuery HoverBox */
; (function($) { $.fn.hoverbox = function(c) { var d = $.extend({}, $.fn.hoverbox.defaults, c); function init(e) { $(this).bind('show', show); $(this).bind('hide', hide) } function show(e) { $(this).trigger('hide'); var a = $(this).find('.view'); var b = $(this).find('.preview'); b.css({ 'top': a.position().top - (a.height() / 2), 'left': a.position().left - (a.width() / 2) }).fadeIn('normal') } function hide(e) { $(this).find('.preview').fadeOut('normal') } return this.each(function() { $(this).bind('init', init).trigger('init'); $(this).hover(function() { $(this).trigger('show') }, function() { $(this).trigger('hide') }) }) }; $.fn.hoverbox.defaults = {} })(jQuery)

/* jQuery Bubble */
; (function($) { $.fn.bubble = function(a) { var b = $.extend({}, $.fn.bubble.defaults, a); function init(e) { hide(e); $bubble = $('<div class="bubble"></div>').css({ width: 281 }); $pointer = $('<div class="pointerTopRight"></div>'); $button = $('<img src="content/images/bubble/close.gif" class="close" />'); $fieldset = $('<fieldset></fieldset>').css({ width: 241 }); $bubble.append($pointer).append($button).append($fieldset); $('body').append($bubble); $(this).bind('setContent', setContent); $(this).bind('setPosition', setPosition); $(this).bind('show', show) } function setContent(e) { $('.bubble fieldset').children().remove(); $('.bubble fieldset').append($(this).find('.bubble_popout').html()); $('.bubble .close').click(function() { hide(e) }) } function setPosition(e) { $('.bubble').css({ left: ($(this).offset().left - 180) + 'px', top: ($(this).offset().top + ($(this).height() - 20)) + 'px' }) } function show(e) { $('.bubble').show() } function hide(e) { $('.bubble').remove() } return this.click(function() { $(this).bind('init', init).trigger('init'); $(this).trigger('setContent'); $(this).trigger('setPosition'); $(this).trigger('show') }) } })(jQuery);

/* jQuery FaceBox */
; (function($) { $.facebox = function(a) { $.facebox.loading(); if (a.image) { fillFaceboxFromImage(a.image) } else if ($.isFunction(a)) { a.call($) } else { $.facebox.reveal(a) } }; $.extend($.facebox, { settings: { opacity: 0, overlay: true, loadingImage: 'content/images/loading.gif', closeImage: 'content/images/close.gif', showClose: false, imageTypes: ['png', 'jpg', 'jpeg', 'gif'], popupHtml: '<div id="facebox" style="display:none;"><div class="wrapper"><table><tbody><tr><td class="tl"/><td class="b"/><td class="tr"/></tr><tr><td class="b"/><td class="body"><div class="heading"><div class="right"><img src="content/images/loading.gif" class="loader hide" alt="loading" title="loading" /><img src="content/images/close.gif" class="close_image pointer" alt="close" title="close" /></div><div class="title"></div></div><div class="content"></div></td><td class="b"/></tr><tr><td class="bl"/><td class="b"/><td class="br"/></tr></tbody></table></div></div>' }, loading: function() { init(); if ($('#facebox .loading').length == 1) { return true } if ($('#facebox_overlay').length == 0) { showOverlay() } $('#facebox .content').empty(); $('#facebox .body').children().hide().end().append('<div class="loading"><img src="' + $.facebox.settings.loadingImage + '"/></div>'); $('#facebox').css({ top: getPageScroll()[1] + ($(document).height() * 0.3), left: getPageScroll()[0] + ($(document).width() * 0.3) }).show(); $(document).trigger('loading.facebox') }, reveal: function(a) { var b = a.attr('title'); $(document).trigger('beforeReveal.facebox'); $('#facebox .title').empty().append('<h3>' + b + '</h3>'); $('#facebox .content').append(a.html()); $('#facebox .loading').remove(); $('#facebox .body').children().fadeIn('normal'); $('#facebox').css({ 'top': (($(window).height() - $('#facebox table').height()) / 2 + $(window).scrollTop() + "px"), 'left': (($(window).width() - $('#facebox table').width()) / 2 + $(window).scrollLeft() + "px") }); if ($.facebox.settings.showClose) { $('#facebox .close_image').css({ 'display': 'inline' }) } else { $('#facebox .close_image').css({ 'display': 'none' }) } $(document).trigger('reveal.facebox').trigger('afterReveal.facebox') }, close: function() { $(document).trigger('close.facebox'); return false } }); $.fn.facebox = function(a) { init(a); function clickHandler() { $.facebox.loading(true); return false } return this.click(clickHandler) }; function init(a) { if ($.facebox.settings.inited) { return true } else { $.facebox.settings.inited = true } $(window).bind('resize', function() { $('#facebox').css({ top: getPageScroll()[1] + ($(document).height() * 0.3), left: getPageScroll()[0] + ($(document).width() * 0.3) }) }); $(document).trigger('init.facebox'); var b = $.facebox.settings.imageTypes.join('|'); $.facebox.settings.imageTypesRegexp = new RegExp('\.' + b + '$', 'i'); if (a) { $.extend($.facebox.settings, a) } $('body').append($.facebox.settings.popupHtml); var c = [new Image(), new Image()]; c[0].src = $.facebox.settings.closeImage; c[1].src = $.facebox.settings.loadingImage; $('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(function() { c.push(new Image()); c.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1') }); $('#facebox .close_image').attr('src', $.facebox.settings.closeImage).click($.facebox.close) } function getPageScroll() { var a, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; a = self.pageXOffset } else if (document.documentElement && document.documentElement.scrollTop) { yScroll = document.documentElement.scrollTop; a = document.documentElement.scrollLeft } else if (document.body) { yScroll = document.body.scrollTop; a = document.body.scrollLeft } return new Array(a, yScroll) } function getPageHeight() { var a; if (self.innerHeight) { a = self.innerHeight } else if (document.documentElement && document.documentElement.clientHeight) { a = document.documentElement.clientHeight } else if (document.body) { a = document.body.clientHeight } return a } function fillFaceboxFromImage(a) { var b = new Image(); b.onload = function() { $.facebox.reveal('<div class="image"><img src="' + b.src + '" /></div>') }; b.src = a } function skipOverlay() { return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null } function showOverlay() { if (skipOverlay()) { return } if ($('facebox_overlay').length == 0) { $('body').append('<div id="facebox_overlay"></div>') } return false } function hideOverlay() { if (skipOverlay()) { return } $('#facebox_overlay').fadeOut(200, function() { $('#facebox_overlay').addClass('facebox_hide'); $('#facebox_overlay').remove() }); return false } $(document).bind('close.facebox', function() { $(document).unbind('keydown.facebox'); $('#facebox').fadeOut(function() { $('#facebox .content').removeClass().addClass('content'); hideOverlay(); $('#facebox .loading').remove() }) }) })(jQuery);

