// donor list ===
txt4 = "Martin - Rachael";

// no framing ===
if (top.frames.length!=0)
	top.location=self.document.location;

// location =====
sti = "";
short_sti = "";

if (location.href.indexOf("jososoft.dk") != -1)
	short_sti = "http://www.jososoft.dk/";
else
	short_sti = "file:///D:/dokumenter/website/";

sti = short_sti + "yamaha/";

// additions
copyright = false;
ann = false;
anntxt = ""; 

// mail =========
var a1 = "js";
var a2 = "@";
var a3 = "jososoft.dk";

// billeder =====
pics5 = new Array( "test1.jpg", "test2.jpg", "test3.jpg", "test4.jpg", "test5.jpg", "test6.jpg", "test7.jpg", "test8.jpg", "test9.jpg","test10.jpg","test11.jpg","test12.jpg","test13.jpg","test14.jpg","test15.jpg","test16.jpg","test17.jpg","test18.jpg","test19.jpg","test20.jpg","test21.jpg","test22.jpg","test23.jpg","test24.jpg","test25.jpg","test26.jpg","test27.jpg","test28.jpg","test29.jpg","test30.jpg");
pics6 = new Array("test31.jpg","test32.jpg","test33.jpg","test34.jpg","test35.jpg","test36.jpg","test37.jpg","test38.jpg","test39.jpg","test40.jpg","test41.jpg","test42.jpg","test43.jpg","test44.jpg","test45.jpg","test46.jpg","test47.jpg","test48.jpg","test49.jpg","test50.jpg","test51.jpg","test52.jpg","test53.jpg","test54.jpg","test55.jpg","test56.jpg","test57.jpg","test58.jpg","test59.jpg","test60.jpg");

pic5 = sti + "pics/" + pics5[Math.floor(Math.random()*pics5.length)];
pic6 = sti + "pics/" + pics6[Math.floor(Math.random()*pics6.length)];

// tak billeder =
thanks = new Array("thanks1.jpg","thanks2.jpg","thanks3.jpg","thanks4.jpg","thanks5.jpg","thanks6.jpg","thanks7.jpg","thanks8.jpg","thanks9.jpg","thanks10.jpg");
tak = sti + "pics2/" + thanks[Math.floor(Math.random()*thanks.length)];

// paypal =======
paypal1 ="<form action='https://www.paypal.com/cgi-bin/webscr' target='pp' method='post'>" +
	"<select name='currency_code'>" +
	"<option value='EUR' selected>Euro </option>" +
	"<option value='USD'>US $</option>" +
	"<option value='GBP'>GB Ł</option>" +
	"</select>" +
	"<input type='hidden' size='3' SELECT_NAME='currency_code'>"

paypal2 ="<input type='hidden' name='cmd' value='_xclick'>" +
	"<input type='hidden' name='business' value='yamaha-donate@jososoft.dk'>" +
	"<input type='hidden' name='item_name' value='donation'>" +
	"<input type='hidden' name='item_number' value='donation'>" +
	"<input type='hidden' name='no_shipping' value='0'>" +
	"<input type='hidden' name='no_note' value='1'>" +
	"<input type='hidden' name='tax' value='0'>" +
	"<input type='hidden' name='lc' value='US'>" +
	"<input type='hidden' name='bn' value='PP-DonationsBF'>" +
	"<input type='image' src='https://www.paypal.com/en_US/i/btn/x-click-butcc-donate.gif' border='0' name='submit' alt='Make payments with PayPal - fast, free and secure!'>" +
	"</form>"

// help =========
function help()
{
	var nyt = null;
	nyt = window.open('', 'Nytvindue', 'width=600,height=200,resize=no, scrollbars=yes');
	if (nyt != null)
	{
		if (nyt.opener== null)
			nyt.opener = self;
	}
	nyt.location.href = sti + "help.htm";
}

