Overlay = document.getElementById("overlay")



function addEntry(filename)
{

	var param = new Array();
	
	param[0] = new Array( 'action','Add Entry' );
	param[1] = new Array( 'filename', filename);
	
	showOverlay();

	return doPost('includes/include_add_new_entry.php',param,1,'overlayconts')
}

function submitAddEntry(filename)
{
	var param = new Array();

	AddEntry_date = document.getElementById('servicedate').value
	AddEntry_time = document.getElementById('servicetime').value
	AddEntry_preacher = document.getElementById('servicepreacher').value
	AddEntry_title = document.getElementById('servicetitle').value
	AddEntry_filename  = document.getElementById('servicefilename').value
	AddEntry_series = document.getElementById('serviceseriesselecter').value


	param[0] = new Array( 'QuerySubmit','Add record' );
	param[1] = new Array( 'date', AddEntry_date);
	param[2] = new Array( 'time', AddEntry_time);
	param[3] = new Array( 'preacher', AddEntry_preacher);	
	param[4] = new Array( 'Title', AddEntry_title);	
	param[5] = new Array( 'filename', AddEntry_filename);	
	param[6] = new Array( 'Series', AddEntry_series);		
	
	showOverlay();
	return doPost('includes/include_add_new_entry.php',param,6,'overlayconts')
	
}



function refreshSearch()
{
	var param = new Array();
	return doPost('includes/include_3miss_overview.php',param,0,'3miss_output')
 
}


function enableEntry(serviceID)
{
	var param = new Array();
	param[0] = new Array('ServiceID',serviceID);
	param[1] = new Array('empty','empty');	
	
	showOverlay();
	return doPost('includes/ADMINinc_enable.php',param,1,'overlayconts')
}

function disableEntry(serviceID)
{
	var param = new Array();
	param[0] = new Array('ServiceID',serviceID);
	param[1] = new Array('empty','empty');	

	showOverlay();
	return doPost('includes/ADMINinc_disable.php',param,1,'overlayconts')

}

function archiveEntry(serviceID)
{

	var param = new Array();
	param[0] = new Array('ServiceID',serviceID);
	param[1] = new Array('empty','empty');	
	
	showOverlay();
	return doPost('includes/ADMINinc_archive.php',param,1,'overlayconts')

}


function showSeriesEditor()
{

	showOverlay();
	return doPost('includes/include_seriescontroller.php',"",0,'overlayconts')
	
}


function SeriesEditor_select()
{
	text = document.getElementById('seriesList')
	document.getElementById('SeriesNuValue').value = text.options[text.selectedIndex].text;
}


function SeriesEditor_add()
{
	
	text = document.getElementById('SeriesNuValue').value
	var param = new Array();
	param[0] = new Array('Action','Add');		
	param[1] = new Array('Series_Name',text);	
	
	showOverlay();
	return doPost('includes/include_seriescontroller.php',param,1,'overlayconts')

}
function SeriesEditor_edit()
{
	Series_ID =  document.getElementById('seriesList').value
	Series_Name = document.getElementById('SeriesNuValue').value

	var param = new Array();
	param[0] = new Array('Action','Edit');		
	param[1] = new Array('Series_ID',Series_ID);	
	param[2] = new Array('Series_Name',Series_Name);		
	return doPost('includes/include_seriescontroller.php',param,2,'overlayconts')	
}
function SeriesEditor_remove()
{

	text = document.getElementById('seriesList')
	text = text.options[text.selectedIndex].text;
	
	
	Series_ID =  document.getElementById('seriesList').value
	var param = new Array();
	param[0] = new Array('Action','Delete');		
	param[1] = new Array('Series_ID',Series_ID);	
	var answer = confirm("Really delete series: "+ text+"?")
	
	if (answer){
		return doPost('includes/include_seriescontroller.php',param,1,'overlayconts')
	}

}


var TimeToFade = 500;
function fade(eid)
{

  var element = document.getElementById(eid);

  if(element == null)
    return;

  if(element.FadeState == null)
  {
    if(element.style.opacity == null 
        || element.style.opacity == '' 
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }

  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
	element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);

  }  
}


function animateFade(lastTick, eid)
{  

  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    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;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function hideOverlay()
{
  
	Overlay.FadeState = 2;
	fade("overlay");

	setTimeout("Overlay.style.visibility='hidden'",1000);
	setTimeout("Overlay.getElementById('overlayconts').innerHTML = ''",1000);

	
}
function showOverlay()
{

	if(Overlay.style.opacity != 1)
	{

		Overlay.FadeState = -2;
		fade("overlay");
		Overlay.style.visibility = "visible";
	}
}




//===============================================
// THE MIGHTY doPost FUNCTION. I totally don't know how this works anymore.
//===============================================
function doPost(url, parameters,n,targetID) {
  // create the AJAX object
  
  var xmlHttp = undefined;
  myRand=parseInt(Math.random()*99999999);
  if (window.ActiveXObject){
    try {
      xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
    } catch (othermicrosoft){
      try {
        xmlHttp = new ActiveXObject(
            "Microsoft.XMLHTTP");
      } catch (failed) {}
    }
  }

  if (xmlHttp == undefined && window.XMLHttpRequest) {
    // If IE7, Mozilla, Safari, etc: Use native object
    xmlHttp = new XMLHttpRequest();
  }

  if (xmlHttp != undefined) {
    // open the connections
    // now we substitute the content
	 
    xmlHttp.open("POST", url+"?rand="+myRand, true);

    // callback handler

    var targetObj = document.getElementById(targetID)

    var loadingHTML = '<center><div style = "border:2px solid #f88; background-color:#fcc; width:100px; height: 30px; padding:5px; margin-top:140px; margin-left:auto; margin-right:auto;"><b>Loading...</b></div></center>';

    document.getElementById(targetID).innerHTML = loadingHTML
	    xmlHttp.onreadystatechange = function() 
	{
		//alert("sparta: "+ xmlHttp.readyState + "  " + xmlHttp.status);
      if (xmlHttp.readyState == 4 && xmlHttp.status == 200) 
	  {

            var targetHTML = xmlHttp.responseText;
            document.getElementById(targetID).innerHTML = targetHTML
      }
	  else
	  {
			loadingHTML = '<center><div style = "border:2px solid #f88; background-color:#fcc; width:100px; height: 30px; padding:5px; margin-top:140px; margin-left:auto; margin-right:auto;"><b>Loading...</b><br/><div style = "font-size:10px;> "HTML status:'+xmlHttp.status+'</div></div></center>'; 
		    document.getElementById(targetID).innerHTML = loadingHTML
	  }
	  
    }

    // create the parameter string
    // iterate the parameters array

    var parameterString = "";
    var blank = 0;
    var one = 1;
	if( n != 0)
    {
    	for (var i = 0; i <= n; i++) 
		{
            parameterString+= "&"
          	+ encodeURI(parameters[i][blank]) + "="
         	+ encodeURI(parameters[i][one]);
	    }
    }

    // set the necessary request headers
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    if( n != 0)
    {
	    xmlHttp.setRequestHeader("Content-length", parameterString.length);
    }
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameterString);


  }
}



