/*** AJAX declaration ***/

var XMLHttpRequestObjekt=false;var XMLHttpRequestObjekt2=false;

if (window.ActiveXObject) {
try {
XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e)
{ XMLHttpRequestObjekt=false; }
}
else if (window.XMLHttpRequest) {
try {
XMLHttpRequestObjekt= new XMLHttpRequest();
}
catch (e)
{ XMLHttpRequestObjekt=false; }
}
if (!XMLHttpRequestObjekt) 
alert("Error creating XMLHttprequest object.");             

if (window.ActiveXObject) {
try {
XMLHttpRequestObjekt2 = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e)
{ XMLHttpRequestObjekt2=false; }
}
else if (window.XMLHttpRequest) {
try {
XMLHttpRequestObjekt2= new XMLHttpRequest();
}
catch (e)
{ XMLHttpRequestObjekt2=false; }
}
if (!XMLHttpRequestObjekt2) 
alert("Error creating XMLHttprequest object.");

 


/*** AJAX Functions ***/

function ajaxGet(id,url,callback)
 
 {

 if (XMLHttpRequestObjekt) 
   {
    
    XMLHttpRequestObjekt.open("GET",url);
    var obj=document.getElementById(id);

    XMLHttpRequestObjekt.onreadystatechange = function() 
     {
      if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200)
      {obj.innerHTML = XMLHttpRequestObjekt.responseText;eval(callback);}
     }

  XMLHttpRequestObjekt.send(null);
  }
  
}

function ajaxPost(id,url,data,callback)
 
 {
 
 if (XMLHttpRequestObjekt) 
   {
    var obj=document.getElementById(id);
    XMLHttpRequestObjekt.open("POST",url);
    XMLHttpRequestObjekt.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    

    XMLHttpRequestObjekt.onreadystatechange = function() 
     {
      if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200)
      {obj.innerHTML = XMLHttpRequestObjekt.responseText;eval(callback);}
     }

  XMLHttpRequestObjekt.send(data);
  
  }

}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function getHeight(id) {

      alert(document.getElementById(id).offsetHeight);

}



function show(id,controller,data) {
   
   var mainwindow = document.getElementById('container');
      
   var screen = document.createElement('screen');
   screen.setAttribute('id',"screen");
      
   var popup = document.createElement('div');
   popup.setAttribute('id',"popup");
   
   var popupin = document.createElement('div');
   popupin.setAttribute('id',"popupin");
   
   mainwindow.appendChild(screen);
   mainwindow.appendChild(popup);
   
   popup.appendChild(popupin);
   
   if (data==null) 
   
   ajaxGet("popupin","/ajax/"+controller+"/"+id+"/","afterShow()");
    
   else   
   ajaxPost("popupin","/ajax/"+controller+"/"+id+"/",data,"afterShow()");
   
 }    

function afterShow() {
   
   var scroll = getScrollXY();
   
   var popup = document.getElementById('popup');
   
   var screen = document.getElementById('screen');
   
   var bodyscreen = document.getElementById('bodyscreen');
   
   //var conTop=document.getElementById('content').offsetTop;
  
   //var conHeight=document.getElementById('content').offsetHeight;
  
   //var popupHeight=document.getElementById('popup').offsetHeight;
   
   
   //popHeight=popupHeight+scroll[1]+20;
   
   
  
   //var footHeight=document.getElementById('footer').offsetHeight;
   
   //var docHeight=conTop+conHeight+footHeight;
   
   //if (popHeight>docHeight) bodyscreen.style.height=popHeight+"px";
   //else  bodyscreen.style.height=docHeight+"px";
   
   popup.style.top=(scroll[1]+20)+"px";
   
   //screen.style.height=docHeight+"px";
   //bodyscreen.style.display="block";
   addExitButton('popup');
      
}