// page top =====
function starttop()
{

// head+flags ===
document.write("<table border='0' cellspacing='0' cellpadding='0' width='100%'><tr><td class='light' colspan='5' rowspan='4'><h1><a href='" + short_sti + "js/index_uk.htm' title='The main Page at www.jososoft.dk'><img src='" + short_sti + "jososoft.gif' alt='jososoft logo' border='0'></a><span style='line-height: 80%;'> The Unofficial YAMAHA Keyboard Resource Site</span></h1></td><td class='light' colspan='3' align='right'>");

t1 = "<a href='http://www.google.com/translate_c?hl=en&tl=";
t2 = "&u="+location.href+"'><img src='"+ short_sti +"flag/";
t3 = ".gif' border='0' alt='";

if (top.location.href.indexOf("translate") == -1)
{ 
t_flag =t1 + "de" + t2 + "de" + t3 + "Übersetzen Sie diese Seite in Deutsch'></a> " + 
	t1 + "nl" + t2 + "nl" + t3 + "Vertaal deze pagina naar Nederlands'></a> " + 
	t1 + "pt" + t2 + "pt" + t3 + "Traduzir esta página para o Portuguęs'></a> " +
	t1 + "it" + t2 + "it" + t3 + "Traduci questa pagina a Italiano'></a> " +
	t1 + "fr" + t2 + "fr" + t3 + "Traduire cette page en français'></a> " +
	t1 + "es" + t2 + "es" + t3 + "Traducir esta página al espańol'></a> " +

	t1 + "da" + t2 + "da" + t3 + "Oversćt siden til dansk'></a> " +
	t1 + "no" + t2 + "no" + t3 + "Oversette siden til norsk'></a> " +
	t1 + "sv" + t2 + "sv" + t3 + "Översätta sidan till svenska'></a> " +
	t1 + "fi" + t2 + "fi" + t3 + "Käännä sivu suomi'></a> " +

	t1 + "pl" + t2 + "pl" + t3 + "Przetlumaczyc te strone Polski'></a> " +
	t1 + "cs" + t2 + "cs" + t3 + "Preloit tuto stránku do cetiny'></a> " +
	t1 + "ru" + t2 + "ru" + t3 + "Translate this page to Russian'></a> " +
	t1 + "hu" + t2 + "hu" + t3 + "Fordítás magyarra'></a> " +
	t1 + "sk" + t2 + "sk" + t3 + "Preloit túto stránku do slovenciny'></a> " +
	t1 + "el" + t2 + "el" + t3 + "Translate this page to Greek'></a> " +

	t1 + "tr" + t2 + "tr" + t3 + "Translate this page to Turkish'></a> " +
	t1 + "hi" + t2 + "hi" + t3 + "Translate this page to Hindi'></a> " +
	t1 + "id" + t2 + "id" + t3 + "Terjemahkan halaman ini ke Indonesia'></a>";

	document.write(t_flag + "</td></tr>");
}
else
{
	start = top.location.href.lastIndexOf("http");
	slut = top.location.href.lastIndexOf("htm");
	slut2 = top.location.href.lastIndexOf("/");
	if (slut > 0)
		document.write("<a href=" + top.location.href.substring(start,slut+3) + "><img src='"+ short_sti +"flag/uk.gif' border='0'> Original Page</a></td></tr>");
	else
		document.write("<a href=" + top.location.href.substring(start,slut2+1) + "index.htm><img src='"+ short_sti +"flag/uk.gif' border='0'> Original Page</a></td></tr>");
}

// site info ====
t_menu ="<tr><td class='light' colspan='3' height='3'></td></tr>" +
	"<tr><td class='dark'><a href='" + sti + "sitemap.htm'>Site Map</a></td><td class='dark'><a href='javascript:help();'>Find It !</a></td><td class='dark'><a href='" + sti + "brev.htm'>Mail me !</a></td></tr>" +
	"<tr><td class='light' colspan='3' height='3'></td></tr>" +

// menus ========
	"<tr><td class='light' width='12%'><a href='" + sti + "index.htm'>Home</a></td>" +
	"<td class='light' width='13%'><a href='" + sti + "software/software.htm'>My Software</a></td>" +
	"<td class='light' width='12%'><a href='" + sti + "articles.htm'>My&nbsp;Articles</a></td>" +
	"<td class='light' width='13%'><a href='" + sti + "styles/styles.htm'>My&nbsp;Styles</a></td>" +
	"<td class='light' width='12%'><a href='" + sti + "stylesites.htm'>Styles</a></td>" +
	"<td class='light' width='13%'><a href='" + sti + "software.htm'>Software 1</a></td>" +
	"<td class='light' width='13%'><a href='" + sti + "more_software.htm'>Software 2</a></td>" +
	"<td class='dark'  width='12%'><a href='" + sti + "nyhedsbrev.htm'>Newsletter</a></td></tr>" +

	"<tr><td class='darkest' colspan='8' height='1'></td></tr>" +
	"<tr><td class='light'><a href='" + sti + "yamaha.htm'>Yamaha</a></td>" +
	"<td class='light'><a href='" + sti + "fora.htm'>Discussion&nbsp;Fora</a></td>" +
	"<td class='light'><a href='" + sti + "resource.htm'>Resources</a></td>" +
	"<td class='light'><a href='" + sti + "ins_files.htm'>Ins Files</a></td>" +
	"<td class='light'><a href='" + sti + "docs_specs.htm'>Docs&minus;Specs</a></td>" +
	"<td class='light'><a href='" + sti + "music_2.htm'>Music&nbsp;Softw.&nbsp;1</a></td>" +
	"<td class='light'><a href='" + sti + "music_4.htm'>Music&nbsp;Softw.&nbsp;2</a></td>" +
	"<td class='dark'><a href='" + sti + "whats_up.htm'>What's Up ?</a></td></tr>" +

	"<tr><td class='darkest' colspan='8' height='1'></td></tr>" +
	"<tr><td class='light'><a href='" + sti + "music_3.htm'>MIDI&nbsp;Files</a></td>" +
	"<td class='light' colspan='2'><a href='" + sti + "songmaking.htm'>Songwriting&minus;Chords&minus;Patterns</a></td>" +
	"<td class='light' colspan='2'><a href='" + sti + "music_1.htm'>Lyrics&minus;Fakebooks&minus;Sheets&minus;Tabs</a></td>" +
	"<td class='light'><a href='" + sti + "music.htm'>Music</a></td>" +
	"<td class='light'><a href='" + sti + "programming.htm'>Programming</a></td>" +
	"<td class='dark'><a href='" + sti + "about.htm'>About&nbsp;this&nbsp;Site</a></td></tr>" +

	"<tr><td class='light' colspan='8' height='3'></td></tr>";
	document.write(t_menu);

// body heading =
t_pics ="<tr><td colspan='5' rowspan='3'><h1>" + document.title.substring(18) + "</h1></td>" +
	"<td class='darker' align='center' style='background-image:url(" + sti + "arrow.gif); background-repeat: no-repeat'><b>Support<br>this site<br></b><a href=" + sti + "support.htm>About</a></td>" +
	"<td class='darker' align='center' style='background-image:url(" + sti + "arrow.gif); background-repeat: no-repeat'><b>Select<br>currency</b><br>" + paypal1 + "</td>" +
	"<td class='darker' align='center' style='background-image:url(" + sti + "arrow.gif); background-repeat: no-repeat'>" + paypal2 + "</td></tr>" +
	"<tr><td colspan='3' height='1'></td></tr><tr><td class='darker' colspan='3' align='center'><b>Latest Donors: " + txt4 + "</b></td></tr>" + 
	"<tr><td class='light' colspan='8' height='3'></td></tr></table>" +

// images =======
	"<table cellpadding='0' cellspacing='0' border='0' width='100%'><tr><td width='30%'><table cellpadding='0' cellspacing='0' width='100%' height='90' style='border-width:1px; border-style:solid; border-color:black;'><tr>" +
	"<td style='background-image:url(" + pic5 + ");'></td></tr></table></td><td class='light'><img src='" + sti + "spacer.gif'></td><td align='center'>";
	document.write(t_pics);
}

