// JavaScript Document

function show_info(id,info_sk,info_en,reference_id,pos_x,pos_y)
{
  document.getElementById('fill_info').style.marginRight = pos_x+"px";
  document.getElementById('fill_info').style.marginTop = pos_y+"px";
  document.getElementById('info_id').value = id;
  document.getElementById('reference_id').value = reference_id;
  //read_default_address(response);
  document.getElementById('fill_info').style.display = "block";
  fade_in('fill_info');
  document.getElementById('change_info_sk').value = info_sk;
  document.getElementById('change_info_en').value = info_en;  
}

function save_info(lang)
{
  var info_sk = document.getElementById('change_info_sk').value;
  //alert(info_sk);
  info_sk = Url.encode(info_sk);
  var info_en = document.getElementById('change_info_en').value;
  info_en = Url.encode(info_en);  
  var info_id = document.getElementById('info_id').value;
  var reference_id = document.getElementById('reference_id').value;
  var url = "/ajax/admin_gallery_info_change.php?id="+info_id+"&info_sk="+info_sk+"&info_en="+info_en+"&reference_id="+reference_id+"&lang="+lang;
  //alert(url);
  sendRequest_admin_gallery_info_change(url);

  fade_out('fill_address');
}

function hide_info(id)
{
  fade_out('fill_info');
  //document.getElementById(id).style.display = "none";
}

function stateChanged_admin_gallery_info_change()
{ 
  if (xmlHttp.readyState==4)
  { 
    //alert(xmlHttp.responseText);
    document.getElementById('admin_gallery_list').innerHTML=xmlHttp.responseText;
  }
}

function sendRequest_admin_gallery_info_change(url)
{
	xmlHttp = createXMLHttpRequest();

	if (xmlHttp)
	{
	  xmlHttp.onreadystatechange=stateChanged_admin_gallery_info_change;
		xmlHttp.open("GET", url, true);
		xmlHttp.send("");
	}
}

/*fade function*/

var TimeToFade = 1000.0;

function fade_in(id)
{
  var element = document.getElementById(id);
  if( element == null ) return; 
   
  if(element.FadeState == null)
  {
    element.FadeState = -2;
  }
 
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else if (element.FadeState != 2)
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animate_fade(" + new Date().getTime() + ",'" + id + "')", 33);
  }  
}

function fade_out(id)
{
  var element = document.getElementById(id);
  if( element == null ) return; 
   
  if(element.FadeState == null)
  {
    element.FadeState = 2;
  }
 
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else if (element.FadeState != -2)
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animate_fade(" + new Date().getTime() + ",'" + id + "')", 33);
  }  
}

function animate_fade(last_tick, id)
{  
  var current_tick = new Date().getTime();
  var elapsed_ticks = current_tick - last_tick;
  
  var element = document.getElementById(id);
 
  if(element.FadeTimeLeft <= elapsed_ticks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    if (element.FadeState == -2) element.style.display = "none";
    return;
  }
 
  element.FadeTimeLeft -= elapsed_ticks;
  var new_opacity = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    new_opacity = 1 - new_opacity;

  element.style.opacity = new_opacity;
  element.style.filter = 'alpha(opacity = ' + (new_opacity*100) + ')';
  
  setTimeout("animate_fade(" + current_tick + ",'" + id + "')", 33);
}

/*AJAX function*/

var xmlHttp;

function createXMLHttpRequest()
{
	try 
  { 
    return new XMLHttpRequest();     
  } 
  catch (e) 
  {
    try 
    { 
      return new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e) 
    {
      try 
      { 
        return new ActiveXObject("Msxml2.XMLHTTP");
      } 
      catch(e) 
      {
      	alert("Your browser does not support AJAX!");
	      return null;
      }
    }
  }
}
