﻿
function bodyVisiblity(bodyElementId) {
	if (document.getElementById && bodyElementId)
		document.getElementById(bodyElementId).className = 'loaded';
}


// targetDate is a datestring (not milliseconds), the others are the elements of each component to update.
function genericCountdownUpdate(targetDate, dayClientId, hourClientId, minuteClientId, secClientId, zeroClientId, counterClientId) {
	var currentDate = new Date();
	currentDate.setMinutes(currentDate.getMinutes() + currentDate.getTimezoneOffset());
	var timeLeft = (new Date(targetDate).getTime()) - currentDate.getTime();
	
	if (timeLeft <= 0) {
		var zeroMessage = document.getElementById(zeroClientId);
		var counterEl = document.getElementById(counterClientId);
		if (zeroMessage)
		zeroMessage.style.display = 'inline';
		if (counterEl)
		counterEl.style.display = 'none';
	}
	else {
		var dayEl = document.getElementById(dayClientId);
		var hourEl = document.getElementById(hourClientId);
		var minEl = document.getElementById(minuteClientId);
		var secEl = document.getElementById(secClientId);
	
		dayEl.innerHTML = Math.floor(timeLeft / 86400000); // days
		timeLeft = timeLeft - (dayEl.innerHTML * 86400000);
		hourEl.innerHTML = Math.floor(timeLeft / 3600000); // hours
		timeLeft = timeLeft - (hourEl.innerHTML * 3600000);
		minEl.innerHTML = Math.floor(timeLeft / 1000 / 60); // minutes
		timeLeft = timeLeft - (minEl.innerHTML * 60000);
		secEl.innerHTML = Math.floor(timeLeft / 1000); // seconds.
	}
}

function randomizeErrorImage(imageToRandomizeId) {
	var imgSrcArray = new Array(
		/* slide = 0 */"/images/errors/gonefishing.jpg",
		/* slide = 1 */"/images/errors/blessthismess.jpg",
		/* slide = 2 */"/images/errors/hegemony.jpg"
	);
	if (document.getElementById && imageToRandomizeId) {
		randomNumber = Math.round(Math.random()*(imgSrcArray.length-1));
		document.getElementById(imageToRandomizeId).src = imgSrcArray[randomNumber];
	}
}

function toggleTreeState(titleElementId, repeaterElementId, titleStateOne, titleStateTwo) {
	if (document.getElementById && titleElementId && repeaterElementId && titleStateOne && titleStateTwo) {
		var repeater = document.getElementById(repeaterElementId);
		var title = document.getElementById(titleElementId);
		if (repeater && title) {
			repeater.style.display = (repeater.style.display == 'none') ? 'block' : 'none';
			title.className = (title.className == titleStateOne) ? titleStateTwo : titleStateOne;
		}
	}
	return;
}

function characterLimiterDisplay(fieldToLimitId, counterFieldId, maxLimit) {
	if (document.getElementById && fieldToLimitId && counterFieldId && (maxLimit > 0)) {
		var fieldToLimit = document.getElementById(fieldToLimitId);
		var counterField = document.getElementById(counterFieldId);
		if (fieldToLimit)
		{
		    if (fieldToLimit.value.length > maxLimit)
			    counterField.innerHTML = '<span class="validatormsg">' + (fieldToLimit.value.length - maxLimit) + ' characters over limit</span>';
		    else
			    counterField.innerHTML = (maxLimit - fieldToLimit.value.length) + ' characters remaining';
	    }
	}
}

function openAssetPopupWindow(pageUrl) {
	window.open(pageUrl,'_blank', 'height=750,left=0,location=0,resizable=1,toolbar=0,top=0,width=1000,scrollbars=1',false);
}

function openScreenshotPopupWindow(pageUrl) {
	 var playerScreenshotPopup = window.open(pageUrl,'playerScreenshotsPopup', 'height=600,left=75,location=0,resizable=1,toolbar=0,top=100,width=595,scrollbars=0,status=1',false);
	 playerScreenshotPopup.focus();
}

