 ///////////////////////////////////////////////
 //       Copyright (c) 2006 MaiNada.Net      //
 //       http://www.mainada.net/inputdraw/   //
 //    					                      //
 //		 inEvo: http://www.inEvo.pt           //
 //					                          //
 //		 Autor: Tiago Cardoso	              //
 ///////////////////////////////////////////////
var mainada = new Object();
var inputdraw_instancies = new Array();
var inputdraw_objects = new Array();
mainada.BrowserUtil = new Object();

/* add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

mainada.InputDraw = function(swf,place_id,options){
	if (!document.getElementById) { return; }
	
	this.attributes = new Object();
	
	var params = {};
	params.menu = "false";
 	params.swliveconnect = "true";
	params.allowscriptaccess = "always";
	if(!options["color"]){
		params.wmode =  "transparent";
	}	
	else
	{
		params.bgcolor = options["color"];
	}
 
	
	var flash_attributes = {};
	flash_attributes.id = place_id + "_swf" + Math.floor( Math.random ( ) * 100000 ); 
	if(options["id"]) {
		flash_attributes.id =  options["id"] + "_" + flash_attributes.id; 
	}
	flash_attributes.name = flash_attributes.id;
	this.setAttribute('swf_id', flash_attributes.id);

	var flashvars = {};
	flashvars.self_id = flash_attributes.id;
	if(options["id"]) { flashvars.id = options["id"]; this.setAttribute('id', options["id"]);}
	
	if(options["src_id"]) { flashvars.src_id =  options["src_id"];  } 
	else if(options["src_svg"]) { flashvars.src_svg = options["src_svg"].replace(/"/g,"'");}
	else if(options["src"]) {flashvars.src = options["src"]; }
	else if(options["id"]) { flashvars.src_id =  options["id"]; }
	
	
	if(options["animation"]) {flashvars.animation = options["animation"]; }
	if(options["stroke_style"]) {flashvars.stroke_style = options["stroke_style"]; }
	if(options["grid_style"]) {flashvars.grid_style = options["grid_style"]; }
	if(options["grid_geom"]) {flashvars.grid_geom = options["grid_geom"]; }
	if(options["background_image"]) {flashvars.background_image = options["background_image"]; }
	if(options["form_integration"]) {flashvars.form_integration = options["form_integration"]; }
	if(options["undo"]) {flashvars.undo = options["undo"]; }
	if(options["clean"]) {flashvars.clean = options["clean"]; }
	if(options["tools_color"]) {flashvars.color = options["tools_color"]; }
	if(options["disable"]) {flashvars.disable = options["disable"]; }
	if(options["onpath"]) {flashvars.onpath = options["onpath"]; }
	if(options["onsvg"]) {flashvars.onsvg = options["onsvg"]; }
	this.setAttribute('runing', false);
	this.setAttribute('swf', swf);
	this.setAttribute('place_id', place_id);
	this.setAttribute('params', params);
	this.setAttribute('flash_attributes', flash_attributes);
	this.setAttribute('flashvars', flashvars);
	
	this.setAttribute('width', options["width"]);
	this.setAttribute('height', options["height"]);
	inputdraw_instancies.push(this);
	
	if(!_InputDrawSetOnLoadChecked)
	{
		//InputDrawSetOnLoad();
		swfobject.addLoadEvent(mainada.BrowserUtil.loadInputDraw)
		_InputDrawSetOnLoadChecked = true;
	}
}





mainada.InputDraw.prototype = {
	setAttribute: function(name, value){
		this.attributes[name] = value;
	},
	getAttribute: function(name){
		return this.attributes[name];
	},
	Undo: function(){
		this.attributes['swfobject'].Undo();
	},
	Clean: function(){
		this.attributes['swfobject'].Clean();
	},
	OnSvg: function(func){
		if(this.attributes['runing']) {
			this.attributes['swfobject'].OnSvg(func);
		}
		else
		{
			var flashvars = this.getAttribute('flashvars');
			flashvars.onsvg = func;
			this.setAttribute('flashvars',flashvars);
		}
	},
	OnPath: function(func){
		if(this.attributes['runing']) {
			this.attributes['swfobject'].OnPath(func);
		}
		else
		{
			var flashvars = this.getAttribute('flashvars');
			flashvars.onpath = func;
			this.setAttribute('flashvars',flashvars);
		}		
		
	},	
	AddSvg: function(svg){
		if(this.attributes['runing']) {
			this.attributes['swfobject'].AddSvg(svg);
		}
		else
		{
			var flashvars = this.getAttribute('flashvars');
			flashvars.src_svg = svg;
			this.setAttribute('flashvars',flashvars);
		}
		
	},		
	AddSvgAnimated: function(svg,anim){
		this.attributes['swfobject'].AddSvgAnimated(svg,anim);
	},	
	AddPath: function(path){
		this.attributes['swfobject'].AddPath(path);
	},	
	SetStyle: function(style){
		this.attributes['swfobject'].SetStyle(style);
	}		
	
}

var inputdrw=0;
// runs swf object and creates suport javascript structure
mainada.BrowserUtil.loadInputDraw = function() {
		if(inputdrw !=0){
			inputdraw_objects[inputdrw.getAttribute('swf_id')] = document.getElementById( inputdrw.getAttribute('swf_id'));
			inputdrw.setAttribute('swfobject', inputdraw_objects[inputdrw.getAttribute('swf_id')]);
			inputdrw.setAttribute('runing', true);
			if(inputdrw.getAttribute('id')) { inputdraw_objects[inputdrw.getAttribute('id') ] = document.getElementById( inputdrw.getAttribute('id'));}
			inputdraw_instancies.splice(inputdraw_instancies.length - 1, 1);
			inputdrw=0;
		}
	
		if(inputdraw_instancies.length > 0)
		{
			var x = inputdraw_instancies.length - 1;
			inputdrw=inputdraw_instancies[x];
			swfobject.embedSWF(inputdrw.getAttribute('swf'), inputdrw.getAttribute('place_id'), inputdrw.getAttribute('width'), inputdrw.getAttribute('height'), "8.0.23", false, inputdrw.getAttribute('flashvars'), inputdrw.getAttribute('params'), inputdrw.getAttribute('flash_attributes'))
			swfobject.addDomLoadEvent(mainada.BrowserUtil.loadInputDraw);
		}
	
}

var _InputDrawSetOnLoadChecked = null;
var InputDraw = mainada.InputDraw;
var InputDrawLoad = mainada.BrowserUtil.loadInputDraw;