// google adds
function google_ads()
{
	google_ad_client = "pub-7339620459782348";
	google_ad_slot = "6589879658";
	google_ad_width = 728;
	google_ad_height = 90;
	google_color_border = "000000";
	google_color_bg = "E0E0E0";
	google_color_link = "993333";
	google_color_url = "993333";
	google_color_text = "000000";
	document.write("<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>");
}

function sluttop()
{
	document.write("</td><td class='light'><img src='" + sti + "spacer.gif'></td><td width='30%'><table cellpadding='0' cellspacing='0' width='100%' height='90' style='border-width:1px; border-style:solid; border-color:black;'><tr>");
	document.write("<td style='background-image:url(" + pic6 + ");'></td></tr></table></td></tr><tr><td class='light' colspan='8' height='3'></td></tr><tr><td colspan='8' height='6'></td></tr></table>");

	// donation reminder ==
	if ( location.href.indexOf("/software/") != -1 && location.href.indexOf("/index.htm") != -1 && location.href.indexOf("software/index.htm") == -1 )
		document.write("<table border='0' cellspacing='0' cellpadding='0' width='100%'><tr><td width='24%' class='darker'>This software program is Donation Ware. To donate:</td><td width='1%' class='darker'></td><td width='24%' class='darker'><b>1.</b> Select your currency preference in the top right corner of this window.</td><td width='1%' class='darker'></td><td width='24%' class='darker'><b>2.</b> Now click the <i><b>PayPal Donate</b></i> image; and a new browser window will open.</td><td width='1%' class='darker'></td><td width='25%' class='darker'><b>3.</b> Follow the instructions at the page in this new window. More about <a href=" + sti + "support.htm>Support</a>.</td></tr><tr><td colspan='7'><hr></td></tr></table>");
}

// articles ===== 
function menu(topic)
{
	var no = 0;
	if (topic == "Style")
		no = 13;

	if (topic == "MIDI")
		no = 11;

	if (topic == "style2")
		no = 13;

	if (topic == "software")
		no = 7;

	var1 = location.href.lastIndexOf("_") + 1;
	var2 = location.href.lastIndexOf(".");
	var3 = parseInt(location.href.substring(var1, var2));

	document.write("<table><tr>");

	if (var3 != 1)
	{
		document.write("<td> <a href = " + location.href.substring(0, var1) + (var3 - 1) + location.href.substring(var2, var2 + 4) + ">&lt;</a> </td>");
	}

	for (i=1; i < no+1; i++)
	{
		if (location.href.indexOf("_" + i +".htm") == -1)
			document.write("<td><table cellspacing='0' cellpadding='0'><tr><td align='center' style='border-style:outset;border-width:thin'><a href='" + topic + "_" + i + ".htm'>Part " + i +"</a></td></tr></table></td>");
		else
			document.write("<td><table cellspacing='0' cellpadding='0'><tr><td align='center' class='darkest' style='border-style:inset;border-width:thin'>Part " + i +"</td></tr></table></td>");
	}

	if (var3 != no)
	{
		document.write("<td> <a href = " + location.href.substring(0, var1) + (var3 + 1) + location.href.substring(var2, var2 + 4) + ">&gt;</a></td>");
	}

	document.write("</tr></table>");
}

// bund =========

