//JavaScript Document


var Kwix = {   
  
    start: function(){   
        Kwix.parseKwicks();   
    },   
  
    parseKwicks: function(){   
  
        var squeeze_to = 120;     
		var max_width = 140;   
  
  
        var start_widths = new Array();   
        var kwicks = $$('#kwick .kwick');   
        var fx = new Fx.Elements(kwicks, {wait: false, duration: 250, transition:Fx.Transitions.Cubic.easeOut});   
		var fx2 = new Fx.Elements($('menu'), {wait: false, duration: 250, transition:Fx.Transitions.Cubic.easeOut});
        kwicks.each(function(kwick, i){   
  
            start_widths[i] = kwick.getStyle('width').toInt();   
  
    
            kwick.addEvent('mouseenter', function(e){   
  
                var obj = {};   
                obj[i] = {   
                    'width': [kwick.getStyle('width').toInt(), start_widths[i] + 30],
					'font-size': '19px',
					'border-bottom-color': '#ffffff'
					
                };  
				
				
			
                var counter = 0;   
  
                kwicks.each(function(other, j){   
                    if (other != kwick){   
                        var w = other.getStyle('width').toInt();   
                       if (w != squeeze_to) obj[j] = {
						   	'width': [w, start_widths[j] ],
							'font-size': '14px',
							'border-bottom-color': '#777777'
							};   
                    }   
                });   
                fx.start(obj); 
				
	
				
            }   
            );   
        });   
  
       
        $('kwick').addEvent('mouseleave', function(e){   
            var obj = {};   
            kwicks.each(function(other, j){   
                obj[j] = {
					
						'width': [other.getStyle('width').toInt(), start_widths[j]],
						'font-size': '14px',
						'border-bottom-color': '#777777'
				
				};   
            });   
            fx.start(obj);   
        });   
    }   
};   
  
window.addEvent('domready',Kwix.start);
window.addEvent('domready',openMenu);




 


var whatever = new Class({

	Implements: [Events, Options],

	options: {/*
		onSort: $empty,
		onStart: $empty,
		onComplete: $empty,*/
		snap: 0,
		handle: false,
		revert: false,
		constrain: false,
		cloneOpacity: 0.5,
		elementOpacity: 0.3,
		currentId: 0,
		dropIdD: 0
		
	},

	initialize: function(lists, options){
		this.setOptions(options);
		this.elements = [];
		this.lists = [];
		this.idle = true;

		this.addLists($$($(lists) || lists));
		if (this.options.revert) this.effect = new Fx.Morph(null, $merge({duration: 250, link: 'cancel'}, this.options.revert));
	},

	attach: function(){
		this.addLists(this.lists);
		return this;
	},

	detach: function(){
		this.lists = this.removeLists(this.lists);
		return this;
	},

	addItems: function(){
		Array.flatten(arguments).each(function(element){
			this.elements.push(element);
			var start = element.retrieve('sortables:start', this.start.bindWithEvent(this, element));
			var insert = element.retrieve('sortables:insert', this.insert.bind(this, element));
			(this.options.handle ? element.getElement(this.options.handle) || element : element).addEvent('mousedown', start);
			element.addEvent('over', insert);
		}, this);
		return this;
	},

	addLists: function(){
		Array.flatten(arguments).each(function(list){
			this.lists.push(list);
			this.addItems(list.getChildren());
			list.addEvent('over', list.retrieve('sortables:insert', this.insert.bind(this, [list, 'inside'])));
		}, this);
		return this;
	},

	removeItems: function(){
		var elements = [];
		Array.flatten(arguments).each(function(element){
			elements.push(element);
			this.elements.remove(element);
			var start = element.retrieve('sortables:start');
			var insert = element.retrieve('sortables:insert');
			(this.options.handle ? element.getElement(this.options.handle) || element : element).removeEvent('mousedown', start);
			element.removeEvent('over', insert);
		}, this);
		return elements;
	},

	removeLists: function(){
		var lists = [];
		Array.flatten(arguments).each(function(list){
			lists.push(list);
			this.lists.remove(list);
			this.removeItems(list.getChildren());
			list.removeEvent('over', list.retrieve('sortables:insert'));
		}, this);
		return lists;
	},

	getClone: function(element){
		return element.clone(true).setStyles({
			'margin': '0px',
			'position': 'absolute',
			'visibility': 'hidden'
		}).inject(this.list).position(element.getRelativePosition());
	},

	getDroppables: function(){
		var droppables = this.list.getChildren();
		if (!this.options.constrain) droppables = this.lists.concat(droppables).remove(this.list);
		return droppables.remove(this.clone).remove(this.element);
	},

	insert: function(element, where){
	
		this.dropId = element.id;
		
		if (where) {
			this.list = element;
			
			this.drag.droppables = this.getDroppables();
				
			
		}
		
		
		
		
		
		where = where || (this.element.getAllPrevious().contains(element) ? 'before' : 'after');
		this.element.inject(element, where);
		this.fireEvent('onSort', [this.element, this.clone]);
		
		
		
	},

	start: function(event, element){
		if (!this.idle) return;
		this.idle = false;
		this.currentId = element.id;
		this.element = element;
		this.opacity = element.get('opacity');
		this.list = element.getParent();
		this.clone = this.getClone(element);

		this.drag = this.clone.makeDraggable({
			snap: this.options.snap,
			container: this.options.constrain && this.clone.getParent(),
			droppables: this.getDroppables(),
			onStart: function(){
				event.stop();
				this.clone.set('opacity', this.options.cloneOpacity);
				this.element.set('opacity', this.options.elementOpacity);
				this.fireEvent('onStart', [this.element, this.clone]);
			}.bind(this),
			onCancel: this.reset.bind(this),
			onComplete: this.end.bind(this)
		});

		this.drag.start(event);
	},

	end: function(){
		this.element.set('opacity', this.opacity);
		this.drag.detach();
		
		if (this.effect){
			var dim = this.element.getStyles('width', 'height');
			var pos = this.clone.computePosition(this.element.getPosition(this.clone.offsetParent), this.clone.getParent().positioned());
			this.effect.element = this.clone;
			this.effect.start({
				'top': pos.top,
				'left': pos.left,
				'width': dim.width,
				'height': dim.height,
				'opacity': 0.25
			}).chain(this.reset.bind(this));
		} else {
			this.reset();
		}
	},

	reset: function(){
		this.idle = true;
		this.clone.destroy();
		this.fireEvent('onComplete', this.element);
	},

	serialize: function(index, modifier){
		var serial = this.lists.map(function(list){
			return list.getChildren().map(modifier || function(element, index){
				return element.get('id');
			}, this);
		}, this);

		if (this.lists.length == 1) index = 0;
		return $chk(index) && index >= 0 && index < this.lists.length ? serial[index] : serial;
	}

});




