// JavaScript Document


var ajax_tooltipObj = false;
var ajax_tooltipObj_iframe = false;

var enableCache = true;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function createXMLHttpRequest(){
if (window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }

}

function dorequest(page,divid){
createXMLHttpRequest();
var url = page;


ajax_loadContent(divid,page);


}



function dorequest2(page,divid){
createXMLHttpRequest();
var url = page;
ajax_loadContent(divid,page);

}




function handleStateChange2(){
if(xmlHttp.readyState == 4){
if (xmlHttp.status == 200){

var results=xmlHttp.responseText; 
              document.getElementById('left').innerHTML = results; 
			

}
}
}





function ajax_loadContent(divId,url)
{
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		return;
	}

	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	document.getElementById(divId).innerHTML = '<br>&nbsp;&nbsp;&nbsp;<img src="images/ajax-loader.gif">';
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}
	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}

function ajax_showContent(divId,ajaxIndex,url)
{
	document.getElementById(divId).innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
	if(enableCache){
		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
	}
	dynamicContent_ajaxObjects[ajaxIndex] = false;
}

function sack(file){
	this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";
	this.requestFile = file;
	this.method = "POST";
	this.URLString = "";
	this.encodeURIString = true;
	this.execute = false;

	this.onLoading = function() { };
	this.onLoaded = function() { };
	this.onInteractive = function() { };
	this.onCompletion = function() { };

	this.createAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err) {
				this.xmlhttp = null;
			}
		}
		if(!this.xmlhttp && typeof XMLHttpRequest != "undefined")
			this.xmlhttp = new XMLHttpRequest();
		if (!this.xmlhttp){
			this.failed = true; 
		}
	};
	
	this.setVar = function(name, value){
		if (this.URLString.length < 3){
			this.URLString = name + "=" + value;
		} else {
			this.URLString += "&" + name + "=" + value;
		}
	}
	
	this.encVar = function(name, value){
		var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
	return varString;
	}
	
	this.encodeURLString = function(string){
		varArray = string.split('&');
		for (i = 0; i < varArray.length; i++){
			urlVars = varArray[i].split('=');
			if (urlVars[0].indexOf('amp;') != -1){
				urlVars[0] = urlVars[0].substring(4);
			}
			varArray[i] = this.encVar(urlVars[0],urlVars[1]);
		}
	return varArray.join('&');
	}
	
	this.runResponse = function(){
		eval(this.response);
	}
	
	this.runAJAX = function(urlstring){
		this.responseStatus = new Array(2);
		if(this.failed && this.AjaxFailedAlert){ 
			alert(this.AjaxFailedAlert); 
		} else {
			if (urlstring){ 
				if (this.URLString.length){
					this.URLString = this.URLString + "&" + urlstring; 
				} else {
					this.URLString = urlstring; 
				}
			}
			if (this.encodeURIString){
				var timeval = new Date().getTime(); 
				this.URLString = this.encodeURLString(this.URLString);
				this.setVar("rndval", timeval);
			}
			if (this.element) { this.elementObj = document.getElementById(this.element); }
			if (this.xmlhttp) {
				var self = this;
				if (this.method == "GET") {
					var totalurlstring = this.requestFile + "?" + this.URLString;
					this.xmlhttp.open(this.method, totalurlstring, true);
				} else {
					this.xmlhttp.open(this.method, this.requestFile, true);
				}
				if (this.method == "POST"){
  					try {
						this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')  
					} catch (e) {}
				}

				this.xmlhttp.send(this.URLString);
				this.xmlhttp.onreadystatechange = function() {
					switch (self.xmlhttp.readyState){
						case 1:
							self.onLoading();
						break;
						case 2:
							self.onLoaded();
						break;
						case 3:
							self.onInteractive();
						break;
						case 4:
							self.response = self.xmlhttp.responseText;
							self.responseXML = self.xmlhttp.responseXML;
							self.responseStatus[0] = self.xmlhttp.status;
							self.responseStatus[1] = self.xmlhttp.statusText;
							self.onCompletion();
							if(self.execute){ self.runResponse(); }
							if (self.elementObj) {
								var elemNodeName = self.elementObj.nodeName;
								elemNodeName.toLowerCase();
								if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
									self.elementObj.value = self.response;
								} else {
									self.elementObj.innerHTML = self.response;
								}
							}
							self.URLString = "";
						break;
					}
				};
			}
		}
	};
this.createAJAX();
}




function createQueryString(){
var cid = document.getElementById("cid").value;
var table = document.getElementById("table").value;
var observation_date = document.getElementById("observation_date").value;
var level = document.getElementById("level").value;
var queryString = "cid=" + cid +"&table=" + table + "&observation_date=" + observation_date + "&level=" + level;
return queryString;
}

function doRequestUsingPOST(page,divid,value1,value2){

createXMLHttpRequest();

var queryString = createQueryString();
var url="index2.php"+"?action=add_reading&"+queryString; 
ajax_loadContent(divid,url);
doRequestUsingPOSTcell(page,value1+value2,value1,value2);


}



function createQueryStringadminupdate(value3){
var new_val = document.getElementById(value3).value;
var queryString = "new_val=" + new_val;
return queryString;
}

