function setShipping(shipping, amount) {
    
    var el = 'cart';
    var url = '/cart/set_shipping?shipping='+shipping;
      new Ajax.Updater(el, url, {
                               evalScripts:true,
                               asynchronous:true,
                               onLoaded: update_cart_success
         });
         
  
  
}

function add_cart_item(page_id, size) {
  var el = 'cart';
  var url = '/cart/add_cart_item?page_id='+page_id+'&options='+size;
  new Ajax.Updater(el, url, {
                            evalScripts:true,
                            asynchronous:true,
                            onLoading: spinner(),
                            onLoaded: update_cart_success
      });
      
  
}

function remove_cart_item(page_id, size) {
  var el = 'cart';
  var url = '/cart/remove_cart_item?page_id='+page_id+'&options='+size;
  new Ajax.Updater(el, url, {
                            evalScripts:true,
                            asynchronous:true,
                            onLoading: spinner(),
                            onLoaded: update_cart_success
      });
      
  
}


function nuke_cart_item(page_id) {
  var el = 'cart';
  var url = '/cart/delete_cart_item?page_id='+page_id;
  new Ajax.Updater(el, url, {
                            evalScripts:true,
                            asynchronous:true,
                            onLoading: spinner(),
                            onLoaded: update_cart_success
      });
}


function update_cart_item_options(cart_item_id) {
  var el = 'cart';
  var url = '/cart/update_options/'+cart_item_id+'?options='+$F("options_cart_item_"+cart_item_id);
  new Ajax.Updater(el, url, {
                            evalScripts:true,
                            asynchronous:true,
                            onLoading: spinner(),
                            onLoaded: update_cart_success
      });
}

function update_cart_success() {
  spinnerDie(); 
  // Effect.highlight('cart_item_'+page_id);
}

function update_published(id,value,el) {
  url = '/album/update_published/'+id+'?published='+value;
    new Ajax.Updater(el,
            url, {
                              evalScripts:true,
                              asynchronous:true,
                              onLoading: spinner(),
                              onLoaded: spinnerDie()
        });



}

function update_privacy(id,value,el) {

  url = '/album/update_privacy/'+id+'?public='+value;
    new Ajax.Updater(el,
            url, {
                              evalScripts:true,
                              asynchronous:true,
                              onLoading: spinner(),
                              onLoaded: spinnerDie()
        });

 
 
}

function pick_tab(id,group,insider) {
  jQuery('.'+group).removeClass('selected');
  jQuery(id).addClass('selected');
  jQuery(group+'_content').hide();
  jQuery(insider).show();
  // flap = $(id);

  
  // flaps = document.getElementsByClassName(group);
  // flaps.each(function(e) {
     // e.removeClassName('selected');
  // });
  // flap.addClassName('selected');

  // insides = document.getElementsByClassName(group+'_content');
  // insides.each(function(e) {
     // Element.hide(e);
  // });

  // Element.show(insider);


}

function executeAction(action_in) {
//  alert(action_in.split('_'));

  url = action_in.split('_').first();
  keyword = action_in.split('_')[1];
  images = $$('.selectedImage');
  if(images.length > 0) {
    image_url = images.map(function(e) { return e.id.split('thumb').last()  } );
    url = url + '?tag='+keyword+'&images=' + image_url;
    new Ajax.Request(url);
  } else {
    alert("Please select some images first.")
    $('image_actioneer').selectedIndex=0; 
  }
}

function selectImages(which) {
  if(which == 'none') {
    images = $$('.selectedImage');
    images.each(function(i) {
      toggleSelect(i, i.id+'_checkbox');
    });
  } else 
  if(which == 'all') {
    images = $$('.selectedImage');
    images.each(function(i) {
      toggleSelect(i, i.id+'_checkbox');
    });
   images = $$('.thumbnail');
    images.each(function(i) {
      toggleSelect(i, i.id+'_checkbox');
    });
    
  }

}

