$(document).ready(function() {
    //$('.code,.Code').jCodeViewer();
    //$('img').tooltip();

	$.ajaxSetup({cache:true});

    $('#featured').slidingBillboard({ width: 712, height: 125, time: 5000 }).show();

    if ($('#latestNews').length > 0) {
        $.get('rss.asp', { TypeId: 1, top: 10 }, function(data) {
            $('#latestNews').empty();
            $('item', data).each(function(i) {
                var txt = $.trim($('title', this).text());
                var lnk = $.trim($('link', this).text());
                var li = $('<li>').appendTo('#latestNews');
                $('<a href="' + lnk + '">' + txt + '</a>').appendTo(li);
            });
            $('#latestNews').ticker(3);
        });
    }

	if ($('div.scrollable').length > 0 || $('div.scrollable_side').length > 0)
	{
		$.getScript('javascript/tools.scrollable-1.1.1.min.js',
		    function(){
		        if ($('.scrollable .item').length > 2) {
					$('.scrollable .scrollable_content').scrollable({size:2, loop:false, clickable:false, alert:false, keyboard:false}).navigator().autoscroll(20000); //.circular();
				} else {
					$('.scrollable .prev').hide();
					$('.scrollable .next').hide();
				}
				if ($('.scrollable_side .item').length > 1) {
					$('.scrollable_side .scrollable_content').scrollable({size:1, loop:false, clickable:false, alert:false, keyboard:false}).navigator().autoscroll(10000); //.circular();
				} else {
					$('.scrollable_side .prev').hide();
					$('.scrollable_side .next').hide();
				}
		    }
		);
	}

	if ($('ul#jstabs').length > 0)
	{
		$.getScript('javascript/jquery.scrollTo-min.js',
			function() {
				$.getScript('javascript/tools.tabs-1.0.3.min.js',
					function() {
						$('ul#jstabs').tabs('div#mycontent > div', {current:'selected'}).history();
						$("div#mycontent a[href^='#']").click(function(){
							if ($('ul#jstabs').offset().top < $(window).scrollTop()) {
								$.scrollTo($('ul#jstabs'), 1000);
							}
							return false;
						});
					}
				);
			}
		);
	}

	// fix anchors with base
	//jQuery("a[ href ^= '#' ]").not("#jstabs a").each(function() {
	//	var loc = new String(window.location);
	//	var href = loc.replace(/#.*/i,'') + jQuery(this).attr('href');
    //    jQuery(this).attr('href',href);
    //});

    // fix for ie6 hover
    //$('.menu_item').hover(function() {
    //    $(this).addClass('over');
    //}, function() {
    //    $(this).removeClass('over');
    //});

    // accordion
    if ($('.relatedList').length > 0) {
        var d = $('<div class="accordion">');
        $('.relatedList').each(function() {
            var i = $('<div>');
            if ($('h4', this).text() == '') $('h4', this).html('&nbsp;');
            i.append($('<div class="accordion_header">').append($('h4', this).html()));
            i.append($('<div class="accordion_content">').append($('ul', this)));
            d.append(i);
        })
        $('.relatedList:first').empty().append('<h4>Related Items</h4>').append(d);
        $('.relatedList').not(':first').remove();
        d.slideMenu({ event: 'mouseover', delay: 300 });
    }

    if ($('.featured').length > 1) {
        var d = $('<div class="featuredMenu">');
        $('.featured').each(function() {
            var i = $('<div>');
            if ($('h4', this).text() == '') $('h4', this).html('&nbsp;');
            i.append($('<div class="featured_content">').append($(this).html()));
            i.append($('<div class="featured_header">').append($('h4', this)));
            d.append(i);
        })
        $('.featured:first').empty().append('<h4>Featured Items</h4>').append(d);
        //$('.featured:first > .middle').remove();  //html('').css({ padding: 0 }).append(d);
        //$('.featured:first > .bottom').remove();
        //$('.featured:first').append(d);
        $('.featured').not(':first').remove();
        d.slideMenu({ header: 'last', event: 'mouseover', delay: 300 });
    }

    /*if ($('.featured').length > 0) {
        var d = $('<div class="featuredMenu">');
        $('.featured').each(function() {
            var i = $('<div>');
            if ($('h4', this).text() == '') $('h4', this).html('&nbsp;');
            i.append($('<div class="content">').append($('.middle', this).html()));
            i.append($('<div class="header">').append($('h4', this)));
            d.append(i);
        })
        $('.featured:first > .top').append('<h4>Featured Items</h4>');
        $('.featured:first > .middle').remove();  //html('').css({ padding: 0 }).append(d);
        $('.featured:first > .bottom').remove();
        $('.featured:first').append(d);
        $('.featured').not(':first').remove();
        d.slideMenu({ header: 'last', event: 'mouseover', delay: 300 });
    } */

    $.tablesorter.addParser({
        // set a unique id
        id: 'html',
        is: function(s) {
            // return false so this parser is not auto detected
            return false;
        },
        format: function(s) {
            // format your data for normalization
            return s.toLowerCase().replace(/<[^>]*>/gi, '');
        },
        // set type, either numeric or text
        type: 'text'
    });
    //if ($(".tablesorter th:contains('Serial')").length == 0) {
    //    if ($(".tablesorter th:contains('Invoice')").length == 0) {
    //        $('.tablesorter').tablesorter({ widgets: ['zebra'], sortList: [[1, 1]], headers: { 0: { sorter: 'html' }, 1: { sorter: 'usLongDate'}} }).each(function() {
    //            $(this).tablesorterPager({ container: $(this).next(), positionFixed: false });
    //        });
    //    } else {
    //    $('.tablesorter').tablesorter({ widgets: ['zebra'], sortList: [[3, 1]], headers: { 1: { sorter: 'html' }, 3: { sorter: 'usLongDate'}} }).each(function() {
    //            $(this).tablesorterPager({ container: $(this).next(), positionFixed: false });
    //        });
    //    }
    //} else {
    //$('.tablesorter').tablesorter({ widgets: ['zebra'], sortList: [[2, 1]], headers: { 0: { sorter: 'html' }, 1: { sorter: false }, 2: { sorter: 'usLongDate'}} }).each(function() {
    //        $(this).tablesorterPager({ container: $(this).next(), positionFixed: false });
    //    });
    //}

    //$('form').submit(function() {
    //    $('input[type=submit]').attr('disabled', 'disabled');
    //    $(this).submit();
    //});

    $('.validate').validate();

    $('.tablesorter').tablesorter({ widgets: ['zebra'] }).each(function() {
        $(this).tablesorterPager({ container: $(this).next(), positionFixed: false });
    });

	$('.products_table').dataTable({
		"bInfo": false,
		"bPaginate": true,
		"aaSorting": [[2,'desc']],
		"sDom": 'f<"clsSplitter">rt<pi<"clsSplitter">><"clsSplitter">',
		"sPaginationType": "paginator",
		"aoColumns": [
            { "sType": "html" },
            { "bSortable": false, "bSearchable": false },
            { "sType": "date", "bSearchable": false }
        ],
		"oLanguage": {
			"oPaginate": {
                "sFirst": "&laquo;",
				"sPrevious": "&lsaquo;",
                "sNext": "&rsaquo;",
                "sLast": "&raquo;"
            },
            "sSearch": "Search extension:",
			"sZeroRecords": "No extensions found",
			"sInfo": "_TOTAL_ extensions found",
			"sInfoFiltered": " of total _MAX_ extensions",
			"sInfoEmpty": "No extensions found",
			"sLengthMenu": "Show _MENU_ extensions per page"
        }
	});

	$('.invoices_table').dataTable({
		"bInfo": false,
		"bPaginate": true,
		"aaSorting": [[3,'desc']],
		"sDom": 'f<"clsSplitter">rt<pi<"clsSplitter">><"clsSplitter">',
		"sPaginationType": "paginator",
		"aoColumns": [
            { "sType": "html" },
            { "sType": "html" },
            { "sType": "valuta", "bSortable": false, "bSearchable": false },
            { "sType": "date", "bSearchable": false }
        ],
		"oLanguage": {
			"oPaginate": {
                "sFirst": "&laquo;",
				"sPrevious": "&lsaquo;",
                "sNext": "&rsaquo;",
                "sLast": "&raquo;"
            },
            "sSearch": "Search invoices:",
			"sZeroRecords": "No invoices found",
			"sInfo": "_TOTAL_ invoices found",
			"sInfoFiltered": " of total _MAX_ invoices",
			"sInfoEmpty": "No invoices found",
			"sLengthMenu": "Show _MENU_ invoices per page"
        }
	});

	$('.support_table').dataTable({
		"bInfo": false,
		"bPaginate": true,
		"aaSorting": [[1,'desc']],
		"sDom": 'f<"clsSplitter">rt<pi<"clsSplitter">><"clsSplitter">',
		"sPaginationType": "paginator",
		"aoColumns": [
            { "sType": "html" },
            { "sType": "date", "bSearchable": false },
            { "sType": "html" }
        ],
		"oLanguage": {
			"oPaginate": {
                "sFirst": "&laquo;",
				"sPrevious": "&lsaquo;",
                "sNext": "&rsaquo;",
                "sLast": "&raquo;"
            },
            "sSearch": "Search topics:",
			"sZeroRecords": "No topics found",
			"sInfo": "_TOTAL_ topics found",
			"sInfoFiltered": " of total _MAX_ topics",
			"sInfoEmpty": "No topics found",
			"sLengthMenu": "Show _MENU_ topics per page"
        }
	});

	$('.contributions_table').dataTable({
		"bInfo": false,
		"bPaginate": true,
		"aaSorting": [[1,'desc']],
		"sDom": 'f<"clsSplitter">rt<pi<"clsSplitter">><"clsSplitter">',
		"sPaginationType": "paginator",
		"aoColumns": [
            { "sType": "html" },
            { "sType": "date", "bSearchable": false }
        ],
		"oLanguage": {
			"oPaginate": {
                "sFirst": "&laquo;",
				"sPrevious": "&lsaquo;",
                "sNext": "&rsaquo;",
                "sLast": "&raquo;"
            },
            "sSearch": "Search articles:",
			"sZeroRecords": "No articles found",
			"sInfo": "_TOTAL_ articles found",
			"sInfoFiltered": " of total _MAX_ articles",
			"sInfoEmpty": "No articles found",
			"sLengthMenu": "Show _MENU_ articles per page"
        }
	});

    $('input:text').hint();

    $('input:text').attr('autocomplete', 'off');

    $('a:not(:has(img))[href^=http]:not([href^=' + $('base').attr('href') + '])').addClass('external');

	/*
    $('<div id="searchResults"></div>').appendTo('body');
    $('#siteSearch').keyup(function() {
        $('#searchResults').hide();
        if ($(this).val().length > 2) {
            $.post("ajax_search.asp", { STypeId: $('#typeId').val(), searchString: $(this).val() }, function(data, status) {
                if (status = "success") {
                    $('#searchResults').html(data).show();
                    $('body').click(function() {
                        $('#searchResults').hide();
                        $('body').unbind('click', function() { })
                    });
                } else {
                    $('#searchResults').hide();
                }
            }, "html");
        }
    });
	*/

	$.getScript('javascript/dmxAjaxSearch.js', function() {
		$('<div id="searchResults"></div>').appendTo('body');
		$('#siteSearch').dmxAjaxSearch({extra:{STypeId: $('#typeId').val()}});
	});
});

