// ------------------ Vytvoreni objektu flashe pro zvuk a hudbu -----------------
function createFlashObjectForSound() // vytvoreni flash objektu s id = "SoundPlayer"
{
	createSoundPlayer("SoundPlayer");
}

function createFlashObjectForMusic() // vytvoreni flash objektu s id = "MusicPlayer"
{
	createSoundPlayer("MusicPlayer");
}

function createSoundPlayer(id) {    // vytvoreni flash objektu 
  document.write('<OBJECT id="' + id + '" codeBase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="1" width="1" align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">');
	document.write('<PARAM NAME="Movie" VALUE="snd/soundPlayer.swf?id=' + id + '">');
	document.write('<PARAM NAME="AllowScriptAccess" VALUE="sameDomain">');
	document.write('<embed name="' + id + '" src="snd/soundPlayer.swf?id=' + id + '" width="1" height="1" color="#000000" bgcolor="#000000" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"/>');  
	document.write('</OBJECT>');
	if (window[id]) this[id]=window.document[id];
	else if (document[id]) this[id]=document[id];
	else this[id]=document.getElementById(id);
}


// ------------------ Ovladani pro zvuk a hudbu -----------------
function PlaySound(Zvuk, PocOpakovani) // prehrava zvuk (flash objekt "SoundPlayer")
{     
    if (hodnotaKukiny("sound") != "1") {
        try {
            SoundPlayer.SetVariable('command', '<play urls="' + Zvuk + '" loop="' + PocOpakovani + '" />');
        }
        catch(e) {};
    };
}

function PlayMusic(Hudba, PocOpakovani) // prehrava hudbu (flash objekt "MusicPlayer")
{ 
    if (hodnotaKukiny("sound") != "1") {
        try {
            MusicPlayer.SetVariable('command', '<play urls="' + Hudba + '" loop="' + PocOpakovani + '" />');
        }
        catch(e) {};
    };
}

function StopSound() { // ukonceni prehravani (flash objektu "SoundPlayer")
    try {
	    SoundPlayer.SetVariable('command', '<stop />');
	}
    catch(e) {};
}

function StopMusic() { // ukonceni prehravani (flash objektu "MusicPlayer")
    try {
	    MusicPlayer.SetVariable('command', '<stop />');
	}
    catch(e) {};
}

function SetVolumeSound(value) {
    //nastaveni hlasitosti, value v rozsahu 0-100 (doufam)
    try {
    	SoundPlayer.SetVariable('command', '<setVolume value="' + value + '" />');
    }
    catch(e) {};
}

function SetVolumeMusic(value) {
    //nastaveni hlasitosti, value v rozsahu 0-100 (doufam)
    try {
    	MusicPlayer.SetVariable('command', '<setVolume value="' + value + '" />');
    }
    catch(e) {};
}

function SetVolumeSoundCookie() {
    //nastaveni hlasitostidle hodnoty cookie
    //pokud neni cookie, tak neudela nic
   if (hodnotaKukiny("soundv") > 0) {     
	   SetVolumeSound(hodnotaKukiny("soundv"));
	}
}

function SetVolumeMusicCookie() {
    //nastaveni hlasitostidle hodnoty cookie
	//pokud neni cookie, tak neudela nic
   if (hodnotaKukiny("soundv") > 0) {      
      //alert("nastavuji hudbu na " + hodnotaKukiny("soundv"));
      SetVolumeMusic(hodnotaKukiny("soundv"));
   }
   //else {
   //   alert("jiz je nastavena hudba na " + hodnotaKukiny("soundv"));
   //}
}

function NastavZobrazZvukDleCookies(Zap, Vyp) //prepina mezi zobrazenim ikony pro zapnuti a vypnuti zvuku
{     
    if (hodnotaKukiny("sound") != "1") {    //zvuk je zapinan
        document.getElementById(Zap).style.display = "none";
        document.getElementById(Vyp).style.display = "";
        try { //Kdyby neexistovala funkce, tak at nehlasi chybu
			PlayBackgroundMusic(); // pokud je na html strance implementovana hudba na pozadi s timto jmenem, tak ji zkusim pustit
        }
        catch(e) {};
    }
    else {  //zvuk vypinan
        document.getElementById(Zap).style.display = "";
        document.getElementById(Vyp).style.display = "none";
        try {   //pokud na teto str zvuk na pozadi neexistuje, tak at nehlasi chybu
            StopSound();
            StopMusic();            
        }catch(e){};
    };
}