tip0 = new Array("", 
	"<b>Vista/Windows 7 - MIDI support</b>	<p>By default Vista/Windows 7 does not support MIDI playback.<p>Get a MIDI Mapper from <A HREF='http://akkordwechsel.de/15-windows-vista-und-der-midi-mapper/' target='ext'>Windows Vista MIDI-Mapper</A> or from <a href='http://www.pp-express.info/Vista_MIDI/PLWMidiMap.cpl' target='ext'>Vista MIDI Control Panel</a>. This will make it possible to use your keyboard for MIDI playback. <p>More information about sound through the keyboard/computer at <a href='articles/software_2.htm'>this page</a>. ",
	"<b>Editing Style Files</b>		<p>Some style editing can be done at the keyboard's Style Creator; but editing in sequencer software is often preferred. <p>This method has a pitfall: Non-MIDI data in style files will be lost, when saving style files in sequencer software. <p>Use the <a href='" + sti + "software/sands/index.htm'>Style Split and Splice</a> software to <b>split</b> the style file into MIDI and non MIDI data; and to <b>splice</b> after editing.",
	"<b>Get Sheet Music in your Key</b> 	<p>If you are looking for sheet music - transposed to your preferred key - go to <a href='http://www.wikifonia.org/sheet' target='ext'>Wikifonia</a>. <p>The songs are for download as PDF documents - or in MusicXML format; which is designed to create great notation. <p>The link to <b>Wikifonia</b> is permanently stored at the <a href='" + sti + "music_1.htm'>Lyrics-Fakebooks-Sheets-Tabs</a> page.",
	"<b>Manage Your Style Collection</b>	<p>Many styles have been created and published to many web sites; and style collections easily get cluttered. <p>To catalogue and sort the <a href='http://www.wierzba.homepage.t-online.de/psd/psdmain.htm' target='ext'>PSR Style Database</a> and the <a href='" + sti + "software/sdm/index.htm'>Style Duplicates Manager</a> softwares will do great jobs. <p>The link to the <b>PSR Style Database</b> software is permanently stored at the <a href='" + sti + "software.htm'>Software</a> page.",
	"<b>Create your own Styles</b>		<p>There are two methods for creating styles: The Style Creator in the keyboard; or a sequencer software program. <p>To use the first method, read the keyboard manual. Otherwise follow my <a href='" + sti + "articles/style_1.htm'>Style Creation Course</a>. <p>Read the course <a href='" + sti + "articles/style_1.htm'>on-line</a> or <a href='" + sti + "articles/style_creation_course.pdf'>download</a> the complete course as a PDF document.",
	"<b>Learn the CASM Data</b>		<p>CASM data in the style file assures the interpretation of the styles MIDI data. <p>It requires music theory - and experimentation - to fully understand what the CASM data do. <p>More about <a href='" + sti + "articles/style2_2.htm'>Style CASM Section Format</a>. Manipulate the CASM data by the <a href='" + sti + "software/casmedit/index.htm'>CASM Editor</a> software.",
	"<b>Repair MIDI and Style Files</b>	<p>Sometimes you will find it impossible to open a MIDI or a Style file. <p>This indicates that the file has error(s). It might be possible to repair the file. Check the <a href='" + sti + "articles/style2_13.htm'>MIDI and Style File Repair</a> page to get the tools and knowledge for file repair. <p>The repair process is done in a text editor, e.g. NotePad.",
	"<b>Find the Answer here</b>		<p>This site has a huge number of links to external sites. But there is lots of information here too. <p>There are three major ways to find information here:<br>&#8226; The top menu<br>&#8226; The <a href='" + sti + "sitemap.htm'>Site Map</a><br>&#8226; The <a href='" + sti + "help.htm'>Find It!</a> feature. <br>The methods are accessible from the top of ALL pages!",
	"<b>Style File Specification</b>	<p>Yamaha specs are not public; but the <a href='http://www.wierzba.homepage.t-online.de/stylefiles.htm' target='ext'>Style Files - Introduction and Details</a> document reveals 99% of the style format. <p>This makes the document a 'must read' for anyone programming software for Yamaha keyboards. <p>The link to <b>Style Files - Introduction and Details</b> document is permanently stored at the <a href='" + sti + "resource.htm'>Resources</a> page.",
	"<b>A wealth of Wisdom</b>		<p>Michael Bedesem has compiled hundreds PSR and Tyros related questions and answers in the <a href='http://psrtutorial.com/lessons/faq/PSRFAQ.htm' target='ext'>PSR FAQ</a> document. <p>This document is highly recommended for finding the answer to Yamaha keyboards questions. <p>The link to <b>PSR FAQ</b> document is for your reference permanently stored at the <a href='" + sti + "resource.htm'>Resources</a> page.",
	"<b>Crippled titles in Music Finder</b>	<p>Song titles in the Music Finder are by default crippled. Get un-crippled versions from the <a href='http://psrtutorial.com/sty/OF/musicfinder.html' target='ext'>PSR Tutorial</a> site. <p>The song record database can be edited in the keyboard; or in the <a href='" + sti + "software/mffm/index.htm'>Music Finder File Manager</a> software. <p>The external links are permanently stored at the <a href='" + sti + "resource.htm'>Resources</a> page.",
	"<b>Instrument Definition File</b>	<p>Users of the Cakewalk software programs will need an instrument definition file for their particular keyboard. <p>A collection of Instrument Definition files - collected from various sources - is stored at the <a href='" + sti + "ins_files.htm'>Ins Files</a> page. <p>At the page there is links to sites explaining the use of the files; and how to create an ins-file yourself.",
	"<b>Looking for sheet music</b>		<p>The internet holds a lot of sheet music. Links to popular sites are at the <a href='" + sti + "music_1.htm'>Lyrics-Fakebooks-Sheets-Tabs</a> page. <p>However it might be hard to find a particular sheet in a fake book containing hundreds of songs.<p>A helping hand is below the 'Fakebook Indexes and Search' heading in column #2 at the page.",
	"<b>Old Yamaha keyboard Pages</b>	<p>The internet evolves every hour: New information is added; and old information is removed. <p>This latter happened to many pages from Yamaha. But most pages can be found again. Check the <a href='"+ sti +"yamaha.htm'>Yamaha</a> page for details. <p>Besides this some forums have been closed. Check the <a href='"+ sti +"resource.htm'>Resources</a> page for links to these old sites.",
	"<b>A wealth of wisdom</b>		<p>One of the most appreciated Yamaha keyboard internet sites is <b>PSR Tutorial</b>. The site has an enormous Lessons section.	<p>The lessons cover most subjects; and whether you have an older or a new keyboard, you can find suitable lessons. <p>The link to the <a href='http://psrtutorial.com/lessons/index.html' target='ext'>PSR Tutorial Lessons</a> is permanently stored at the <a href='"+ sti +"resource.htm'>Resources</a> page.",
	"<b>Styles, styles, styles</b>		<p>The need for new styles is never ending. Luckily there are so many to be found; e.g. at the <a href='" + sti + "stylesites.htm'>Styles</a> page. <p>Besides this a lot of styles have been saved in the files area of the many <a href='" + sti + "fora.htm'>Discussion Fora</a>. <p>The quality varies a lot, which means some tweaking may be needed. Check my <a href='" + sti + "software.htm'>Software</a> page for tweaking software.",
	"<b>Songs matching styles </b>		<p>Heidrun Dolde has compiled a list of Styles vs. Songs matches at her <a href='http://heidruns-musikerseiten.de/megadb/index.php?lang=en' target='ext'>Song & Style - Database</a> page. <p>The list (in English and German) can be read on-line; or downloaded in several file formats. <p>The link to the <b>Song & Style - Database</b> is permanently stored at the <a href='" + sti + "resource.htm'>Resources</a> page.",
	"<b>A wealth of Wisdom</b>		<p>Although a lot of 'Yamaha keyboard' and 'Music in general' information can be found in the internet, not all experiences, information, and specific data have been documented yet. <p>Some of this is still only in the brains of individuals all around the world. <p>Meet these people in the <a href='" + sti + "resources.htm'>Discussion Fora</a>.",
	"<b>What about Copyright?</b>		<p>Breaking the copyright laws and rules can be a very costly experience as the creator of any creative work has the exclusive right to make copies of his work. <p>You can freely use your keyboard to create music; but you are not allowed to copy any part of it (e.g. styles and voices). <p>Read more at the <a href='" + sti + "songmaking.htm'>Songwriting-Chords-Patterns</a> page.",
	"<b>Reducing style file size</b>	<p>The style file size has grown during the years. More style parts have increased the average file size 50-100%. <p>This is a problem in older and smaller keyboards as the storage capacity for user styles is quite limited. <p>To delete some style parts - or to swap around the style parts - try my <a href='" + sti + "software/sremix/index.htm'>Style ReMixer</a> software program.",
	"<b>Searching MIDI files</b>		<p>The MIDI file format is a very compact format for creating, editing and exchanging music. <p>As the MIDI format has been around for more than 20 years a lot of MIDI files can be found at the internet. <p>Check the <a href='" + sti + "music_3.htm'>MIDI Files</a> page which holds MIDI file search robots; and the collection of MIDI sites at <a href='" + sti + "midisites.htm'>My MIDI Sites</a> page.",
	"<b>Software Program Version</b>	<p>All current versions of my software programs have a 'Check for new Version' sub menu in the 'Help' menu. <p>Activating this will check your version; and lead you to the current version download page if needed. <p>If your version does not have a 'Check for new Version' sub menu, get the latest version from <a href='" + sti + "software/software.htm'>My Software</a> page.",
	"<b>The Swiss-knife: PSRUTI</b>		<p>PSRUTI is a tool to tune MIDI files of the standard formats SMF0 and SMF1 to be used at Yamaha XG/XF keyboards. <p>The program performs most of the standard functions of sequencers in a very easy way. <p>Read more at the <a href='http://www.heikoplate.de/mambo/index.php?option=com_content&task=blogcategory&id=67&Itemid=44'>PSRUTI Homepage</a>. This link is permanently stored at the <a href='" + sti + "more_software.htm'>Software 2</a> page.",
	"<b>Converting MIDIs to Styles</b>	<p>As styles basically are MIDI files it is possible to convert MIDI files to styles. <p>There are a few software programs available for this, among these <a href='" + sti + "software/midi2style/index.htm'>midi2style</a>. <p>The process is not that straight forwarded; but reading the documentation will give you the basic knowledge.",
	"<b>The MIDI Tutorial</b>		<p>MIDI is a communication protocol by which computers and musical instruments can send and receive instructions. <p>The content in MIDI is instructions; not music. It is so to speak a recipe to the sound card to produce a defined sound. <p>Read more in the <a href='" + sti + "articles/MIDI_1.htm'>MIDI Reference</a> page, and at the sites listed at the <a href='" + sti + "docs_specs.htm'>Documents and Specifications</a> page. ",
	"<b>Music Book Viewer</b>		<p>Do you want to get rid of all those heavy music sheet books, and use an electronic note sheet instead? <p>There are some systems around using proprietary hardware and software; but why not use a laptop and free software? <p>Read more about my <a href='" + sti + "software/pdfviewer/index.htm'>Music Book Viewer</a> software program. It is free, and runs at all Windows based computers.",
	"<b>Time Signatures in styles</b>	<p>The style format does only allow one Time Signature in a style. However some songs in 4/4 require a 2/4-break; and some songs have two or more main parts. <p>The only way is to 'fake' the new Time Signature. <p>Read more in the <a href='" + sti + "articles/style2_9.htm'>Style parts with different Time Signatures</a> page.",
	"<b>Software Program Help</b>		<p>All my software programs have a built in help feature; and all current versions have an online help feature too. <p> The online help is translatable into 20 languages, and might include additional information not present in the built in help. <p>If the 'Help' menu does not have an 'Online Help' sub menu; get the latest version from <a href='" + sti + "software/software.htm'>My Software</a> page.",
	"<b>Music Programming</b>		<p>For the technical minded the computer gives a lot of possibilities to create music - or music software programs. <p>Interesting topics are: Music format conversion; automatic music generation; and cataloguing/database programs. <p>Links to projects and tools are found in the <a href='" + sti + "programming.htm'>Programming</a> page. Links to Java, C++, VB.Net and C# code too.",
	"<b>Documents and Specifications</b>	<p>To get the best of your keyboard and music production some knowledge about features and standards are necessary. <p>Links to keyboard manuals, sample files, knowledgebase, keyboard history etc. are found in the <a href='" + sti + "yamaha.htm'>Yamaha</a> page. <p>A lot of interesting documents covering MIDI, XG, and SysEx etc. are found in the <a href='" + sti + "docs_specs.htm'>Documents and Specifications</a> page. ",
	"<b>Tempo in Styles</b>			<p>Tempo definitions can be added anywhere in a style file. <p>But as the keyboard remembers the last tempo definition, new tempo definitions must be given in the beginning of all style parts. <p>This modification can easily be done using my <a href='" + sti + "software/stytempo/index.htm'>Style Tempo Editor</a> software.",
	"<b>Text Formatter</b>			<p>The Yamaha keyboards will show song text and chords in the display; but only if a font with a fixed width is used. <p>Song texts are often saved as Word documents using a non-fixed width font; meaning text and chords are 'out of sync'. <p>Converting the text files might be tedious; but the <a href='" + sti + "software/textformat/index.htm'>Text Formatter</a> software can assist your in the process.",
	"");

