function NewSongForm()
{
    /**
     * override of {@link Form#provideContent} to provide content of
     * the form
     */
    this.provideContent = function() {
	var d = document.createElement("div");
	var s;
	s    = '<form id="newsongform">';
	s    += '<table style="overflow:auto;">';
	s    += '<tr>';
	s    += '<td><b>Song Title: </b><td><input type="text" name="title" id="songname" size="40">';
	s    += '<td><b>Size: </b><td><select id="fontSize">';
	s    +=			'<option value="12">12</option>';
	s    +=			'<option value="14">14</option>';
	s    +=			'<option value="16">16</option>';
	s    +=			'<option value="18">18</option>';
	s    +=			'<option value="20">20</option>';
	s    +=			'<option value="24">24</option>';
	s    += '</select>';
	s    += '<tr>';
	s    += '<td><b>Tala:  </b><td><select id="tala">';
	s    +=			'<option value="Adi">Adi</option>';
	s    +=			'<option value="RoopakaCapu">Roopaka (Capu)</option>';
	s    +=			'<option value="KhandaCapu">Khanda Chapu</option>';
	s    +=			'<option value="MisraCapu">Misra Chapu</option>';
	s    +=			'<option value="Roopaka">Chatusra Roopaka</option>';
	s    +=			'<option value="Eka">Eka</option>';
	s    +=			'<option value="Tisra_Eka">Tisra Eka</option>';
	s    +=			'<option value="Tisra_Adi">Adi (Tisra Gati)</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Layout:  </b><td><select id="layout">';
	s    +=			'<option value="Krithi">Krithi (Default)</option>';
	s    +=			'<option value="Varnam">Varnam</option>';
	s    +=			'<option value="Gitam">Gitam</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Width:  </b><td><select id="NotationWidth">';
	s    +=			'<option value="Compact">Compact (Default)</option>';
	s    +=			'<option value="FullWidth">Full page Width</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Show lines for higher speed swaras:  </b><td><select id="SpeedMarkers">';
	s    +=			'<option value="Above">Above</option>';
	s    +=			'<option value="Below">Below</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td colspan="4"><div><center>';
	s    += '<input id="newsongform_ok" name="ok" type="button" value="&nbsp;OK&nbsp;" onclick="NewSongForm.prototype.okHandler()"> &nbsp;';
	s    += '<input id="newsongform_cancel" name="cancel" type="button" value="Cancel" onclick="NewSongForm.prototype.cancelHandler()">';
	s    += '</center>';
	s    += '</div>';
	s    += '</table>';
	s    += '</form>';
	d.innerHTML = s;
	d.style.overflow = "auto";
	var form = d.getElementsByTagName("form")[0];
	this.fForm = form;
	Utils.addToIdMap(form, this);
	return d;
    }

    this.onOK = function() {
	var ok = false;
	var title = trim(this.fForm.title.value);
	var err = null;
	if( title == "" )
	    err = "No title provided"
	
	if( err )  {
	    alert(err);
	    return;
	}

	this.hide();

	var contents = "";
	contents += 'Layout: ' + this.fForm.layout.value + ',' + this.fForm.NotationWidth.value;
	contents += "\nTala: " + this.fForm.tala.value;
	contents += '\nHeading: "' + title + '",bold,center,' + this.fForm.fontSize.value;
	if( doCodePress ) {
	    var rawContents =  document.getElementById("rawContents_cp").previousSibling;	// IE (too) 
	    rawContents.setCode(contents);
	    rawContents.editor.syntaxHighlight();
	}
	else {
	    var rawContents =  document.getElementById("rawContents");
	    rawContents.value = contents;
	}


    }

    this.onCancel = function() {
	this.hide();
    }
}
/**
 * @class
 * the import/edit raw contents form
 */
