﻿$(document).ready(function() {
    initMessagePager();
    initOverLay();
    initLoadParent();
    initAutocomplete();
    initFormHighLight();
    initFAQ();
    
    $('.WithBubble').bubble(); 
});


function initFAQ() {    
    $('.FaqHeader').click(function() { $('.'+$(this).attr('id')).slideToggle() });
}

function initFormHighLight()
{
    $('textarea,input[type=text],input[type=password]').focus(function () {
        $(this).addClass('SelectedForm');
    });
    $('textarea,input[type=text],input[type=password]').blur(function () {
        $(this).removeClass('SelectedForm');
    });
}

function setCounter(target, seconds)
{
    if (seconds > 0) {
        var baseSeconds = seconds
        var hours = Math.floor(seconds / 3600)
        seconds = seconds - (hours * 3600)
        var minutes = Math.floor(seconds / 60)
        seconds = seconds - (minutes * 60)
        $("." + target).html(Right("00" + hours, 2) + ':' + Right("00" + minutes, 2) + ':' + Right("00" + seconds, 2));
        var t = setTimeout("setCounter('" + target + "'," + (baseSeconds - 1) + ")",1000);
    }
    else {
        $("." + target).html("00:00:00");
    }
}

function initMessagePager() {
    $('.EventMorelink').live('click',function () {
        var url = $(this).attr('href');
        var linkcontainer = $(this).parent();
        var target = $('.EventLinkContainer')
        $.ajax({ url: url, beforeSend: function() {
            target.html("<img src='/images/icons/ajax-loader.gif'>")
        }, success: function(data) {
            linkcontainer.after(data);
            linkcontainer.remove();
        }});
        return false;
    });
}

function initMessageCharCounter(input, maxchars) {
    var textbox = $('#' + input);
    var status = $(".MessageCharCounter");
    textbox.keyup(function (e) { setStatus() });
    function setStatus() {
        var charsused = textbox.val().length;
        status.html(maxchars - charsused);
    }
    setStatus();
}


function initOverLay()
{
    var container, overlay
    $('.LoadInOverLay').click( function () {
        displayOverlay($(this).attr('href'));
        return false;
    });
}

function displayOverlay(overlayurl)
{        
    var clickedonblock = false;
    container = $(document.createElement('div')).addClass('OverlayContainer') .click( function () { if (!clickedonblock) {$(this).remove();} clickedonblock = false; });
    outeroverlay = $(document.createElement('div')).addClass('OverlayBlockOuter').click( function () { clickedonblock = true; }).appendTo(container);
    overlay = $(document.createElement('div')).addClass('OverlayBlock').click( function () { clickedonblock = true; }).prependTo(outeroverlay);
    $('body').prepend(container);
    outeroverlay.center();
    
    $.ajax({
        url: overlayurl,
        beforeSend: function() {
            overlay.html("Loading...");
            outeroverlay.center();
        }, success: function(data) {
            overlay.html(data);
            outeroverlay.center();
        }});
        
    $('.CloseOverlay').live('click', function (event) {
        $(container).remove();
    });
}

function initLoadParent()
{
    $('.LoadInParent').live('click', function (event) {
        displayInParent(this, $(this).attr('href'));
        return false;
    });
}

function initAutocomplete()
{
    var hashadfocus = false
    $('.AutoCompletePanel input:text').focus(function() {
        if (!hashadfocus) {
            $(this).val('');
            hashadfocus = true;
        }
    });

    $('.AutoCompletePanel input:text').autocomplete('/Ajax/IssueAutoComplete.ashx', 
        {
            resultsClass:'AutocompleteContainer',
            delay:300,
            minChars:3,
            formatItem:formatItem,
            onItemSelect: function (li) { 
	            selectAutoComplete (li);
            },
            onFindValue: function (li) { 
	            selectAutoComplete (li);
            }
        });
}


function formatItem(row) {
	return  "<a href='" + row[4] + "'>" + row[0] + "</a><span class='SubLine'>" + row[1] + ":" + row[2] + ", " + row[3] + "</span>";
}

function selectAutoComplete(li)
{
	if (li == null) {
		return true;
	};
	
	if( !!li.extra ) 
		var sValue = li.extra[3];
	else 
		var sValue = li.selectValue;
	
	document.location = sValue;
}



function displayInParent(control, url)
{
    var parentcontainer = $(control).parent()
     $.ajax({ url: url,
        beforeSend: function() {
            parentcontainer.html("<img src='/images/icons/ajax-loader.gif'>")
        }, success: function(data) {
            parentcontainer.html(data);
        }});
}

(function($){
    $.fn.extend({
        center: function () {
            return this.each(function() {
                var top = ($(window).height() - $(this).outerHeight()) / 2;
                var left = ($(window).width() - $(this).outerWidth()) / 2;
                $(this).css({position:'absolute', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'});
            });
        }
    }); 
})(jQuery);




function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