tip1 = new Array("", 
	"<b>CASM Editor</b>			<p>The CASM section in style files holds Ctab and other settings. Only some of these can be set at the keyboard; but the CASM Editor software will edit all CASM data. <p>The CASM format was changed radically in 2008. The new format has not yet been reverse engineered. <p>More at the <a href='" + sti + "software/casmedit/index.htm'>CASM Editor</a> Home Page.",
	"<b>Image To PDF</b>			<p>Image To PDF is for converting image files to PDF documents. The program handles several image formats; and is well suited to create Fake Books from scanned music sheets. <p>The program can be run in 4 modes, creating single or multiple pages in the pdf document. <p>More at the <a href='" + sti + "software/imagetopdf/index.htm'>Image To PDF</a> Home Page.",
	"<b>Lyrics Finder</b> 			<p>Lyrics Finder will detect and extract lyrics from MIDI, Karaoke and XF files. Extracted lyrics can be edited, formatted, printed and saved to file. <p>Additionally all textual data (e.g. Copyright) can be extracted; and lyrics can be converted in several ways. <p>More at the <a href='" + sti + "software/lfind/index.htm'>Lyrics Finder</a> Home Page.",
	"<b>MDB Editor</b>			<p>This program reads the MDB section in style files. The records can be edited or deleted; and new records can be added. <p>NB: This program can NOT be used for editing the Music Finder Data Base in <b>the keyboard</b>. For this go to the <a href='" + sti + "software/mffm/index.htm'>Music Finder File Manager</a> software. <p>More at the <a href='" + sti + "software/mdbedit/index.htm'>MDB Editor</a> Home Page.",
	"<b>midi2style</b>			<p>midi2style is for converting standard MIDI files to style files. The program is multilingual; and comes with an extensive help documentation and 'Getting Started' guide. <p>The process is rather complicated as it involves more than 300 settings, but often default values will do. <p>More at the <a href='" + sti + "software/midi2style/index.htm'>midi2style</a> Home Page.",
	"<b>MIDI and Style File Checker</b>	<p>MIDI and Style File Checker is for checking MIDI and style files compliance to the MIDI Specification. Error files will be shown at the User Interface. <p>To fix erroneous files a list of error files can be saved and used in the <a href='" + sti + "software/sfix/index.htm'>Style Fixer</a> program. <p>More at the <a href='" + sti + "software/midicheck/index.htm'>MIDI and Style File Checker</a> Home Page.",
	"<b>MIDI and Style Player</b>		<P>MIDI and Style Player is for playing and audition of MIDI and style files <p>MIDI files can be paused or stopped while playing. Style files can be played like MIDI files or can be looped within user selected parts.  <p>More at the <a href='" + sti + "software/mandsplay/index.htm'>MIDI and Style Player</a> Home Page.",
	"<b>MIDI Formatter</b>			<p>MIDI Formatter is for converting MIDI files to Format 0. <p>More at the <a href='" + sti + "software/midiformat/index.htm'>MIDI Formatter</a> Home Page.",
	"<b>MIDI Mega Voice Cleaner</b>		<p>MIDI files created at newer keyboards may use Mega Voices. This voice type is not found at other models - or sound cards - which mean that these voices do not sound right. <p>This program substitutes Mega Voices with the best suited standard XG voice. <p>More at the <a href='" + sti + "software/nomegainmidi/index.htm'>MIDI Mega Voice Cleaner</a> Home Page.",
	"<b>MIDI Note Event Cleaner</b>		<p>When cutting and pasting MIDI files, some MIDI events may be damaged, e.g. Note Off's without corresponding Note On's; and overlapping notes. <p>This program will correct these errors. The program has different methods of changing overlapping notes. <p>More at the <a href='" + sti + "software/nec/index.htm'>MIDI Note Event Cleaner</a> Home Page.",
//feb	"<b>MIDI Revoicer</b>			<p>This program can be used for revoicing, changing parameter values, transposing, octave shift, etc. MIDI files. <p>More at the <a href='" + sti + "software/revmidi/index.htm'>MIDI Revoicer</a> Home Page.",
//feb	"<b>Music Book Viewer</b>		<p>A PDF file viewer which can be operated from the numeric key pad only. This will help the gigging musician using a computer screen to display sheet music. <p>Music sheets can be added to one or more play lists; user notes can be added to every music sheets etc.<p>More at the <a href='" + sti + "software/pdfviewer/index.htm'>Music Book Viewer</a> Home Page.",
//feb	"<b>Music Finder File Manager</b>	<p>Music Finder File Manager is for creating, updating, and sorting records in Music Finder Files. <p>Two files can be merged and duplicate records can be deleted. Data records can be read from and saved in Yamaha format files or tabulator delimited files. <p>More at the <a href='" + sti + "software/mffm/index.htm'>Music Finder File Manager</a> Home Page.",
//feb	"<b>OTS Editor</b>			<p>OTS Editor is for editing OTS sections in style files. <p>The program can export and import OTS sections to/from style files meaning that entire OTS sections can be saved to HD and be reused in more styles. Furthermore entire OTS sections can be imported from other style files. <p>More at the <a href='" + sti + "software/otseditor/index.htm'>OTS Editor</a> Home Page.",
//feb	"<b>OTS Viewer</b>			<p>OTS Viewer is for listing the selected voices and multipads in the OTS section of all style files in a folder - and optionally the subfolder(s) to this folder. <p>The program will generate a HTML page in each folder showing the voice and multipad information. <p>More at the <a href='" + sti + "software/otsviewer/index.htm'>OTS Viewer</a> Home Page.",
	"<b>OTS Volume Changer</b>		<p>OTS Volume Changer is for changing voice volume in OTS section of style files. <p>The program runs in batch mode, meaning it will change these settings in ALL style files in a user selected folder. For editing a single file check the <a href='" + sti + "software/otseditor/index.htm'>OTS Editor</a> software. <p>More at the <a href='" + sti + "software/otsvolume/index.htm'>OTS Volume Changer</a> Home Page.",
	"<b>Software Program Manager</b>	<p>This program is for managing the collection of software from www.jososoft.dk (this Site) running at your computer.  <p>The program will detect software programs; show version; provide links to the program web site, to run, or un-install the program; check for new versions, etc. <p>More at the <a href='" + sti + "software/manager/index.htm'>Software Program Manager</a> Home Page.",
	"<b>Style Duplicates Manager</b>	<p>Style Duplicates Manager is for managing your collection of style files. <p>This program will list duplicate style files and allow the user to delete these - or to move or copy these to user selected folders. Several advanced search methods are available. <p>More at the <a href='" + sti + "software/sdm/index.htm'>Style Duplicates Manager</a> Home Page.",
	"<b>Style File Renamer</b>		<p>The program will change the extension of a single style file or all style files in a folder according to user settings. <p>The program can be used when downloaded style files are saved with a .mid extension; or when using styles in smaller/older keyboards accepting only .sty extension. <p>More at the <a href='" + sti + "software/rensty/index.htm'>Style File Renamer</a> Home page.",
	"<b>Style Fixer</b>			<p>Style Fixer will check erroneous style files and repair a number of common errors. Not repairable style files will be listed and allow the user to delete or to move these. <p>If the CASM section is missing the program can add a default CASM section (if this can be successfully used). <p>More at the <a href='" + sti + "software/sfix/index.htm'>Style Fixer</a> Home Page.",
	"<b>Style Format 2 Converter</b>	<p>Style Format 2 Converter is for converting format 2 style files to format 1 used in older/smaller keyboards. <p>This program is a converter which makes it <b>technically</b> possible to run SFF2 format styles on older models. After conversion the style might need some tweaking.<p>More at the <a href='" + sti + "software/sf2c/index.htm'>Style Format 2 Converter</a> Home Page.",
	"<b>Style Format Finder</b>		<p>Style Format Finder is for finding the format in style files. <p>The program will check a folder for style files; and display the format of these. <p>More at the <a href='" + sti + "software/sff/index.htm'>Style Format Finder</a> Home Page.",
	"<b>Style Half Bar Fill Creator</b>	<p>This program is for creating half bar fills in style files. <p>A style file can by design requirements only have one Time Signature for the entire file. However, this program can create fill in's and break's at a length of a half bar, e.g. a 2/4 break in a 4/4 style file. <p>More at the <a href='" + sti + "software/filledit/index.htm'>Style Half Bar Fill Creator</a> Home Page.",
	"<b>Style Old Format Converter</b>	<p>Style Old Format Converter is for converting style files (SFF1 style format only). <p>The program will convert SFF1 format styles to the appropriate SFF1 sub format for older/smaller keyboards. <p>More at the <a href='" + sti + "software/sofc/index.htm'>Style Old Format Converter</a> Home Page.",
	"<b>Style ReMixer</b>			<p>Style ReMixer is for remixing style files; which is useful for styles to smaller / older keyboards which have fewer style parts and smaller storage capacity than the newer models. <p>During remixing OTS (One Touch Setting) and MDB (Music Database) sections can be omitted from the style. <p>More at the <a href='" + sti + "software/sremix/index.htm'>Style ReMixer</a> Home Page.",
	"<b>Style Revoicer</b>			<p>This program can be used for revoicing, changing parameter values, transposing etc. style files. <p>This will adjust the style to match the keyboard capabilities, e.g. using only valid voices. <p>More at the <a href='" + sti + "software/revsty/index.htm'>Style Revoicer</a> Home Page.",
	"<b>Style Split and Splice</b>		<p>Style Split and Splice is for splitting and splicing Style Files. <p>Most MIDI sequencer software can not handle the non-MIDI part in Style Files. But if the style file is split, the MIDI part can be edited in any MIDI sequencer software. After editing the original non-MIDI part must be spliced to the edited MIDI part. <p>More at the <a href='" + sti + "software/sands/index.htm'>Style Split and Splice</a> Home Page.",
	"<b>Style Tempo Editor</b>		<p>Style Tempo Editor is for creating style parts in style files with individual Tempo's in parts. <p>More at the <a href='" + sti + "software/stytempo/index.htm'>Style Tempo Editor</a> Home Page.",
	"<b>Style Time and Tempo in Name</b>	<p>Style Time and Tempo in Name is for adding Time Signature and Tempo values to the file name of style files. <p>The program can rename individual style files or folders containing style files. <p>More at the <a href='" + sti + "software/ttinname/index.htm'>Style Time and Tempo in Name</a> Home Page.",
	"<b>Style Time Editor</b>		<p>Style Time Editor is for creating style parts in style files with individual Time Signature's. <p>A style file can by design requirements only have one Time Signature for the entire file. However, this program can create individual Time Signatures for each part in a style file. <p>More at the <a href='" + sti + "software/stytime/index.htm'>Style Time Editor</a> Home Page.",
	"<b>Style Unlocker</b>			<p>This program will unlock not-editable (in the Style Creator) instruments channels in preset style files. <p>However in some situations an un-documented feature in the keyboard OS will not allow unlocking. <p>More at the <a href='" + sti + "software/stun/index.htm'>Style Unlocker</a> Home Page.",
	"<b>Style Volume Changer</b>		<p>Style Volume Changer is for changing volume in style files. <p>More at the <a href='" + sti + "software/volchange/index.htm'>Style Volume Changer</a> Home Page.",
	"<b>Text Formatter</b>			<p>This program is for formatting text files to keyboard screen. <p>Basically Text Formatter looks like and can be used like any other text processor. But besides this it has some effective editing features designed especially for editing chord/lyrics text files. <p>More at the <a href='" + sti + "software/textformat/index.htm'>Text Formatter</a> Home Page.",
	"<b>Voice Finder</b>			<p>Voice Finder is a software program for getting the Voices in YAMAHA keyboards. <p>The program shows the voice as a function of the selected Program, MSB, LSB and keyboard model. <p>More at the <a href='" + sti + "software/xgvoice/index.htm'>Voice Finder</a> Home Page.",
	"");

