var isFakeScrollOn;

$(function(){
	var timer;	
	$(".logo").mouseenter(function(){
		timer=setTimeout(function(){
			$("#maincontainer, .social, .title, .text, .copy, .menu-bottom").fadeTo("fast", .07);
	
			$(".logo").data("sTop", $(".logo").position().top);
			$(".logo").css("top", $(".logo").data("sTop")+"px");
			$(".logo").animate({top:240, left:240}, 500);
			$(".logo_image").animate({top:20, left:20}, 500, function(){$(".introtext").fadeIn("fast")});
		}, 500)
	}).mouseleave(function(){
		clearTimeout(timer);
	})

	$(".onecourse").mouseenter(function(){
		if($.browser.msie)
		{
			$(".onelectures").hide();
			$("#lecture"+$(this).attr("id").substring(6)).show();
		}
		else
		{
			$(".onelectures").stop(true, true).fadeOut("fast");
			$("#lecture"+$(this).attr("id").substring(6)).fadeIn("fast");
		}
	})

	$(".groups .one").mouseenter(function(){
		$(".groups .one").removeClass("select");
		$(this).addClass("select");
	})

	$_w=$(window).width();
	$_h=$(window).height();

	$("#body").mousemove(function(e){
		var mX=e.pageX;
		var mY=e.pageY;

		if((mX>340 || mY>340) && parseInt($(".logo").css("top"))==240)
		{
			$("#maincontainer, .social, .title, .text, .copy, .menu-bottom").fadeTo("fast", 1);
	
			$(".logo").animate({top:$(".logo").data("sTop"), left:31}, 500);
			$(".logo_image").animate({top:-226, left:-226}, 500);
			$(".introtext").fadeOut("fast");
		}
		
		$("a, .logo").css("color", "#"+rgbToHex(hsvToRgb(360-Math.round(mY/$_h*360), 100, 80+Math.round(mX/$_w*20))));
		$(".twitter, .facebook, .logo_image, .menu-bottom .active, .onair, .perev").css("background-color", "#"+hexString);
		
		Cufon.refresh(".logo");
	})

	$(window).resize(switchFakeScroller);

/*
	if(!$.browser.msie)
	{
		$(".stable").each(function(){
			$(this).data("from", $(this).position().left);
			$(this).data("to", $(this).position().left+($(this).attr("rel")?parseInt($(this).attr("rel")):$(this).width()));
		})
	}
*/

	Cufon.replace('.font', { fontFamily: 'Oliver' });
	Cufon.replace('.logo', { fontFamily: 'Oliver' });

	if($_w<800)
		switchNormal()
	else
		switchHorizont();
});

function switchFakeScroller()
{
	$_w=$(window).width();
	$_h=$(window).height();

	if($("#fakescroller"))
		$("#fakescroller img").height(($pageWidth-($_w-$_h)));

	if($_w<800)
	{
		$("#block").css({"margin-left":"0px"});

		if(isFakeScrollOn==true)
			switchNormal();
	}
	else
	{
		if(isFakeScrollOn==false)
			switchHorizont();
	}
}

function switchNormal()
{
	turnFakeScrollerOff();
	$("#maincontainer").css({width:"80%"});
	$(".lecturescycle").removeClass("h100");
	$("#lecturesfuture").css({"height":"550px", "margin-top":"30px"});
	$(".lecturescycle td.one").css({"padding":"20px 0px 20px 0px"});
	
	$("#eventsshort").css({height:"auto"});
	$("#eventsshort .one").css({height:"550px"});
	
	$(".ph_one").removeClass("h100").css({height:"600px"});
	
	$(".vertical").css({"clear":"both"});
	$(".vertical").addClass("clr");
	
	$(".perev").hide();
}

function switchHorizont()
{
	turnFakeScrollerOn();
	//$("#maincontainer").css({width:"100%"});
	$(".lecturescycle").addClass("h100");
	$("#lecturesfuture").css({"height":"auto", "margin-top":"0px"});
	$(".lecturescycle td.one").css({"padding":"0px"});				

	$("#eventsshort").css({height:"100%"});
	$("#eventsshort .one").css({height:"94%"});
	
	$(".vertical").css({"clear":"none"});
	$(".vertical").removeClass("clr");

	$(".ph_one").addClass("h100").attr("style", "");
	$(".perev").show();
}


$pageWidth=0;

function turnFakeScrollerOff()
{
	$("#fakescroller").remove();
	$("body, html").css({"overflow":"auto"});
	$("#maincontainer").css({"width":"100%"});

	$("body").unbind("mousewheel");

	isFakeScrollOn=false;
}

function turnFakeScrollerOn()
{
	$("body, html").css({"overflow":"hidden"})	

	$pageWidth=0;
	
	$(".fscrollcol").each(function(){
		$pageWidth+=$(this).width()+60;
	});

	$pageWidth+=160;

	$("#maincontainer").width($pageWidth);

	$("body").append("<div style='height:100%;position:absolute;top:0px;right:0px;width:20px;overflow:auto;z-index:1000;' id='fakescroller'><img src='/images/s.gif' height='"+($pageWidth-($_w-$_h))+"' width='1'></div>");

	if($.browser.msie)
		$("#fakescroller").css({"overflow":"scroll"});

	$("#fakescroller").scroll(function(){
		$l=$("#fakescroller").scrollTop();
		$("#block").css({"margin-left": -$l});
		
/*
		if(!$.browser.msie)
		{
			$(".stable").each(function(){
				if($l>$(this).data("from")-31 && $l<$(this).data("to") || $(this).is(".single")){
					$(this).css({"margin-left":$l-$(this).data("from")+31})
				}else if($l<$(this).data("from")-31){
					$(this).css({"margin-left":0})
				}
			})
			if($l==0)
			{
				$(".stable").each(function(){
					$(this).css({"margin-left":0})
				})
			}
		}
*/
	});
	
	$("body").mousewheel(function(event, delta) {
		$l0=parseInt($("#block").css("margin-left"));
		$lw=-$l0-delta*20;
	
		$("#fakescroller").scrollTop($lw);
	});

	isFakeScrollOn=true;
}

function rgbToHex(hsv_in)
{
	var rgbString="rgb("+hsv_in[0]+", "+hsv_in[1]+", "+hsv_in[2]+")";
	

	var parts = rgbString.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);

	delete (parts[0]);
	for (var i = 1; i <= 3; ++i) {
	    parts[i] = parseInt(parts[i]).toString(16);
	    if (parts[i].length == 1) parts[i] = '0' + parts[i];
	}
	
	return hexString = parts.join('');
}

function hsvToRgb(h, s, v)
{
	var r, g, b;
	var i;
	var f, p, q, t;
	
	h = Math.max(0, Math.min(360, h));
	s = Math.max(0, Math.min(100, s));
	v = Math.max(0, Math.min(100, v));
	
	s /= 100;
	v /= 100;
	
	if(s == 0) {
		r = g = b = v;
		return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
	}
	
	h /= 60;
	i = Math.floor(h);
	f = h - i;
	p = v * (1 - s);
	q = v * (1 - s * f);
	t = v * (1 - s * (1 - f));

	switch(i) {
		case 0:
			r = v;
			g = t;
			b = p;
			break;
			
		case 1:
			r = q;
			g = v;
			b = p;
			break;
			
		case 2:
			r = p;
			g = v;
			b = t;
			break;
			
		case 3:
			r = p;
			g = q;
			b = v;
			break;
			
		case 4:
			r = t;
			g = p;
			b = v;
			break;
			
		default: // case 5:
			r = v;
			g = p;
			b = q;
	}
	
	return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
}

