$(document).ready(function (){

    $('#navigation').mouseleave(function() {
        menuMouseOut();
    });

    scrollHomepageNews();

	animateHotList();

    //  POSITION submenus
    var itemWidth;
    var totalWidth      = 0;
    var menuLeftOffset  = 106;
    var arrOffset       = new Array();
    arrOffset[0]        = menuLeftOffset;

    $(".mainMenuItem").each(function(index) {
        var $this       = $(this);
        itemWidth       = $this.width() + 1;
        totalWidth      = totalWidth + itemWidth;

        arrOffset[index+1] = totalWidth + menuLeftOffset;
    });

    $(".submenu_item_container").each(function(index) {
        var $this       = $(this);

        $this.css('left', arrOffset[index]);
    });
});

var intOpenSubmenuIndex         = 0;
var intRequestedSubmenuIndex    = 0;
var blnMenuInTrans              = 0;
var blnContainerIsOpen          = 0;
var objMenuTimer                = 0;

function menuMouseOver(intIndex)
{
    //  CANCEL hide timer
    clearTimeout(objMenuTimer);

    //  SET request
    intRequestedSubmenuIndex    = intIndex;

    //  IF no trans in progress
    if(!blnMenuInTrans)
    {
        //  IF container is open
        if(blnContainerIsOpen)
        {
            //  HIDE currently open submenu
            menuTransitionSubmenu();
        }
        //  ELSE if container is closed
        else
        {
            //  OPEN container
            menuShowContainer();

            //  SHOW requested submenu
            menuShowSubmenu();
        }
    }
}

function menuMouseOut()
{
    menuStartHideContainerTimer();
}

function menuStartHideContainerTimer()
{
    clearTimeout(objMenuTimer);
    objMenuTimer = setTimeout("menuHideContainer()", 4000);
}

function menuShowContainer()
{
    clearTimeout(objMenuTimer);
    $('#submenu_container').fadeIn(200);
    blnContainerIsOpen          = 1;
}

function menuHideContainer()
{
    $('#submenu_container').fadeOut(200);
    $('#submenu_'+intOpenSubmenuIndex).hide();
    blnContainerIsOpen          = 0;
}

function menuShowSubmenu()
{
    clearTimeout(objMenuTimer);
    $('#submenu_'+intRequestedSubmenuIndex).show();
    intOpenSubmenuIndex         = intRequestedSubmenuIndex;
    intRequestedSubmenuIndex    = 0;
}

function menuHideSubmenu()
{
    $('#submenu_'+intOpenSubmenuIndex).hide();
    intOpenSubmenuIndex         = 0;
}

function menuTransitionSubmenu()
{
    menuHideSubmenu();
    menuShowSubmenu();
}

function casesAdvancedSearchClicked()
{
    $('#case_search_advanced').slideDown();
    $('#cases_advanced_search_link').hide();
    $('#cases_basic_search_link').show();

    $('#hfShowAdvanceForm').val('block');
}

function casesBasicSearchClicked()
{
    $('#case_search_advanced').slideUp();
    $('#cases_basic_search_link').hide();
    $('#cases_advanced_search_link').show();

    $('#hfShowAdvanceForm').val('none');
}

function toggleExtraCases(elementID, count, elementKey, sortType) {

    var objElement = document.getElementById(elementID);

    if (objElement != null) {

        if (objElement.style.display != "none")
        {
            $("#" + elementID).slideUp();
            //change display count
            $("#" + elementID.toString().replace('div', 'span')).text("Displaying 5 of " + count + " " + sortType);

            $("#more_results_" + elementKey).empty();
            $("#more_results_" + elementKey).append('More Results');
        }
        else {
            $("#" + elementID).slideDown();

            $("#" + elementID.toString().replace('div', 'span')).text("Displaying " + count + " of " + count + " " + sortType);

            $("#more_results_" + elementKey).empty();
            $("#more_results_" + elementKey).append('Top Results');
        }
    }
}

//////////////////////////
//  HOMEPAGE SLIDESHOW

var slideshowLastIndex    = 2;
var slideshowIndexShowing = 0;
var slideshowIndexQueued  = null;
var slideshowInTrans      = 0;
var slideshowTransTime    = 400;
var slideshowTimeoutId    = null;

function setLastSlide(intLastIndex)
{
    slideshowLastIndex = intLastIndex;
}

