/******************************************************************************/
/**********                   AJAX  SCRIPT                      ***************/
/**********         coded by Hubert Frey, programmer            ***************/
/**********                    01-12-2008                       ***************/
/**********            e-mail: freyhubert@gmail.com             ***************/
/**********            website: www.hubertfrey.cz               ***************/
/******************************************************************************/

var WEB_ROOT = '';
	        
function gid(id)
{
	return document.getElementById(id);
}

function getHTTPObject()
{
	if (window.XMLHttpRequest) 
	{
   		http_request = new XMLHttpRequest();
 	} 
 	else if (window.ActiveXObject) 
 	{
    	try
    	{
		    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    	} 
    	catch (e) 
    	{
      		http_request = new ActiveXObject("Microsoft.XMLHTTP");
    	}
 	}				
	return http_request;
}
			
var ajax = new Array(20);
var i = 0;
var cil;			
/****** funkce na zmenu Statusu('a','n') v databazi *****/
function changeStatus(script, targetID)
{
  i++; ajax[i] = getHTTPObject();		
  ajax[i].open("GET", script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
  	{
  		case 4 : 	
        gid(targetID).innerHTML= ajax[i].responseText;
  			break;
  	}
  }
	ajax[i].send(null);    
}			
/****** funkce na zmenu Statusu('a','n') v databazi - KONEC *****/

function Go2(id)
{
  i++; ajax[i] = getHTTPObject();		
  ajax[i].open("GET", '/functions/link-checker.php?id_link='+id, true);
	ajax[i].onreadystatechange = function (){
    switch (ajax[i].readyState)
    {
  		case 4 : 	if(ajax[i].responseText != 'go') return false;
				break;
    }
  }
	ajax[i].send(null);
}

/***** NACITANI OBSAHU STRANKY ******/			
function Loading()
{
	gid("ajaxloading").style.display= "block";
	gid("content").innerHTML="<div id=\"ajaxloading\"><img src=\"./graphics/spinner.gif\" width=\"16\" height=\"16\" alt=\"spinner\" />&nbsp; Načítám obsah...</div>"
}

function LoadContent(script, targetID)
{
	i++; ajax[i] = getHTTPObject();		
 	ajax[i].open("GET", script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
    {
		  case 4 : 
        gid(targetID).innerHTML = ajax[i].responseText;
        if (targetID == 'album')
        {
          Sortable.create('gallerybox',
					{tag:'div',overlap:'horizontal',constraint:false,
								onUpdate:function(){
									serialized = Sortable.serialize('gallerybox').replace(/&/g,'*');
								}
          });
        }
        break;
    }
  }
	ajax[i].send(null);			        
}


var toReload;
var FormID;
var promenne;
function SendForm(get_script, vars, id_form, reloadBool)
{
  toReload = reloadBool;
  FormID = id_form;
  promenne = vars;
  gid('SendButton').innerHTML = 'Odesílám...'; 
  gid('SendButton').disabled = true;
  setTimeout(function () { 
		i++; ajax[i] = getHTTPObject();		
   	ajax[i].open("GET", WEB_ROOT + "/" + get_script + vars, true);
	  ajax[i].onreadystatechange = sendFormHttpResponse;
	  ajax[i].send(null);
	 },1000);
}
function sendFormHttpResponse()
{
	switch (ajax[i].readyState)
	{
		case 4 :
      if (ajax[i].responseText.search(/successful/m) >= 0)
      {
        gid('SendButton').innerHTML = 'Odeslat dotaz'; 
        gid('SendButton').disabled = false;
        gid('SendFormResult').innerHTML = ajax[i].responseText.replace('successful;', '');
        gid(FormID).dotaz.value = '';
        gid(FormID).dotaz.style.borderColor = 'rgb(156, 211, 8)';
      }  
      else if(ajax[i].responseText.search(/failed/m) >= 0){
        gid('SendButton').innerHTML = 'Odeslat dotaz'; 
        gid('SendButton').disabled = false;
        gid('SendFormResult').innerHTML = 'Červená pole obsahují chybu!';
        //oznaceni chybnych poli
        if (ajax[i].responseText.search(/dotaz/m) >= 0)
        {
          gid(FormID).dotaz.style.borderColor = 'red';
        }
      }
      else{
        gid('SendFormResult').innerHTML = 'Omlouváme se, došlo k chybě na straně serveru.'+ajax[i].responseText ;
        gid('SendButton').innerHTML = 'Odeslat dotaz'; 
        gid('SendButton').disabled = false;
      }
			break;
	}
}

//funkce pro zjisteni jedinecnosti hodnoty v databazi
function CheckUnique(script, targetID)
{
	i++; ajax[i] = getHTTPObject();		
  ajax[i].open("GET", script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
  	{
  		case 4 : 	
        gid(targetID).innerHTML= ajax[i].responseText;
  			break;
  	}
  }
	ajax[i].send(null);
}