function gotoUrl(url){ document.location.href = url; }

jQuery.fn.hint = function () {
  return this.each(function (){
    var t = jQuery(this);
    var title = t.attr('title');
    if (title) {
      t.blur(function (){
        if (t.val() == '') {
          t.val(title);
          t.addClass('blur');
        }
      });
      t.focus(function (){
        if (t.val() == title) {
          t.val('');
          t.removeClass('blur');
        }
      });

      t.parents('form:first').submit(function(){
          if (t.val() == title) {
              t.val('');
              t.removeClass('blur');
          }
      });

      t.blur();
    }
  });
}

function getRadioValue (radioButtonOrGroup) {
  var value = null;
  if (radioButtonOrGroup.length) { // group
    for (var b = 0; b < radioButtonOrGroup.length; b++)
      if (radioButtonOrGroup[b].checked)
        value = radioButtonOrGroup[b].value;
  }
  else if (radioButtonOrGroup.checked)
    value = radioButtonOrGroup.value;
  return value;
}

$.fn.dataTableExt.oPagination.paginator = {

	"fnInit": function ( oSettings, fnCallbackDraw )
	{
		oSettings.iAdjacent = 2;
		oSettings.iOuter = 1;
		oSettings.bNextPrevious = true;
		oSettings.bFirstLast = false;
		oSettings.sNext = 'Next &#9658;';
		oSettings.sPrev = '&#9668; Previous';
		oSettings.sSeparator = '... ';
	},

	"fnUpdate": function ( oSettings, fnCallbackDraw )
	{
		var offset = oSettings.iDisplayStart;
		var page_size = oSettings.iDisplayLength;
		var page = parseInt(offset / page_size, 10) + 1;

		var first_page = 1;
		var prev_page = page - 1;
		var next_page = page + 1;
		var last_page = parseInt((oSettings.aiDisplay.length-1) / page_size, 10) + 1;

		$(oSettings.nPaginate).empty();

		if (last_page > 1)
		{
			var $container = $('<div class="pagination"></div>').appendTo(oSettings.nPaginate);

			if (oSettings.bNextPrevious && page > 1)
			{
				$('<a href="javascipt:void();" class="prev">' + oSettings.sPrev + '</a>').appendTo($container).click(function(){
					oSettings.iDisplayStart -= page_size;
					if ( oSettings.iDisplayStart < 0 )
					{
						oSettings.iDisplayStart = 0;
					}
					fnCallbackDraw( oSettings );
					return false;
				});
			}
			else
			{
				$('<span class="disabled">' + oSettings.sPrev + '</span>').appendTo($container);
			}

			if (last_page < ((oSettings.iOuter + oSettings.iAdjacent) * 2) + 2)
			{
				for (var p = 1; p <= last_page; p++)
				{
					if (p == page)
					{
						$('<span class="current">' + p + '</span>').appendTo($container);
					}
					else
					{
						$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
							var iTarget = (this.innerHTML * 1) - 1;
							oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
							fnCallbackDraw( oSettings );
							return false;
						});
					}
				}
			}
			else
			{
				if (page < oSettings.iOuter + oSettings.iAdjacent + 2)
				{
					for (var p = 1; p <= oSettings.iOuter + (oSettings.iAdjacent * 2) + 1; p++)
					{
						if (p == page)
						{
							$('<span class="current">' + p + '</span>').appendTo($container);
						}
						else
						{
							$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
								var iTarget = (this.innerHTML * 1) - 1;
								oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
								fnCallbackDraw( oSettings );
								return false;
							});
						}
					}
					$container.append(document.createTextNode(oSettings.sSeparator));
					for (var p = last_page + 1 - oSettings.iOuter; p <= last_page; p++)
					{
						$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
							var iTarget = (this.innerHTML * 1) - 1;
							oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
							fnCallbackDraw( oSettings );
							return false;
						});
					}
				}
				else if (page <= last_page - (oSettings.iOuter + (oSettings.iAdjacent * 2)))
				{
					for (var p = 1; p <= oSettings.iOuter; p++)
					{
						$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
							var iTarget = (this.innerHTML * 1) - 1;
							oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
							fnCallbackDraw( oSettings );
							return false;
						});
					}
					$container.append(document.createTextNode(oSettings.sSeparator));
					for (var p = page - oSettings.iAdjacent; p <= page + oSettings.iAdjacent; p++)
					{
						if (p == page)
						{
							$('<span class="current">' + p + '</span>').appendTo($container);
						}
						else
						{
							$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
								var iTarget = (this.innerHTML * 1) - 1;
								oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
								fnCallbackDraw( oSettings );
								return false;
							});
						}
					}
					$container.append(document.createTextNode(oSettings.sSeparator));
					for (var p = last_page + 1 - oSettings.iOuter; p <= last_page; p++)
					{
						$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
							var iTarget = (this.innerHTML * 1) - 1;
							oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
							fnCallbackDraw( oSettings );
							return false;
						});
					}
				}
				else
				{
					for (var p = 1; p <= oSettings.iOuter; p++)
					{
						$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
							var iTarget = (this.innerHTML * 1) - 1;
							oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
							fnCallbackDraw( oSettings );
							return false;
						});
					}
					$container.append(document.createTextNode(oSettings.sSeparator));
					for (var p = last_page - oSettings.iOuter - (oSettings.iAdjacent * 2); p <= last_page; p++)
					{
						if (p == page)
						{
							$('<span class="current">' + p + '</span>').appendTo($container);
						}
						else
						{
							$('<a href="javascipt:void();">' + p + '</a>').appendTo($container).click(function(){
								var iTarget = (this.innerHTML * 1) - 1;
								oSettings.iDisplayStart = iTarget * oSettings.iDisplayLength;
								fnCallbackDraw( oSettings );
								return false;
							});
						}
					}
				}
			}

			if (oSettings.bNextPrevious && page < last_page)
			{
				$('<a href="javascipt:void();" class="next">' + oSettings.sNext + '</a>').appendTo($container).click(function(){
					if ( offset + page_size < oSettings.aiDisplay.length )
					{
						oSettings.iDisplayStart += page_size;
					}
					fnCallbackDraw( oSettings );
					return false;
				});
			}
			else
			{
				$('<span class="disabled">' + oSettings.sNext + '</span>').appendTo($container);
			}
		}
	}
};

