﻿$(document).ready(function()
{
	//Get Browser details
	getBrowserDetails();

	//Enter values in hidden inputs
	updateHiddenInputs();

	//Update export links
	updateExportLinks();

	//Show loading icons
	showLoadingIcons();

	// Show hidden modules
	$(".module").show();

	//Display Modules
	setTimeout(function() { delayModuleShow(); }, 200);

	if ($("#success"))
	{
		setTimeout("fadeSuccess()", 2000);
	}
	
	//Clickable span tag
	$(".module").click(function()
	{
		$(this).find("span").toggle();
	});

	$('.module').hover(function() {
	  $(this).addClass('hover');
	}, function() {
	  $(this).removeClass('hover');
	});



	if (FlashDetect.major >= 9) {
		$(".copy").show();

		var clip = null;
		
		clip = new ZeroClipboard.Client();
		clip.setHandCursor( true );


		clip.addEventListener( 'mouseDown', function(client) {
			copyModule.animate({ opacity: 0.2 }, 0).animate({ opacity: 1 }, 1000);
			$(".copy em").text("Copy");
			copyModule.children(".copy").children("em").text("Copied!");
		});

		clip.addEventListener( 'mouseOver', function(client) {
			copyModule.addClass('hover');
		});


		$('.copy').mouseover( function() {
			var copyText = $(this).parent().children('h2').text() + ": " + $(this).parent().children('p').text();
			clip.setText( copyText );
			
			copyModule = $(this).parent();
			
			
			if (clip.div) {
				clip.receiveEvent('mouseout', null);
				clip.reposition(this);
			}
			else clip.glue(this);
			
			clip.receiveEvent('mouseover', null);
		});
	}
});

showLoadingIcons = function()
{
	$(".module").find("p").html('<img src="/images/icons/loading.gif"/>');
}