function gameOpen(game)
{
	window.open('/Stats/Halo2WebMaps/richgame.aspx?g=' + game, 'GameDetails', 'scrollbars, width=870, height=868');
	return false;
}

function toggleAll(id)
{
	//alert("This document contains: " + document.forms.length + " form(s).")
    var selectAll = document.getElementById(id);
	if (document.forms[0])
	{
		//alert("This form contains: " + document.forms[0].elements.length + " element(s).")
    
		var element;
		var length = document.forms[0].elements.length;
		for (var i = 0; i < length; i++)
		{
		    element = document.forms[0].elements[i];
		    if (element.type == "checkbox" && element.name != id)
		    {
		         //alert('element changed: ' + element.name);
		         if (selectAll && selectAll.checked == true)
		         {
		         element.checked = true;
		         }
		         else
		         {
		         element.checked = false;
		         }  
		    }
		}
	}
}
	
function unsetAll(id)
{
    //alert(document.getElementById(id));
    document.getElementById(id).checked = false;
}

function ToggleOverLay(id){
	if(document.getElementById){
		var cId = id.toString();
		if (id < 10) {
			cId = '0' + cId;
		}
		var elem = document.getElementById('ctl00_MainContentArea_bnetpgd_RadPanelbar1_p2_p0_vs_ctl' + cId + '_pnlVsDisplay');
		if(elem){
			if(elem.style.display == 'none'){
				elem.style.display = 'block';
				document.getElementById('VsArrow' + id).style.backgroundPosition = '0px -20px';
			}else{
				elem.style.display = 'none';
				document.getElementById('VsArrow' + id).style.backgroundPosition = '0px 0px';
			}
		}
	}
}

function CPToggle(objId)
{
		var obj;
		
        
		obj = document.getElementById('divResults');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('divCarnage');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('divEnemyKills');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('divVehicleKills');
		if (obj){ obj.className = 'hide_section';}
		
		obj = document.getElementById('divCOOPOverview');
		if (obj){ obj.className = 'show_section';}
		
		
		obj = document.getElementById(objId);
		if (obj) obj.className = 'show_section';
		
}

