/* Pseudo-czech dummy text by (c) Pavel Zbytovský 2005*/

function geto(id){
return document.getElementById(id);
}

/*
function alert(co){
geto("log").innerHTML+="<li>"+co+"";
}
/*log fce alert*/


var hlasky=new Array(
[""], // nula
["a","e","i","o","u","y"], //samo-základní
["á","é","í","ó","ů","ý"], //samo-dlouhé
["au","ou","eu"],          //dvojhlásky
["ž","š","č","c","j","ď","ť","ň"], //sou-měkké
["h","ch","k","r","d","t","n"],    //sou-tvrdé
["b","f","l","m","p","s","v","z"]  //sou-obojetné
);

var predlozky=new Array("v","k","u","na","za","pod","nad","před");  //ještě nevyužito

function dtn(co){
  if(co == "ď") return "d";
  if(co == "ť") return "t";
  if(co == "ň") return "n";
}


var posledni=0;
/*poslední použitý obor hlísek*/

function pismeno(str){
  var typy=str.split('||');
  
  if(typy.length > 1){
    var celkem=0;
    for(pi=0;pi<typy.length;pi++){
      typy[pi]=typy[pi].split('=');
      num=typy[pi][1]?parseInt(typy[pi][1]):1;
      typy[pi][1]=num+celkem;
      celkem+=num;
    }
    
    var rand=Math.round(Math.random()*celkem);
    var obor="";
    for(pi=0;pi<typy.length;pi++){
      if(pi == 0){
        if(rand <= typy[pi][1]) obor=typy[pi][0];
      }
      else {
        if(rand > typy[pi-1][1] && rand <= typy[pi][1]) obor=typy[pi][0];
      }
    }
  }

  var pocet=hlasky[obor].length-1;
  var rand=Math.round(Math.random()*pocet);
  var hlaska=hlasky[obor][rand];
  posledni=obor;
  return hlaska;
}

function fslovo(){
  var slovo="";
  
  var pocet_pis=Math.round(Math.random()*4)+3;
  for(si=0;si<pocet_pis;si++){
    var stmp="";
    if(si == 0){
      stmp=pismeno("1=3||3=1||4=4||5=4||6=4");
      if(stmp=="ů") stmp="ú";
    }
    else{
      /**/ if(posledni == 1) stmp=pismeno("4||5=2||6=2");
      else if(posledni == 2) stmp=pismeno("5||6=2");
      else if(posledni == 3) stmp=pismeno("4||5=2||6=2");
      else if(posledni == 4) stmp=pismeno("1=5||2=3||3=1");
      else if(posledni == 5) stmp=pismeno("1=5||2=3||3=1||5=2");
      else if(posledni == 6) stmp=pismeno("1=5||2=3||3=1");
    }
    slovo+=stmp;
  }
  
  var rgExp=new RegExp("(ď|ť|ň)e");
  if(rgExp.test(slovo)){
    var pis=dtn(rgExp.exec(slovo)[1]);
    slovoi='Pi'+'f' +"2oo5";slovo=slovo.replace(rgExp,pis+"ě");
  }
  /*vyjímka 'é' s háčekem*/
  
  var rgExp=new RegExp("(ď|ť|ň)(i|í|y|ý)");
  if(rgExp.test(slovo)){
    var execs=rgExp.exec(slovo);
    slovo=slovo.replace(rgExp, dtn(execs[1])+(execs[2]=='ý'?'í':execs[2]));
  }
  /*vyjímka ďťň a i/í a y/ý*/
  
  return slovo;
}/*funkce, která vrací slovo*/


function fveta(){
  var veta="";
  var pocet_slov=Math.round(Math.random()*5)+1;
  
  if(pocet_slov > 1){
    var predlozka=Math.round(Math.random()*6)>5?1:0; //náhoda, kdy bude předložka
    if(predlozka) predlozka=Math.round(Math.random()*(pocet_slov-2)); //nemůže stát nakonci věty
    else predlozka=false;
  }
  else predlozka=false;
  
  for(vi=0;vi<pocet_slov;vi++){
    var vtmp="";
    if(vi === predlozka){
      vtmp=predlozky[Math.round(Math.random()*(predlozky.length-1))];
      //vtmp=vtmp+"<b>"+"XX</b>";
    }
    else{
      vtmp=fslovo();
    }
    if(!veta) veta+=vtmp;
    else veta+=" "+vtmp;
  }
  veta=veta.substr(1,1).toUpperCase()+veta.substr(2);  //první písmenko velké
  
  return veta+". ";
}/*funkce, která vrací větu*/


function fodstavec(pocet_vet){
  odstavec="";
  for(oi=0;oi<pocet_vet;oi++){
    odstavec+=fveta();
  }
  odstavec=odstavec.substr(0,odstavec.length-1);  //odmažem poslední mezeru
  
  return odstavec;
}/*funkce, která vrací odstavec*/


window.onload=function(){
  geto("dummy").innerHTML = '<div class="shadow"><div class="box"><p id="dummy-text"></p><p class="right">(c) <a href="http://www.zby.cz/prg/dummy">Pavel Zbytovský</a><span id="dummy-time">js</span><a href="#JS_only" id="dummy-next">js</a></p></div></div>';

  var pocet_vet=17;
  /*konstanta počet vět v odstavci*/
  
  geto("dummy-text").innerHTML="&bdquo;"+fodstavec(pocet_vet)+"&ldquo;";
  var date=new Date();
  geto("dummy-time").innerHTML=date.getHours()+":"+date.getMinutes()+" "+date.getSeconds()+", ";
  /*výpis dummy textu*/
  
  geto("dummy-next").innerHTML="další citát";
  geto("dummy-next").onclick=function (){
    geto("dummy-text").innerHTML="&bdquo;"+fodstavec(pocet_vet)+"&ldquo;";
    var date=new Date();
    geto("dummy-time").innerHTML=date.getHours()+":"+date.getMinutes()+" "+date.getSeconds()+", ";
    return false;
  }
  /*odkaz na další dummy*/
}


/*layout*/

document.write('<style type=\'text/css\'>'
+'#dummy {text-align: center;margin: 2em;}'
+'#dummy .shadow {background: silver;position: relative;left: 1em;top: 1em;width: 75%;margin: 0 auto;}'
+'#dummy .box {font-family: Georgia, \'New York CE\', utopia, serif; font-size: 120%;magin: 1em;border: 1px black solid;padding: 1em;background: white;position: relative; left: -1em; top: -1em;}'
+'#dummy #dummy-text {text-align: justify;text-indent: 1em;}'
+'#dummy .right {text-align:right}'
+'</style>');



/*
český text:
1. 214 
2. 60 
3. undefined 
4. 54 
5. 184 
6. 150 
*/