function newKeyword() {
  images = $$('.selectedImage');
  if (images.length > 0) { 
    var keyword = prompt('What is the new keyword?');
    if(keyword != null && keyword.length > 0) {
      image_url = images.map(function(e) { return e.id.split('thumb').last()  } );
      url =  '/tag/add?tag='+keyword+'&images=' + image_url;
      new Ajax.Request(url);
    } else if(keyword == null) {
      return false;
    } else {
       alert('Please enter a keyword');
       newKeyword();
    }
  } else {
      alert('Please select some images first.');
      $('image_actioneer').selectedIndex=0; 
  }
}

function nukeCheckboxes() {

  var checkboxes = $$('input');

  checkboxes.each(function(e) { 
  
   try {
    if(e.type != 'checkbox') {
      checkboxes.pop(e);
      e.checked = false;
     }
    } catch(e) {
      // nothinghere
    }
       });

}




     
     
Effect.Center = function(element, pushup)
{
    try
    {
        element = $(element);
    }
    catch(e)
    {
        return;
    }

    var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' )
    {

        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }
    else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
    {

        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
    {

        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }

    element.style.position = 'absolute';
    element.style.display  = 'block';
    //element.style.zIndex   = 99;

    var scrollY = 0;

    if ( document.documentElement && document.documentElement.scrollTop )
    {
        scrollY = document.documentElement.scrollTop;
    }
    else if ( document.body && document.body.scrollTop )
    {
        scrollY = document.body.scrollTop;
    }
    else if ( window.pageYOffset )
    {
        scrollY = window.pageYOffset;
    }
    else if ( window.scrollY )
    {
        scrollY = window.scrollY;
    }

    var elementDimensions = Element.getDimensions(element);
    alert(elementDimensions.width + ':' + elementDimensions.height);
    var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;

    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;

    if(pushup) {
      setY = setY - 100;
    }
    
    element.style.left = setX + "px";
    element.style.top  = setY + "px";

}

//alert('IE:'+Prototype.Browser.IE);
//alert('Gecko:'+Prototype.Browser.Gecko);

function payment_option(opt, clicked) {
  jQuery('#which_payment').val(opt);
  jQuery('.pay_tab').removeClass('selected');
  jQuery(clicked).addClass('selected');
  jQuery('.payment_option').hide();
  jQuery('#payment_'+opt).show();
  // .addClass('selected');;  
  // jQuery(".payment_option :input").attr('disabled', true);
  // jQuery(".payment_option:visible :input").attr('disabled', false);
}

function use_address(address, check) {
  if(check.checked == true) {
    jQuery('#'+address+'_address :input').val('').attr('disabled', true);
    
  } else {
    jQuery('#'+address+'_address :input').attr('disabled', false);
  }
}

jQuery(function() {
  jQuery('.home_action').css('border', 'none').corner();
  jQuery('.payment_option').height(300).corner().hide();
  jQuery('#order_summary').corner();
  jQuery('.shipping_options').corner();
  // jQuery('.pay_tab').corner('top');
  jQuery('.payment_option.selected').show();
  jQuery('#confirmation_form').bind('submit', check_confirmation_form);
  // jQuery('#image_actioneer').bind('change', function(e) {});
});

function check_confirmation_form() {
  var complete = true;
  var bies = (jQuery("#billing_address input"));
  jQuery.each(bies, function(i,e) {
    if (e.id != "billing[street2]" && jQuery(e).val().length < 1) {
      complete = false;
    }
  });
  if (jQuery("#use_billing").attr('checked') != true) {
   var bies = (jQuery("#shipping_address input"));
    jQuery.each(bies, function(i,e) {
      if (e.id != "shipping[street2]" && jQuery(e).val().length < 1) {
        complete = false;
      }
    });
  }
  
  if (!complete) { 
    alert("Please fill out the address information completely."); 
  }
  return complete;  
}

jojo = jQuery;