window.addEvent('domready', function(){
			new whatever($('editlist')
			);
		});


function openMenu(){
	
		var fx = new Fx.Styles($('test'), {duration: 1500, wait: false, transition: Fx.Transitions.Quart.easeInOut});
		
		fx.start({
		'width': 745,
		'border-right-color': '#ffffff',
		'border-left-color': '#ffffff'
		});
		
		
		var fx = new Fx.Styles($('kwick'), {duration: 1500, wait: false, transition: Fx.Transitions.Quart.easeInOut});
		
		fx.start({
		'left': 0
		
		});
	
}


function moveNoobs(){
		
		$('noobs').removeEvents('mouseenter');
		
		var fx = new Fx.Styles($('noobs'), {duration: 1000, wait: true, transition:Fx.Transitions.Quart.easeOut}).addEvent('onComplete', addNoobsEvent);
		
		x = randomNumber(600, 20);
		y = randomNumber(window.getHeight()-400, 250);
		
		
		
		//
		fx.start({
		'left': x,
		'top': y

		});
		
	
	
}

function randomNumber(xtop, xbottom){
	
		var rand_no = Math.floor((xtop-4)*Math.random()) + xbottom;
		return rand_no;

	
}


	window.addEvent('domready', function(){
			
			
			var xleft = parseInt(Window.getWidth());
			
			
			xleft = xleft - parseInt( $('siteContainer').getStyle('width')) - 70;
			
			
			xleft = xleft / 2;
			
			//alert(xleft);
			if (parseInt(window.getWidth()) < 800) {
			
				xLeft = parseInt($('siteContainer').getStyle('width')) - xLeft;
				
				
			
			}
			
			
			
			$('siteContainer').setStyle('left', xleft);
		//	var newTog = new Element('h3', {'class': 'toggler'}).setHTML('<%'=rsData("Copy Label")%>');
			
			//var newEl = new Element('div', {'class': 'element'}).setHTML('<%'=rsData("Content")%>');
			
			//accordion.addSection(newTog, newEl, 0);
		}); 
		
		
		window.addEvent('resize', function(){
			
			
			var xleft = parseInt(Window.getWidth());
			
			xleft = xleft - parseInt( $('siteContainer').getStyle('width')) - 70;
			
			//lert(xleft);
			
			xleft = xleft / 2;
			
			if (parseInt(window.getWidth()) < 800) {
			
				xLeft = parseInt($('siteContainer').getStyle('width')) - xLeft;
				
				
			
			}
		
			
			$('siteContainer').setStyle('left', xleft);
		//	var newTog = new Element('h3', {'class': 'toggler'}).setHTML('<%'=rsData("Copy Label")%>');
			
			//var newEl = new Element('div', {'class': 'element'}).setHTML('<%'=rsData("Content")%>');
			
			//accordion.addSection(newTog, newEl, 0);
		}); 
