// tabs function
function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
					    StopAllVideos();
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1)).style.display = "none";
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}

// hide default text in inputs on focus
function initInputs() {
	var _inputs = document.getElementsByTagName('input');
	if (_inputs) {
		for(var i=0; i<_inputs.length; i++) {
			if (_inputs[i].type == 'text' || _inputs[i].type == 'password') {
				_inputs[i].alt = _inputs[i].value;

				_inputs[i].onfocus = function(){
					if(this.value==this.alt) this.value='';
					_value = this.value;
				}
				_inputs[i].onblur = function(){
					if (this.value == '')
					this.value = this.alt;
				}
			}
		}
	}
}

// init background rotation gallery
function initGallery() {
	// init header background rotator
	$('.slideset').slideShow({
		slideEl:'.bg-list li',
		duration:1000,
		autoSlideShow:true,
		switchTime:5000
	});

	// init media gallery
	$('.gallery').slideShow({
		slideEl:'.img-holder li',
		linkNext:'a.next',
		linkPrev:'a.prev',
		numElementLink:'ul.slide-list a',
		duration:600,
		autoSlideShow:false,
		before: StopAllVideos
	});
}

// resizable fonts control area
function initPageResize () {
	var fMin = document.getElementById("font-small");
	var fNormal = document.getElementById("font-medium");
	var fMax = document.getElementById("font-large");
	var fSize = 62.5;
	if(fMin && fNormal && fMax) {
		var body = document.getElementsByTagName("body")[0];
		body.style.fontSize = "62.5%";
		fMin.onclick = function (){
			fSize = body.style.fontSize.replace("%","");
			fSize = parseInt(fSize) - 10;
			if (fSize <= 50) fSize = 50;
			body.style.fontSize = fSize+"%";
			return false;
		}
		fMax.onclick = function (){
			fSize = body.style.fontSize.replace("%","");
			fSize = parseInt(fSize) + 10;
			if (fSize >= 90) fSize = 90;
			body.style.fontSize = fSize+"%";
			return false;
		}
		fNormal.onclick = function (){
			body.style.fontSize = "62.5%";
			return false;
		}
	}
}

// init page
function initPage () {
	initTabs();
	//initInputs();
	initGallery();
	initPageResize();
	FlagPage();
	HackIssues();
	Seeding();
	HackLists();
	$('table[id*=EmailGrid] a[target=_blank]').addClass('middleheadline');
}
if (window.addEventListener) window.addEventListener("load", initPage, false);
else if (window.attachEvent) window.attachEvent("onload", initPage);

function FlagPage()
{
    $('#FlagOrderBox tr:gt(0):not(:last)').each(function(){
        var currentRow = $(this);
        CalcFlagRow(currentRow);
    });
    $('#FlagOrderBox tr:gt(0):not(:last)').each(function(){
        var currentRow = $(this);
        currentRow.find('input').change(function(){
            CalcFlagRow(currentRow);
        });
    });
}

function HackIssues()
{
    $('#icontent .pageTitle[id*=IssueTitle] ~ br').remove();
    $('#icontent .pageTitle[id*=IssueTitle]').remove();    
}

function CalcFlagTotals()
{
    var totalFlags = 0;
    var totalPrice = 0;
    $('#FlagOrderBox tr:gt(0):not(:last)').each(function(){
        var rowFlags = parseInt($(this).find('input:text').val(),10);
        var rowPrice = parseFloat($(this).children('td:last').html().replace(/\$/g,''),10);
        if(!isNaN(rowFlags))
        {
            totalFlags += rowFlags;
        }
        if(!isNaN(rowPrice))
        {
            totalPrice += rowPrice;
        }
    });
    $('#FlagOrderBox tr:last td:first').html(totalFlags);
    $('#FlagOrderBox tr:last th:last').html('$' + totalPrice.toFixed(2).toString());
}

function CalcFlagRow(currentRow)
{
    var flagPrice = parseFloat(currentRow.find('input:hidden').val());
    if(currentRow.find('input:checkbox').is(':checked'))
    {
        flagPrice += 4.05;
    }
    var numFlags = parseInt(currentRow.find('input:text').val(),10);
    if(isNaN(numFlags))
    {
        numFlags = 0;
    }
    if(numFlags > 0)
    {
        currentRow.children('td:last').html('$' + (numFlags*flagPrice).toFixed(2).toString());
    }
    else
    {
        currentRow.children('td:last').html('');
    }
    CalcFlagTotals();
}

/* --- Seed Contact with Zips & Email Signup with Name/Addy --- */
function Seeding()
{
    var formID = jQuery.url.param('ID');
    if(formID == '398')
    {
        var email = jQuery.url.param('email');
        if(email != null)
        {
            email = email.replace(/%40/,"@");
            $('.inputText[id*=EmailControl_MyText]').val(email);        
        }
        //$('#ctl00_ctl00_ctl03_MyText').val(jQuery.url.param('lastname').replace(/\+/," "));
        //$('#ctl00_ctl00_ctl02_MyText').val(jQuery.url.param('firstname').replace(/\+/," "));
    }
}

function HackLists()
{
    $('.ContentCell span.middlecopy > ul:last-child').css('margin-bottom','0');
}

function StopAllVideos()
{
    var video = $('object[id*=ytplay], embed[id*=ytplay]');
    video.each(function(){
        try{
            this.stopVideo();
        }
        catch(err)
        {
            //var vidError = err;
            //var nothing = 6;
        }
    });
}
