function render(type, propertyName, propertySchema, content, htmlParent) {
	context = {
		id: htmlParent.attr("id") + "-" + propertyName,
		label: propertyName,
		classes: propertySchema.hasOwnProperty("required") && propertySchema.required ? "required" : "",
	};
	switch (type) {
	case "object":
		context.classes = [context.classes, "object-container"].join(" ");
		renderer = defaultObjectRenderer;
		returnChild = "ul";
		break;
	case "array":
		context.classes = [context.classes, "array-container"].join(" ");
		renderer = defaultArrayRenderer;
		returnChild = "ul";
		break;
	case "boolean":
		renderer = defaultBooleanRenderer;
		break;
	default:
		context["value"] = content;
		context["format"] = propertySchema.hasOwnProperty("format") ? propertySchema.format : "";
		context["required"] = propertySchema.required || false;
		context.classes = [context.classes, "key-value"].join(" ");
		
		if (propertySchema.hasOwnProperty("minLength") && propertySchema.minLength > 25) { 
			context.classes = [context.classes, "textarea-container"].join(" ");
			renderer = textAreaStringRenderer; 
		}
		else if (propertySchema.hasOwnProperty("enum")) { 
			if (propertySchema.enum.indexOf("") != 0) { propertySchema.enum.unshift(""); }
			renderer = enumStringRenderer(propertySchema.enum, content); }
		else { renderer = defaultStringRenderer; }
		break;
	}
	
	// Handle special cases
	if (specialCases.hasOwnProperty(propertyName) && specialCases[propertyName].adjustContext) { specialCases[propertyName].adjustContext(context); }
	if (specialCases.hasOwnProperty(propertyName) && specialCases[propertyName].altRenderer) { 
		specialCases[propertyName].altRenderer(type, propertyName, propertySchema, content, htmlParent, context); 
		if (specialCases[propertyName].breakAfterAltRender) { return null; }
	}
	
	// Create the HTML markup
	html = renderer(context);
	
	// Append the HTML markup
	if (typeof(returnChild) != "undefined") { return $(html).appendTo(htmlParent).find(returnChild); }
	else { return $(html).appendTo(htmlParent); }
}
/** FUNCTION TO PERFORM RENDERING WITHIN THE PAGE **/
FUNCTION TO PERFORM RENDERING WITHIN THE PAGE
FUNCTION TO PERFORM RENDERING WITHIN THE PAGE
function render(type, propertyName, propertySchema, content, htmlParent) {
	context = {
		id: htmlParent.attr("id") + "-" + propertyName,
		label: propertyName,
		classes: propertySchema.hasOwnProperty("required") && propertySchema.required ? "required" : "",
	};
	switch (type) {
	case "object":
		context.classes = [context.classes, "object-container"].join(" ");
		renderer = defaultObjectRenderer;
		returnChild = "ul";
		break;
	case "array":
		context.classes = [context.classes, "array-container"].join(" ");
		renderer = defaultArrayRenderer;
		returnChild = "ul";
		break;
	case "boolean":
		renderer = defaultBooleanRenderer;
		break;
	default:
		context["value"] = content;
		context["format"] = propertySchema.hasOwnProperty("format") ? propertySchema.format : "";
		context["required"] = propertySchema.required || false;
		context.classes = [context.classes, "key-value"].join(" ");
		if (propertySchema.hasOwnProperty("minLength") && propertySchema.minLength > 25) { 
			context.classes = [context.classes, "textarea-container"].join(" ");
			renderer = textAreaStringRenderer; 
		}
		else if (propertySchema.hasOwnProperty("enum")) { 
			if (propertySchema.enum.indexOf("") != 0) { propertySchema.enum.unshift(""); }
			renderer = enumStringRenderer(propertySchema.enum, content); }
		else { renderer = defaultStringRenderer; }
		break;
	}
	if (specialCases.hasOwnProperty(propertyName) && specialCases[propertyName].adjustContext) { specialCases[propertyName].adjustContext(context); }
	if (specialCases.hasOwnProperty(propertyName) && specialCases[propertyName].altRenderer) { 
		specialCases[propertyName].altRenderer(type, propertyName, propertySchema, content, htmlParent, context); 
		if (specialCases[propertyName].breakAfterAltRender) { return null; }
	}
	html = renderer(context);
	if (typeof(returnChild) != "undefined") { return $(html).appendTo(htmlParent).find(returnChild); }
	else { return $(html).appendTo(htmlParent); }
}
function render ( type , propertyName , propertySchema , content , htmlParent ) { context = { id : htmlParent . attr ( "id" ) + "-" + propertyName , label : propertyName , classes : propertySchema . hasOwnProperty ( "required" ) && propertySchema . required ? "required" : "" , } ; switch ( type ) { case "object" : context . classes = [ context . classes , "object-container" ] . join ( " " ) ; renderer = defaultObjectRenderer ; returnChild = "ul" ; break ; case "array" : context . classes = [ context . classes , "array-container" ] . join ( " " ) ; renderer = defaultArrayRenderer ; returnChild = "ul" ; break ; case "boolean" : renderer = defaultBooleanRenderer ; break ; default : context [ "value" ] = content ; context [ "format" ] = propertySchema . hasOwnProperty ( "format" ) ? propertySchema . format : "" ; context [ "required" ] = propertySchema . required || false ; context . classes = [ context . classes , "key-value" ] . join ( " " ) ; if ( propertySchema . hasOwnProperty ( "minLength" ) && propertySchema . minLength > 25 ) { context . classes = [ context . classes , "textarea-container" ] . join ( " " ) ; renderer = textAreaStringRenderer ; } else if ( propertySchema . hasOwnProperty ( "enum" ) ) { if ( propertySchema . enum . indexOf ( "" ) != 0 ) { propertySchema . enum . unshift ( "" ) ; } renderer = enumStringRenderer ( propertySchema . enum , content ) ; } else { renderer = defaultStringRenderer ; } break ; } if ( specialCases . hasOwnProperty ( propertyName ) && specialCases [ propertyName ] . adjustContext ) { specialCases [ propertyName ] . adjustContext ( context ) ; } if ( specialCases . hasOwnProperty ( propertyName ) && specialCases [ propertyName ] . altRenderer ) { specialCases [ propertyName ] . altRenderer ( type , propertyName , propertySchema , content , htmlParent , context ) ; if ( specialCases [ propertyName ] . breakAfterAltRender ) { return null ; } } html = renderer ( context ) ; if ( typeof ( returnChild ) != "undefined" ) { return $ ( html ) . appendTo ( htmlParent ) . find ( returnChild ) ; } else { return $ ( html ) . appendTo ( htmlParent ) ; } }
FUNCTION TO PERFORM RENDERING WITHIN THE PAGE
FUNCTION TO PERFORM RENDERING WITHIN THE PAGE
// Handle special cases // Create the HTML markup // Append the HTML markup