var fishline = {
	client: {
		width: 0,
		height: 0
	},
	jump: false,
	wline: 0,
	width: 0,
	height: 0,
	coff: 0,
	offset: 0,
	offset_prev: 0,
	direction: -1,
	stun: false,
	fear: false,
	move: function(mousex){
		if(!fishline.jump){
		this.offset = (mousex / this.client.width) * (this.wline - 600) + 300;
		}
		this.render();
		
	},
	render: function(){	
		if (this.fear) return false;
		//if (this.stun) return false;
		
		if (this.offset < this.wline) this.offset = this.wline;
		if (this.offset > 0) this.offset = 0;
		
		if(fishline.offset != fishline.offset_prev) fishline.direction = fishline.offset > fishline.offset_prev ? -1 : 1 ;
		var speed = 2;
		//Math.abs(fishline.coff-fishline.offset)

		if(fishline.coff > fishline.offset && fishline.direction > 0) fishline.coff -= speed;
		if(fishline.coff < fishline.offset && fishline.direction < 0) fishline.coff += speed;					
		jQuery("#fishline > div").css({left:fishline.coff+"px"});	
		fishline.offset_prev = fishline.offset;
		
	},
	init: function(){		
		this.width = jQuery("#fishline > div").width();
		this.height = jQuery("#fishline > div").height();
		this.resize();		
	},
	resize: function(){
		jQuery("#fishline").css("margin-top", 0);
		this.client.width = jQuery(document).width();
		this.client.height = jQuery(document).height();
		this.wline = this.client.width - this.width;
		this.offset = this.wline / 2;
		jQuery("#fishline").css("margin-top", (this.client.height - this.height) + "px");
		this.render();
	},
	member: {
		add: function(pos, title, imgname, obj_id){
			var html = "";
			html += "<div class='member' style='left:"+pos[0]+"px; top:"+pos[1]+"px;' rel='"+obj_id+"'>";
			html += "<div class='item'><h2>"+title+"</h2>";
			html += "<img src='/images/fishline/member/"+imgname+".png'>";
			html += "</div>";
			html += "<div class='link' style='height:"+pos[2]+"px;'></div>";
			html += "</div>";
			jQuery(html).appendTo("#fishline > div");
		}
	},
	view: {
		prodcount: 0,
		prodoff: 0,
		render: function(){
			if(this.prodoff < 0) jQuery("#fishview div.products a.larr").fadeIn(300); else jQuery("#fishview div.products a.larr").fadeOut(300);
			if(this.prodoff > 3-this.prodcount) jQuery("#fishview div.products a.rarr").fadeIn(300); else jQuery("#fishview div.products a.rarr").fadeOut(300);
			jQuery("#fishview div.products > div.container > div.line").stop().animate({marginLeft:(this.prodoff*110)+"px"},200);
		},
		go: function(direct){
			if(this.prodoff-direct > 0 || this.prodoff-direct < 3- this.prodcount) return false;
			this.prodoff -= direct;			
			this.render();
		}
	}
};


jQuery(function(){

	var fishtimer = setInterval(function(){
		fishline.render();	
	},1);
	
	jQuery("#fishview a.hide").bind("click", function(){
		jQuery("#fishview").hide();
		jQuery("#fisharr").hide();
		jQuery("#fishview div.content").empty();
		jQuery("#fisharr").hide().removeClass("ltb lbt rtb rbt");
		fishline.fear = false;
		return false;
	});

});

	jQuery("#fishview a.larr").live("click", function(){
		fishline.view.go(-1);
		return false;
	});
	
	jQuery("#fishview a.rarr").live("click", function(){
		fishline.view.go(1);
		return false;
	});

/*
jQuery("#fishline div.member div.item").live("mouseover",function(event){
	fishline.stun = true;
});

jQuery("#fishline div.member div.item").live("mouseout",function(event){
	fishline.stun = false;
});
*/
jQuery("#fishline div.member div.item").live("click",function(event){
	fishline.fear = true;
	var id = jQuery(this).closest("div.member").attr("rel");
	
	jQuery("#fishview").hide();
	jQuery("#fishview div.content").empty();
	jQuery("#fisharr").hide().removeClass("ltb lbt rtb rbt");

	jQuery.get("/fishview/", {_id:id}, function(data){
		
		jQuery("#fishview div.content").html(data);
		var height = jQuery("#fishview").height();
		var left = event.pageX;
		var top = event.pageY;
		var hdir = 1;
		var vdir = 1;
		if(left + 397 + 51 > fishline.client.width){
			left -= 397 + 51;
			hdir *= -1;
		}else{
			left += 51;
		}
		if(top + height + 150 > fishline.client.height){
			top -= height;
			if(top < 100) top = 100;
			vdir *= -1;
		}
		
		var arrclass = "ltb";
		if(hdir == 1 && vdir == 1) arrclass = "ltb";
		if(hdir == 1 && vdir == -1) arrclass = "lbt";
		if(hdir == -1 && vdir == 1) arrclass = "rbt";
		if(hdir == -1 && vdir == -1) arrclass = "rtb";
	
		fishline.view.prodcount = jQuery("#fishview div.product").length;
		fishline.view.prodoff = 0;
		jQuery("#fishview div.products a.larr").hide();
		jQuery("#fishview div.products a.rarr").hide();
		fishline.view.render();
	
		jQuery("#fisharr").css({left:event.pageX+"px", top:event.pageY+"px"}).addClass(arrclass).fadeIn(300);
		jQuery("#fishview").css({left:left+"px", top:top+"px"}).fadeIn(300);
	});
});


jQuery(document).bind("mousemove",function(event){
	fishline.move(event.pageX);
});

jQuery(window).bind("resize", function(){
	fishline.resize();
});
