var tim;
var m_speed = 10;
var preload_images = [];
$(document).ready(function(){

	tim = new Timer(50);
	tim.start();
	$('#cart-small-toggler').click(function(){
	
//		$('#cart-small-dropdown').slideToggle();

	});

	init_manufacturers();
	$('a[rel*=facebox]').facebox();

	init_b_hover();

	init_inputs_focus();

	init_thumb_list();
	preload();
});


function init_manufacturers(){
	
	var root = $$('manufacturers');
	if(root){
		var holder = $C('holder', root, 'DIV', 1);
		var mover = $C('mover', root, 'DIV', 1);

		root.b_left = $C('arrow-left', root, 'DIV', 1);
		root.b_right = $C('arrow-right', root, 'DIV', 1);

		var mover_width_div = $C('mover-items', root, 'DIV', 1);

		mover.style.width = mover_width_div.offsetWidth + 'px';

		var delta = mover.offsetWidth - holder.offsetWidth;
		if(delta > 0){
			root._movement = new Movement(mover, tim);
			root._movement.moveable.setLimits('X', delta, delta);
			root.b_left.onmouseover = function(){
				this._movement.setSteps(m_speed, 0);		
				this._movement.start();
			}.bind(root);
			root.b_right.onmouseover = function(){
				this._movement.setSteps(-m_speed, 0);
				this._movement.start();		
			}.bind(root);
			root.b_left.onmouseout = root.b_right.onmouseout = function(){
				this._movement.stop();
			}.bind(root);
			root._movement.moveable.limits.X.onmore.register('arrow', function(){
				this.b_left.addClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onmoreout.register('arrow', function(){
				this.b_left.removeClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onless.register('arrow', function(){
				this.b_right.addClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onlessout.register('arrow', function(){
				this.b_right.removeClass('arrow-disabled');
			}.bind(root));

			var here_link = $C('here', root, 'A', 1);
			if(here_link){
				if(here_link.offsetLeft > holder.offsetWidth - here_link.offsetWidth){
					root._movement.moveable.moveTo(holder.offsetWidth - here_link.offsetWidth - here_link.offsetLeft, 0);
				}
			}

		}else{
			root.b_left.style.display = root.b_right.style.display = 'none';		
		}


	}

}

function init_thumb_list(){
	var root = $$('thumbs_list');
	if(root){
		var large_root = $$('image-large');
		large_root.images = $T('IMG', large_root);
		var lis = $T('LI', root);
		lis.each(function(li, index){
			li._root = root;
			li._src_large = $I('hidden', li, 1).value;
			li._img_large = large_root.images.detect(function(img){
				return img.id.split('-').last() == li.id.split('-').last();
			});
			li._op = new Opacity(li._img_large, tim);
			li._op.onafterfade.register('set next', function(){
				this._img_large.addClass('invisible');
				this._root._next._img_large.removeClass('invisible');
				this._root._next._op.appear(100, 30);
				this._root._here = this._root._next;
			}.bind(li));
			li.onmouseover = function(){
				if(this._root._here == this){
					return ;
				}
				this._root._here._op.fade(0, 30);
				this._root._next = li;
			};
			if(!index){
				root._here = li;
			}else{
				li._op.setOpacity(0);
			}
		});



		var holder = $C('holder', root, 'DIV', 1);
		var mover = $C('mover', root, 'DIV', 1);

		root.b_left = $C('arrow-left', root, 'DIV', 1);
		root.b_right = $C('arrow-right', root, 'DIV', 1);

		var mover_width_div = $C('mover-items', root, 'UL', 1);

		mover.style.width = mover_width_div.offsetWidth + 'px';

		var delta = mover.offsetWidth - holder.offsetWidth;
		if(delta > 0){
			root._movement = new Movement(mover, tim);
			root._movement.moveable.setLimits('X', delta, delta);

			root.b_left.onmouseover = function(){
				this._movement.setSteps(m_speed, 0);		
				this._movement.start();
			}.bind(root);
			root.b_right.onmouseover = function(){
				this._movement.setSteps(-m_speed, 0);
				this._movement.start();		
			}.bind(root);
			root.b_left.onmouseout = root.b_right.onmouseout = function(){
				this._movement.stop();
			}.bind(root);
			root._movement.moveable.limits.X.onmore.register('arrow', function(){
				this.b_left.addClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onmoreout.register('arrow', function(){
				this.b_left.removeClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onless.register('arrow', function(){
				this.b_right.addClass('arrow-disabled');
			}.bind(root));
			root._movement.moveable.limits.X.onlessout.register('arrow', function(){
				this.b_right.removeClass('arrow-disabled');
			}.bind(root));


		}else{
			root.b_left.style.display = root.b_right.style.display = 'none';		
		}
	}

}

function init_b_hover(){
	var imgs = $('IMG, INPUT[type="image"]');

	imgs.each(function(){
		var img_name = this.src.substr(this.src.lastIndexOf('/') + 1);
		if(img_name.indexOf('b-') == 0){
			this._src = this.src;
			this._hover_src = this.src.replace(this.src.substr(this.src.lastIndexOf('.')), '-over' + this.src.substr(this.src.lastIndexOf('.')));
			$(this).hover(function(){
				this.src = this._hover_src;
			}, function(){
				this.src = this._src;
			});
			preload_images.push(this._hover_src);

		}
	});
}

function preload(){
	preload_images.each(function(src){
		var img = document.createElement('IMG');
		img.src = src;
		img.className = 'preloaded';
		document.body.appendChild(img);
	});
}

function init_inputs_focus(){
	$('INPUT[name="email"], INPUT[name="email_create"]').focus(function(){
		if(this.value == 'E-mail'){
			this.value = '';
		}
	}).blur(function(){
		if(this.value == ''){
			this.value = 'E-mail';
		}
	});
	$('#user-block INPUT[type="password"]').focus(function(){
		if(this.value == 'Password'){
			this.value = '';
		}
	}).blur(function(){
		if(this.value == ''){
			this.value = 'Password';
		}
	});
}
