/**
 *  EasyApplet ~ Version: 1.0.7
 *
 *	Fluid Forms ~ http://www.fluidforms.eu
 *	Stephen Williams
 *
 *
 */

if(typeof jQuery == 'undefined'){
	alert("You must include the jQuery script before the easyApplet script.");
}
 
(function($){
	$.fn.writeApplet = function(params){
		return this.each(function(){
			$(document).ready(function(){
				params = $.extend(default_params, params||{});
				this.html(createObjectTag(params));
			});
		});
	}
	$.fn.writeP5Applet = function(base, sketchName, params, writeAppletTag){
		return this.each(function(){
			params = $.extend({
				code : sketchName,
				codebase : base + sketchName + "/applet/",
				archive : sketchName +".jar",
				name : sketchName
			},params||{});

			params = $.extend(default_params, params||{});
			$(this).css({"width":params.width+"px", "height":params.height+"px"});
			$(this).html(createObjectTag(params, writeAppletTag));
		});
	}

	// private functions and variables
	
	/*
	function createTag(params){
		attributeNames.archive = 1;
		if (!navigator.javaEnabled()){
			alert("To view the page in full, please enabled Java.\n\nUm diese Seite voll zu sehen, schalt bitte Java ein.");
		}

		var tag = '<applet'
		var paramString = '';
		for(var key in params){
			if(attributeNames[key]==1){
				tag += ' '+key+'="'+params[key]+'"';
			}else{
				paramString += '<param  name="' + key + '" ' + 
						  'value="'+params[key]+'" />';
			}
		}
		tag += '>';
		tag += paramString;
		tag += lang["en"].fallback;
		tag += '</applet>';
		return tag;
	}
	*/

	function createObjectTag(params, writeAppletTag){
		//if(writeAppletTag){
		//	return createObjectTag(params);
		//}
		attributeNames.archive = !$.browser.msie;
		attributeNames.code = false;
		attributeNames.codebase = false;
		attributeNames.mayscript = false;
		if (!navigator.javaEnabled()){
			alert("To view the page in full, please enabled Java.\n\nUm diese Seite voll zu sehen, schalt bitte Java ein.");
		}

		var tag = '<object'
		if($.browser.msie){
			tag += ' classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"'
			tag += ' codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0_15-windows-i586.cab"'
		}else{
			tag += ' classid="java:' + params.name + '.class" type="application/x-java-applet"';
		}
		var paramString = '';
		for(var key in params){
			if(attributeNames[key]==1){
				tag += ' '+key+'="'+params[key]+'"';
			}else{
				paramString += '<param  name="' + key + '" ' + 
						  'value="'+params[key]+'" />';
			}
		}
		tag += '>';
		tag += paramString;
		tag += lang["en"].fallback;
		tag += '</object>';
		return tag;
	}

	var attributeNames={"classid":1, "type":1, "standby":1, "height":1,"width":1,"mayscript":1,"align":1,"alt":1,"archive":1,
						"code":1,"codebase":1,"hspace":1,"name":1,"object":1,"title":1,
						"vspace":1,"id":1,"class":1,"title":1,"style":1,"dir":1,"lang":1,
						"xml:lang":1};
	var default_params = { 
		mayscript: "true", 
		standby: "Loading Applet...", 
		boxmessage: "Loading Applet...", 
		boxbgcolor: "#FFFFFF", 
		progressbar: "true", 
		progresscolor: "#000000"
		};
	var lang = {
		en:{ 
			fallback: 'To view this content, you need to install Java from <A HREF="http://java.com">java.com</A>'
		}
	};

})(jQuery);