nu = new Date();
dato = nu.getDate();

function bund1()
{
	document.write("<table cellspacing='0' cellpadding='0' width='100%' border='0'><tr><td width='5%' style='vertical-align:top'>");
}

function bund2()
{
	google_ad_client = "ca-pub-7339620459782348";
	google_ad_slot = "7169139858";
	google_ad_width = 200;
	google_ad_height = 200;
	google_color_border = "E0E0E0";
	google_color_bg = "E0E0E0";
	google_color_link = "993333";
	google_color_url = "993333";
	google_color_text = "000000";
	document.write("<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>");
}

function bund3()
{
	document.write("</td><td width='1%'>&nbsp;</td><td width='43%'><span class='tips'><img src='" + short_sti + "jososoft.gif' alt='jososoft logo' border='0'> Tip of the Day</span><p>" + tip0[parseInt(dato)] + "</td><td width='1%'>&nbsp;</td><td width='5%' style='vertical-align:top'>");
}

function bund4()
{
	google_ad_client = "pub-7339620459782348";
	google_ad_slot = "3734919054";
	google_ad_width = 200;
	google_ad_height = 200;
	google_color_border = "E0E0E0";
	google_color_bg = "E0E0E0";
	google_color_link = "993333";
	google_color_url = "993333";
	google_color_text = "000000";
	document.write("<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>");
}