function CPToggleTabs(objId, tabId)
{
		var obj;
		
        
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptGamePlayers_ctl01_pnlPlayerDetails');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptGamePlayers_ctl02_pnlPlayerDetails');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptGamePlayers_ctl03_pnlPlayerDetails');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptGamePlayers_ctl04_pnlPlayerDetails');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('divCOOPOverview');
		if (obj){ obj.className = 'hide_section';}
		obj = document.getElementById('divFiles');
		if (obj){ obj.className = 'hide_section';}
		
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptPlayerTabs_ctl01_hypPlayerTab');
		if (obj){ obj.className = 'default';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptPlayerTabs_ctl02_hypPlayerTab');
		if (obj){ obj.className = 'default';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptPlayerTabs_ctl03_hypPlayerTab');
		if (obj){ obj.className = 'default';}
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_rptPlayerTabs_ctl04_hypPlayerTab');
		if (obj){ obj.className = 'default';}
		
		obj = document.getElementById('ctl00_mainContent_bnetpcgd_lnkFileViewer');
		if (obj){ obj.className = 'asset';}
		
		obj = document.getElementById('coopTab');
		if (obj){ obj.className = 'co_op';}
		
		
		if (tabId == "coopTab"){ obj.className = 'co_op_active';}else{
		
		   if (tabId == "ctl00_mainContent_bnetpcgd_lnkFileViewer"){
		     obj = document.getElementById('ctl00_mainContent_bnetpcgd_lnkFileViewer');
		     if (obj){ obj.className = 'asset_active';}
		   }else{
		    obj = document.getElementById(tabId);
		    if (obj){ obj.className = 'default_active';}
		   }
		   }
		
		
		obj = document.getElementById(objId);
		if (obj){ obj.className = 'show_section';}
		
		
		
		
		
}

function StatsToggleSection(objId, tabId)
{
		var obj;
		var selected = "#231f20";
        var unselected = "#535151";

		obj = document.getElementById('tabOverview');
		if (obj){ obj.className = 'results';}
		obj = document.getElementById('tabKills');
		if (obj){ obj.className = 'carnage';}
		obj = document.getElementById('tabBreakdown');
		if (obj){ obj.className = 'breakdown';}
		obj = document.getElementById('tabFieldStats');
		if (obj){ obj.className = 'field_stats';}
		obj = document.getElementById('ctl00_mainContent_bnetpgd_lnkFileViewer');
		if (obj){ obj.className = 'default';}
		obj = document.getElementById('ctl00_mainContent_bnetpgd_lnkGameViewer');
		if (obj){ obj.className = 'game_viewer';}

		obj = document.getElementById(tabId);
		if (obj) obj.className = obj.className + '_active';
		
					
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlOverview');
		if (obj) obj.style.display = 'none';
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlKills');
		if (obj) obj.style.display = 'none';
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlBreakdown');
		if (obj) obj.style.display = 'none';
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlFieldStats');
		if (obj) obj.style.display = 'none';
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlGameViewer');
		if (obj) obj.style.display = 'none';
		obj = document.getElementById('ctl00_mainContent_bnetpgd_pnlFiles');
		if (obj) obj.style.display = 'none';
		
		
		obj = document.getElementById('ctl00_mainContent_bnetpgd_' + objId);
		if (obj) obj.style.display = 'block';
		
}

function MouseOver(objId, tabId) {
    var obj;
    var over = "#e08421";
    obj = document.getElementById(tabId);
    
    if(obj.className != "selected_tab")
        obj.style.background = over;
}

function MouseOut(objId, tabId)
{
    var obj;
    var over = "#e08421";
    var unselected = "#535151";
    obj = document.getElementById(tabId);
    
    if(obj.className != "selected_tab")
        obj.style.background = unselected; }



function showObject(id) 
{
	var obj = document.getElementById(id)
	if (obj != null)
		obj.style.visibility = "visible";
	return obj;
}

function hideObject(id) 
{
	var obj = document.getElementById(id)
	if (obj != null)
		obj.style.visibility = "hidden";
	return obj;
}

// should never return a value.
function hideBlockObject(id) 
{
	var obj = document.getElementById(id)
	if (obj != null)
		obj.style.display = "none";
}

function clearText(id) 
{
    document.getElementById(id).value = "";
} 

function ChangeClass(objId, objClass)
	{
		document.getElementById(objId).className = objClass;
	}
	
function open_parent(url)
{
	if (opener && !opener.closed)
	{
	    opener.location.href = url;
	}
	else
	{
	    window.open(url, '_blank', 'scrollbars, resizable, width=1024, height=768');
	}
}

function gamercardPosition() {
    var gamercard = document.getElementById("utility");
    frameWidth = 400;

    if ( self.innerWidth ){
            frameWidth = self.innerWidth;
    }
    else if ( document.documentElement && document.documentElement.clientWidth ) {
            frameWidth = document.documentElement.clientWidth;
    }
    else if ( document.body ) {
            frameWidth = document.body.clientWidth;
    }

    if ( frameWidth < 950 && frameWidth > 650) {
        gamercard.className = "utility_b";
    }
    else if ( frameWidth < 950 && frameWidth < 650 ) {
        gamercard.className = "utility_c";
    }
    else {
        gamercard.className = "utility";
    }
}


function fileItemArrowExpander(arrowElementId, divToAlterElementId) {
	var arrowElement = document.getElementById(arrowElementId);
	var divToAlter = document.getElementById(divToAlterElementId);
	
	if (arrowElement.className == 'expanded_arrows_collapsed') {
		arrowElement.className = 'expanded_arrows_expanded';
		divToAlter.style.display = 'block';
	}
	else {
		arrowElement.className = 'expanded_arrows_collapsed';
		divToAlter.style.display = 'none';
	}
}

function screenshot_thumbnail_hover(imgObj, pipElementId, isWidescreen) {
	var pip = showObject(pipElementId);
	pip.src = imgObj.src;
	
	if (isWidescreen) 
		pip.style.width = "160";
	else 
		pip.style.width = "120";
			
}


