Newtouch.Form = function(form){
	this._form = $('#nt-'+form);
	this._formId = 'nt-'+form;
};

Newtouch.Form.prototype = {
	_form:null,
	_formId:null,

	
	/**
	 * 得到form的Id
	 * */
	getFormId:function(){
		return this._formId;
	},
	/**
	 * 得到form中的所有值
	 * */
	getValues:function(){
		var params=this._form.formToArray();
		var formParams = new Object();
		for(var i=0;i<params.length;i++){
			formParams[params[i].name]=params[i].value;   	  	
		}
		//edit by yinshun.xu for ckeditor
		this._form.find(".ckeditor_textarea").each(function(index,dom){
			var id = dom.id;
			var name = $(dom).attr("name");
			var value = FCKeditorAPI.GetInstance(id).GetData();
			
			formParams[name] = value;
		});
		//end
		return formParams;
	},
	/**
	*form表单的验证
	*/
	validate:function(){
	   if(this._form.validate().form()){
	  	return true;
	  }
	  $(this._form).find(".error:not(:hidden):first").focus();
	  return false;
	},
	/***
	 * 清空form表单的数据
	 * */
	clear:function(){
		this._form.clearForm ();
		
	},
	/***
	 * 重置form表单的数据
	 * */
	reset:function(){
		
		this._form.resetForm ();
	},
	
	/**依据对象的id来得到表单中的一个对象;**/
	 getElementById:function(id){
	 	return this._form.find('[id='+id+']');
	 },
	 
	 /***依据对象的id来得到表单中的一个对象的值;**/
	 getValueByElementId:function(id){
	   var value = this._form.find('[id='+id+']').val();
	   return value;
	 },
	 
	 /**
	  * 依据对象的id来设置表单中的一个对象的值
	  * */
	 setValueByElementId:function(id,value){
	 	var obj=this._form.find('[id='+id+']');
	 	obj.val(value);
	 },
	 
	 /**给表单中的一个对象绑定事件***/
	  elementBind:function(elementId,eventName,functionName){
	  
	   	var obj=this._form.find('[id='+elementId+']');
	   	obj.bind(eventName, function(e){
     			functionName(this,e);
             });     
	   },
	   
	   /**给表单绑定事件**/
 	   formBind:function(eventName,functionName){
 			 
	   	this._form.bind(eventName, function(e){
     			functionName(this,e);
             });
 		},
 		 /**设定表单中的所有元素为Readonly*/
 		setFormReadonly:function(booleanValue,event){
 			var eles =this._form[0].elements;
 			$.each(eles,function(yy){

			     if(booleanValue){
	                 $(eles[yy]).attr({ readonly:"readonly"});
			    	 $(eles[yy]).removeClass("abledBg").addClass("disabledBg");}
			     else{
			     	$(eles[yy]).removeClass("disabledBg").addClass("abledBg");
	                $(eles[yy]).attr({ readonly:""});
			     	
			     }
	       });
 		},
 		/***设定表单中的特定元素为Readonly***/
 		setElementReadonly:function(elementId,booleanValue,event){
 				var obj=this._form.find('[id='+elementId+']');
 			
	 			 if(booleanValue){
	                 $(obj).attr({ readonly:"disabled"});
			    	 $(obj).removeClass("abledBg").addClass("disabledBg");}
			     else{
			     	$(obj).removeClass("disabledBg").addClass("abledBg");
	                $(obj).attr({ readonly:""});
			     	
			     }
	 			
 		},
      /**设定表单中的所有元素为disable*/
 		setFormDisable:function(booleanValue,event){
 			var eles =this._form[0].elements;
 			$.each(eles,function(yy){

			     if(booleanValue){
	                 $(eles[yy]).attr({ disabled:"disabled"});
			    	 $(eles[yy]).removeClass("abledBg").addClass("disabledBg");}
			     else{
			     	$(eles[yy]).removeClass("disabledBg").addClass("abledBg");
	                $(eles[yy]).attr({ disabled:""});
			     	
			     }
	       });
 		},
 		/***设定表单中的特定元素为disable***/
 		setElementDisable:function(elementId,booleanValue,event){
 				var obj=this._form.find('[id='+elementId+']');
 			
	 			 if(booleanValue){
	                 $(obj).attr({ disabled:"disabled"});
			    	 $(obj).removeClass("abledBg").addClass("disabledBg");}
			     else{
			     	$(obj).removeClass("disabledBg").addClass("abledBg");
	                $(obj).attr({ disabled:""});
			     	
			     }
	 			
 		}
 		
}
