/**
 * @author Kalapuc Roman (rkalapuc@gmail.com)
 * @copyright Finport Technologies Inc
 * @since 2006
 * @version 1.0
 */

function wlpCheckBoxControl(_name,_value,_parentId,_validators,_params){
	
	this.name = _name;
	this.value = _value;
	this.parentId = _parentId;
	this.ID = _parentId+'_'+_name;
	
	this.validatorStorage = new wlpArrayList(_validators);
	this.params = new wlpPropertyList(_params);
}

wlpCheckBoxControl.prototype = new wlpUIBaseControl;

wlpCheckBoxControl.prototype.refresh = function(){
	if (this.value==1) {
		$(this.ID).checked = true;
	} else {
		$(this.ID).checked = false;
	}
}

wlpCheckBoxControl.prototype.update = function(){
//    alert(this.ID);
//    alert($(this.ID));
	if ($(this.ID) && $(this.ID).checked) {
        this.value = 1;
    } else {
        this.value = 0;
    }
}



/**
 * @author Kalapuc Roman (rkalapuc@gmail.com)
 * @copyright Finport Technologies Inc
 * @since 2006
 * @version 1.0
 */

function wlpEditControl(_name,_value,_parentId,_validators,_params){
	
	this.name = _name;
	this.value = _value;
	this.parentId = _parentId;
	this.ID = _parentId+'_'+_name;
	
	this.validatorStorage = new wlpArrayList(_validators);
	this.params = new wlpPropertyList(_params);
}

wlpEditControl.prototype = new wlpUIBaseControl;

function wlpFCKEditorControl(_name,_value,_parentId,_validators,_params){this.name=_name;this.value=_value;this.parentId=_parentId;this.ID=_parentId+'_'+_name;this.validatorStorage=new wlpArrayList(_validators);this.params=new wlpPropertyList(_params);}wlpFCKEditorControl.prototype=new wlpUIBaseControl;

/**
 * @author Kalapuc Roman (rkalapuc@gmail.com)
 * @copyright Finport Technologies Inc
 * @since 2006
 * @version 1.0
 */

var wlpUIControlFactory;

if (!wlp_def("wlpUIControlFactory")){
	wlpUIControlFactory = {
		getInstance: function(_type,_name,_value,_parentId,_validators,_params){
			switch(_type){
				case wlpConst.WLP_CONTROL_EDIT:
					return new wlpEditControl(_name,_value,_parentId,_validators,_params);
				case wlpConst.WLP_CONTROL_COMBOBOX:
					return new wlpComboBoxControl(_name,_value,_parentId,_validators,_params);
				case wlpConst.WLP_CONTROL_CHECKBOX:
					return new wlpCheckBoxControl(_name,_value,_parentId,_validators,_params);	
				case wlpConst.WLP_CONTROL_FCKEDITOR:
					return new wlpFCKEditorControl(_name,_value,_parentId,_validators,_params);	
				default: 
					return new wlpUIBaseControl(_name,_value,_parentId,_validators,_params);
			}
		}
	}
}

/**
 * @author Izzet Mustafayev <webdizz@gmail.com>
 * @copyright Finport Technologies Inc
 * @since 2007
 * @version 1.0
 */

function wlpComboBoxControl(_name,_value,_parentId,_validators,_params){
	
	this.name = _name;
	this.value = _value;
	this.parentId = _parentId;
	this.ID = _parentId+'_'+_name;
	
	this.validatorStorage = new wlpArrayList(_validators);
	this.params = new wlpPropertyList(_params);
}

wlpComboBoxControl.prototype = new wlpUIBaseControl;

function wlpUIBaseControl(_name,_value,_parentId,_validators,_params){this.name=_name;this.value=_value;this.parentId=_parentId;this.ID=_parentId+'_'+_name;this.validatorStorage=new wlpArrayList(_validators);this.params=new wlpPropertyList(_params);};wlpUIBaseControl.prototype.update=function(){var _obj=$(this.ID);if(_obj){this.value=$(this.ID).value;}};wlpUIBaseControl.prototype.refresh=function(){$(this.ID).value=this.value;};wlpUIBaseControl.prototype.clear=function(){var _default=this.params.get('default');if(_default!==false){this.value=_default;}else{this.value='';}this.refresh();};wlpUIBaseControl.prototype.validate=function(){this.update();var iterator=this.validatorStorage.getIterator();while(iterator.hasNext){if(!iterator.current.name.validate(this.value)){return iterator.current.value;}iterator.moveNext();}return true;};wlpUIBaseControl.prototype.addValidator=function(validator){this.validatorList.add(validator);};wlpUIBaseControl.prototype.asProperty=function(){return new wlpProperty(this.name,this.value);};

function wlpEditControl(_name,_value,_parentId,_validators,_params){this.name=_name;this.value=_value;this.parentId=_parentId;this.ID=_parentId+'_'+_name;this.validatorStorage=new wlpArrayList(_validators);this.params=new wlpPropertyList(_params);}wlpEditControl.prototype=new wlpUIBaseControl;

/**
 * @author Izzet Mustafayev <webdizz@gmail.com>
 * @copyright Finport Technologies Inc
 * @since 2006
 * @version 1.0
 */

function wlpFCKEditorControl(_name,_value,_parentId,_validators,_params){
	this.name = _name;
	this.value = _value;
	this.parentId = _parentId;
	this.ID = _parentId+'_'+_name;
	
	this.validatorStorage = new wlpArrayList(_validators);
	this.params = new wlpPropertyList(_params);
}

wlpFCKEditorControl.prototype = new wlpUIBaseControl;

function wlpCheckBoxControl(_name,_value,_parentId,_validators,_params){this.name=_name;this.value=_value;this.parentId=_parentId;this.ID=_parentId+'_'+_name;this.validatorStorage=new wlpArrayList(_validators);this.params=new wlpPropertyList(_params);}wlpCheckBoxControl.prototype=new wlpUIBaseControl;wlpCheckBoxControl.prototype.refresh=function(){if(this.value==1){$(this.ID).checked=true;}else{$(this.ID).checked=false;}};wlpCheckBoxControl.prototype.update=function(){if($(this.ID)&&$(this.ID).checked){this.value=1;}else{this.value=0;}}

var wlpUIControlFactory;if(!wlp_def("wlpUIControlFactory")){wlpUIControlFactory={getInstance:function(_type,_name,_value,_parentId,_validators,_params){switch(_type){case wlpConst.WLP_CONTROL_EDIT:return new wlpEditControl(_name,_value,_parentId,_validators,_params);case wlpConst.WLP_CONTROL_COMBOBOX:return new wlpComboBoxControl(_name,_value,_parentId,_validators,_params);case wlpConst.WLP_CONTROL_CHECKBOX:return new wlpCheckBoxControl(_name,_value,_parentId,_validators,_params);case wlpConst.WLP_CONTROL_FCKEDITOR:return new wlpFCKEditorControl(_name,_value,_parentId,_validators,_params);default:return new wlpUIBaseControl(_name,_value,_parentId,_validators,_params);}}}}

function wlpComboBoxControl(_name,_value,_parentId,_validators,_params){this.name=_name;this.value=_value;this.parentId=_parentId;this.ID=_parentId+'_'+_name;this.validatorStorage=new wlpArrayList(_validators);this.params=new wlpPropertyList(_params);}wlpComboBoxControl.prototype=new wlpUIBaseControl;

