//==========================================================
// This following section is for AJAX activities
//==========================================================
// Create by Zhanshan Dong, May 21,2009
// Modified on June 6, 2009
// Version 1.0.20

var xmlhttp;
var xmlhttp2;

//----------------------------------------------------------
// The following function is for bookmarks
function createBookmarks(id_items)
{
	var urlpart ="id="+id_items;
	if (id_items == "") 
	{
		var doc_url = document.URL;
		var doc_title = document.title.replace(/ /g,'+');
		urlpart = "doc_url="+doc_url+"&doc_title="+doc_title;
	}
	var twitter     = "<a href=\"/bookmark.php?bmtype=twitter&"+urlpart+"\" target=\"_bookmark_\" title=\"twitter\"><img src=\"/image/twitter.png\" border=\"0\" /></a>";
	var digg        = "<a href=\"/bookmark.php?bmtype=digg&"+urlpart+"\" target=\"_bookmark_\" title=\"digg\"><img src=\"/image/digg.gif\" border=\"0\" /></a>";
	var delicous    = "<a href=\"/bookmark.php?bmtype=delicous&"+urlpart+"\" target=\"_bookmark_\" title=\"delicous\"><img src=\"/image/delicious.gif\" border=\"0\" /></a>";
	var reddit      = "<a href=\"/bookmark.php?bmtype=reddit&"+urlpart+"\" target=\"_bookmark_\" title=\"reddit\"><img src=\"/image/reddit.png\" border=\"0\" /></a>";
	var StumbleUpon = "<a href=\"/bookmark.php?bmtype=stumbleupon&"+urlpart+"\" target=\"_bookmark_\" title=\"stumbleupon\"><img src=\"/image/stumbleupon.gif\" border=\"0\" /></a>";
	var yahoo       = "<a href=\"/bookmark.php?bmtype=yahoo&"+urlpart+"\" target=\"_bookmark_\" title=\"yahoo\"><img src=\"/image/yahoo.png\" border=\"0\" /></a>";
	var google      = "<a href=\"/bookmark.php?bmtype=google&"+urlpart+"\" target=\"_bookmark_\" title=\"google\"><img src=\"/image/google.png\" border=\"0\" /></a>";
	var facebook    = "<a href=\"/bookmark.php?bmtype=facebook&"+urlpart+"\" target=\"_bookmark_\" title=\"facebook\"><img src=\"/image/facebook.gif\" border=\"0\" /></a>";
	document.write(twitter+digg+delicous+reddit+StumbleUpon+yahoo+google+facebook);
}

//----------------------------------------------------------
// The following functions are for search
var callback_search = function()
{
	if (xmlhttp.readyState==4)
	  {
		document.getElementById("dealbody").innerHTML=xmlhttp.responseText;
	  }
}

function clearText()
{
	search.keyword.value = "";
}

function countChars(str,ch)
{
	var i=0;
	var nChars=0;
	while (i<=str.length) {
		if (str.substring(i,i+1) == ch) {
			nChars++;
		}
		i++;
	}
	return nChars;
}

function submitSearch()
{
	searchkey = escape(encodeURI(search.keyword.value ));
	if (searchkey != '-') {
		var filepath = "";
		var nslashes = countChars(location.pathname,"/");
		for (i=nslashes; i>1; i--)
		{
			filepath += "../";
		}
		//alert(location.pathname + "|"+ filepath+"|"+slashes);
		
		var url="/search.php";
		url=url+"?keyword="+searchkey;
		url=url+"&filepath="+filepath;
		makeGETrequest(url, callback_search);
	}
	else
	{
		alert('Please enter keywords or a phrase');
	}
}

//-----------------------------------------------------------
// The following functions are for tags
var callback_tags = function()
{
	if (xmlhttp2.readyState==4)
	  {
	  document.getElementById("tags").innerHTML=xmlhttp2.responseText;
	  }
}

function showTags()
{
	var url="/tags.html";
	makeGETrequest2(url, callback_tags);
}

//-----------------------------------------------------------
// The following functions are for comment
var callback_comment = function()
{
	if (xmlhttp.readyState==4)
	  {
	  document.getElementById("comment").innerHTML=xmlhttp.responseText;
	  }
}

function showComment(str)
{
	var url="../comment.php";
	url=url+"?id_items="+str;
	makeGETrequest(url, callback_comment);
}

function submitComment()
{
//      var poststr = "id_items=" + escape(encodeURI(addcomment.id_items.value )) +
//                    "&comment=" + escape(encodeURI(addcomment.comment.value )) +
//                    "&name=" + escape(encodeURI( addcomment.name.value )) +
//                    "&email=" + escape(encodeURI( addcomment.email.value )) +
//                    "&captcha_code=" + escape(encodeURI(addcomment.captcha_code.value ));
      var poststr = "id_items=" + escape(addcomment.id_items.value ) +
                    "&comment=" + escape(addcomment.comment.value ) +
                    "&name=" + escape(addcomment.name.value ) +
                    "&email=" + escape( addcomment.email.value ) +
                    "&captcha_code=" + escape(addcomment.captcha_code.value );
      makePOSTRequest('../comment.php', poststr, callback_comment);
}

//----------------------------------------------------------------
// The following functions are for contact
var callback_contact = function() 
{
	if (xmlhttp.readyState==4)
	  {
	  document.getElementById("contact").innerHTML=xmlhttp.responseText;
	  }
}

function showContact(str)
{
	var url="./contact.php";
	url=url+"?new="+str;
	makeGETrequest(url, callback_contact);
}

function submitContact()
{
	var poststr = "sender=" + escape(encodeURI(contact_form.sender.value )) +
		    "&mbody=" + escape(encodeURI(contact_form.mbody.value )) +
		    "&subject=" + escape(encodeURI(contact_form.subject.value )) +
		    "&email=" + escape(encodeURI(contact_form.email.value )) +
		    "&captcha_code=" + escape(encodeURI(contact_form.captcha_code.value ));
	makePOSTRequest('./contact.php', poststr, callback_contact);
}

//-------------------------------------------------------------
// common functions are for AJAX
// To make POST request
function makePOSTRequest(url, parameters, callback) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }

	xmlhttp.onreadystatechange=callback;
	xmlhttp.open('POST', url, true);
        if(xmlhttp.overrideMimeType)
        {               
		xmlhttp.overrideMimeType('text/xml');
        }
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", parameters.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.send(parameters);
}

// To make GET request
function makeGETrequest(url, callback)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	xmlhttp.onreadystatechange=callback;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

// To make GET request
function makeGETrequest2(url, callback)
{
	xmlhttp2=GetXmlHttpObject();
	if (xmlhttp2==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	xmlhttp2.onreadystatechange=callback;
	xmlhttp2.open("GET",url,true);
	xmlhttp2.send(null);
}

// create xmlHTTPobject
function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  return new XMLHttpRequest();
	  }
	if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  return new ActiveXObject("Microsoft.XMLHTTP");
	  }
	return null;
}
