var radio = Class.create(CElement,{
  initialize: function( parent, id, params ) {
	
	this.type	    = "radio";
	this.index      = id ;
	this.parent     = parent;
	
	this.label      = params.label;
	this.required   = params.required;
	this.elements   = params.elements;
	this.multi      = params.multi;
	this.x	        = params.x;
	this.y 	        = params.y;
	this.w	        = params.w;
	this.h	        = params.h;
	
	this.htmlContainer = document.createElement("li");
	this.htmlContainer.id  = parent.id + "_" +  this.type +  this.index;
		
	var ix = this.index;
	
	this.htmlContainer.onmousedown =  function() { var h = new Function("selectEntry('"+ix+"')"); h();}

	
	this.htmlLabel = document.createElement("label");
	this.htmlLabel.innerHTML = this.label;
	this.htmlLabel.htmlFor = "input_" + this.type + this.index;
	this.htmlContainer.appendChild( this.htmlLabel );
	
	
	var e = null;
	if(this.elements.length == 0)
		e = new Array();
	else
		e = this.elements.split("\n");
	
	
	for(i=0;i<e.length;i++){

		var lbl = document.createElement("label");
		lbl.innerHTML = e[i];
		lbl.htmlFor = "input_" + this.index + "_" + i;
 
		var input       = document.createElement("input");
		input.type      = "radio";
		input.name      = "input_" + this.type + this.index;
		input.id        = "input_" + this.type + this.index + "_" + i;
		
		input.className = "radio";
		lbl.className   = "radio";

		this.htmlContainer.appendChild( input );
		this.htmlContainer.appendChild( lbl );
	
	}
	
	
	
	var br = document.createElement("br");
	br.clear = 'all';
	this.htmlContainer.appendChild( br );
	
	
	this.htmlULMenu    = createContextMenu( this.htmlContainer, new Array("Delete","deleteEntry("+this.index+")"));
	this.parent.appendChild(this.htmlContainer);
	
	new Draggable(this.htmlContainer, {snap:10,onEnd:elementOnDragEnd});

	this.htmlContainer.style.left = this.x + "px";
	this.htmlContainer.style.top  = this.y + "px";

  },
  onUpdate : function(){

	this.htmlLabel.innerHTML = this.label;	
    
	var children = this.htmlContainer.childElements();
	
	for(i=0;i<children.length;i++){
		if(children[i].className == "radio")
			this.htmlContainer.removeChild(children[i]);
	}
	

	var e = this.elements.split("\n");
	
	for(i=0;i<e.length;i++){

		var lbl = document.createElement("label");
		lbl.innerHTML = e[i];
		lbl.htmlFor = "input_" + this.index + "_" + i;
 
		var input       = document.createElement("input");
		input.type      = "radio";
		input.name      = "input_" + this.type + this.index;
		input.id        = "input_" + this.type + this.index + "_" + i;
		
		input.className = "radio";
		lbl.className   = "radio";

		this.htmlContainer.appendChild( input );
		this.htmlContainer.appendChild( lbl );
				
		//this.this.htmlContainer.insertBefore( input, this.eDelete );
		//this.this.htmlContainer.insertBefore( labelElement, this.eDelete );
	
	}
	  
  },
  
  onDelete : function(){
	
	var c = this.parent.id;
	var e = this.htmlContainer.id;
	Effect.Fade(this.htmlContainer,{afterFinish: function(){$(c).removeChild($(e))}});
	
 }
  
  
});