function show2(id,controller,data) {
   
   var scroll = getScrollXY();
   
   var mainwindow = document.getElementById('container');
   
   var bodyscreen = document.getElementById('bodyscreen');
   
   var screen = document.createElement('screen');
   screen.setAttribute('id',"screen");
      
   var popup = document.createElement('div');
   popup.setAttribute('id',"popup");
   
   var popupin = document.createElement('div');
   popupin.setAttribute('id',"popupin");
   
   mainwindow.appendChild(screen);
   mainwindow.appendChild(popup);
   
   
   popup.appendChild(popupin);
   
   if (data==null) 
   
   ajaxGet("popupin","/ajax/"+controller+"/"+id+"/");
    
   else   
   ajaxPost("popupin","/ajax/"+controller+"/"+id+"/",data);  
   
   var conTop=document.getElementById('content').offsetTop;
  
   var conHeight=document.getElementById('content').offsetHeight;
  
   var popupHeight=document.getElementById('popupin').offsetHeight;
   
   
   popHeight=popupHeight+scroll[1]+20;
   
   
  
   var footHeight=document.getElementById('footer').offsetHeight;
   
   var docHeight=conTop+conHeight+footHeight;
   
   
   
   if (popHeight>docHeight) screen.style.height=popHeight+"px";
   else  screen.style.height=docHeight+"px";
   
   popup.style.top=(scroll[1]+20)+"px";
   
   screen.style.height=getDocHeight();
   
   bodyscreen.style.height=screen.style.height;
   bodyscreen.style.display="block";
   addExitButton('popup');
      
}

function addExitButton(main) {

var exitButton = document.createElement('div');
   exitButton.setAttribute('id',"exitbutton");
    exitButton.onclick= function (){closePost();} 

var mainwindow = document.getElementById(main);

mainwindow.appendChild(exitButton);
}

function showPost(id) { show(id,'showpost',null); }
function edit(id) { show(id,'edit',null); }
function editpost(id) { ajaxGet("popupin","/ajax/edit/"+id+"/");}
function erase(id) { if (confirm('Opravdu smazat?')) {closePost();ajaxGet("result","/ajax/delete/"+id+"/",'result()');} }
function save(id)  { 
  
  var data="";
  var i=0;
  var to=document.editform.elements.length;
  for (i=0;i<to;i++)
  {
  data+=editform.elements[i].name+"="+encodeURIComponent(editform.elements[i].value);
  if (i<(to-1)) data+="&"; 
  }
  
  
  closePost();
  
  
  ajaxPost("result","/ajax/save/"+id+"/",data,'result()'); 
  }

function result()
{
    
 setTimeout("location.reload(true)",2000);  
    
}


  
function create(id) {
show(id,'create',null);
}



function closePost()  {
   
   var mainwindow = document.getElementById('container');
   var popup = document.getElementById('popup');
   var screen = document.getElementById('screen');
   
   mainwindow.removeChild(popup);
   mainwindow.removeChild(screen);
   
   var bodyscreen = document.getElementById('bodyscreen');
   bodyscreen.style.display="none";
}



function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function getSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  //window.alert( 'Width = ' + myWidth );
  //window.alert( 'Height = ' + myHeight );
  return [ myWidth, myHeight ];
}






function mail()
 
 {

 if (XMLHttpRequestObjekt) 
   {
    var obj=document.getElementById("form_submit");
    XMLHttpRequestObjekt.open("POST","system/mail.php");
    XMLHttpRequestObjekt.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    

    XMLHttpRequestObjekt.onreadystatechange = function() 
     {
      if (XMLHttpRequestObjekt.readyState == 4 && XMLHttpRequestObjekt.status == 200)
      {obj.innerHTML = XMLHttpRequestObjekt.responseText;}
     }

  XMLHttpRequestObjekt.send("text="+document.getElementById("obj_text").value+"&email="+document.getElementById("email").value);
  document.getElementById("obj_text").value="";
  document.getElementById("email").value="";
  }

}



function obj_select(id)
{
  obj=document.getElementById(id);
  obj.focus();
}