function slideshowLinkMouseOver(index)
{
    //  QUEUE request
    slideshowIndexQueued = index;
    //$('#report_queued').empty();
    //$('#report_queued').append(slideshowIndexQueued);

    //  IF requested slide is different from showing slide
    if(index != slideshowIndexShowing)
    {
        //  IF no transition in progress
        if(!slideshowInTrans)
        {
            slideshowSwitch();
        }
    }
}

function slideshowTimerSet()
{
    slideshowTimeoutId = setTimeout("slideshowTimerDing()", 8000);
}

function slideshowTimerDing()
{
    slideshowIndexQueued = slideshowIndexShowing + 1;

    if(slideshowIndexQueued > slideshowLastIndex)
    {
        slideshowIndexQueued = 0;
    }

    //  IF no transition in progress
    if(!slideshowInTrans)
    {
        slideshowSwitch();
    }
}

function slideshowSwitch()
{
    var newIndex = slideshowIndexQueued;
    var oldIndex = slideshowIndexShowing;
    slideshowIndexQueued  = null;
    slideshowInTrans      = 1;
    clearTimeout(slideshowTimeoutId);

    //  TRANSITION quote
    $('#hero_quote_'+oldIndex).fadeOut(slideshowTransTime);
    $('#hero_quote_'+newIndex).fadeIn(slideshowTransTime);

    //  TRANSITION link
    $('#hero_link_'+oldIndex).removeClass('active');
    $('#hero_link_'+newIndex).addClass('active');

    //  IF new is above old
    if(newIndex > oldIndex)
    {
        //  FADE in new
        $('#hero_slide_'+newIndex).fadeIn(slideshowTransTime, function() {

            //  HIDE old
            $('#hero_slide_'+oldIndex).hide();

            slideshowInTrans      = 0;
            slideshowIndexShowing = newIndex;
            slideshowTimerSet();

            //$('#report_showing').empty();
            //$('#report_showing').append(slideshowIndexShowing);

            //  IF another slide has queued in the meantime, show it
            if(slideshowIndexQueued != newIndex)
            {
                if(slideshowIndexQueued != null)
                {
                    slideshowSwitch();
                }
            }
        });
    }
    //  IF new is below old
    else
    {
        //  SHOW new
        $('#hero_slide_'+newIndex).show();

        //  FADE our old
        $('#hero_slide_'+oldIndex).fadeOut(slideshowTransTime, function() {

            slideshowInTrans      = 0;
            slideshowIndexShowing = newIndex;
            slideshowTimerSet();

            //$('#report_showing').empty();
            //$('#report_showing').append(slideshowIndexShowing);

            //  IF another slide has queued in the meantime, show it
            if(slideshowIndexQueued != newIndex)
            {
                if(slideshowIndexQueued != null)
                {
                    slideshowSwitch();
                }
            }
        });
    }
}

//  HOMEPAGE SLIDESHOW
//////////////////////////

///////////////////////////
//  HOMEPAGE NEWS SLIDE

var scrollSpeed             = 1;
var newsHeight              = 1;
var newsContainerHeight     = 1;
var arrNewsItem = new Array();

function addNewsItem(strItemId)
{
    arrNewsItem.push(strItemId);
}

function scrollHomepageNews()
{
    $('#homepage_news').css('height', $('#home_featured_cases').height());

    newsContainerHeight = $('#homepage_news').height();
    newsHeight          = $('#homepage_news_items').height();

    $('#homepage_news_items').css('top', newsContainerHeight);

    $('#homepage_news').mouseenter(function(){
        scrollSpeed     = 0;
    });

    $('#homepage_news').mouseleave(function(){
        scrollSpeed     = 1;
    });


    scrollHomepageNews_Bump();
}

function scrollHomepageNews_Bump()
{
    var position = $('#homepage_news_items').position();

    if(position)
    {
        var intTop   = position.top - scrollSpeed;

        if(intTop < ((newsHeight/2) * -1))
        {
            intTop = 0;
        }

        $('#homepage_news_items').css('top', intTop);
        setTimeout("scrollHomepageNews_Bump()", 50);
    }
}

//  HOMEPAGE NEWS SLIDE
///////////////////////////

function animateHotList()
{
	setTimeout("animateHotList_1();", 2000);
}

function animateHotList_1()
{
	$("#hot_list_frame_2").fadeIn(200);
	setTimeout("animateHotList_2();", 1200);
}

function animateHotList_2()
{
	$("#hot_list_frame_3").fadeIn(200);
	$("#hot_list_frame_1").fadeOut(200);
	setTimeout("animateHotList_3();", 1200);
}