function bund5()
{
	document.write("</td><td width='1%'>&nbsp;</td><td width='44%'><span class='tips'><img src='" + short_sti + "jososoft.gif' alt='jososoft logo' border='0'> Software of the Day</span><p>" + tip1[parseInt(dato)] + "</td></tr><tr><td colspan='7' height='3'></table>");
}

function bundtabel()
{
	document.write("<table cellspacing='0' cellpadding='0' width='100%' border='0'><tr><td height='3' class='light'></td></tr><tr><td class='dark' width='29%'>&nbsp;<span class='valid'>&nbsp;<a href='" + sti + "about.htm' title='About this Site'>&copy;1999-2012</a>&nbsp;<a href='" + short_sti + "js/index_uk.htm' title='The main Page at www.jososoft.dk'>J&oslash;rgen S&oslash;rensen</a>&nbsp;</span></td><td class='dark' width='42%' align='center'><b>The Unofficial YAMAHA Keyboard Resource Site</b></td>");

	if (top.location.href.indexOf("translate") == -1)
		document.write("<td class='dark' width='29%' align='right'><span class='valid'>&nbsp;&nbsp;&nbsp;<a href='http://jigsaw.w3.org/css-validator/validator?uri=" + location.href +"' target='ext' title='Validate CSS'>CSS VALID</a>&nbsp;&nbsp;&nbsp;</span>&nbsp;<span class='valid'>&nbsp;&nbsp;&nbsp;<a href='http://validator.w3.org/check?uri=referer' target='ext' title='Validate HTML'>HTML VALID</a>&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;</td>");
	else
		document.write("<td class='dark' width='29%' align='right'>&nbsp;<span class='valid'>&nbsp;Served by <a href='http://www.google.com/language_tools?hl=en' target='ext'>Google Translations</a>&nbsp;</span>&nbsp;</td>");

	document.write("</tr></table>");
	
	document.write("<table width='100%'><tr><td class='light' style='text-align: center'>All information is presented 'as-is'. No warranties whatsoever for correctness; completeness or usefulness.<br>I hereby expressly disclaim any liability for the content in and the legality of externally linked sites and pages.<br>If you find the information at this page useful, feel free to <a href='" + sti + "brev.htm'>mail me</a> a 'Thank You' or send me a <a href='" + sti + "support.htm'>donation</a>.</td></tr></table>");

	if (copyright)
		document.write("<table width='100%'><tr><td class='light' width='25%'>&nbsp;</td><td class='red' width='50%' style='text-align:center'><b>Watch out for Copies! Only use the Originals!</b><br>Some pages at this website were lately stolen and published at another website.<br>Read more at the <a href='" + sti + "copyright.htm'>About Copyright</a> page.</td><td class='light' width='25%'>&nbsp;</td></tr></table>");

	if (ann)
		document.write("<table width='100%'><tr><td class='light' width='25%'>&nbsp;</td><td class='red' width='50%' style='text-align:center'>" + anntxt + "</td><td class='light' width='25%'>&nbsp;</td></tr></table>");
}