function doRequestUsingPOSTadminupdate(page,divid,value1,value2,value3,value4,value5,value6){

createXMLHttpRequest();

var queryString = createQueryStringadminupdate(value3);
var url="index2.php"+"?action=admin_update&table_name="+value1+"&fieldd="+value2+"&type="+value4+"&id="+value5+"&message="+value6+"&"+queryString; 
ajax_loadContent(divid,url);


}








function createQueryStringaddcheckinout(){
var user_id = document.getElementById("user_id").value;
var entry_date = document.getElementById("entry_date").value;
var start_time = document.getElementById("start_time").value;
var end_time = document.getElementById("end_time").value;

var queryString = "user_id=" + user_id + "&entry_date=" + entry_date + "&start_time=" + start_time + "&end_time=" + end_time ;
return queryString;
}

function doRequestUsingPOSTaddcheckinout(page,divid){

createXMLHttpRequest();

var queryString = createQueryStringaddcheckinout();
var url="index2.php"+"?action=add_checkinout&"+queryString; 
ajax_loadContent(divid,url);
showfilterbox('add_observation','hide');


}






function createQueryStringedit_event(value1){
var event_title = document.getElementById("event_title").value;
var event_date = document.getElementById("event_date").value;
var attendees_number = document.getElementById("attendees_number").value;
var details = document.getElementById("details").value;
var staff_members = document.getElementById("staff_members").value;

var requirement = document.getElementById("requirement").value;
var type = document.getElementById("typeed").value;

var id = value1;


var queryString = "event_title=" + event_title + "&event_date=" + event_date + "&attendees_number=" + attendees_number + "&details=" + details + "&staff_members=" + staff_members+ "&requirement=" + requirement + "&type=" + type+ "&id=" + id ;
return queryString;
}

function doRequestUsingPOSTedit_event(page,divid,value1){

createXMLHttpRequest();

var queryString = createQueryStringedit_event(value1);
var url="index2.php"+"?action=edit_event&"+queryString; 
ajax_loadContent(divid,url);



}




function createQueryStringaddabsence(){
var user_id = document.getElementById("user_id").value;
var details = document.getElementById("details").value;
var entry_date = document.getElementById("entry_date").value;

var queryString = "user_id=" + user_id + "&details=" + details + "&entry_date=" + entry_date ;
return queryString;
}

function doRequestUsingPOSTaddabsence(page,divid){

createXMLHttpRequest();

var queryString = createQueryStringaddabsence();
var url="index2.php"+"?action=add_absence&"+queryString; 
ajax_loadContent(divid,url);
showfilterbox('add_observation','hide');


}




function createQueryStringchangeweekly(value1){
var field = value1;
var new_val = document.getElementById(value1).value;
var idn =document.getElementById("idn2").value;

var queryString = "new_val=" + new_val + "&field=" + field + "&idn=" + idn;
return queryString;
}

function doRequestUsingPOSTchangeweekly(page,divid,value1){

createXMLHttpRequest();

var queryString = createQueryStringchangeweekly(value1);
var url="index2.php"+"?action=update_weekly&"+queryString; 
ajax_loadContent(divid,url);



}









function createQueryStringaddholiday(){
var hol_date = document.getElementById("hol_date").value;
var details = document.getElementById("details").value;
var queryString = "hol_date=" + hol_date +"&details=" + details ;
return queryString;
}

function doRequestUsingPOSTaddholiday(page,divid){

createXMLHttpRequest();

var queryString = createQueryStringaddholiday();
var url="index2.php"+"?action=add_holiday&"+queryString; 
ajax_loadContent(divid,url);


}



function createQueryStringfilterholidays(){
var start_date = document.getElementById("start_date").value;
var end_date = document.getElementById("end_date").value;
var queryString = "start_date=" + start_date +"&end_date=" + end_date ;
return queryString;
}

function doRequestUsingPOSTfilterholidays(page,divid){

createXMLHttpRequest();

var queryString = createQueryStringfilterholidays();
var url="index2.php"+"?action=list_holidays&"+queryString; 
ajax_loadContent(divid,url);
}





function createQueryStringcell(){

var observation_date = document.getElementById("observation_date").value;

var queryString = "observation_date=" + observation_date ;
return queryString;
}

function doRequestUsingPOSTcell(page,divid,value1,value2){
createXMLHttpRequest();

var queryString = createQueryStringcell();
var url="index2.php"+"?action=proc_observation_cell&cid="+value1+"&table="+value2+"&"+queryString; 
ajax_loadContent(divid,url);



}




function createQueryStringaddentry(){

var start_time = document.getElementById("start_time").value;
var end_time = document.getElementById("end_time").value;
var description = document.getElementById("description").value;

var queryString = "start_time=" + start_time + "&end_time=" + end_time + "&description=" + description ;
return queryString;
}

function doRequestUsingPOSTaddentry(page,divid,value1,value2,value3){
createXMLHttpRequest();

var queryString = createQueryStringaddentry();
var url="index2.php"+"?action=add_entry&user_id="+value1+"&entry_date="+value2+"&type="+value3+"&"+queryString; 
ajax_loadContent(divid,url);



}


