/* Simple AJAX Code-Kit (SACK) */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence, see documentation or authors website for more details */

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();
}





var global_divid;
var glob_url;
var glob_passdata;
var glob_id;
function GetXmlHttpObject(handler)
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}



function ajax_userdata_edit(frm,passdata,divid,pageURL,id)
{
		//window.scroll(0,000);
		//alert(pageURL);
		//alert(passdata);
		//document.getElementById(divid).style.display='block';
		glob_id = id;
		global_divid=divid;
		glob_url=pageURL;
		glob_passdata=passdata;
		
		//var queryStr='?sid='+Math.random();
		var queryStr=passdata;
		xmlHttp4=GetXmlHttpObject()
		if (xmlHttp4==null)
		{
			alert ("Browser does not support HTTP Request")
			return false;
		} 
		
		if(document.getElementById(divid)!=null)
		{
			document.getElementById(divid).style.display='block';
		}
		//alert(frm);
		if(frm!="")
		{
			var j=0;
			var k=0;
			var p=0;
			//frmObj = document.getElementById(frm);
			frmObj = frm;
		//	alert(frmObj);
			//alert("here");
			//alert(frmObj.elements.length);
			for (var i = 0; i < frmObj.elements.length; i++)
			{
			  	if((frmObj.elements[i].type == "text") || (frmObj.elements[i].type == "hidden"))
			  	{
					queryStr = queryStr + "&" + frmObj.elements[i].name + "=" + convertSafer(frmObj.elements[i].value);
			  	}
				
			  	if(frmObj.elements[i].type == "password")
			  	{
					queryStr = queryStr + "&" + frmObj.elements[i].name + "=" + convertSafer(frmObj.elements[i].value);
			  	}
			 
			    if(frmObj.elements[i].type == "select-one")
			  	{
					queryStr = queryStr + "&" + frmObj.elements[i].name + "=" + convertSafer(frmObj.elements[i].value);
			  	}
			
			 	if(frmObj.elements[i].type == "file")
			 	{
					 queryStr = queryStr + "&" + frmObj.elements[i].name + "=" + frmObj.elements[i].value;
			    }
				
				if(frmObj.elements[i].type == "textarea")
				{
					 queryStr = queryStr + "&" + frmObj.elements[i].name + "=" + convertSafer(frmObj.elements[i].value);
				}
			}
		}
		var url=pageURL;
		//alert(queryStr);
		xmlHttp4.onreadystatechange= WriteResource
		xmlHttp4.open("POST", url, true);
  		xmlHttp4.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  		xmlHttp4.send(queryStr);
		return false;
}

function WriteResource()
{
	if (xmlHttp4.readyState==4 || xmlHttp4.readyState=="complete")
	{
		//	alert(xmlHttp4.responseText);
        			document.getElementById(global_divid).innerHTML=xmlHttp4.responseText;
					if(glob_url=='editPersonphoto2.php') 
					{
 						document.body.removeChild(model_img);
						 document.getElementById(glob_id).style.display = "none";
					//ajax_userdata_edit('',glob_passdata,'main_div','ajax_main_designation.php');
					}
					if(glob_url=='checkavailable.php') 
					{
							//alert(document.getElementById(global_divid).innerHTML);
							//alert(Trim(document.getElementById(global_divid).innerHTML));
							if(Trim(document.getElementById(global_divid).innerHTML)==0)
							{
								//document.getElementById(global_divid).innerHTML='';
								document.getElementById(global_divid).innerHTML='<span style="color:red">Email Not Available</span>';
							}
							if(Trim(document.getElementById(global_divid).innerHTML)==2)
							{
								//document.getElementById(global_divid).innerHTML='';
								document.getElementById(global_divid).innerHTML='<span style="color:red">Email Should Not Be Blank</span>';
							}
							if(Trim(document.getElementById(global_divid).innerHTML)==1)
							{
								//document.getElementById(global_divid).innerHTML='';
								document.getElementById(global_divid).innerHTML='<span style="color:green">Email is Available</span>';
							}
							/*if(document.getElementById(global_divid).innerHTML==3)
							{
								document.getElementById(global_divid).innerHTML='';
								window.location='/attendance/user/late_reason.php';
							}*/
					}
					
	}
}




function ajax_delete(text,passdata,divid,pageURL)
{
		//alert(passdata);
		global_divid=divid;
		glob_url=pageURL;
		glob_passdata=passdata;
		xmlHttp4=GetXmlHttpObject()
		if (xmlHttp4==null)
		{
			alert ("Browser does not support HTTP Request")
			return false;
		} 
		
		var bool = confirm("Are You Sure You Want To Delete?"); 
			if(bool)
			{
			}	
			else
			{
				return false;
			}

		var url=pageURL;
		var queryStr=passdata
		xmlHttp4.onreadystatechange= myfun
		//xmlHttp4.open("GET",url,true)
		xmlHttp4.open("POST", url, true);
  		xmlHttp4.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  		xmlHttp4.send(queryStr);
		return false;
}

function myfun()
{
	if (xmlHttp4.readyState==4 || xmlHttp4.readyState=="complete")
	{
				alert(xmlHttp4.responseText);
        		document.getElementById(global_divid).innerHTML=xmlHttp4.responseText
				
	}
}


function loadStats(id)
{
 model_img = document.createElement('img');
 //alert(screen.width-30);
 model_img.setAttribute('src','images/topbg.jpg');
 model_img.setAttribute('width',screen.width-30);
 model_img.setAttribute('height',screen.height+30);
 model_img.setAttribute('z-index',1100);
 model_img.style.top = 0;
 model_img.style.position = "absolute";
 model_img.style.opacity = 0.7;
 model_img.style.filter="alpha(opacity=70)";
 //model_img.style.filter="alpha(-moz-opacity = 0.7)";
 //model_img.style.moz-opacity=".70";
 //model_img.style.opacity=".70";
 document.body.appendChild(model_img);
// document.getElementById('select_box').style.display = "none";
 //document.getElementById('qa_box').style.display = "none";
 document.getElementById(id).style.display = "block";

 tempWidth = screen.width-((screen.width*35)/100);
 leftPos = tempWidth/2;
 document.getElementById(id).style.left = leftPos;
}

function hideStatsBox(id)
{
 document.body.removeChild(model_img);
// document.getElementById('select_box').style.display = "inline";
// document.getElementById('qa_box').style.display = "inline";
//document.getElementById(id).innerHTML = '';
 document.getElementById(id).style.display = "none";
}

function check_available_user(frmobj)
{
	var username = Trim(frmobj.denEmail.value);
	if(Trim(frmobj.denEmail.value) == "")
	{
		//alert("Please enter Email");
		//frmobj.denEmail.focus();
		//return false;
	}
	var passData = 'denEmail='+username;
	ajax_userdata_edit('',passData,'user_availablity','checkavailable.php','');
	return false;

}

