﻿/*
2009 09
Optavis Select Box

*/

function jsSelectbox(aHIdHtmlId, aStartHandleId, aControlUniqueID, aAutoPostBack) {

    this.classNameOver = 'over';
    this.classNameSelected = 'selected';
    this.hIdHtmlId = aHIdHtmlId;
    this.startHandleId = aStartHandleId;
    this.controlUniqueID = aControlUniqueID;
    this.autoPostBack = aAutoPostBack;

    this.selectedIndex;

    this.setValue = function(aVal, aIndex) {
        //Remet la class de l'ancienne selection
        if (this.selectedIndex != '')
            this.restoreClass(gId(this.startHandleId + this.selectedIndex), true);
        //selection l'objet
        if (gId(this.hIdHtmlId))
            gId(this.hIdHtmlId).value = aVal;
        this.selectedIndex = aIndex;
        this.setAndSaveCurrentClass(gId(this.startHandleId + aIndex), this.classNameSelected);
    }

    this.setValueAndPostBack = function(val, index) {
        this.setValue(val, index);
        if (this.autoPostBack)
            this.doPostBack(val, '');
    }

    this.getValue = function() {
        return gId(this.hIdHtmlId).value;
    }

    this.setClassOver = function(obj) {
        this.setAndSaveCurrentClass(obj, this.classNameOver);
    }

    this.setAndSaveCurrentClass = function(obj, aClassNameOver) {
        if (obj) {
            if (!obj.classNameSov || obj.classNameSov == '') {
                obj.classNameSov = obj.className;
            }
            obj.className = aClassNameOver;
        }
    }

    this.restoreClass = function(obj, force) {
        if (obj) {
            if (gId(this.startHandleId + this.selectedIndex) == obj && !force)
                obj.className = this.classNameSelected;
            else
                obj.className = obj.classNameSov;
        }
    }

    this.doPostBack = function(args) {
        __doPostBack(this.controlUniqueID, args)
    }
    //debug write
    this.dg = function(txt) {
        if (txt)
            document.title += txt;
        else
            document.title += '+';
    }
}