function createQueryStringadd_working(value1,value2){

var working_day = document.getElementById(value1).value;
var user_id = document.getElementById(value2).value;

var queryString = "working_day=" + working_day + "&user_id=" + user_id;
return queryString;
}

function doRequestUsingPOSTadd_working(page,divid,value1,value2){
createXMLHttpRequest();

var queryString = createQueryStringadd_working(value1,value2);
var url="index2.php"+"?action=add_working_day&"+queryString; 
ajax_loadContent(divid,url);



}



function windowopen(page) {	
		eval("lotpage = window.open('" + page + "', 'PHB', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=850,height=700,top=400,left=400');");
	}

function windowopengallery(page) {	
		eval("lotpage = window.open('" + page + "', 'PHB', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=700,height=500,top=400,left=400');");
	}












function createQueryStringexport(){

var observation_date = document.getElementById("observation_date").value;

var queryString = "observation_date=" + observation_date ;
return queryString;
}

function doRequestUsingPOSTexport(page,divid,value1,value2){
createXMLHttpRequest();

var queryString = createQueryStringexport();
var url="index2.php"+"?action=exported_data&"+queryString; 
ajax_loadContent(divid,url);



}




function createQueryStringexportchildren(){

var cbo = document.getElementById("cbo").value;

var queryString = "cbo=" + cbo ;
return queryString;
}

function doRequestUsingPOSTexportchildren(page,divid,value1,value2){
createXMLHttpRequest();

var queryString = createQueryStringexportchildren();
var url="index2.php"+"?action=exported_children&"+queryString; 
ajax_loadContent(divid,url);



}







function showfilterbox(divid,act){
if (act=='show'){
document.getElementById(divid).style.display='block';
}
if (act=='hide'){
document.getElementById(divid).style.display='none';
}

}












































function createQueryStringcheckfamily(value1,value2,value3,value4,value5,value6){
var fmember_id1 = document.getElementById(value1).value;
var fmember_id2 = document.getElementById(value2).value;
var fmember_id3 = document.getElementById(value3).value;
var fmember_id4 = document.getElementById(value4).value;
var fmember_id5 = document.getElementById(value5).value;
var fmember_id6 = document.getElementById(value6).value;




var queryString = "fmember_id1=" + fmember_id1 +"&fmember_id2=" + fmember_id2 +"&fmember_id3=" + fmember_id3 +"&fmember_id4=" + fmember_id4 +"&fmember_id5=" + fmember_id5 +"&fmember_id6=" + fmember_id6 ;

return queryString;
}

function doRequestUsingPOSTcheckfamily(page,divid,value1,value2,value3,value4,value5,value6){
createXMLHttpRequest();

var queryString = createQueryStringcheckfamily(value1,value2,value3,value4,value5,value6);
var url="index2.php"+"?action=check_family_members&"+queryString; 
ajax_loadContent(divid,url);

}



































var timerlen = 5;
var slideAniLen = 500;
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();


function toggleSlide(objname){
  if(document.getElementById(objname).style.display == "none"){
    // div is hidden, so let's slide down
    slidedown(objname);
  }else{
    // div is not hidden, so slide up
    slideup(objname);
  }
}
function startslide(objname){
  obj[objname] = document.getElementById(objname);
 
  endHeight[objname] = parseInt(obj[objname].style.height);
  startTime[objname] = (new Date()).getTime();
 
  if(dir[objname] == "down"){
    obj[objname].style.height = "1px";
  }
 
  obj[objname].style.display = "block";
 
  timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidedown(objname){
  if(moving[objname])
    return;
 
  if(document.getElementById(objname).style.display != "none")
    return; // cannot slide down something that is already visible
 
  moving[objname] = true;
  dir[objname] = "down";
  startslide(objname);
}
 
function slideup(objname){
  if(moving[objname])
    return;
 
  if(document.getElementById(objname).style.display == "none")
    return; // cannot slide up something that is already hidden
 
  moving[objname] = true;
  dir[objname] = "up";
  startslide(objname);
}



function startslide(objname){
  obj[objname] = document.getElementById(objname);
 
  endHeight[objname] = parseInt(obj[objname].style.height);
  startTime[objname] = (new Date()).getTime();
 
  if(dir[objname] == "down"){
    obj[objname].style.height = "1px";
  }
 
  obj[objname].style.display = "block";
 
  timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}




function slidetick(objname){
  var elapsed = (new Date()).getTime() - startTime[objname];
 
  if (elapsed > slideAniLen)
    endSlide(objname)
  else {
    var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
    if(dir[objname] == "up")
      d = endHeight[objname] - d;
 
    obj[objname].style.height = d + "px";
  }
 
  return;
}




function endSlide(objname){
  clearInterval(timerID[objname]);
 
  if(dir[objname] == "up")
    obj[objname].style.display = "none";
 
  obj[objname].style.height = endHeight[objname] + "px";
 
  delete(moving[objname]);
  delete(timerID[objname]);
  delete(startTime[objname]);
  delete(endHeight[objname]);
  delete(obj[objname]);
  delete(dir[objname]);
 
  return;
}



