/***********************************
Handler Flags
0 - No loading img
1 - Loading img is shown in same div which is handling the response
2 - Loading img and response is shown in different divs
3 - Call a custom defined function to handle response and loading img

************************************/


/***********************************
/* Create xmlHttpRequest Object
***********************************/
var xmlHttpReq = false;
function xmlhttpPost_makerequest(strURL,strParameter,handler,handler_flg)
{
	// Mozilla/Safari
	if (window.XMLHttpRequest) {
		xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	//check what the flag is and call the functions accordingly
	if(handler_flg == '0')
		xmlHttpReq.onreadystatechange = function(){ handlerdivId(handler); };
	else if(handler_flg == '1')
		xmlHttpReq.onreadystatechange = function(){ handlerdivIdLoading(handler); };
	else if(handler_flg == '2')
		xmlHttpReq.onreadystatechange = function(){ handlerdivIdLoading2(handler); };
	else if(handler_flg == '3')
		xmlHttpReq.onreadystatechange = function(){ eval(handler) };
	else if(handler_flg == '4')
		xmlHttpReq.onreadystatechange = function(){ handlerdivIdLoadingMayOff(handler); };
	
	
	xmlHttpReq.open('POST', strURL, true);
	xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttpReq.setRequestHeader("Cache-Control", "no-cache");
	xmlHttpReq.send(strParameter);
}



/*****************************************
/* display content in div or span tag without loading img
*****************************************/
function handlerdivId(handler) {
	if(xmlHttpReq.readyState == 4) {
		if(xmlHttpReq.status == 200)
		{
			document.getElementById(handler).innerHTML = xmlHttpReq.responseText;
		}
	}
}


/*****************************************
/* display content in div or span tag and loading img also in same div
*****************************************/
function handlerdivIdLoading(handler) {
	if(xmlHttpReq.readyState == 4) {
		if(xmlHttpReq.status == 200)
		{
			document.getElementById(handler).innerHTML = xmlHttpReq.responseText;
		}
		else
		{
			alert("Error: While trying to fetch records, please try again later");
		}
	}
	else
	{
		document.getElementById(handler).innerHTML = "<img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\" align=\"absmiddle\">";
	}
}

/*****************************************
/* display content in div or span tag and loading img with braces and pipe also in same div
*****************************************/
function handlerdivIdLoadingMayOff(handler) {
	if(xmlHttpReq.readyState == 4) {
		if(xmlHttpReq.status == 200)
		{
			document.getElementById(handler).innerHTML = xmlHttpReq.responseText;
		}
		else
		{
			alert("Error: While trying to fetch records, please try again later");
		}
	}
	else
	{
		document.getElementById(handler).innerHTML = "( <img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\" align=\"absmiddle\"> |";
	}
}
/*****************************************
/* display content in div or span tag and loading img in diff div
*****************************************/
function handlerdivIdLoading2(handler) {
	var handlerType = 1;	
	if(document.getElementById("post_comment") != null)
	{
		if(document.getElementById("post_comment").value == 'N')
			handlerType = 2;
	}
				
				
	if(xmlHttpReq.readyState == 4) {
		if(xmlHttpReq.status == 200)
			{
			document.getElementById(handler).innerHTML = xmlHttpReq.responseText;
			document.getElementById(handler+ handlerType).innerHTML = "";
			document.getElementById(handler+ handlerType).style.display = "none";
			document.getElementById(handler+ handlerType).style.display = "inline";
		}
		else
		{
			alert("Error: While trying to fetch records, please try again later");
		}
	}
	else
	{
		document.getElementById(handler+ handlerType).innerHTML = "<div id=\"\" align=\"right\"><img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\"></div>";
	}
}

function online_presence_blocked_check(member_id, handler, load_image, main_image)
{
	if(xmlHttpReq.readyState == 4) 
	{
		if(xmlHttpReq.status == 200)
		{
			if(xmlHttpReq.responseText=="chat")
			{
				document.getElementById(handler).innerHTML = "<img src=\""+load_image+"\" border=\"0\">";
				window.location.href = "/z/im/chat.php?member_id="+escape(member_id)+"#chat_session_name";
			}
			else
			{	alert(xmlHttpReq.responseText);
				document.getElementById(handler).innerHTML = "<img src=\""+main_image+"\" border=\"0\">";
				
			}
		}
		else
		{
			alert("Error: While trying to fetch records, please try again later");
		}
	}
	else
	{
		document.getElementById(handler).innerHTML = "<img src=\""+load_image+"\" border=\"0\">";
	}
}

function add_scraps(divTag)
{
	if(xmlHttpReq.readyState == 4) 
	{
		if(xmlHttpReq.status == 200)
		{
			if(divTag == 'like_myzone')
			{
				var err_text = xmlHttpReq.responseText;
				var div_loading = "";
				if(document.getElementById('previous_next') && document.getElementById('previous_next').value=='Y')
				{
					div_loading = document.getElementById(divTag+"2");
				}
				else
				{
					if(document.getElementById('like_myzone1'))
						div_loading = document.getElementById('like_myzone1');
					else
						div_loading = document.getElementById('like_myzone2');
				}

				if(document.getElementById('previous_next'))
				{
					document.getElementById('previous_next').value = 'N';
				}
				if (err_text == "error")
				{
					document.getElementById ("error_check").innerHTML = "Oops! One or more words in your comment is too long. Please break the word using spaces.";
					div_loading.innerHTML = "";
				}
				else if (err_text == "error1")
				{
					document.getElementById ("error_check").innerHTML = "Oops! Your comment is too long. Please restrict it to less than 500 characters.";
					document.getElementById(divTag+"1").innerHTML = "";
				}
				else if (err_text == "error3")
				{
					document.getElementById ("error_check").innerHTML = "Oops! You need to login.";
					div_loading.innerHTML = "";
				}
				else
				{
					if(document.getElementById ("error_check"))
					{
						document.getElementById ("error_check").innerHTML = "";
						var str_comment = "";
						if(document.getElementById ("remLen"))
						document.getElementById ("remLen").value = 500;
					}
					
					var str_response = xmlHttpReq.responseText;
					var pos = 0;
					pos = str_response.lastIndexOf("<!---->");
					if(pos != -1)
					{
						document.getElementById (divTag).innerHTML = str_response.substring(0,pos-1);
						div_loading.innerHTML = str_response.substring(pos+7,str_response.length-3);;
						Quill.clearText('quillDiv1');
					}
					else
					{
						
						document.getElementById (divTag).innerHTML = str_response;
						div_loading.innerHTML = "";
						Quill.clearText('quillDiv1');
					}
				}
			}

		}//EO if(xmlHttpReq.status == 200)
		else
		{
			alert("Error: While trying to fetch records, please try again later");
		}
	}//EO if(xmlHttpReq.readyState == 4) 
	else
	{
		if(document.getElementById('previous_next') && document.getElementById('previous_next').value=='Y')
		{
			document.getElementById(divTag+"2").innerHTML = "<span id=\"\" valign=\"middle\" align=\"center\"><img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\"><span>";
		}
		else
		{
			if(document.getElementById('like_myzone1'))
				document.getElementById("like_myzone1").innerHTML = "<span id=\"\" valign=\"middle\" align=\"center\"><img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\"><span>";
			else
				document.getElementById("like_myzone2").innerHTML = "<span id=\"\" valign=\"middle\" align=\"center\"><img src=\"/zones-ssi/js-css-images/loading.gif\" border=\"0\" alt=\"Loading...\"><span>";
		}
	}
}