>
// onClick sets to "SUBMIT",
"FEEDBACK" function urlAdjust(form) {
var f0 = form
var fmt
//var ret = CheckLang(); //if (ret == "true") {
// return false;
//}
// alert("DBG: " +
f0.InputText)
if (f0.InputText) {
// "any text" form fmt =
get_selection(f0.OutFormat)
}
else {
// "any address" hidden variable(s)
for (nn=0; nn= 0)
origIdent = origAction.substring(ndx+1, origAction.length) else { // no '@' ("!") so add one
var indx = origAction.indexOf("?") // if
QUERY_STRING
if (indx < 0)
// -- put before it
origAction
= origAction + '/@' + origIdent
else
origAction
= origAction.substring(0, indx) + '/@' + origIdent +
origAction.substring(indx,
origAction.length)
}
//
may not need, now using SSI to set SERVER_NAME in the action url if (origHost != '' && origAction.substring(0,7) == 'http://')
{
//
need this host IP for MS audio players w multiple servers var _t = origAction.substring(7,origAction.length) ndx = _t.indexOf('/') // end of hostname part
if (ndx > 0)
origAction= 'http://'+origHost+_t.substring(ndx,_t.length) // alert('_t='+_t+'; ndx='+ndx+'; origAction='+origAction) }
// alert("origAction="+origAction +
";
origIdent="+origIdent) if (f0.InputText) origActionTtsdemo = origAction
else
origActionSayaddr =
origAction
}
// alert('DBG:
SubmitValue = ' + SubmitValue)
var input_text = ''
if (f0.InputText) {
// ttsdemo
input_text = f0.InputText.value
}
else if (f0.Last) {
// sayaddr
if (f0.First.value + f0.Last.value + f0.Street.value + f0.City.value
+ f0.State.value + f0.Zip.value + f0.Phone.value) { input_text =
f0.First.value + ' ' + f0.Last.value +
'\n' +
f0.Street.value
+ ' ' + f0.City.value + '\n' +
f0.State.value + ' ' +
f0.Zip.value + '\n' +
f0.Phone.value
}
}
else if (f0.Extension) { // saynum
if (f0.Extension.value) {
input_text
= f0.AreaCode.value + '-' +
f0.Exchange.value
+ '-' + f0.Extension.value
}
}
else {
alert('Do not recognize input form') return false
}
if
(SubmitValue.substring(0,12) != '/ttsfeedback') {
if (! input_text) {
alert('Please enter some text first before clicking
submit.') return false
}
}
else {
if (! input_text) {
alert( "Please
enter some text and listen to it " + " before sending us
feedback about how it sounds.")
return
false
}
if
(SubmitValue == '/ttsfeedback/noform') { msg
= 'The input text that you think sounds bad will be
' + 'sent to the TTS team at AT&T Labs for analysis:' + '\n' +
input_text +
'\nThank
you.'
if (!confirm(msg))
return
false
}
var indx = origAction.indexOf('?') // if QUERY_STRING
if (indx < 0) // -- put before it
f0.action
= origAction + SubmitValue
else {
f0.action = origAction.substring(0, indx) + SubmitValue + origAction.substring(indx, origAction.length)
}
return
true;
}
var indx =
origAction.indexOf("?")
urlCount++
f0.Count.value = urlCount
nm = "/output_" + urlCount + "." + fmt
if (indx < 0)
f0.action
= origAction + nm;
else {
f0.action
= origAction.substring(0, indx) + nm + origAction.substring(indx, origAction.length)
}
//alert('The action is '
+ f0.action);
return true;
}
function checkWC(form, maxwc) {
if (maxwc == 0) {
// 0 ==> no word count check // alert("No javascript word count check.") return true
}
var f0 = form
var ft = f0.InputText.value
var len = ft.length
var seps = " .,:;_-\n\t" // word separators; same in
ttsdemo cgi var wc = 0
for(cnt = 0; cnt < len;
cnt++) {
if
(seps.indexOf(ft.charAt(cnt)) < 0) { // start of a
'word'
wc++
// i.e. char NOT a separator
cnt++
// continue to end of word
while (cnt < len &&
seps.indexOf(ft.charAt(cnt)) < 0)
cnt++ // not a
separator ==> continue
}
}
if (wc == 0) {
if
(SubmitValue.substring(0,12) != '/ttsfeedback') _msg = "Please enter some text first." else
_msg
= "Please enter some text and listen to the output " + " before sending
us feedback about how it sounds."
alert(_msg)
return false
}
else if (wc > maxwc) {
alert("Your
input is " + wc + " words long and" +
" exceeds the allowed maximum of " + maxwc + " words.")
return
false
}
else {
//
alert("OK. wc = " + wc + "; maxwc = " + maxwc + ";");
// debug return true
}
}
function myReset(form) { // not using here ?
var f0 = form
if (f0.InputText) { // MS IE "reset" clears JSflg.value if (origActionTtsdemo) f0.action
= origActionTtsdemo
} else {
if
(origActionSayaddr)
f0.action =
origActionSayaddr
}
origAction = ""; // -- force
urlAdjust to reset it
origActionTtsdemo = "";
origActionSayaddr = "";
SubmitValue = "";
return true;
}
function rateAdjust(form) { // called when set OutFormat // rate '8000' is only for format 'basic' (and warn about quality) var f0 = form
var ff = f0.OutFormat,
rr = f0.SampleRateOut; var fmt = get_selection(ff)
var rate =
get_selection(rr)
// alert("DBG: rate = "
+ rate + "; fmt = " + fmt)
if (fmt == "basic") {
msg = "The 'basic'
format is 8-bit u-law at 8 kHz. " msg = msg + " Only
use if you must since the quality is
poor." if (!confirm(msg)) {
set_selection(ff, 'wav') return false
}
set_selection(rr,
'8000')
}
else if (rate == '8000')
{
msg
= "Non 'basic' formats require sample rates greater than 8 kHz." if (!confirm(msg)) {
set_selection(ff,
'basic')
return false
}
set_selection(rr,
'16000')
}
return true
}
function fmtAdjust(form) { // called when set SampleRateOut
// if "format" is 'basic' and rate != 8000, change format to 'au' var f0
= form
var ff = f0.OutFormat,
rr =f0.SampleRateOut; var fmt = get_selection(ff)
var rate =
get_selection(rr)
// alert("DBG: fmt = " +
fmt + "; rate = " + rate)
if (rate == '8000' && fmt != 'basic') {
msg
= "The sample rate '8000' is just for format 'basic'. " msg = msg + " Only use if you must since the quality is poor." if (!confirm(msg)) { set_selection(rr,
16000)
return false
}
set_selection(ff,
'basic')
}
else if (rate != '8000'
&& fmt == 'basic') { msg = "A sample rate of " +
rate +
cannot be use with format 'basic'"
if (!confirm(msg)) {
set_selection(rr,
'8000')
return false
}
set_selection(ff,
'au')
}
return true
}
function domail(usr, host) {
window.location =
"mailto:" + usr + '@' + host
}
function Recorded() {
if (document.ttsdemo.demotype[1].checked) { window.location.href="Recorded.html";
}
times = 0;
}
function ChooseVoice() {
Index = document.ttsdemo.language.options.selectedIndex; if (Index == 0) {
if (times > 0) {
alert('Please select a
language.');
ClearVoice();
}
}
if (Index == 1) {
document.ttsdemo.VoiceOut.options.length = 0; blank = new Option("-- select a voice --", "blank", false, false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = blank; Mike = new Option("Mike", "Mike (US English)", false, false); document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Mike; Crystal = new Option("Crystal", "Crystal (US English)", false, false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Crystal; //Rich and Claire - to be added later //Rich = new Option("Rich", "Rich (US English)", false, false); //document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Rich; //Claire = new Option("Claire", "Claire (US English)", false, false);
//document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Claire;
times=1;
}
if (Index == 2) {
document.ttsdemo.VoiceOut.options.length =
0;
Rosa = new Option("Rosa", "Rosa (Latin Am. Spanish)",
true, true);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Rosa; times=1;
}
if (Index == 3) {
document.ttsdemo.VoiceOut.options.length = 0; blank = new Option("-- select a voice --", "blank", false, false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = blank; Reiner = new Option("Reiner", "Reiner (German)", false, false); document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length]
= Reiner; Klara = new Option("Klara", "Klara (German)", false,
false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Klara; times=1;
}
if (Index == 4) {
document.ttsdemo.VoiceOut.options.length = 0; Alain = new Option("Alain", "Alain (French)", true, true); document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Alain; times=1;
}
if (Index == 5) {
document.ttsdemo.VoiceOut.options.length = 0; blank = new Option("-- select a voice --", "blank", false, false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = blank; Charles = new Option("Charles", "Charles (UK English)", false, false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length]
= Charles; Audrey = new Option("Audrey", "Audrey (UK English)", false,
false);
document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = Audrey; times=1;
}
}
function ClearVoice() {
document.ttsdemo.VoiceOut.options.length = 0; blank = new Option("-- select a voice --", "blank", false, false); document.ttsdemo.VoiceOut.options[document.ttsdemo.VoiceOut.length] = blank;
}
function CheckVoice() {
if (document.ttsdemo.VoiceOut.selectedIndex == 0) {
alert('Please select a voice.');
}
}
function CheckLang() {
if (document.ttsdemo.language.options[0].selected == "true")
{
alert('Please select a language and voice.'); return true;
}
}
//-->