var ajax_url, ie_hover_fix_fields, default_replacement_text_fields, template;
  
ajax_url = (window.location.pathname.search(/^\/public_dev.php/) >= 0)? '/public_dev.php/': '/';
template = {};

document.observe('dom:loaded', function (event)
{
  /* ***** IE fix for non-anchor hover ***** */
  if (Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 6)
  {
    ie_hover_fix_fields = $$('#online-wrap, #share-wrap, #share-dd');
    ie_hover_fix_fields.invoke('observe', 'mouseenter', function(event) { this.addClassName('over'); });
    ie_hover_fix_fields.invoke('observe', 'mouseleave', function(event) { this.removeClassName('over'); });
  }
  
  /* ***** Search and merge subscription panel default text replacement ***** */
  default_replacement_text_fields = $$('.search input[type=text]', '.club input[type=text]', '.merge input[type=text]');
  default_replacement_text_fields.each(function (input) { input.default_value = input.getAttribute('value'); });
  default_replacement_text_fields.invoke('observe', 'focus', function (event)
  {
    var input = event.findElement('input');
    if (input.value.strip() === input.default_value) input.value = '';
  });
  default_replacement_text_fields.invoke('observe', 'blur', function (event) 
  {
    var input = event.findElement('input');
    if (input.value.strip() === '') input.value = input.default_value;
  });


  /* ***** Share panel controls ***** */
  $$('#share .sharePrint a', '.order-summary-wrap .print-page').invoke('observe', 'click', function (event) { event.stop(); window.print(); });
  $$('a.social', '#e7 a').invoke('observe', 'click', function (event) { event.stop(); window.open(event.findElement('a').getAttribute('href')); });
  
  // Insert send to a friend scripts here.
	// Email a friend form
	if ($('share') && $('form-template-email-to-a-friend'))
	{
		template.emailToAFriend = $('form-template-email-to-a-friend').remove();
		template.emailToAFriend.down('.trigger-close').observe('click', broadcast.dismiss.bind(broadcast));
		template.emailToAFriend.down('.trigger-clear-form').observe('click', function (event) { event.stop(); event.findElement('form').reset(); });
		
		template.emailToAFriend.down('form').observe('submit', function(event)
		{
			event.stop();

			var form = event.findElement('form'), fields = form.select('input[type=text]'), invalid_fields;
			
			fields.each(function(field) { field.next('.validation').hide(); });
			
			invalid_fields = fields.findAll(function(field) { return $F(field) === ''; });
			
			if(invalid_fields.length > 0)
			{
				invalid_fields.each(function(field) { field.next('.validation').show(); });
				return;
			}
			
			new Ajax.Request(ajax_url + 'webservice/email-a-friend',
			{
				parameters: form.serialize(true),
				onSuccess: function (form, transport)
				{
					var response = transport.responseJSON;
					
					if(response.success)
					{
						form.down('.form-wrapper').hide();
						form.down('.form-success').show();
					}
					else
					{
						response.errors.each(function (field_label) { $(field_label + '_validation').show(); });
					}
				}.curry(form)
			});
		});
		
		$('share').down('.shareEmail a').observe('click', function(event)
		{
			event.stop();
      _gaq.push(['_trackEvent', 'Social', 'Share', 'Email-a-friend']);
			broadcast.display(template.emailToAFriend.show());
		});
	}
	
});

// Email obfuscator
function u(a){var b=[],i=ac=c=c1=c2=0;while(i<a.length){c=a.charCodeAt(i);if(c<128){b[ac++]=String.fromCharCode(c);i++}else if((c>191)&&(c<224)){c2=a.charCodeAt(i+1);b[ac++]=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2}else{c2=a.charCodeAt(i+1);c3=a.charCodeAt(i+2);b[ac++]=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3}}return b.join('')}function d(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,o2,o3,h1,h2,h3,h4,bits,i=ac=0,dec="",tmp_arr=[];do{h1=b.indexOf(a.charAt(i++));h2=b.indexOf(a.charAt(i++));h3=b.indexOf(a.charAt(i++));h4=b.indexOf(a.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;c=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){tmp_arr[ac++]=String.fromCharCode(c)}else if(h4==64){tmp_arr[ac++]=String.fromCharCode(c,o2)}else{tmp_arr[ac++]=String.fromCharCode(c,o2,o3)}}while(i<a.length);dec=tmp_arr.join('');dec=u(dec);return dec}function e(a){a=a.replace('--','==');a=a.replace('-','=');a=d(r(a));window.location=r('znvygb')+':'+a}function ri(){var a=new Array();var s="abcdefghijklmnopqrstuvwxyz";for(i=0;i<s.length;i++)a[s.charAt(i)]=s.charAt((i+13)%26);for(i=0;i<s.length;i++)a[s.charAt(i).toUpperCase()]=s.charAt((i+13)%26).toUpperCase();return a}function r(a){if(typeof rmap=='undefined')rmap=ri();s="";for(i=0;i<a.length;i++){var b=a.charAt(i);s+=(b>='A'&&b<='Z'||b>='a'&&b<='z'?rmap[b]:b)}return s}