function handleKeyPress(e){
var key=e.keyCode || e.which;
if (key==13){
query="com[func]="+document.getElementById("console_typer").value;
id="console_fill";
call(id,query); 
}
}







   
function checkform()
  {
    var email; var text;
    
    email = document.getElementById("email").value;
    text = document.getElementById("obj_text").value;
    
    if ((email=="")||(text==""))
      {
        window.alert("Formulář nelze odeslat: vyplňte pole!");
        return false;
      }
    else
      {
                
        if ((text.length)>1000)
          {
            window.alert("Formulář nelze odeslat: text je příliš dlouhý!");
            return false;
          }
        else
          {
            var email_reg= new RegExp("^.+@.+\..{2,4}$");
            if (email_reg.test(email)==false)
              {
                window.alert("Formulář nelze odeslat: email je neplatný!");
                return false;
              }
            else
              {  
                return true;
              }
          }
      }
  }

function submitform(formid)
{
 if(document.getElementById(formid).onsubmit())
 {//this check triggers the validations
    document.getElementById(formid).submit();
 }
}
   
function ext_link(link,name)
{
  window.open(link.href,name);

}




  
function hash(a_c,b_c,a,b)
{
  document.getElementById(a).value=calcSHA1(document.getElementById(a_c).value);
  document.getElementById(b).value=calcSHA1(document.getElementById(b_c).value);
}

function checkform_login(jmeno_id,heslo_id,jm1_id,hes1_id,jm2_id,hes2_id,jmeno_id_hash,heslo_id_hash,jmeno2_id_hash,heslo2_id_hash)
  {
    
    
      
    if ((jm1_id!=0)&&(jm2_id!=0)&&(hes1_id!=0)&&(hes2_id!=0))
      {
        jmeno = document.getElementById(jmeno_id).value;
        heslo = document.getElementById(heslo_id).value;
        jm1 = document.getElementById(jm1_id).value;
        hes1 = document.getElementById(jm1_id).value;
        jm2 = document.getElementById(jm2_id).value;
        hes2 = document.getElementById(jm2_id).value;
        
        if ((jm1==jm2)&&(hes1==hes2))
          {
            if ((jm1=="")||(hes1=="")||(jmeno=="")||(heslo==""))
              {
                window.alert("Formulář nelze odeslat: vyplňte pole!");
                return false;
              }
            else
              {
                if ((jm1.length<4)||(hes1.length<4)||(jmeno.length<4)||(heslo.length<4))
                  {
                    window.alert("Formulář nelze odeslat: jméno i heslo musí obsahovat nejméně čtyři znaky");
                    return false;
                  }
                else
                  {  
                    hash(jmeno_id,heslo_id,jmeno_id_hash,heslo_id_hash);
                    hash(jm1_id,hes1_id,jmeno2_id_hash,heslo2_id_hash);
                    
                    document.getElementById(jmeno_id).value="";
                    document.getElementById(heslo_id).value="";
                    document.getElementById(jm1_id).value="";
                    document.getElementById(hes1_id).value="";
                    document.getElementById(jm2_id).value="";
                    document.getElementById(hes2_id).value="";
                    return true;
                  }
              }
            }
            else
              {
                window.alert("Formulář nelze odeslat: nové jméno nebo heslo se neshoduje s kontrolním polem");
                return false;
              }
      }
    else
      {
        jmeno = document.getElementById(jmeno_id).value;
        heslo = document.getElementById(heslo_id).value;
        
        if ((jmeno=="")||(heslo==""))
          {
            window.alert("Formulář nelze odeslat: vyplňte pole!");
            return false;
          }
        else
          {
                    
            if ((jmeno.length<4)||(heslo.length<4))
              {
                window.alert("Formulář nelze odeslat: jméno i heslo musí obsahovat nejméně čtyři znaky");
                return false;
              }
            else
              { 
                hash(jmeno_id,heslo_id,jmeno_id_hash,heslo_id_hash);
                document.getElementById(jmeno_id).value="";
                document.getElementById(heslo_id).value=""; 
                return true;
              }
          }
      }
      
  }
  


  
function final_submit()
{
  if (document.getElementById("send_type").value=="final")
  return window.confirm('Stávající verze bude nahrazena!');
  else
  return true;
}






