protected override void OnRender(ScriptWriter writer, bool multiLine, bool startOnNewLine)
        {
            if (multiLine && startOnNewLine)
                writer.WriteNewLineAndIndent();

            writer.Write("function(");
            Parameters.Render(writer, 1);
            writer.Write(") {");
            Commands.Render(writer, 1);

            if (Commands.MultiLine && !Commands.IsNothing())
                writer.WriteNewLineAndIndent();

            writer.Write("}");
        }
        protected override void OnRender(ScriptWriter writer, bool multiLine, bool startOnNewLine)
        {
            if (multiLine && startOnNewLine)
                writer.WriteNewLineAndIndent();

            if (New)
                writer.Write("new ");

            writer.Write(Function);
            writer.Write("(");
            Parameters.Render(writer, 1);

            if (multiLine && !Parameters.IsNothing())
                writer.WriteNewLineAndIndent();

            writer.Write(")");
        }
        protected override void OnRender(ScriptWriter writer, bool multiLine, bool startOnNewLine)
        {
            if (multiLine && startOnNewLine)
                writer.WriteNewLineAndIndent();

            string quote = this.DoubleQuotes ? "\"" : "'";
            if (Text == null)
                writer.Write(quote + quote);

			writer.Write(quote + JsScriptWriter.JsConvert(Text).ToString().Replace(quote, @"\" + quote) + quote);
        }
        protected override void OnRender(ScriptWriter writer, bool multiLine, bool startOnNewLine)
        {
            if (multiLine && startOnNewLine)
                writer.WriteNewLineAndIndent();

            writer.Write(Name + ": ");

            if (Value is IScriptItem)
            {
                if (!((IScriptItem)Value).IsNothing())
                {
                    ((IScriptItem)Value).Render(writer);
                }
            }
            else
            {
				writer.Write(Value);
            }

        }