var protoda = {};

protoda.$SID = function(_id) {
    return $(getElementsByServerId(_id)[0]);
}

protoda.$SS = function(_element, _values, _fireOnChange) {
    _element = $(_element);

    var values = _values.split(',');
    if (_element != null && _element.tagName.toUpperCase() == 'SELECT') {
        var SelectChanged = false;
        for (var x = 0; x < _element.options.length; x++) {
            var setSomething = false;
            for (var i = 0; i < values.length; i++) {
                if (_element.options[x].value == values[i]) {
                    _element.options[x].selected = true;
                    setSomething = true;
                    SelectChanged = true;
                }
            }
            if (setSomething == false) {
                _element.options[x].selected = false;
            }
        }

        if (SelectChanged && _fireOnChange) {
            if (typeof _element.onchange == 'function') { _element.onchange(); }
        }
    }
}

protoda.$SF = function(_element, showDescriptions, remove) {
    _element = $(_element);
    var selText = new Array();
    if (_element != null) {
        for (var j = 0; j < _element.length; j++) {
            if (_element.options[j].selected) {
                if (showDescriptions) {
                    selText.push({ value: _element.options[j].value, text: _element.options[j].text });
                } else {
                    selText.push(_element.options[j].value);
                }

                if (remove) {
                    _element.remove(j);
                    j--;
                }
            }
        }
    }

    return selText;
}



protoda.$RS = function(_element,_value){
    if(typeof(_element) != 'string'){
        return;
    }
	
    _element = document.getElementsByName(_element);
	
    if(_element!= null){
        for(var x=0; x < _element.length; x++){
            if(_element[x].value == _value){
                _element[x].checked = true;
                return;
            }
        }
    }
}

protoda.$RF = function(_element){
    if(typeof(_element) != 'string'){
        return null;
    }
	
    _element = document.getElementsByName(_element);
	
    if(_element!= null){
        for(var x=0; x < _element.length; x++){
            if(_element[x].checked == true){
                return _element[x].value;
            }
        }
    }
	
    return null;
}

protoda.$S = function(_element, _value)
{
    _element = $(_element);
    
    if (_element == null)
    { return; }
    
    if(_element.tagName.toUpperCase() == "SELECT"){
        protoda.$SS(_element,_value);
    }else{
        _element.value = _value;
    }
    
}

protoda.$CS = function(_element,_value){
    if(typeof(_element) != 'string'){
        return;
    }
	
    _element = document.getElementsByName(_element);
	
    if(_element!= null){
        if(Object.isArray(_value)){

            _value = $A(_value);
            
            for(var x=0; x < _element.length; x++){
                if(_value.indexOf(_element[x].value) > -1){
                    _element[x].checked = true;
                }else{
                    _element[x].checked = false;
                }
            }
        }
        else{
            for(var x=0; x < _element.length; x++){
                if(_element[x].value == _value){
                    _element[x].checked = true;
                }else{
                    _element[x].checked = false;
                }
            }
        }
    }
}

protoda.$CF = function(_element){
    if(typeof(_element) != 'string'){
        return null;
    }
	
    _element = document.getElementsByName(_element);
	
    var checkBoxValues = new Array();
    if(_element!= null){
        for(var x=0; x < _element.length; x++){
            if(_element[x].checked == true){
                checkBoxValues.push(_element[x].value);
            }
        }
    }
	
    return checkBoxValues;
}


