var DirectionsDOM = [];

/* Direction DOM Class */
    function DirectionDOMClass(Direction){
        
        this.Direction = Direction || null;
        this.DirectionNumber = Direction ? Direction.DirectionNumber : null;
        
        this.entBox = null;
        this.entObj = null;
        
        this.Default = Direction ? false : true;
        
        this.DateInput = null;
        this.TimeInput = null;
        this.PMInput = null;
        this.PlusMinusInput = null;
        this.PlusMinusLabel = null;
        this.StartAirpInput = null;
        this.StartAirpCodeInput = null;
        this.EndAirpInput = null;
        this.EndAirpCodeInput = null;
        
        if(Direction){
            this.create();
        }
        
    }
   
    DirectionDOMClass.prototype.createFromDOM = function(DirectionDOMObj){
        var self = this;   
        
        this.entBox = DirectionDOMObj;        
        
        this.entObj = this.entBox.getElementsByTagName("fieldset")[0];
        this.DirectionNumber = this.entObj.id.split("Direction")[1];
        
        this.DateInput = document.getElementById("Date"+this.DirectionNumber+"_input");
        this.TimeInput = document.getElementById("Time"+this.DirectionNumber+"_input");
        this.PMInput = document.getElementById("PM" + this.DirectionNumber + "_input");
        this.PlusMinusInput = document.getElementById("PlusMinus"+this.DirectionNumber+"_input");
        this.PlusMinusLabel = document.getElementById("PlusMinus"+this.DirectionNumber+"_label");
        
        if (typeof MO_str_plus_minus != 'undefined') {
            if (MO_str_plus_minus) {
                if ((this.PlusMinusInput)&&(this.PlusMinusInput.value == "1"))
                    this.PMInput.value = MO_str_plus_minus;
                else
                    this.PMInput.value = MO_str_exact_date;
            }        	
        }
        
        this.StartAirpInput = document.getElementById("StartAirp"+this.DirectionNumber+"_input");
        this.EndAirpInput = document.getElementById("EndAirp"+this.DirectionNumber+"_input");
        
        
        if (DirectionBalloon) {
            $(this.PMInput).focus(function(){ DirectionBalloon.hide(); })
            $(this.TimeInput).focus(function(){ DirectionBalloon.hide(); })
            $(this.DateInput).focus(function(){ DirectionBalloon.hide(); })            
            $(this.StartAirpInput).focus(function(){ DirectionBalloon.hide(); })
            $(this.EndAirpInput).focus(function(){ DirectionBalloon.hide(); })
        }


        this.StartAirpInput.Field = new FieldClass(this.StartAirpInput);
        this.StartAirpCodeInput = document.getElementById("StartAirp"+this.DirectionNumber+"Code_input");
        
        if($(this.PMInput).length){            
            $(this.PMInput).next().click(function(){
                PMpicker.show(self.PMInput, self.PMInput, self);
            });

            this.PMInput.onfocus = function(){
                PMpicker.show(self.PMInput, self.PMInput, self);
            }
        }    
        

        $(this.TimeInput).next().click(function(){
            Timepicker.show(self.TimeInput, self.TimeInput, self);
        });

        this.TimeInput.onfocus = function(){
            Timepicker.show(self.TimeInput, self.TimeInput, self);
        }

        $(this.DateInput).next().click(function(){
            if (usePlusMinus) {
                Datepicker.show(self.DateInput, self.DateInput, self, self.PlusMinusInput);            	
            } else {
                Datepicker.show(self.DateInput, self.DateInput, self);            	
            }
            
        });

        this.DateInput.onfocus = function(){
            Datepicker.show(self.DateInput, self.DateInput, self, self.PlusMinusInput);
        }

        this.EndAirpInput.Field = new FieldClass(this.EndAirpInput);
        this.EndAirpCodeInput = document.getElementById("EndAirp"+this.DirectionNumber+"Code_input");


        this.StartAirpCodeInput.onfocus = function(){ self.StartAirpInput.focus() }
        this.StartAirpCodeInput.parentNode.onclick = function(){ self.StartAirpInput.focus() }
        this.EndAirpCodeInput.onfocus = function(){ self.EndAirpInput.focus() }
        this.EndAirpCodeInput.parentNode.onclick = function(){ self.EndAirpInput.focus() }
        
        this.StartAirpInput.onfocus = function(){
            var number = parseInt(self.DirectionNumber)-1;
            if( Directions.length > 0 && Directions[ number ] != null ){
                if( self.StartAirpCodeInput.value == '' && Directions[ number ].EndAirpCode != '' ) {
                    self.StartAirpInput.value = Directions[ number ].EndAirp;
                    self.StartAirpInput.title = Directions[ number ].EndAirpStr;
                    self.StartAirpCodeInput.value = Directions[ number ].EndAirpCode;
                    self.StartAirpCodeInput.title = Directions[ number ].EndAirpStr;
                    
                    //self.StartAirpInput.setAttribute("airport", Directions[ number ].EPisA);
                    
                    self.StartAirpInput.Field.Update();
                    self.StartAirpInput.suggest.update();
                }
            }
        }
        
        this.EndAirpInput.onfocus = function(){
            var number = parseInt(self.DirectionNumber)+1;
            if( Directions.length > 0 && Directions[number ] != null ){
                if( self.EndAirpCodeInput.value == "" && Directions[ number ].StartAirpCode != '') {
                    self.EndAirpInput.value = Directions[ number ].StartAirp;
                    self.EndAirpInput.title = Directions[ number ].StartAirpStr;
                    self.EndAirpCodeInput.value = Directions[ number ].StartAirpCode;
                    self.EndAirpCodeInput.title = Directions[ number ].StartAirpStr;
                    
                    //self.EndAirpInput.setAttribute("airport", Directions[ number ].SPisA);
                    
                    self.EndAirpInput.Field.Update();
                    self.EndAirpInput.suggest.update();
                }
            }
        }

        this.StartAirpInput.suggest = new Suggest(this.StartAirpInput, self);
        this.EndAirpInput.suggest = new Suggest(this.EndAirpInput, self);
        
        
        
        this.Add = $(this.entObj).find(".add")[0];
        if (this.Add)
            this.Add.onclick = function(){ self.AddDirection(); }
        
        this.Return = $(this.entObj).find(".return")[0];
        if (this.Return)
            this.Return.onclick = function(){
                self.AddDirection();
                self.AddReturnRoute();
            }
        
        this.Close = $(this.entObj).find(".close")[0];
        if (this.Close)
            this.Close.onclick = function(){ self.DeleteDirection(); }
        
        
        DirectionsDOM[this.DirectionNumber] = this;
        this.updateRadios();
    }
    
    DirectionDOMClass.prototype.create = function(){
        
        var Directions = document.getElementById("Directions");
        var Direction_Prototype = document.getElementById("Direction_Prototype");
        if (!Direction_Prototype)
            return false;
        var TempDirection = Direction_Prototype.firstChild.cloneNode(true);
        //TempDirection
        var TempDirection1 = Direction_Prototype.firstChild.cloneNode(true);
        Direction_Prototype.removeChild(Direction_Prototype.firstChild);
        
        this.DirectionNumber = 0;

        var newDirectionNumber = DirectionsDOM.length;
        
        var newBox = Directions.appendChild(document.createElement('div'));
        newBox.className = "Direction default";

        newBox.appendChild(TempDirection);

        newBox.id = "Direction"+this.DirectionNumber+"_col";

        //newBox.style.display = 'none';

        this.updateDirectionNumber(newDirectionNumber);
        
        Direction_Prototype.appendChild(TempDirection1);
        
        this.createFromDOM(newBox);
        
        if (DirectionsDOM.length >= 3) {
        	$('#Directions').find('.add_backflight:last').hide();
        }            
        
    }
    DirectionDOMClass.prototype.update = function(Direction){
    	if(Direction){
            this.Direction = Direction;
            
            this.updateDirectionNumber();
            this.updateDate();
            this.updatePlusMinus();
            this.updateStartAirp();
            this.updateEndAirp();  
        }
        this.draw();
        this.checkDefault();
        this.updateDirection();
    }
    DirectionDOMClass.prototype.updateDirectionNumber = function(DirectionNumber){

        if( !this.Direction || this.DirectionNumber != this.Direction.DirectionNumber){
            var newDirectionNumber = DirectionNumber || (this.DirectionNumber - 1);

            if (newDirectionNumber == 1)
                $(this.Return).show();
            else
                $(this.Return).hide();
                        
            document.getElementById("Direction"+this.DirectionNumber+"_col").id         = "Direction"+newDirectionNumber+"_col";
            
            document.getElementById("Direction"+this.DirectionNumber).id                 = "Direction"+newDirectionNumber;

            document.getElementById("Date"+this.DirectionNumber+"_input").name            = "Date"+newDirectionNumber;
            document.getElementById("Date"+this.DirectionNumber+"_input").id             = "Date"+newDirectionNumber+"_input";
            
            document.getElementById("Time"+this.DirectionNumber+"_input").name            = "Time"+newDirectionNumber;
            document.getElementById("Time"+this.DirectionNumber+"_input").id             = "Time"+newDirectionNumber+"_input";
            
            document.getElementById("PM"+this.DirectionNumber+"_input").name     = "PM"+newDirectionNumber;
            document.getElementById("PM"+this.DirectionNumber+"_input").id       = "PM"+newDirectionNumber+"_input";


            document.getElementById("PlusMinus"+this.DirectionNumber+"_input").name     = "PlusMinus"+newDirectionNumber;
            document.getElementById("PlusMinus"+this.DirectionNumber+"_input").id       = "PlusMinus"+newDirectionNumber+"_input";
                        
            document.getElementById("StartAirp"+this.DirectionNumber+"_label").htmlFor     = "StartAirp"+newDirectionNumber+"_input";
            document.getElementById("StartAirp"+this.DirectionNumber+"_label").id         = "StartAirp"+newDirectionNumber+"_label";
            document.getElementById("StartAirp"+this.DirectionNumber+"_input").name     = "StartAirp"+newDirectionNumber;
            document.getElementById("StartAirp"+this.DirectionNumber+"_input").id         = "StartAirp"+newDirectionNumber+"_input";
            document.getElementById("StartAirp"+this.DirectionNumber+"Code_input").name = "StartAirp"+newDirectionNumber+"Code";
            document.getElementById("StartAirp"+this.DirectionNumber+"Code_input").id     = "StartAirp"+newDirectionNumber+"Code_input";
            document.getElementById("EndAirp"+this.DirectionNumber+"_label").htmlFor     = "EndAirp"+newDirectionNumber+"_input";
            document.getElementById("EndAirp"+this.DirectionNumber+"_label").id             = "EndAirp"+newDirectionNumber+"_label"
            document.getElementById("EndAirp"+this.DirectionNumber+"_input").name         = "EndAirp"+newDirectionNumber;
            document.getElementById("EndAirp"+this.DirectionNumber+"_input").id         = "EndAirp"+newDirectionNumber+"_input";
            document.getElementById("EndAirp"+this.DirectionNumber+"Code_input").name     = "EndAirp"+newDirectionNumber+"Code";
            document.getElementById("EndAirp"+this.DirectionNumber+"Code_input").id     = "EndAirp"+newDirectionNumber+"Code_input";
            this.DirectionNumber = newDirectionNumber;
        }
    }
    

    DirectionDOMClass.prototype.updatePlusMinus = function(val){ 	
        if(this.Direction && this.PlusMinusInput && this.Direction.PlusMinus){
            this.PlusMinusInput.value = val || this.Direction.PlusMinus;
        }
        
        if (MO_str_plus_minus) {  
            if ((this.PlusMinusInput) && (this.PlusMinusInput.value == "1")) {
                this.PMInput.value = MO_str_plus_minus;
            } else {
                this.PMInput.value = MO_str_exact_date;
            }
        }
    }

    DirectionDOMClass.prototype.updateDate = function(){
        this.DateInput.value = this.Direction.Date;
    }

    DirectionDOMClass.prototype.updateStartAirp = function(){
        if (cur_domain != 'avia') {
        	$(this.StartAirpCodeInput).addClass('hide');
        }
        
        this.StartAirpInput.value = this.Direction.StartAirp;
        this.StartAirpInput.title = this.Direction.StartAirpStr;
        
        this.StartAirpInput.Field.Update();
        this.StartAirpCodeInput.value = this.Direction.StartAirpCode;
        this.StartAirpCodeInput.title = this.Direction.StartAirpStr;
        this.StartAirpInput.suggest.update();        
    }
    
    DirectionDOMClass.prototype.updateEndAirp = function(){        
        if (cur_domain != 'avia') {
        	$(this.EndAirpCodeInput).addClass('hide');
        } 
        
        this.EndAirpInput.value = this.Direction.EndAirp;
        this.EndAirpInput.title = this.Direction.EndAirpStr;
        //this.EndAirpInput.setAttribute("airport", this.Direction.EPisA);
        this.EndAirpInput.Field.Update();
        this.EndAirpCodeInput.value = this.Direction.EndAirpCode;
        this.EndAirpCodeInput.title = this.Direction.EndAirpStr;
        this.EndAirpInput.suggest.update();
    }
    
    DirectionDOMClass.prototype.draw = function(){
        if(this.DateInput.value!=''){
            //this.drawDateLabel();
            var tempDate = this.DateInput.value;
            var arrDate = tempDate.split('.');
            Datepicker.date = Date.parseAWADString(tempDate);
        }

        if(this.TimeInput.value!=''){
            Timepicker.time = this.TimeInput.value;
        }        
        
        this.drawStartAirp();
        this.drawEndAirp();
    }

    DirectionDOMClass.prototype.drawStartAirp = function(){
        this.dropStartAirpCodeValue();
    }
    DirectionDOMClass.prototype.drawEndAirp = function(){
        this.dropEndAirpCodeValue();
    }
    DirectionDOMClass.prototype.dropStartAirpCodeValue = function(){
        if( this.StartAirpInput.value == "" )
        {
            this.StartAirpInput.title = '';
            this.StartAirpCodeInput.value = '';
            this.StartAirpCodeInput.title = '';
        }
    }
    DirectionDOMClass.prototype.dropEndAirpCodeValue = function(){
        if( this.EndAirpInput.value == "" )
        {
            this.EndAirpInput.title = '';
            this.EndAirpCodeInput.value = '';
            this.EndAirpCodeInput.title = '';
        }
    }
    DirectionDOMClass.prototype.checkDefault = function(number){
        if (!document.getElementById("Direction_Prototype"))
            return false;

        var number = number || parseInt(this.DirectionNumber, 10);
        
        if(this.DirectionNumber == 1 && DirectionsDOM.length == 3 && this.DateInput.value!='' && this.StartAirpCodeInput.value!='' && this.EndAirpCodeInput.value!='' ){

            DirectionsDOM[number+1].StartAirpInput.setAttribute('airport', this.EndAirpInput.getAttribute("airport"));
            DirectionsDOM[number+1].StartAirpInput.value            = this.EndAirpInput.value;            
            DirectionsDOM[number+1].StartAirpCodeInput.value        = this.EndAirpCodeInput.value;
            DirectionsDOM[number+1].StartAirpCodeInput.defaultValue = this.EndAirpCodeInput.value; 
            
            DirectionsDOM[number+1].EndAirpInput.setAttribute('airport', this.StartAirpInput.getAttribute("airport"));
            DirectionsDOM[number+1].EndAirpInput.value            = this.StartAirpInput.value;
            DirectionsDOM[number+1].EndAirpCodeInput.value        = this.StartAirpCodeInput.value;
            DirectionsDOM[number+1].EndAirpCodeInput.defaultValue = this.StartAirpCodeInput.value;
                        
            DirectionsDOM[number+1].TimeInput.value = this.TimeInput.value;
            DirectionsDOM[number+1].PMInput.value = this.PMInput.value;
            DirectionsDOM[number+1].PlusMinusInput.value = this.PlusMinusInput.value;
                    
            DirectionsDOM[number+1].StartAirpInput.Field.Update();
            DirectionsDOM[number+1].StartAirpInput.suggest.update();

            DirectionsDOM[number+1].EndAirpInput.Field.Update();
            DirectionsDOM[number+1].EndAirpInput.suggest.update();
            
            if (!DirectionsDOM[number+1].DateInput.value) {
                setTimeout(function() {
                    DirectionsDOM[number+1].DateInput.focus();
                }, 10);
            }
            
            
        }
        
        if( this.DateInput.value=='' && this.StartAirpCodeInput.value!='' && this.EndAirpCodeInput.value!='' ){
            this.DateInput.focus();
        }
        
        var buttons = $('.search-header').find('.jNiceRadio');
        
        if (buttons.length) { 
        	$('#Directions').find('.add_direction').hide();
        	
            if
            (($(buttons[0]).hasClass('jNiceChecked'))&&($('#CalendarBody:visible').length == 0)&&(DirectionsDOM[1].StartAirpCodeInput.value!='')&&(DirectionsDOM[1].EndAirpCodeInput.value!='')&&(DirectionsDOM[1].DateInput.value!=''))
            {
                $(DirectionsDOM[number].entBox).find('.add_direction').show();
            } else {
                $(DirectionsDOM[number].entBox).find('.add_direction').hide();
            }        	
        }
         
      
        
        
        if((DirectionsDOM.length < 4)&& (($('#CalendarBody:visible').length) || ($('#result_form2').length)) )
        { 
            if((DirectionsDOM.length == 3) && (DirectionsDOM[2].EndAirpCodeInput.value == DirectionsDOM[1].StartAirpCodeInput.value) && (DirectionsDOM[1].EndAirpCodeInput.value == DirectionsDOM[2].StartAirpCodeInput.value))
            {
                $(DirectionsDOM[number].entBox).find('.add_direction').hide();
            } else {
                if ((DirectionsDOM[1].StartAirpCodeInput.value) && (DirectionsDOM[1].EndAirpCodeInput.value) && (DirectionsDOM[1].DateInput.value)) {
                    $(DirectionsDOM[number].entBox).find('.add_direction').show();
                }
            }
        }

        
        var self = this;
        if( this.Default == true ){
            this.entBox.style.display = 'block';

            if( this.DateInput.value=='' && this.StartAirpCodeInput.value!='' && this.EndAirpCodeInput.value!='' ){
                this.DateInput.focus();
            }
            else if( this.DateInput.value!='' && this.StartAirpCodeInput.value!='' && this.EndAirpCodeInput.value!='' ){
                this.setNotDefault();

                if( this.Direction == null ){
                        this.createSegment();
                }

            }
        }
        
    }
            
    DirectionDOMClass.prototype.setNotDefault = function(){
        var self = this;
        this.Default = false;
        $(this.entBox).removeClass("default");
    }

    DirectionDOMClass.prototype.AddDirection = function(){
        
        var self = this;
        var number = this.DirectionNumber * 1 + 1;
       
        if (DirectionsDOM.length < 4) {

            //$(DirectionsDOM[this.DirectionNumber].entBox).find('.add_direction').hide();
        	$('#Directions').find('.add_direction').hide();
        	
            var id = "Direction" + number + "_col";
            var direction = document.getElementById(id);

                if( this.Direction == null ){
                    this.createSegment();
                }
                
                this.setNotDefault();
                if(DirectionsDOM.length <= 4){ 
                    var DirectionDOMObj = new DirectionDOMClass();
                    DirectionDOMObj.create();
                    //DirectionDOMObj.AddReturnRoute();
                }
            
        }
    }
    
    DirectionDOMClass.prototype.AddReturnRoute = function() {
        var self = this;
        var number = parseInt(this.DirectionNumber, 10);
        
        if (Directions.length > 0 && Directions[number] != null) {
            if (Directions[number].EndAirpCode != '') {
                DirectionsDOM[number+1].StartAirpInput.value = Directions[number].EndAirp;
                DirectionsDOM[number+1].StartAirpInput.title = Directions[number].EndAirpStr;
                DirectionsDOM[number+1].StartAirpCodeInput.value = Directions[number].EndAirpCode;
                
                DirectionsDOM[number+1].StartAirpInput.setAttribute('airport', this.EndAirpInput.getAttribute("airport"));

                DirectionsDOM[number+1].StartAirpInput.Field.Update();
                DirectionsDOM[number+1].StartAirpInput.suggest.update();
            }
            if (Directions[number].StartAirpCode != '') {
                DirectionsDOM[number+1].EndAirpInput.value = Directions[number].StartAirp;
                DirectionsDOM[number+1].EndAirpInput.title = Directions[number].StartAirpStr;
                DirectionsDOM[number+1].EndAirpCodeInput.value = Directions[number].StartAirpCode;
                
                DirectionsDOM[number+1].EndAirpInput.setAttribute('airport', this.StartAirpInput.getAttribute("airport"));

                DirectionsDOM[number+1].EndAirpInput.Field.Update();
                DirectionsDOM[number+1].EndAirpInput.suggest.update();
            }
            
        }
        setTimeout(function() {
            self.checkDefault(); 
            $('.add_direction').hide(); 
            DirectionsDOM[number+1].DateInput.focus();
        }, 10);
    };    
    
    DirectionDOMClass.prototype.Delete = function () {
        this.DateInput.value = '';
        this.StartAirpInput.value = '';
        this.StartAirpCodeInput.value = '';
        this.EndAirpInput.value = '';
        this.EndAirpCodeInput.value = '';
        
        this.Direction.PlusMinus = '';
        this.Direction.DirectionNumber = '';
        this.Direction.Date = '';
        this.Direction.StartAirp = '';
        this.Direction.StartAirpCode = '';
        this.Direction.StartAirpStr = '';
        this.Direction.EndAirp = '';
        this.Direction.EndAirpCode = '';
        this.Direction.EndAirpStr = '';
        
    }
    
    DirectionDOMClass.prototype.DeleteDirection = function(){
        
        var self = this;
                
        if (this.Direction) {
        	this.Direction.Delete();
        }

        var ds = document.getElementById("Directions");
        $('#Directions').find('.add_direction').hide();
                
        if($("#Directions").find("div.Direction:visible").length == 1) {
            this.DateInput.value = '';
            this.StartAirpInput.value = '';
            this.StartAirpCodeInput.value = '';
            this.EndAirpInput.value = '';
            this.EndAirpCodeInput.value = '';            

            $(DirectionsDOM[1].entBox).addClass('default');
            this.checkDefault(1);
            
        } else {

            ds.removeChild(this.entBox);
            DirectionsDOM.splice(this.DirectionNumber, 1);                
            
            if(($('#CalendarBody:visible').length) || ($('#result_form2').length)) {
                $('#Directions').find('.add_direction:last').show();
            }
            
            var buttons = $('.search-header').find('.jNiceRadio');
            if
            (($(buttons[1]).hasClass('jNiceChecked'))&&($('#CalendarBody:visible').length == 0)&&(DirectionsDOM.length == 2))
            {
                $('#Directions').find('.add_direction:last').show();
            }
            
            for (var i = 1; i < DirectionsDOM.length; i += 1) {
            	DirectionsDOM[i].updateDirectionNumber();
            }
            
        }

        if (Calendar)
            Calendar.draw();
        this.updateRadios();
        ReSaveCookie();
    }
    
    
    DirectionDOMClass.prototype.createSegment = function(){
        var pm = null;
        if (this.PlusMinusInput)
            pm = this.PlusMinusInput.value;
        
        this.Direction = new DirectionClass(
        		this.DirectionNumber, 
        		this.DateInput.value, 
        		this.StartAirpInput.value, 
        		this.EndAirpInput.value, 
        		this.StartAirpCodeInput.value,
        		this.EndAirpCodeInput.value,
        		this.StartAirpInput.title, 
        		this.EndAirpInput.title, 
        		this.TimeInput.value, 
        		pm);
    }
    
    DirectionDOMClass.prototype.updateDirection = function(){
        if(this.Direction){
            this.Direction.DirectionNumber = this.DirectionNumber;
            this.Direction.Date = this.DateInput.value;
            this.Direction.Time = this.TimeInput.value;                     
            
            if (this.PlusMinusInput)
                this.Direction.PlusMinus = this.PlusMinusInput.value;
            
            this.Direction.StartAirp     = this.StartAirpInput.value;
            this.Direction.EndAirp       = this.EndAirpInput.value;
            this.Direction.StartAirpCode = this.StartAirpCodeInput.value;
            this.Direction.EndAirpCode   = this.EndAirpCodeInput.value;
            this.Direction.StartAirpStr  = this.StartAirpInput.title;
            this.Direction.EndAirpStr    = this.EndAirpInput.title;
           
            
            if (Calendar)
                Calendar.draw();
            this.updateRadios();
            
            if($('#CalendarBody:visible').length && Directions.length > 1 && Directions.length < 4) {
                $('#Directions').find('.add_direction:last').show();
            }            
            
        }
    }
    
    DirectionDOMClass.prototype.updateRadios = function(){
        var buttons = $('.search-header').find('.jNiceRadio');
        buttons.removeClass('jNiceChecked');
        
                
        var len = $("#Directions").find("div.Direction:visible").length * 1;
        var key;
        if (len == 1)
            key = 0;
        else if (len == 2)
            key = 1;
        else
            key = 2;
                    
        $.each(buttons, function(i, v) {
            if (i == key) {
                $(v).addClass('jNiceChecked');
            }
        });
    }
/* /Direction DOM Class */