//funkce pro zobrazeni in-place formulare
function InPlaceEditor(script, targetID)
{
	i++; ajax[i] = getHTTPObject();		
  ajax[i].open("GET", script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
  	{
  		case 4 : 	
        gid(targetID).innerHTML= ajax[i].responseText;
  			break;
  	}
  }
	ajax[i].send(null);
}

function LoadPage(load_script)
{
	i++; ajax[i] = getHTTPObject();		
   	ajax[i].open("GET", load_script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
	  {
  		case 4 : 	gid("content").innerHTML=ajax[i].responseText;
  					Sortable.create('photolist',
  					{tag:'div',overlap:'horizontal',constraint:false,
  								onUpdate:function(){
  									serialized = Sortable.serialize('photolist').replace(/&/g,'*');
  									/*LoadContent('./modules/sluzby/fotogalerie.php?action=save_image_order','&ed_id='+gid('EdId').value+'&image_order='+serialized);*/}});
  					break;
  	}
  }
	ajax[i].send(null);			        
}
/***** NACITANI OBSAHU STRANKY - KONEC ******/

//funkce pro reakci v diskuzich
function Quote(id,topic)
{
	gid('topic').value = topic;
	gid('quote_to').value = id;
}

//funkce smaze polozku v databazi a skryje prvek na strance
function DelItem(script, targetID)
{
	i++; ajax[i] = getHTTPObject();		
	ajax[i].open("GET", script, true);
	ajax[i].onreadystatechange = function(){
    switch (ajax[i].readyState)
	  {
		  case 4 :
        if (ajax[i].responseText.search(/delete_successful/m) >= 0)
        {
          Effect.Fade(targetID);
        }
        else
        {
          alert(ajax[i].responseText);
        }
  			break;
  	}
  }
	ajax[i].send(null);	
}

//funkce vrati hodnoty maxWidth a maxHeight pri vyberu reklamni pozice
function GetMaxDimension(id, table, column_w, column_h)
{
  i++; ajax[i] = getHTTPObject();		
  ajax[i].open("GET", './functions/get-max-dimensions.php?table='+table+'&id='+gid(id).value+'&column_w='+column_w+'&column_h='+column_h, true);
	ajax[i].onreadystatechange = DimensionHttpResponse;
	ajax[i].send(null);
}

function DimensionHttpResponse()
{
	switch (ajax[i].readyState)
	{
		case 4 : 	gid('ajaxbin').innerHTML=ajax[i].responseText;
					break;
	}
}

//upload file function
var uploader = '';
var uploaderID = '';
var frameID = '';
function uploadFile(obj,frame) {
	var uploadDir = obj.value;
	frameID = frame;
	uploaderId = 'uploader'+obj.name;
	uploader = obj.name;
	
	document.getElementById('uploadForm'+obj.name).submit();
	traceUpload(uploadDir, obj.name);	
}

function traceUpload(uploadDir) 
{
	i++; ajax[i] = getHTTPObject();
	ajax[i].open("GET", 'functions/imageupload.php?uploadDir='+uploadDir+'&uploader='+uploader);
  ajax[i].onreadystatechange = UploadResponse; 
	ajax[i].send(null);   
}

function UploadResponse() 
{
	if(ajax[i].readyState != 4)
    {
    	gid(uploaderId).innerHTML = "Nahrávám soubor...";
    }
}

//funkce pro zobrazeni oken pro mazani a napovedu
function showwindow(e,num)
{
   	kam=-100;

    if(document.getElementById) 
    {
        elm = gid(num);
        // Netscape 6.0+ and Internet Explorer 5.0+
        if (document.all && !window.opera) {
            x = event.clientX + document.documentElement.scrollLeft+kam;
            y = event.clientY + document.documentElement.scrollTop;
         }
         else {
            x = e.pageX+kam;
            y = e.pageY;
         }
         if (document.all && !window.opera) {
            elm.style.pixelLeft = x;
            elm.style.pixelTop = y;
         }
         else {
            elm.style.left = x + "px";
            elm.style.top = y + "px";
         }
         elm.style.display = "block"
    }
}

//funkce pro uzavreni oken pro mazani a napovedu
function closewindow(num){
  if(document.getElementById){
     elm=document.getElementById(num)
     elm.style.display = "none"
  }
} 

//funkce zobrazi nebo skryje objekt
function ShowHide(targetID)
{
  switch (gid(targetID).style.display)
  {
    case 'none' : 
      gid(targetID).style.display = 'block';
      break;
    case 'block' :
      gid(targetID).style.display = 'none';
      break;
    default : 
      gid(targetID).style.display = 'block';
      break;
  }
}