function animateHotList_3()
{
	$("#hot_list_frame_4").fadeIn(200);
	$("#hot_list_frame_2").fadeOut(200);
	setTimeout("animateHotList_4();", 1200);
}

function animateHotList_4()
{
	$("#hot_list_frame_5").fadeIn(200);
	$("#hot_list_frame_3").fadeOut(200);
}

///////////////////////////
//  CASE MODULE

function CasesAddRelatedFile()
{
    var intRand = Math.floor(Math.random()*1000001)
    var strHtml;

    strHtml = "<div id='CasesRelatedFile_"+intRand+"'><a href='javascript:CasesCancelRelatedFile("+intRand+");'><img src='../images/icons/sc_delete_16.gif' border='0'></a> Name <input type='text' name='related_document_names[]'>  &nbsp; Keywords <input type='text' name='related_document_keywords[]'> &nbsp; File <input type='file' name='related_documents[]'></div>";
    $('#CasesRelatedFileContainer').append(strHtml);

}

function CasesCancelRelatedFile(intKey)
{
    $('#CasesRelatedFile_'+intKey).empty();
}

function CasesDeleteRelatedFile(intRelatedDocumentId)
{
    var strHtml = "<input type='hidden' name='delete_related_documents[]' value='"+intRelatedDocumentId+"'>";

    $('#CasesRelatedFile_'+intRelatedDocumentId).empty();
    $('#CasesRelatedFile_'+intRelatedDocumentId).append(strHtml);
}

function CasesAddRelatedCourt()
{
    var name        = $('#AddCasesRelatedCourtName').val();
    var state       = $('#AddCasesRelatedCourtState').val();
    var location    = $('#AddCasesRelatedCourtLocation').val();

    if(name.length && state.length && location.length)
    {
        var intRand = Math.floor(Math.random()*1000001)
        var strHtml;

        strHtml = "<div id='CasesRelatedCourt_"+intRand+"'><a href='javascript:CasesCancelRelatedCourt("+intRand+");'><img src='../images/icons/sc_delete_16.gif' border='0'></a> "+name+", "+location+" ("+state+")<input type='hidden' name='related_court_name[]' value='"+name+"'><input type='hidden' name='related_court_state[]' value='"+state+"'><input type='hidden' name='related_court_location[]' value='"+location+"'></div>";
        $('#CasesRelatedCourtContainer').append(strHtml);

        $('#AddCasesRelatedCourtName').val('');
        $('#AddCasesRelatedCourtState').val('');
        $('#AddCasesRelatedCourtLocation').val('');
    }
    else
    {
        alert('Please fill in all fields and then click Add.');
    }
}

function CasesCancelRelatedCourt(intKey)
{
    $('#CasesRelatedCourt_'+intKey).empty();
}

function CasesDeleteRelatedCourt(intRelatedCourtId)
{
    var strHtml = "<input type='hidden' name='delete_related_court[]' value='"+intRelatedCourtId+"'>";

    $('#CasesRelatedCourt_'+intRelatedCourtId).empty();
    $('#CasesRelatedCourt_'+intRelatedCourtId).append(strHtml);
}

//  CASE MODULE
///////////////////////////


///////////////////////////
//  SHARE MODULE

function share(network, href) {

	var url = '', title;
	if (href == undefined || href == '') {
	    href = document.location;
	    // remove the # sound from the href tag
	    var str = new String(href);
	    str = str.replace('#', '')
	    href = str;
    }

    href = escape(href);


	if(network == 'facebook') {
		url = 'http://www.facebook.com/sharer.php?u=' + href;
	}
	else if(network == 'digg') {
		url = 'http://digg.com/submit?phase=2&url=' + href;
	}
	else if(network == 'linked-in') {
                url = "http://www.linkedin.com/shareArticle?mini=true&url="+href; //+"&source=Hagens Berman";
	}
	else if(network == 'delicious') {
		url = 'http://del.icio.us/post?url=' + href;
	}
	else if(network == 'myspace') {
		url = 'http://www.myspace.com/index.cfm?fuseaction=postto&u=' + href;
	}
	else if(network == 'twitter') {
		url = 'http://twitter.com/home?status=' + href;
	}
	else if(network == 'su') {
		url = 'http://www.stumbleupon.com/submit?url=' + href;
	}
	else if(network == 'email') {
	url = "mailto:?subject=We're a Lot Like You: PEMCO Insurance&body=" + href;
	}
	else if(network == 'bookmark') {
		title = document.title;

		if($.browser.msie && document.all) {
			window.external.AddFavorite(href, title);
		}

		else if($.browser.mozilla && window.sidebar) {
			window.sidebar.addPanel(title, href, "");
		}

		else {
			pemco.ajax.flash('Your browser does not support automatic bookmarking. Please use your browsers bookmarking features to save this page.', 'Notice', 10000);
		}

		return false;
	}

	if(url.length) {
		if(network == 'email')
		{
			window.location = url;
		}
		else
		{
			window.open(url);
		}
	}

	return false;
}

