var DOWNLOAD_MANAGER_URL = "https://www.icds.att.com/downloadManager";

function startDownloadManager( target, name,  endUser, bgImage, logoImage, title ) {
	
 	address = DOWNLOAD_MANAGER_URL + "/DynamicJNLPServlet?match=DownloadManager&arg1=-targetUrl&arg2=" + escape(target);

	if ( name != undefined ) {
		address = address  + "&arg3=-targetName&arg4=" + escape(name);
	}
	if ( endUser != undefined ) {
		address = address  + "&ATT_DLM_USER_ID=" + escape(endUser);
	}
	address = address  + "&ATT_SERVER=server_addr";
	address = address + "&ATT_DLM_BACKGROUND=" + bgImage;
	address = address + "&ATT_DLM_LOGO=" + logoImage;
	if ( title != undefined ) {
		address = address + "&ATT_DLM_TITLE=" + escape(title);
	}
	address = address + "&ext=.jnlp";

	if (checkForJava()) {
	 	window.location = address ;
	} else {
		getJavaAndRunApp( address );
	}
}

function checkForJava() {
	return (isJava5EnabledInternetExplorer() || isJava6EnabledInternetExplorer() || isJava5EnabledFireFox() || isJava6EnabledFireFox());
}

function isJava5EnabledInternetExplorer() {
	return checkInternetExplorerActiveXObject( "JavaWebStart.isInstalled.1.5.0.0" );
}

function isJava6EnabledInternetExplorer() {
	return checkInternetExplorerActiveXObject( "JavaWebStart.isInstalled.1.6.0.0" );
}

function isJava5EnabledFireFox() {
	return checkFireFoxMineType( "application/x-java-applet;version=1.5" );
}

function isJava6EnabledFireFox() {
	return checkFireFoxMineType( "application/x-java-applet;version=1.6" );
}

function checkInternetExplorerActiveXObject( targetType ) {
	var retVal = 0;
	try {
		var javaObj = new ActiveXObject( targetType );
		if (javaObj != null) {
			retVal = 1;
		}
	} catch (exception) {
		// just return
	}
	return retVal;
}

function checkFireFoxMineType( targetType ) {
	var retVal = 0;
	for (var i = 0; i < navigator.mimeTypes.length && !retVal; ++i) {
		var type = navigator.mimeTypes[i].type;
		if (type == targetType ) {
			retVal = 1;
		}
	}
	return retVal;
}

function getJavaAndRunApp( targetApp ) {
	// Get Java
	window.open("http://java.com/getjava", "newWindow");
	
	// Check if its installed yet - every second
	var appCmd = 'runApp("' + targetApp + '")';
	launchTID = setInterval(appCmd, 1000);
}

function runApp(targetApp) {
	
	if (checkForJava()) {
		window.location = targetApp;
		clearInterval(launchTID);
	}
}

