// Àå¹Ù±¸´Ï¿¡¼­ Element Á¦°ÅÈÄ Àç°è»ê : used script.aculo.us prototype
Effect.SwitchOffAndRemoveElementAtCart = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  return new Effect.Appear(element, Object.extend({
    duration: 0.4,
    from: 0,
    transition: Effect.Transitions.flicker,
    afterFinishInternal: function(effect) {
      new Effect.Scale(effect.element, 1, {
        duration: 0.3, scaleFromCenter: true,
        scaleX: false, scaleContent: false, restoreAfterFinish: true,
        beforeSetup: function(effect) {
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide();
          effect.element.undoClipping();
          effect.element.undoPositioned();
          effect.element.setStyle({opacity: oldOpacity});
          while (element.childNodes.length > 0) {
            element.removeChild(element.firstChild);
          }
          totalSum();
        }
      })
    }
  }, arguments[1] || {}));
}

Effect.BlindUpAndDown = function(element) {
  element = $(element);
  if(Element.visible(element)) new Effect.BlindUp(element);
  else new Effect.BlindDown(element);
}

Effect.SwitchOffAndRemoveElement = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  return new Effect.Appear(element, Object.extend({
    duration: 0.4,
    from: 0,
    transition: Effect.Transitions.flicker,
    afterFinishInternal: function(effect) {
      new Effect.Scale(effect.element, 1, {
        duration: 0.3, scaleFromCenter: true,
        scaleX: false, scaleContent: false, restoreAfterFinish: true,
        beforeSetup: function(effect) {
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide();
          effect.element.undoClipping();
          effect.element.undoPositioned();
          effect.element.setStyle({opacity: oldOpacity});
          while (element.childNodes.length > 0) {
            element.removeChild(element.firstChild);
          }
        }
      })
    }
  }, arguments[1] || {}));
}

Effect.SlideUpAndDown = function(element) {
  element = $(element);
  if(Element.visible(element)) new Effect.SlideUp(element);
  else new Effect.SlideDown(element);
}

Effect.SlideDownChild = function(element) {
  element = $(element);
  var childs = element.childNodes;
  for (i=0; i<childs.length; i++) {
  	childs[i].style.display = 'none';
  }
  element.style.display = 'inline';
  SlideDownBrothers(childs, 0);
}
function SlideDownBrothers(elements, curidx) {
	if (curidx < elements.length) {
		Effect.SlideDown(elements[curidx],{duration:0.3,
    	afterFinish:function(effect){
    		SlideDownBrothers(elements, ++curidx);
    	}});
	} else {
		return;
	}
}

Effect.SlideQuikUpAndDown = function(element) {
  element = $(element);
  if(Element.visible(element)) new Effect.SlideUp(element,{duration:0.1});
  else new Effect.SlideDown(element,{duration:0.1});
}

Effect.SlideRightIntoView = function(element) {
  $(element).style.width = '0px';
  $(element).style.overflow = 'hidden';
  $(element).firstChild.style.position = 'relative';
  Element.show(element);
  new Effect.Scale(element, 100,
    Object.extend(arguments[1] || {}, {
      scaleContent: false,
      scaleY: false,
      scaleMode: 'contents',
      scaleFrom: 0,
      afterUpdate: function(effect){}
    })
  );
}

Effect.SlideRightOutOfView = function(element) {
  $(element).style.overflow = 'hidden';
  $(element).firstChild.style.position = 'relative';
  Element.show(element);
  new Effect.Scale(element, 0,
    Object.extend(arguments[1] || {}, {
      scaleContent: false,
      scaleY: false,
      afterUpdate: function(effect){},
      afterFinish: function(effect)
        { Element.hide(effect.element); }
    })
  );
}

Effect.SlideLeftAndRight = function(element) {
  element = $(element);
  if(Element.visible(element)) {
    new Effect.SlideRightOutOfView(element);
  } else {
    new Effect.SlideRightIntoView(element);
  }
}

Effect.SlideLeftAndRightSave = function(element) {
  element = $(element);
  if(Element.visible(element)) {
    new Effect.SlideRightOutOfView(element);
    putcookie("lefthide", "hidden", 30);
  } else {
    new Effect.SlideRightIntoView(element);
    putcookie("lefthide", "visible", 30);
  }
}