function ObjectGenerator(){	
	function createComplexObjectRow(margin, height, color, border, corners,cornerColor)	{
		var row = document.createElement("b");
		var marginLeft  = corners.substring(0,1);
		var marginRight = corners.substring(1,2);
		var borderProps = border.split(" ");	
		if (marginRight == "1"){
			if(cornerColor != "")
				row.style.borderRight = margin+"px solid " + cornerColor;
			else
				row.style.marginRight = margin;
		}
	
		if (marginLeft == "1"){
			if(cornerColor != "")
				row.style.borderLeft = margin+"px solid " + cornerColor;
			else
			row.style.marginLeft = margin;
		}
		if(cornerColor != ""){	row.style.background  = "transparent";	}
		else{_pm.setStyle(row,"background:"+color+";border-right:"+border+";border-left:"+border+";")}
		_pm.setStyle(row,"position:relative;height:"+height+";display:block;overflow:hidden;")
		return row;
	}	
	
	function createTopSection(color, border, topCorners,cornerColor){
		var topSectionTR  = document.createElement("tr");
		var topSection	  = document.createElement("td");
		
		var topRow   = createComplexObjectRow(5, 1, color,border,topCorners,cornerColor);
		if(cornerColor == "")
			topRow.style.borderBottom = border;
		
		_pm.setStyle(topSection,"height:5;font-size:0;overflow:hidden;")
		topSection.appendChild(topRow);
		topSection.appendChild(createComplexObjectRow(3, 1, color,border,topCorners,cornerColor));
		topSection.appendChild(createComplexObjectRow(2, 1, color,border,topCorners,cornerColor));
		topSection.appendChild(createComplexObjectRow(1, 2, color,border,topCorners,cornerColor));		
		topSectionTR.appendChild(topSection);
		return topSectionTR;
	}
	
	function createMiddleSection(color,border,cornerColor){
		var middleSectionTR	= document.createElement("tr");
		var middleSectionTD	= document.createElement("td");
		var middleSection 	= document.createElement("div");
		_pm.setStyle(middleSection,"width:100%;height:100%;")
		if(cornerColor != "")
			middleSection.style.background  = "transparent";
		else{
			_pm.setStyle(middleSection,"background:"+color+";border-right:"+border+";border-left:"+border+";")
		}
		middleSection.style.overflow    = "hidden";
		middleSectionTD.appendChild(middleSection);
		middleSectionTR.appendChild(middleSectionTD);
		return middleSectionTR;
	}
	
	function createBottomSection(color, border, bottomCorners,cornerColor){
	    var bottomSectionTR = document.createElement("tr");
	    var bottomSection = document.createElement("td");
	    bottomSection.id  = "bottomSection";
	    
	    bottomSection.appendChild(createComplexObjectRow(1,2,color,border,bottomCorners,cornerColor));
		bottomSection.appendChild(createComplexObjectRow(2,1,color,border,bottomCorners,cornerColor));	
		bottomSection.appendChild(createComplexObjectRow(3,1,color,border,bottomCorners,cornerColor));
		
		var bottomRow	= createComplexObjectRow(5,1,color,border,bottomCorners,cornerColor);
		if(cornerColor == "")
			bottomRow.style.borderBottom = border;		
		
		_pm.setStyle(bottomSection,"height:5;font-size:0;overflow:hidden;")
		bottomSection.appendChild(bottomRow);
		bottomSectionTR.appendChild(bottomSection);
		return bottomSectionTR;
	}
	
	this.createRoundObject = function(color,border,allCorners,cornerColor){
		return createComplexObject(color,border,allCorners,cornerColor);
	}
	
	function createComplexObject(color,border,allCorners,cornerColor){
		var table		 		= document.createElement("table");
		var tbody				= document.createElement("tbody");
		table.cellPadding 		= "0";
		table.cellSpacing 		= "0";
		_pm.setStyle(table,"height:100%;width:100%;background:none;")
			
		tbody.appendChild(createTopSection(color,border,allCorners.substring(0,2),cornerColor));
		tbody.appendChild(createMiddleSection(color,border,cornerColor));
		tbody.appendChild(createBottomSection(color,border,allCorners.substring(2,4),cornerColor));	
		
		table.appendChild(tbody);
		return table;
	}		
}