function getJava()
{
	var list = deployJava.getJREs();
	var result = "java=";
	for (var i = 0; i < list.length; ++i)
	{
    		result += list[i];
    		if (i < list.length - 1)
			result += ", ";
	}
	if (result.indexOf("1.7") != -1)	
		alert("JRE 1.7 (ver. 7)");	
	else if (result.indexOf("1.6") != -1)	
		alert("JRE 1.6 (ver. 6)");		
	else if (result.indexOf("1.5") != -1)
		alert("JRE 1.5 (ver. 5)");
	else if (result.indexOf("1.4") != -1)
		alert("JRE 1.4");
	else if (result.indexOf("1.3") != -1)
		alert("JRE 1.3");
	else if (result.indexOf("1.2") != -1)
		alert("JRE 1.2");
	else if (result.indexOf("1.1") != -1)
		alert("JRE 1.1");
	else if (result.indexOf("1.0") != -1)
		alert("JRE 1.0");
	else
		alert("JRE not found");		
}

function version(verNu, down)
{
	if (location.href.indexOf('#') != -1)
	{
		ext = location.href.substring(location.href.indexOf('#') + 1);
		vers = ext.split(".");
		if (vers[0] + "." + vers[1] != verNu)
		{
			if (confirm("New version avaliable. Click OK to be redirected to the Download Page."))
			{	
				location.href='../software.htm#' + down;
			}
		}
		else
			alert("Your version is up to date.");
	}
}

