function hibaablak(vmi)
{
   parnum = '1 parameter';

   if(vmi == 'inconnu')
                    {
                       // alert("syn error");
                       ablak2.style.display = 'block';

   window.setTimeout("ablak2.style.background='#444'",250);
   window.setTimeout("ablak2.style.background='#333'",500);
   window.setTimeout("ablak2.style.background='#444'",750);
   window.setTimeout("ablak2.style.background='#333'",1000);


                       return 1;
                    } 
 
   if(vmi == "syssys") { fuggv_nev.innerHTML = 'sys_sys()';
                      fuggv_pelda.innerHTML = 'sys_sys(1024,10,2)';  
                      try_kiir('sys_sys(1024,10,2)');   
                      parnum = '3 params';  
                     }


   if(vmi == "decbin") { fuggv_nev.innerHTML = 'dec_bin()';
                      fuggv_pelda.innerHTML = 'dec_bin(1024)';  
                      try_kiir('dec_bin(1024)');  
                     }

   if(vmi == "bindec") { fuggv_nev.innerHTML = 'bin_dec()';
                      fuggv_pelda.innerHTML = 'bin_dec(10000)';  
                      try_kiir('bin_dec(10000)');  
                     }



   if(vmi == "decoct") { fuggv_nev.innerHTML = 'dec_oct()';
                      fuggv_pelda.innerHTML = 'dec_oct(64)';  
                      try_kiir('dec_oct(64)');  
                     }

   if(vmi == "octdec") { fuggv_nev.innerHTML = 'oct_dec()';
                      fuggv_pelda.innerHTML = 'oct_dec(100)';  
                      try_kiir('oct_dec(100)');  
                     }

   if(vmi == "dechex") { fuggv_nev.innerHTML = 'dec_hex()';
                      fuggv_pelda.innerHTML = 'dec_hex(255)';  
                      try_kiir('dec_hex(255)');  
                     }

   if(vmi == "hexdec") { fuggv_nev.innerHTML = 'hex_dec()';
                      fuggv_pelda.innerHTML = 'hex_dec("FFF")';  
                      // try_kiir('hex_dec( /"FFF /")');  
                     }








   if(vmi == "sin") { fuggv_nev.innerHTML = 'sin()';
                      fok=='deg'?mit='90':mit='pi/2';
                      fuggv_pelda.innerHTML = 'sin('+mit+')';  
                      try_kiir('sin('+mit+')'); 
                    }

   if(vmi == "cos") { fuggv_nev.innerHTML = 'cos()';
                      fok=='deg'?mit='90':mit='pi/2';
                      fuggv_pelda.innerHTML = 'cos('+mit+')';  
                      try_kiir('cos('+mit+')'); 
                    }

   if(vmi == "tg")  { fuggv_nev.innerHTML = 'tg()';
                      fok=='deg'?mit='180':mit='pi';
                      fuggv_pelda.innerHTML = 'tg('+mit+')';  
                      try_kiir('tg('+mit+')'); 
                    }

   if(vmi == "asin"){ fuggv_nev.innerHTML = 'asin()';
                      fok=='deg'?mit='0':mit='0';
                      fuggv_pelda.innerHTML = 'asin('+mit+')';  
                      try_kiir('asin('+mit+')'); 
                    }

   if(vmi == "acos"){ fuggv_nev.innerHTML = 'acos()';
                      fok=='deg'?mit='0':mit='0';
                      fuggv_pelda.innerHTML = 'acos('+mit+')';  
                      try_kiir('acos('+mit+')'); 
                    }

   if(vmi == "atg") { fuggv_nev.innerHTML = 'atg()';
                      fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'atg('+mit+')';  
                      try_kiir('atg('+mit+')'); 
                    }

   if(vmi == "log") { fuggv_nev.innerHTML = 'log()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'log(3,81)';  
                      try_kiir('log(3,81)'); 
                      parnum = '1 or 2 parameters';
                    }

   if(vmi == "ln") { fuggv_nev.innerHTML = 'ln()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'ln(3)';  
                      try_kiir('ln(3)'); 
                    }

   if(vmi == "sqrt") { fuggv_nev.innerHTML = 'sqrt()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'sqrt(81)';  
                      try_kiir('sqrt(81)'); 
                    }

   if(vmi == "pow") { fuggv_nev.innerHTML = 'pow()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'pow(7)';  
                      try_kiir('pow(7)'); 
                    }


   if(vmi == "sqrtx") { fuggv_nev.innerHTML = 'sqrtx()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'sqrtx(3,125)';  
                      try_kiir('sqrtx(3,125)'); 
                      parnum = '2 parameters';
                    }

   if(vmi == "powx") { fuggv_nev.innerHTML = 'powx()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'powx(10,2)';  
                      try_kiir('powx(10,2)'); 
                      parnum = '2 parameters';
                    }

   if(vmi == "prc") { fuggv_nev.innerHTML = 'prc()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'prc(200,25)';  
                      try_kiir('prc(200,25)'); 
                      parnum = '2 parameters';
                    }

   if(vmi == "plusprc") { fuggv_nev.innerHTML = 'plusprc()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'plusprc(10,25)';  
                      try_kiir('plusprc(10,25)'); 
                      parnum = '2 params';
                    }

   if(vmi == "multprc") { fuggv_nev.innerHTML = 'multprc()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'multprc(100,10,3)';  
                      try_kiir('multprc(100,10,3)'); 
                      parnum = '3 params';
                    }

   if(vmi == "solve") { fuggv_nev.innerHTML = 'solve()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'solve(1,-5,0,1)';  
                      try_kiir('solve(1,-5,0,1)'); 
                      parnum = '4 parameters';
                    }

   if(vmi == "fact") { fuggv_nev.innerHTML = 'fact()';
                      // fok=='deg'?mit='5':mit='5';
                      fuggv_pelda.innerHTML = 'fact(15)';  
                      try_kiir('fact(15)'); 
                    }


   if(vmi != "inconnu") {parnum_ki.innerHTML = parnum;}
   ablak.style.display = 'block';

   window.setTimeout("ablak.style.background='#444'",250);
   window.setTimeout("ablak.style.background='#333'",500);
   window.setTimeout("ablak.style.background='#444'",750);
   window.setTimeout("ablak.style.background='#333'",1000);

}



