﻿window.addEvent('domready', function() {
    var List = $('List');
    var ListSelected = $('ListSelected');
    var SelectListItems = $('SelectListItems');
    var DeleteListItems = $('DeleteListItems');
    //	var selected_items = $('selected_items');
    //	var inter = $('inter');
    //	var f = $('SearchForm');
    //	var sender = $('submitter');
    //	var Lists = $$([List, ListSelected]);
    //	var otchet = $('otchet');
    //	ulstwo.getElements('li').setStyle('font-weight', 'bold');
    //	new Sortables(Lists, {
    //		revert: true
    //	});

    if (List != null && ListSelected != null) {
        function SetLi(el) {
            el.removeEvents('mouseover');
            el.removeEvents('mouseout');
            el.removeEvents('click');
            el.addEvents({
                'mouseover': function() {
                    el.addClass('hover');
                },
                'mouseout': function() {
                    el.removeClass('hover');
                },
                'click': function(event) {
                    event = new Event(event);
                    if (event.control == false) {
                        ListLi.each(function(li) {
                            if (li.hasClass('selected'))
                                li.removeClass('selected');
                        });
                    }
                    if (!el.hasClass('selected'))
                        el.addClass('selected');
                    else
                        el.removeClass('selected');
                }
            });
        }
        function SetSelectedLi(el) {
            el.removeEvents('mouseover');
            el.removeEvents('mouseout');
            el.removeEvents('click');
            el.addEvents({
                'mouseover': function() {
                    el.addClass('hover');
                },
                'mouseout': function() {
                    el.removeClass('hover');
                },
                'click': function(event) {
                    event = new Event(event);
                    if (event.control == false) {
                        ListSelectedLi.each(function(li) {
                            if (li.hasClass('selected'))
                                li.removeClass('selected');
                        });
                    }
                    if (!el.hasClass('selected'))
                        el.addClass('selected');
                    else
                        el.removeClass('selected');
                }
            });
        }

        function swapNodes(n1, n2) {
            var p1 = n1.parentNode, p2 = n2.parentNode, b = n2.nextSibling;
            p1.replaceChild(n2, n1);
            p2.insertBefore(n1, b);
        }
        function SortList(ul) {
            lis = ul.getElements('li');
            var num = lis.length;
            for (var i = num - 1; i > 0; i--) {
                for (var j = 0; j < i; j++) {
                    if (lis[j].innerHTML > lis[j + 1].innerHTML) {
                        //                        swapNodes(lis[j], lis[j + 1]);
                        ul.insertBefore(lis[j + 1], lis[j]);
                        lis = ul.getElements('li');
                        //                        lis[j].swapNode(lis[j + 1]);
                    }
                }
            }
        }
        var ListLi = List.getElements('li');
        ListLi.each(function(el) {
            SetLi(el);
        });

        var ListSelectedLi = ListSelected.getElements('li');
        ListSelectedLi.each(function(el) {
            SetSelectedLi(el);
        });

        SelectListItems.addEvent(
            'click', function() {
                LiSelected = $$('#List li[class=selected]');
                LiSelected.each(function(li) {
                    SetSelectedLi(li);
                    if (li.hasClass('selected'))
                        li.removeClass('selected');
                });
                ListSelected.adopt(LiSelected);
                SortList(ListSelected);
                ListLi = List.getElements('li');
                ListSelectedLi = ListSelected.getElements('li');

                var Height = 0;
                for (var i = 0; i < ListSelectedLi.length; i++)
                    Height += ListSelectedLi[i].offsetHeight;

                if (Height > List.offsetHeight)
                    Height = List.offsetHeight;

                if (ListSelected.offsetHeight < Height)
                    ListSelected.style.height = Height + 'px';
            }
        );

        DeleteListItems.addEvent(
            'click', function() {
                LiSelected = $$('#ListSelected li[class=selected]');
                LiSelected.each(function(li) {
                    SetLi(li);
                    if (li.hasClass('selected'))
                        li.removeClass('selected');
                });
                List.adopt(LiSelected);
                SortList(List);
                ListLi = List.getElements('li');
                ListSelectedLi = ListSelected.getElements('li');
            }
        );

    }
    //	inter.addEvents({
    //	    'keyup': function() {
    //	        var sum = 0;
    //	        var s = 'find {find} / {all}';
    //	        var elements = ulsone.getElements('li');
    //	        elements.each(function(el){
    //	        	if(!el.get("text").test('^' + inter.value.escapeRegExp(), 'i'))
    //	        	{
    //	        		el.setStyle('display','none');
    //	        	}
    //	        	else{el.setStyle('display','');sum++;}
    //	        });
    //	        var myObject = {find: sum.toString(), all: elements.length.toString()};
    //	        otchet.set('text', s.substitute(myObject));
    //	    }
    //    });
    //    sender.addEvent('click', function(){
    //    	var els = ulstwo.getElements('li');
    //    	if(els.length>0){
    //    		var index = "";
    //    		for(var i=0;i<els.length;i++)
    //    		{
    //    			index += els[i].id;
    //    			index += els.length != i+1 ? "," : "";
    //    		}
    //    		params.value = index;
    //    		f.submit();
    //    	}
    //    });	
});