delayModuleShow = function()
{
	setTimeout(function() { displayModuleDetails("os"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("colorDepth"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("browser"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("resolution"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("ipAddress"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("windowSize"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("javascriptEnabled"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("flashVersion"); }, randomNumber());
	setTimeout(function() { displayModuleDetails("cookiesEnabled"); }, randomNumber());
}

fadeSuccess = function()
{
	$("#success").fadeOut(2000);
}

// Display Module
displayModuleDetails = function(argSection)
{
	if (argSection == "os")
	{
		$("#os").html(S_OS_TYPE + " " + S_OS_VERSION);

		if (S_OS_TYPE.toLowerCase().indexOf("windows") > -1)
		{
			$("#t_os").removeClass();
			$("#t_os").addClass("windows");
		}
		else if (S_OS_TYPE.toLowerCase().indexOf("mac") > -1)
		{
			$("#t_os").removeClass();
			$("#t_os").addClass("osx");
		}
		else if (S_OS_TYPE.toLowerCase().indexOf("linux") > -1)
		{
			$("#t_os").removeClass();
			$("#t_os").addClass("linux");
		}
		else if (S_OS_TYPE.toLowerCase().indexOf("iphone") > -1)
		{
			$("#t_os").removeClass();
			$("#t_os").addClass("iphone");
		}

	}
	else if (argSection == "colorDepth")
	{
		$("#colorDepth").html(S_COLOR_DEPTH);
	}
	else if (argSection == "browser")
	{
		$("#browser").html(S_BROWSER_TYPE + " " + S_BROWSER_VERSION);

		if (S_BROWSER_TYPE.toLowerCase().indexOf("explorer 6") > -1)
		{
			$("#t_browser").removeClass();
			$("#t_browser").addClass("explorer-6");
		}
		else if (S_BROWSER_TYPE.toLowerCase().indexOf("explorer") > -1 || S_BROWSER_TYPE.toLowerCase().indexOf("msie") > -1)
		{
			$("#t_browser").removeClass();
			$("#t_browser").addClass("explorer");
		}
		else if (S_BROWSER_TYPE.toLowerCase().indexOf("firefox") > -1)
		{
			$("#t_browser").removeClass();
			$("#t_browser").addClass("firefox");
		}
		else if (S_BROWSER_TYPE.toLowerCase().indexOf("opera") > -1)
		{
			$("#t_browser").removeClass();
			$("#t_browser").addClass("opera");
		}
		else if (S_BROWSER_TYPE.toLowerCase().indexOf("safari") > -1)
		{
			$("#t_browser").removeClass();
			$("#t_browser").addClass("safari");
		}
	}
	else if (argSection == "resolution")
	{
		$("#resolution").html(S_RESOLUTION);
	}
	else if (argSection == "ipAddress")
	{
		$("#ipAddress").html(S_IP_ADDRESS);
	}
	else if (argSection == "windowSize")
	{
		$("#windowSize").text(S_BROWSER_SIZE);
	}
	else if (argSection == "javascriptEnabled")
	{
		$("#javascriptEnabled").html("Is Enabled");
	}
	else if (argSection == "flashVersion")
	{
		$("#flashVersion").html(S_FLASH_VERSION + "<span>(" + S_FLASH_VERSION_FULL + ")</span>");
	}
	else if (argSection == "cookiesEnabled")
	{
		if (jaaulde.utils.cookies.test())
		{
			$("#cookiesEnabled").html("Are Enabled");
			S_COOKIES_ENABLED = "1";
		}
		else
		{
			$("#cookiesEnabled").html("Are Disabled");
			S_COOKIES_ENABLED = "0";
		}
		//		if (S_COOKIES_ENABLED == "1")
		//		{
		//			$("#cookiesEnabled").html("Are Enabled");
		//		}
		//		else
		//		{
		//			$("#cookiesEnabled").html("Are Disabled");
		//		}
	}
}

// Update hidden input fields
updateHiddenInputs = function()
{
	$("#f_javascript_enabled").val("1");
	$("#f_browser_type").val(S_BROWSER_TYPE);
	$("#f_browser_version").val(S_BROWSER_VERSION);
	$("#f_browser_color_depth").val(S_COLOR_DEPTH);
	$("#f_resolution").val(S_RESOLUTION);
	$("#f_browser_size").val(S_BROWSER_SIZE);
	$("#f_flash_version").val(S_FLASH_VERSION);
	$("#f_flash_version_full").val(S_FLASH_VERSION_FULL);
}

// Update export links
updateExportLinks = function()
{
	var sQS = "";

	sQS += "bt=" + escape(S_BROWSER_TYPE);
	sQS += "&bv=" + escape(S_BROWSER_VERSION);
	sQS += "&je=1";
	if (jaaulde.utils.cookies.test())
	{
		sQS += "&ce=1";
	}
	else
	{
		sQS += "&ce=0";
	}
	sQS += "&cd=" + escape(S_COLOR_DEPTH);
	sQS += "&rs=" + escape(S_RESOLUTION);
	sQS += "&bs=" + escape(S_BROWSER_SIZE);
	sQS += "&fv=" + escape(S_FLASH_VERSION);
	sQS += "&fvf=" + escape(S_FLASH_VERSION_FULL);

	$("#exportCSV").attr("href", "/export-support-details.csv?" + sQS);
	$("#exportPDF").attr("href", "/export-support-details.pdf?" + sQS);
}


// Get Browser Details
getBrowserDetails = function()
{
	// Screen Res
	if (self.screen)
	{
		S_RESOLUTION = screen.width + ' x ' + screen.height;
		S_COLOR_DEPTH = screen.colorDepth + ' bit';
	}
	else if (self.java)
	{
		var javaobj = java.awt.Toolkit.getDefaultToolkit();
		var screenobj = javaobj.getScreenSize();

		S_RESOLUTION = screenobj.width + ' x ' + screenobj.height;

		if (self.screen)
			S_COLOR_DEPTH = screen.colorDepth + ' bit'; ;
	}

	// Browser size
	var bsw = '';
	var bsh = '';

	if (window.innerWidth)
	{
		bsw = window.innerWidth;
		bsh = window.innerHeight;
	}
	else if (document.documentElement)
	{
		bsw = document.documentElement.clientWidth;
		bsh = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		bsw = document.body.clientWidth;
		bsh = document.body.clientHeight;
	}
	if (bsw != '' && bsh != '')
	{
		S_BROWSER_SIZE = bsw + ' x ' + bsh;
	}

	// Browser Type
	if (S_USE_CLIENT_FOR_BROWSER == "1")
	{
		var browser = $.browser.name + " " + $.browser.version;
		S_BROWSER_TYPE = browser;

		S_BROWSER_TYPE = S_BROWSER_TYPE.replace("msie", "Internet Explorer");

		if (S_BROWSER_TYPE.length > 0)
		{
			S_BROWSER_TYPE = S_BROWSER_TYPE.substring(0, 1).toUpperCase() + S_BROWSER_TYPE.substring(1, S_BROWSER_TYPE.length);
		}

		S_BROWSER_VERSION = "";
	}

	// Flash Version
	if (FlashDetect.major >= 1)
	{
		S_FLASH_VERSION = FlashDetect.major;

		S_FLASH_VERSION_FULL = FlashDetect.major + "." + FlashDetect.minor + "." + FlashDetect.revision;
	}
	else
	{
		S_FLASH_VERSION = "Not installed";
		S_FLASH_VERSION_FULL = "";
	}
}

// Random Number
randomNumber = function()
{
	var i_randomnumber = 0;

	i_randomnumber = Math.floor(Math.random() * 2001) + 500;

	return i_randomnumber;
}