/*-------------------------------------------------------
date.js
depends on prototype.js(http://prototype.conio.net/)
@version  V1.0
@author   youngjin.shin (2007/04/20)
Copyright (c) 2007 Rakuten Travel, Inc. All Rights Reserved.
--------------------------------------------------------*/
Util.createLimitNumber = function  (id, objList, limit ) {
	   if(this.instances == null) this.instances = new Array(); 	   
	   var instance = null;
  	   for (var i = 0; i < this.instances.length ; i++) {
  		    if( this.instances[i].id == id ){
  				return this.instances[i];
  			}
  		}
  		instance = new Util.LimitNumber(id, objList, limit);
  		this.instances.push(instance);	 
    },

Util.LimitNumber.prototype = {
		id   : null,
		
   		initialize:function(id, objList, limit) {
   		   this.id = id;
   		   this.objList = objList;
   		   this.limit = limit;
   		   this.bindEvent();
   		},

  		bindEvent: function(){
  		    for(i=0; i<this.objList.length;i++){
    			Event.observe($(this.objList[i]),  'change', this.changeNumber.bindAsEventListener(this), false);
  		    }
  		},

	    changeNumber:function(event) {
	        i=0;
	        totalNumber = 0;
  		    for(;i<this.objList.length;i++){
  		        totalNumber = totalNumber + eval($(this.objList[i]).value);
    			if($(this.objList[i]).id==Event.element(event).id){
    				break;
    			}	
  		    }
  		    cnt = this.limit - totalNumber;
  		    //alert(cnt);
  		    list = new Array();
  		    for(j=0;j<=cnt;j++){
  		    	list.push(j);
  		    	list.push(j);
  		    }
  		    i++;
  		    for(;i<this.objList.length;i++){
  		    	Util.createOptionList($(this.objList[i]).id,list);
  		    }
 		}	
}