function NastaveniVolumeControlDleNazvuImg(NastavovanaHlasitost) // Pozor, bere hlasitost dle nazvu
{
    var CelyVolumeControl = NastavovanaHlasitost.parentNode;
    //prepnuti vsech volume control na vypnuto
    for (var I=0; I< CelyVolumeControl.childNodes.length; I++){
        if(CelyVolumeControl.childNodes[I].nodeName=="IMG"){
            CelyVolumeControl.childNodes[I].src = UpravaNazvuObrVolumeControl(CelyVolumeControl.childNodes[I].src, "VYP");
        }
    }
    //nastaveni vybraneho volume control na zap
    NastavovanaHlasitost.src = UpravaNazvuObrVolumeControl(NastavovanaHlasitost.src, "ZAP");
    
    ZapsaniKukiny('soundv', UpravaNazvuObrVolumeControl(NastavovanaHlasitost.src,"HLASITOST"), 1095);
    SetVolumeSoundCookie();
    SetVolumeMusicCookie();
}

function NastaveniVolumeControlOnLoad(IdVolumeControl){
    if (hodnotaKukiny("soundv") <= 0){
       ZapsaniKukiny('soundv', 40, 1095);  //nastaveni default hodnoty
       //alert("vychozi 40");
    }
    else {
        var CelyVolumeControl = document.getElementById(IdVolumeControl);
        for (var I=0; I< CelyVolumeControl.childNodes.length; I++){
           if (CelyVolumeControl.childNodes[I].nodeName == "IMG") {
              if (hodnotaKukiny("soundv") == UpravaNazvuObrVolumeControl(CelyVolumeControl.childNodes[I].src, "HLASITOST")) {
                 //alert("zde" + UpravaNazvuObrVolumeControl(CelyVolumeControl.childNodes[I].src, "HLASITOST"));
                    CelyVolumeControl.childNodes[I].src = UpravaNazvuObrVolumeControl(CelyVolumeControl.childNodes[I].src, "ZAP");
                    break;
                }
            }
        }
        
    }

    //Vlastni nastaveni hlasitosti
    SetVolumeSoundCookie();
    SetVolumeMusicCookie();

}


function UpravaNazvuObrVolumeControl(NazevObrazku, Akce){
/// <summary>upravi NazevObrazku podle parametru Akce</summary>
/// <param name="NazevObrazku" type="string">cely nazev obrazku prevzaty z vlastnosti src</param>
/// <param name="Akce" type="string">muze obsahovat hodnoty:
///                                       VYP - odstrani z nazvu souboru posledni "a" pred teckou
///                                       ZAP - prida k nazvu souboru "a" pred tecku
///                                       HLASITOST - vrati hodnotu hlasitosti</param>
/// <returns type="string">dle parametru Akce</returns>
/// <remarks>
///         pouziva regularni vyraz pro modifikaci retezce
/// </remarks>
    var re = /(.+?(?=\d+a?\.))(\d+)a?\.(.+)/;   //prepnuti vsech volume control na vypnuto
    var newstr;
    switch (Akce){
        case "VYP":
            return NazevObrazku.replace(re, "$1$2.$3");
            break;
        case "ZAP":
            return NazevObrazku.replace(re, "$1$2a.$3");
            break;
         case "HLASITOST":
            var myArray = NazevObrazku.match(re);            
            return myArray[2]
            break;
    }
    return null;
}


/* Prehraje nahodny zvuk z n. Nazvy musi byt oddelenehe carkami nebo strednikem. Priklad: "zvuk1.mp3,zvuk2.mp3" */
function Play(sndString)
{                
   var oddelovace = /[,;]+/; // carka a strednik
   var array = sndString.split(oddelovace);      
   var randIndex = Math.ceil(Math.random() * array.length) - 1;
   PlaySound("snd/" + array[randIndex], 1);
}


/* Prehraje nahodny zvuk z n. Nazvy musi byt oddelenehe carkami nebo strednikem. Priklad: "zvuk1.mp3,zvuk2.mp3" */
function PlayRndMusic(sndString) {
   var oddelovace = /[,;]+/; // carka a strednik
   var array = sndString.split(oddelovace);
   var randIndex = Math.ceil(Math.random() * array.length) - 1;   
   PlayMusic("snd/" + array[randIndex], 1);
}


