$(function () {

    setupPopup();

    //select all the a tag with name equal to modal
    $('a[name=modal]').click(function (e) {
        e.preventDefault();
        var id = $(this).attr('href');
        fadeInWindow(id);
    });

    $("#loginLink").click(function () {
        var $modalContainer = $("#modalContainer");
        $modalContainer.load("/Main/Login/", function () {
            if ($("#authorized", $modalContainer).val() == "true")
                document.location.href = "/Account";
            else
                fadeInWindow("#genericModal");
        });
    });

    $(".videodiv img").click(function () {
        this.src.match(/\/vi\/(\S+)\//i);
        var videoId = RegExp.$1;
        loadVideo(videoId);
    });

    if ($("#pitch").length > 0) {
        jGallery('pitch');
    }
});

function loadVideo(videoId) {
    $("#modalContainer").load("/Main/Video/" + videoId, function () {
        fadeInWindow("#genericModal");
    });
}


var jGalleryTimer = 0;
var jGalleryFirstStart = true;
var jGallery_action = false;
function jGallery(id, visible, timeInterval, transitionInterval)
{
	var visible = (visible) ? visible : 1;
	var timeInterval = (timeInterval) ? timeInterval : 5000;
	var transitionInterval = (transitionInterval) ? transitionInterval : 200;
    var galdivs = $("."+id+"-gallery-div");
    var w = (w) ? w : galdivs.first().width();
    var cnt = galdivs.size();
	if(jGalleryTimer)
	{
		clearInterval(jGalleryTimer);
		jGalleryTimer = 0;
	}
	
	if(!jGalleryFirstStart)
	{
		if(!jGallery_move(id, cnt, -1, w, visible, transitionInterval))
			jGallery_restart(id, cnt, transitionInterval);
	}
	
	jGalleryFirstStart = false;
	
	jGalleryTimer = setInterval(function(){ jGallery(id, visible, timeInterval, transitionInterval); }, timeInterval);
}

function jGallery_move(id, cnt, dir, w, visible, transitionInterval)
{
	if(jGallery_action)
		return false;
		
	var curr = document.getElementById("gallery-"+id+"-holder").style.left;
	curr = parseFloat(curr);

	if(isNaN(curr))
		curr = 0;
	if(dir > 0)
	{
		if(curr >= 0)
			return false;
	}
	else
	{
		if(curr + cnt * w - visible * w <= 0)
			return false;
	}

	jGallery_action = true;
	var offset = w;

	if(dir < 0)
		dir = "-";
	else
		dir = "+";
		
	$("#gallery-"+id+"-holder").animate(
		{left : dir+"="+offset+"px"},
		{queue:true, duration:transitionInterval, complete: function() {jGallery_action = false;}}
	);
	
	return true;
}

function jGallery_restart(id, cnt, transitionInterval)
{
	if(jGallery_action)
		return false;
		
	var curr = document.getElementById("gallery-"+id+"-holder").style.left;
	curr = parseFloat(curr);

	if(isNaN(curr))
		curr = 0;
	if(curr >= 0)
		return false;

	jGallery_action = true;
	var offset = curr * (-1);

	$("#gallery-"+id+"-holder").animate(
		{left : "+="+offset+"px"},
		{queue:true, duration:transitionInterval*cnt, complete: function() {jGallery_action = false;}}
	);
	
	return true;
}

var jMenu_timeout    = 500;
var jMenu_effectTime = 200;
var jMenu_closetimer = 0;
var jMenu_ddmenuitem = 0;
var jMenu_openid = 0;
var jMenu_action = false;
function jMenu_open() {
    jMenu_openElm(this);
}
function jMenu_openElm(elm)
{
	jMenu_canceltimer();
	
	if($("a", elm).html() == jMenu_openid)
		return;
		
	if(jMenu_action)
		return;
		
	jMenu_close();

	if($("ul", elm).size() == 0)
		return;
	
	jMenu_action = true;
	jMenu_ddmenuitem = $(elm).find('ul').slideDown(jMenu_effectTime, function() {jMenu_action = false;});
	jMenu_openid = $("a", elm).html();
	if (document.getElementById('ul'))
		document.getElementById('ul').className = 'current';
}

function jMenu_close()
{
	if(jMenu_action)
		return;
			
	if(jMenu_ddmenuitem)
	{
		jMenu_action = true;
		jMenu_ddmenuitem.fadeOut(jMenu_effectTime, function() {jMenu_action = false;});
		jMenu_ddmenuitem = null;
		jMenu_openid = null;
	}
}

function jMenu_timer() {
	jMenu_setTimer(jMenu_timeout);
}

function jMenu_setTimer(timeout) {
    jMenu_closetimer = window.setTimeout(jMenu_close, timeout);
}


function jMenu_canceltimer()
{
	if(jMenu_closetimer)
	{
		window.clearTimeout(jMenu_closetimer);
		jMenu_closetimer = null;
	}
}

$(document).ready(function() {
	$('.jMenu > li').bind('mouseover', jMenu_open)
	$('.jMenu > li').bind('mouseout',  jMenu_timer)
	$('.jMenu > li > ul').bind('mouseover',  jMenu_canceltimer)
	$('.jMenu > li > ul > li').bind('mouseover',  jMenu_canceltimer)
});

//document.onclick = jMenu_close;


