jQuery
(function()
{var headers=jQuery('.menu-title');headers.click
(function(event)
{event.preventDefault();toggle_nav(jQuery(this));return false;}).hover
(function(){jQuery(this).addClass('highlight');},function(){jQuery(this).removeClass('highlight');});});function toggle_nav(menu)
{menu.toggleClass('menu-open').toggleClass('menu-closed').next('.menu_links').slideToggle(100);var category=menu.find('span').html();var state=menu.hasClass('menu-closed')?'closed':'open';if(category)jQuery.post('/nav/navMemorySet',{cat:category.toLowerCase(),state:state});};function show_retail_popup(o)
{def_options={'default_form':false,'source':'login','form_template_id':'signup_form_template'}
window.retail_popup_options=jQuery.extend({},def_options,o);var signup_template=jQuery('#'+window.retail_popup_options.form_template_id);var txt=signup_template.html();signup_template.html('');window.signinButtonText='Sign Me In';window.createButtonText='Create My Account';jQuery.prompt
(txt,{submit:popup_callback,prefix:'retail_signup',buttons:{'No Thanks':false,'Create My Account':'cart_submit'},loaded:init_retail_popup});}
function init_retail_popup()
{if(jQuery.browser.msie)
jQuery('#content_container select').hide();var options=window.retail_popup_options;var container=jQuery('div.retail_signupcontainer');var signup=jQuery('#signup_form',container);var login=jQuery('#retail_login_form',container);jQuery('.uniForm',container).uniform();var button_container=jQuery('div.retail_signupbuttons',container);var submit=jQuery('button[ievalue=cart_submit]',button_container);var cancel=jQuery('button[ievalue=false]',button_container);if(options.default_form!==false)
{if(options.default_form=='signin')
{login.removeClass('disabled');signup.addClass('disabled');}
else if(options.default_form=='signup')
{signup.removeClass('disabled');login.addClass('disabled');}}
signup.add(login).click(function(e)
{var $this=jQuery(this);if($this.hasClass('disabled'))
{jQuery('#signup_form, #retail_login_form').toggleClass('disabled');container.toggleClass('buttons_right');jQuery('.error_message, .notice_message',container).hide();window.new_tabindex=0;var inputs=jQuery('input:visible, .disabled a:visible',$this);inputs.each
(function()
{var this_input=jQuery(this);var tabindex=this_input.attr('tabindex')||0;new_tabindex=parseInt(tabindex)+20;window.new_tabindex=new_tabindex;this_input.attr('tabindex',new_tabindex).attr('tabIndex',new_tabindex);});submit.attr('tabindex',window.new_tabindex+1).attr('tabIndex',window.new_tabindex+1);cancel.attr('tabindex',window.new_tabindex+2).attr('tabIndex',window.new_tabindex+2);var other_inputs=jQuery('.disabled input:visible, .disabled a:visible',container);inputs.each
(function()
{var this_input=jQuery(this);var tabindex=this_input.attr('tabindex')||0;var new_tabindex=parseInt(tabindex)-10;this_input.attr('tabindex',new_tabindex).attr('tabIndex',new_tabindex);});var blank_inputs=inputs.filter
(function()
{return jQuery(this).val()=='';});blank_inputs.eq(0).focus();if(container.hasClass('buttons_right'))
submit.html(window.signinButtonText);else submit.html(window.createButtonText);}});submit.attr('tabindex',8).attr('tabIndex',8);cancel.attr('tabindex',9).attr('tabIndex',9);var all_inputs=jQuery('input',container);all_inputs.keypress
(function(e)
{if(e.which==13)
submit.click();})
if(jQuery.browser.msie)
all_inputs.click(function(){jQuery(this).focus();});jQuery('#guest_zip').attr('last_zip','').blur
(function()
{var $this=jQuery(this);if($this.attr('valid')==0||$this.attr('valid')=='0')
validate_zip($this);return true;}).keyup
(function()
{var $this=jQuery(this);if($this.val().length==$this.attr('maxlength'))
validate_zip($this);});if(signup.hasClass('disabled'))
{var login=jQuery('input#retail_login');if(login.val()=='')
login.focus();else jQuery('#retail_password').focus();container.addClass('buttons_right');submit.html(signinButtonText);}
else jQuery('input:first:visible',signup).focus();jQuery('#guest_email').attr('valid',false).blur
(function()
{var $this=jQuery(this);popup_handle_validate_email($this);}).keyup
(function()
{var $this=jQuery(this);if($this.attr('valid')==0||$this.attr('valid')=='0')
popup_handle_validate_email($this);});jQuery('a.forgot_pass').mousedown
(function()
{var login_val=jQuery('#retail_login').val();if(login_val.length>0)
{}});jQuery('#retail_login').blur
(function()
{var login=jQuery(this).val();if(login.length==0)
return;var anchor=jQuery('a.forgot_pass',container);var href=anchor.attr('href');if(href.indexOf('?')!=-1)
href=href.substr(0,href.indexOf('?'));href=href+'?login='+login
anchor.attr('href',href);});}
function popup_handle_validate_email($this,pass)
{var options={'exists':function()
{jQuery('#retail_login').val($this.val());jQuery('#retail_login_form').click();jQuery('#existing_email_error').show();},'pass':function()
{$this.attr('valid','1').attr('last_email',$this.val());$this.next('.error_message, .notice_message').hide();jQuery('#existing_email_error').hide();},'fail':function()
{$this.attr('valid','0');$this.next('.error_message').show();jQuery('#existing_email_error').hide();}}
validate_email($this,options);}
function popup_callback(v,m)
{if(v=='cart_submit')
{var pass=submit_form();if(pass==false)
return false;}
jQuery('#'+window.retail_popup_options.form_template_id).html(m.html());if(jQuery.browser.msie)
jQuery('#content_container select').show();return true;}
function submit_form()
{var container=jQuery('div.retail_signupcontainer');var signup=jQuery('#signup_form',container);var login_form=jQuery('#retail_login_form',container);var pass=true;var inputs=false;if(signup.hasClass('disabled'))
{inputs=jQuery('input',login_form);inputs.each(function()
{var $this=jQuery(this);if($this.val()=="")
{$this.addClass('incomplete');$this.next('.error_message').show();pass=false;}
else if($this.hasClass('incomplete'))
{$this.removeClass('incomplete');$this.next('.error_message').hide();}});if(pass)
{var validate_login_url=jQuery('#validate_login_url').attr('href');var login=jQuery('#login').val();var invalid_login_error=jQuery('#invalid_login_error');jQuery.post
(validate_login_url,{"login":login},function(data,textStatus)
{if(data==0||data=='0')
{jQuery('div.error_message').not(invalid_login_error).hide();invalid_login_error.show();pass=false;}
else
{jQuery('div.error_message').hide();}});}}
else
{inputs=jQuery('input',signup);inputs.each(function()
{var $this=jQuery(this);if($this.val()=="")
{$this.addClass('incomplete');$this.next('.error_message').show();pass=false;}
else if($this.hasClass('incomplete'))
{$this.removeClass('incomplete');$this.next('.error_message').hide();}});var guest_zip=jQuery('#guest_zip',signup);var guest_zip_valid_value=guest_zip.attr('valid')||'0';var guest_zip_valid=guest_zip_valid_value==1||guest_zip_valid_value=='1';if(!guest_zip_valid)
{guest_zip.addClass('incomplete');guest_zip.siblings('.error_message').show();pass=false;}
else if(guest_zip.hasClass('incomplete'))
{guest_zip.removeClass('incomplete');guest_zip.siblings('.error_message').hide();}
var guest_email=jQuery('#guest_email',signup);var guest_email_valid=guest_email.attr('valid');if(guest_email_valid==0||guest_email_valid=='0')
{guest_email.addClass('incomplete');guest_email.next('.error_message').show();pass=false;}
else if(guest_email.hasClass('incomplete'))
{guest_email.removeClass('incomplete');guest_email.next('.error_message').hide();}
var guest_pass=jQuery('#guest_password',signup);var guest_pass_confirm=jQuery('#guest_password_confirm',signup);if(guest_pass.val()!==guest_pass_confirm.val()||guest_pass.val()=='')
{guest_pass_confirm.addClass('incomplete');guest_pass_confirm.next('.error_message').show();pass=false;}
else if(guest_pass_confirm.hasClass('incomplete'))
{guest_pass_confirm.removeClass('incomplete');guest_pass_confirm.next('.error_message').hide();}}
if(pass===false)
return false;var source=window.retail_popup_options.source;if(source=='view_product')
{inputs.appendTo('#retail_form_container');jQuery('#'+v).unbind('click').click();}
else
{var forms=jQuery('#retail_popup_forms');if(signup.hasClass('disabled'))
{jQuery('form.signin',forms).append(inputs).submit();}
else
{jQuery('form.signup',forms).append(inputs).submit();}}
return true;}