//enable sharing links
$('.facebook')
	.live('click', function() {
		share('facebook', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Share on Facebook').attr('rel', 'sidebar');
	})

$('.digg')
	.live('click', function() {
		share('digg', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Digg it!').attr('rel', 'sidebar');
	})

$('.linked-in')
	.live('click', function() {
		share('linked-in', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Share on Linked in').attr('rel', 'sidebar');
	})

$('.delicious')
	.live('click', function() {
		share('delicious', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Bookmark on delicious').attr('rel', 'sidebar');
	})

$('.myspace')
	.live('click', function() {
		share('myspace', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Share on MySpace').attr('rel', 'sidebar');
	})


$('.twitter')
	.live('click', function() {
		share('twitter', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Share on Twitter').attr('rel', 'sidebar');
	})

$('.su')
	.live('click', function() {
		share('su', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Share on StumbleUpon').attr('rel', 'sidebar');
	})

$('.bookmark')
	.live('click', function() {
		share('bookmark', $(this).attr('href'));
		return false;
	})
	.live('mouseover', function () {
		$(this).attr('title', 'Bookmark this page').attr('rel', 'sidebar');
	})

//  SHARE MODULE
///////////////////////////

function InitAlertSignup(name, targetTable, targetId, key)
{
    $('.lightbox_signup_inner .form').show();
    $('.lightbox_signup_inner .error_message').hide();

    $('.lightbox_signup_inner .success_message').hide();
    $('.lightbox_signup_inner .success_message').empty();
    $('.lightbox_signup_inner .success_message').append("You have successfully signed up for '"+name+"' email alerts.");
    
    $('.lightbox_signup_inner .target_message').empty();
    $('.lightbox_signup_inner .target_message').append("Enter your information to receive '"+name+"' email alerts.");

    $('#alert_signup_name_first').val('');
    $('#alert_signup_name_last').val('');
    $('#alert_signup_email').val('');
    $('#alert_signup_target_name').val(name);
    $('#alert_signup_target_table').val(targetTable);
    $('#alert_signup_target_id').val(targetId);
    $('#alert_signup_key').val(key);
}

if (window.XMLHttpRequest)
    xmlhttp=new XMLHttpRequest();
else
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

function SubmitAlertSignup()
{
    var root            = $('#alert_signup_root').val();
    var key             = $('#alert_signup_key').val();
    var name_first      = $('#alert_signup_name_first').val();
    var name_last       = $('#alert_signup_name_last').val();
    var email           = $('#alert_signup_email').val();
    var target_name     = $('#alert_signup_target_name').val();
    var target_table    = $('#alert_signup_target_table').val();
    var target_id       = $('#alert_signup_target_id').val();

    if(name_first.length && name_last.length && email.length)
    {
        xmlhttp.open("GET",root+'alert_signup.ajax.php?target_name='+target_name+'&target_table='+target_table+'&target_id='+target_id+'&name_first='+name_first+'&name_last='+name_last+'&email='+email+'&key='+key);
        xmlhttp.onreadystatechange = HandleSubmitAlertSignup;
        xmlhttp.send(null);
    }
    else
    {
        $('.lightbox_signup_inner .error_message').slideDown(200);
    }
}

function HandleSubmitAlertSignup() {

    if (xmlhttp.readyState == 4)
    {
        if (xmlhttp.status == 200)
        {
            var response = xmlhttp.responseText;

            if(response == 'true')
            {
                $('.lightbox_signup_inner .form').hide();
                $('.lightbox_signup_inner .success_message').show();
            }
            else
            {
                $('.lightbox_signup_inner .error_message').empty();
                $('.lightbox_signup_inner .error_message').append(response);
                $('.lightbox_signup_inner .error_message').slideDown(200);
            }
        }
    }
}

function TextareaCharLimit(strTextareaId, intLimit)
{
    var val = $('#'+strTextareaId).val();

    if(val.length > intLimit)
    {
        $('#'+strTextareaId).val(val.substr(0, intLimit));
    }
}