function hibaablak_bezar()
{ ablak.style.display = 'none';
}

function hibaablak2_bezar()
{ ablak2.style.display = 'none';
}

function try_kiir(vmi)
{
  fuggv_try.innerHTML = '<a href="javascript:ex_try(\'' + vmi + '\')">try this example</a>'; 
}

function ex_try(vmi)
{
  ablak.style.display = 'none';
  topdisplay.innerHTML = vmi;
  eredmeny_torol();
}




function sin(valt)  
{ 
   if (valt == undefined) { hibaablak("sin");}  
   if(fok=='deg') { valt = valt*Math.PI*2/360;} return Math.sin(valt);
}


function cos(valt)  
{ 
   if (valt == undefined) { hibaablak("cos");}  
   if(fok=='deg') { valt = valt*Math.PI*2/360;} return Math.cos(valt);
}

function tg(valt)   
{
   if (valt == undefined) { hibaablak("tg");}
   if(fok=='deg') { valt = valt*Math.PI*2/360;} return Math.tan(valt);
}

function asin(valt)
{ 
   if (valt == undefined) { hibaablak("asin");}
   ki = Math.asin(valt);  if(fok=='deg') { ki = ki * (180/Math.PI);} return ki;
}

function acos(valt) 
{ 
   if (valt == undefined) { hibaablak("acos");}
   ki = Math.acos(valt);  if(fok=='deg') { ki = ki * (180/Math.PI);} return ki;
}

function atg(valt)  
{ 
   if (valt == undefined) { hibaablak("atg");}
   ki = Math.atan(valt);  if(fok=='deg') { ki = ki * (180/Math.PI);} return ki;
}



function rand(p_1, p_2) 
{  
     if ( p_1 == undefined)                      { return Math.random(); }
     if ((p_1 != undefined)&&(p_2 == undefined)) { return Math.floor(Math.random() * p_1);}
     if ((p_1 != undefined)&&(p_2 != undefined)) { return p_1 + Math.floor(Math.random() * (p_2-p_1+1));}
}






function log(p_1,p_2)
{  
       if( p_1 == undefined) { hibaablak("log");}
       if( p_2 == undefined) { p_2 = p_1;  p_1 = 10;}
       return Math.log(p_2)/Math.log(p_1);
}


function ln(valt)  
{  
     if( valt == undefined) { hibaablak("ln");}
     return Math.log(valt);
}

