// Varie Classi Javascript per gestire il Framework
// Lorenzo Ricci
// lorenzo.ricci@email.it
//var ste;

var HTML = Class.create();

HTML.prototype = {

	initialize: function( ) { },

   _toStructure: function( serialized ) {
      var ItemsArray = new Array();
      var Items = serialized.split(';');

      for (var ix=0;ix<Items.length ;ix++ )
         {
         var ItemHashed = new Array();
         var Item = Items[ix].split(',');

         for (var ax=0;ax<Item.length ;ax++ )
            {
            var values = Item[ax].split(':');
				//alert( values[0]+ ' ' +values[1] );
            ItemHashed[values[0]] = values[1] ;
            }
         ItemsArray[ix] = ItemHashed;
         }
      return ItemsArray;
      },
	
	createInsertMask: function( ID ) {
		var ECONTAINER = $('admin_content');
		
		var DivName		= this.createInputDiv('input','Nome','name');
		var DivClose	= this.createHrefDiv('Cambia Idea', function(){oProjects.UpdateItem(ID)} );
		var DivAdd		= this.createHrefDiv('Prosegui', function(){oProjects.InsertItem(ID)} );

		ECONTAINER.innerHTML = '';
		ECONTAINER.appendChild( DivName );
		ECONTAINER.appendChild( DivClose );
		ECONTAINER.appendChild( DivAdd );
	},

	createInputDiv: function( element_type, text, element_id, element_value, element_options ) {
		var oDiv = document.createElement('div');
		oDiv.className = 'formrow';
		var oLabel = document.createElement('span');
		oLabel.className = 'label';
		oLabel.appendChild( document.createTextNode( text ) );
		var oInputLabel = document.createElement('span');
		oInputLabel.className = 'formw';
		var oInput = document.createElement( element_type );
		oInput.id = element_id;
		oInput.setAttribute('name', element_id);

		switch( element_type ) 
			{
			case 'select':
				var Elements = this._toStructure( element_options );
			for ( var ax=0;ax<Elements.length;ax++)
				{
				var OPTION = document.createElement("option");
				OPTION.setAttribute("value", Elements[ax]['value']  );
				if ( (typeof(element_value) != 'undefined') && ( Elements[ax]['value'] == element_value ) )
				OPTION.selected = true;
					T_TEXT = document.createTextNode( Elements[ax]['name'] );
				OPTION.appendChild( T_TEXT );
				oInput.appendChild( OPTION );
				}
			break;
			case 'input':
				if ( typeof(element_value) != 'undefined' ) oInput.value = element_value;
			break;
			}

		oInputLabel.appendChild( oInput );
		oDiv.appendChild( oLabel );
		oDiv.appendChild( oInputLabel );
		return oDiv;
	},

	createIframe: function( prefixId, hrefSrc ) {
		var oDiv = document.createElement("div");
		oDiv.id = prefixId+'_box';
		oDiv.className = 'formrow';
		var oFrame = document.createElement("iframe");
		oFrame.id = prefixId;
		oFrame.src = hrefSrc; 
		oDiv.appendChild( oFrame );
		return oDiv;
	},

	createHrefDiv: function( HrefText, JsFunction, HrefAnchor) {
		var oDiv = document.createElement('div');
		oDiv.className = 'formrow';
		var oSpan = document.createElement('span');
		oSpan.className = 'onclick_function';
		var oHref = document.createElement('a');

		oHref.href = '#';
		if ( typeof(HrefAnchor) != 'undefined' ) oHref.href += HrefAnchor;

		oHref.id = HrefText;
		oHref.onclick = JsFunction;

		oHref.appendChild( document.createTextNode( HrefText ) );
		oSpan.appendChild( oHref );
		oDiv.appendChild( oSpan );
		return oDiv;
	},

	Version: function() {
		alert('ok');
	}
}

var oHTML = new HTML();