@class
the import/edit raw contents form
@class the import / edit raw contents form
function NewSongForm()
{
    this.provideContent = function() {
	var d = document.createElement("div");
	var s;
	s    = '<form id="newsongform">';
	s    += '<table style="overflow:auto;">';
	s    += '<tr>';
	s    += '<td><b>Song Title: </b><td><input type="text" name="title" id="songname" size="40">';
	s    += '<td><b>Size: </b><td><select id="fontSize">';
	s    +=			'<option value="12">12</option>';
	s    +=			'<option value="14">14</option>';
	s    +=			'<option value="16">16</option>';
	s    +=			'<option value="18">18</option>';
	s    +=			'<option value="20">20</option>';
	s    +=			'<option value="24">24</option>';
	s    += '</select>';
	s    += '<tr>';
	s    += '<td><b>Tala:  </b><td><select id="tala">';
	s    +=			'<option value="Adi">Adi</option>';
	s    +=			'<option value="RoopakaCapu">Roopaka (Capu)</option>';
	s    +=			'<option value="KhandaCapu">Khanda Chapu</option>';
	s    +=			'<option value="MisraCapu">Misra Chapu</option>';
	s    +=			'<option value="Roopaka">Chatusra Roopaka</option>';
	s    +=			'<option value="Eka">Eka</option>';
	s    +=			'<option value="Tisra_Eka">Tisra Eka</option>';
	s    +=			'<option value="Tisra_Adi">Adi (Tisra Gati)</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Layout:  </b><td><select id="layout">';
	s    +=			'<option value="Krithi">Krithi (Default)</option>';
	s    +=			'<option value="Varnam">Varnam</option>';
	s    +=			'<option value="Gitam">Gitam</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Width:  </b><td><select id="NotationWidth">';
	s    +=			'<option value="Compact">Compact (Default)</option>';
	s    +=			'<option value="FullWidth">Full page Width</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td><b>Show lines for higher speed swaras:  </b><td><select id="SpeedMarkers">';
	s    +=			'<option value="Above">Above</option>';
	s    +=			'<option value="Below">Below</option>';
	s    +=			'</select>';
	s    += '<td colspan="2">';
	s    += '<tr>';
	s    += '<td colspan="4"><div><center>';
	s    += '<input id="newsongform_ok" name="ok" type="button" value="&nbsp;OK&nbsp;" onclick="NewSongForm.prototype.okHandler()"> &nbsp;';
	s    += '<input id="newsongform_cancel" name="cancel" type="button" value="Cancel" onclick="NewSongForm.prototype.cancelHandler()">';
	s    += '</center>';
	s    += '</div>';
	s    += '</table>';
	s    += '</form>';
	d.innerHTML = s;
	d.style.overflow = "auto";
	var form = d.getElementsByTagName("form")[0];
	this.fForm = form;
	Utils.addToIdMap(form, this);
	return d;
    }
    this.onOK = function() {
	var ok = false;
	var title = trim(this.fForm.title.value);
	var err = null;
	if( title == "" )
	    err = "No title provided"
	if( err )  {
	    alert(err);
	    return;
	}
	this.hide();
	var contents = "";
	contents += 'Layout: ' + this.fForm.layout.value + ',' + this.fForm.NotationWidth.value;
	contents += "\nTala: " + this.fForm.tala.value;
	contents += '\nHeading: "' + title + '",bold,center,' + this.fForm.fontSize.value;
	if( doCodePress ) {
	    var rawContents =  document.getElementById("rawContents_cp").previousSibling;	
	    rawContents.setCode(contents);
	    rawContents.editor.syntaxHighlight();
	}
	else {
	    var rawContents =  document.getElementById("rawContents");
	    rawContents.value = contents;
	}
    }
    this.onCancel = function() {
	this.hide();
    }
}
function NewSongForm ( ) { this . provideContent = function ( ) { var d = document . createElement ( "div" ) ; var s ; s = '<form id="newsongform">' ; s += '<table style="overflow:auto;">' ; s += '<tr>' ; s += '<td><b>Song Title: </b><td><input type="text" name="title" id="songname" size="40">' ; s += '<td><b>Size: </b><td><select id="fontSize">' ; s += '<option value="12">12</option>' ; s += '<option value="14">14</option>' ; s += '<option value="16">16</option>' ; s += '<option value="18">18</option>' ; s += '<option value="20">20</option>' ; s += '<option value="24">24</option>' ; s += '</select>' ; s += '<tr>' ; s += '<td><b>Tala:  </b><td><select id="tala">' ; s += '<option value="Adi">Adi</option>' ; s += '<option value="RoopakaCapu">Roopaka (Capu)</option>' ; s += '<option value="KhandaCapu">Khanda Chapu</option>' ; s += '<option value="MisraCapu">Misra Chapu</option>' ; s += '<option value="Roopaka">Chatusra Roopaka</option>' ; s += '<option value="Eka">Eka</option>' ; s += '<option value="Tisra_Eka">Tisra Eka</option>' ; s += '<option value="Tisra_Adi">Adi (Tisra Gati)</option>' ; s += '</select>' ; s += '<td colspan="2">' ; s += '<tr>' ; s += '<td><b>Layout:  </b><td><select id="layout">' ; s += '<option value="Krithi">Krithi (Default)</option>' ; s += '<option value="Varnam">Varnam</option>' ; s += '<option value="Gitam">Gitam</option>' ; s += '</select>' ; s += '<td colspan="2">' ; s += '<tr>' ; s += '<td><b>Width:  </b><td><select id="NotationWidth">' ; s += '<option value="Compact">Compact (Default)</option>' ; s += '<option value="FullWidth">Full page Width</option>' ; s += '</select>' ; s += '<td colspan="2">' ; s += '<tr>' ; s += '<td><b>Show lines for higher speed swaras:  </b><td><select id="SpeedMarkers">' ; s += '<option value="Above">Above</option>' ; s += '<option value="Below">Below</option>' ; s += '</select>' ; s += '<td colspan="2">' ; s += '<tr>' ; s += '<td colspan="4"><div><center>' ; s += '<input id="newsongform_ok" name="ok" type="button" value="&nbsp;OK&nbsp;" onclick="NewSongForm.prototype.okHandler()"> &nbsp;' ; s += '<input id="newsongform_cancel" name="cancel" type="button" value="Cancel" onclick="NewSongForm.prototype.cancelHandler()">' ; s += '</center>' ; s += '</div>' ; s += '</table>' ; s += '</form>' ; d . innerHTML = s ; d . style . overflow = "auto" ; var form = d . getElementsByTagName ( "form" ) [ 0 ] ; this . fForm = form ; Utils . addToIdMap ( form , this ) ; return d ; } this . onOK = function ( ) { var ok = false ; var title = trim ( this . fForm . title . value ) ; var err = null ; if ( title == "" ) err = "No title provided" if ( err ) { alert ( err ) ; return ; } this . hide ( ) ; var contents = "" ; contents += 'Layout: ' + this . fForm . layout . value + ',' + this . fForm . NotationWidth . value ; contents += "\nTala: " + this . fForm . tala . value ; contents += '\nHeading: "' + title + '",bold,center,' + this . fForm . fontSize . value ; if ( doCodePress ) { var rawContents = document . getElementById ( "rawContents_cp" ) . previousSibling ; rawContents . setCode ( contents ) ; rawContents . editor . syntaxHighlight ( ) ; } else { var rawContents = document . getElementById ( "rawContents" ) ; rawContents . value = contents ; } } this . onCancel = function ( ) { this . hide ( ) ; } }
@class
 the import/edit raw contents form
@class the import / edit raw contents form
/**
     * override of {@link Form#provideContent} to provide content of
     * the form
     */ // IE (too) 