function prc(v1,v2)
{
    if( v1 == undefined) { hibaablak("prc");}
    return v1 * v2 / 100;
}


function plusprc(v1,v2) 
{ 
    if( v2 == undefined) { hibaablak("plusprc");}
    return v1 + v2*v1/100;
}


function multprc(v1,v2,v3) 
{ 
    if( v3 == undefined) { hibaablak("multprc");}
  for(i=1;i<=v3;i++)
  {
     v1 = v1 + v2*v1/100; 
  }
  return v1;
}



function sqrt(valt) 
{ 
    if( valt == undefined) { hibaablak("sqrt");}
    return Math.sqrt(valt);
}

function pow(valt)  
{
    if( valt == undefined) { hibaablak("pow");}
    return Math.pow(valt,2);
}


function sqrtx(p_1,p_2) 
{
   if(p_1 == undefined) { hibaablak("sqrtx");}
   if(p_2 == undefined) { return Math.pow(p_1,1/2);   } 
   else                 { return Math.pow(p_2,1/p_1); }
}


function powx(v1,v2)  
{
   if(v1 == undefined) { hibaablak("powx");}
   if(v2 == undefined) { return Math.pow(v1,2);}
   else                { return Math.pow(v2,v1);}
}





function fact(valt)
{
ki = 1;
for(i=1;i<=valt;i++) { ki = ki * i;}
return ki;
}


function solve(va, vb, vc, tipus)
{

  if(tipus == undefined) { hibaablak("solve");}

  var det = vb*vb - 4 * va * vc;
  x1  = ( 0 - vb + Math.sqrt(det))/(2*va);
  x2  = ( 0 - vb - Math.sqrt(det))/(2*va);

  var vissza = x1;
  if (tipus == 2) {vissza = x2;}
  if (tipus == 3) {vissza = det;}
  if (tipus == 4) {vissza = Math.sqrt(det);}

  return vissza;
}


function nPr(v1,v2)
{
return fact(v1)/fact(v1-v2);
}

function nCr(v1,v2)
{
return fact(v1)/(fact(v2)*fact(v1-v2));
}




/*

New functions:

dec-bin-oct-hex conversions

based on Lars Peter Thomsen's javascript function (convert)

(http://wsabstract.com)

*/


 
function convert(input, origin, dest) {


nekerekits = 1;

input=   '' + input;
origin=  '' + origin;
dest=    '' + dest;

minusz = 0;
if(input.charAt(0)=="-")
{
   // alert("minusz!");
   minusz = 1;
   input = input.substr(1,100);
   // alert(input);
}




var base="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var c=0; 
var Result="";
for (t=1; t<=input.length; t++) {
b=base.indexOf(input.substring(t-1,t));
n=b*(Math.pow (origin, input.length-t));
c+=n;
}


//  alert(c);
a=100;
while (c < Math.pow (dest, a)) { a--; }

while (a>-1) {
e=Math.pow (dest, a);
a--;
d=((c-(c%e))/e)+1;
c=c%e; Ciffer=base.substring(d-1, d); Result = Result + Ciffer;
// alert(Result);
}

// alert(Result);

if(minusz==1)   {Result='-'+Result;}

return Result;

}

 
function sys_sys(ertek,mirol,mire) 
{ 
  if( mire == undefined) { hibaablak("syssys"); return;}
  return convert(ertek,mirol,mire);
}


function dec_bin(ertek) 
{
 if( ertek == undefined) { hibaablak("decbin"); return;}
 return 1*convert(ertek,10,2);
}


function bin_dec(ertek) 
{ 
 if( ertek == undefined) { hibaablak("bindec"); return;}
 return 1*convert(ertek,2,10);
}


function dec_oct(ertek) 
{ 
  if( ertek == undefined) { hibaablak("decoct"); return;}
  return 1*convert(ertek,10,8);
}


function oct_dec(ertek) 
{ 
  if( ertek == undefined) { hibaablak("octdec"); return;}
  return 1*convert(ertek,8,10);
}

function dec_hex(ertek) 
{ 
  if( ertek == undefined) { hibaablak("dechex"); return;}
  return convert(ertek,10,16);
}

function hex_dec(ertek) 
{ 
  if( ertek == undefined) { hibaablak("hexdec"); return;}
  return 1*convert(ertek,16,10);
}



