// start ajaxrequest.js


// Following is a javascript function that makes a httprequest - AJAX. This is the AJAX bit and all that is needed in that manner.
// Only in this one we won't be using XML in our response, we will accept and handle
// pure text and html and display this response directly to the user within the
// desired <div id> tags. It can even be used to include pure html files as a substitute
// solution to the "old" frames method where as no php or other scripting language is nessesary on the server.
// but use it with care - it is not a search engine supported method and indexing will fail. Workaround for this is not included here
function deletecontact(name,mobile) 
{
	$.ajax({
			type: "POST",
		    url: "./inc/__deletecontact.php",
            data: "name="+name+"&mobile="+mobile,
            success: function(msg){
				location.href = "index.php?action=managecontacts"
			}
        });
}
function addcontacts() 
{
	//alert("adding contacts");
	var contactname=document.getElementById("contactname").value;
	var contactmobile=document.getElementById("contactmobile").value;
	var length = contactmobile.length;
	if (contactname == "")
	{
		alert("Please enter contact name");
	}
	else{
		if (contactmobile == "")
		{
			alert("Please enter mobile number");
		}else{
			if (length != 10)
			{
				alert("Mobile number should be 10 charecters");
			}
			else{
					if((contactmobile.charAt(0) != 9) || (IsNumeric(contactmobile) == false))
					{
						alert("Invalid mobile number");
					}else{
			
							$.ajax({
								type: "POST",
								url: "./inc/__addcontacts.php",
								data: "name="+contactname+"&mobile="+contactmobile,
								success: function(msg){
									//alert("contact added");
									//alert(msg);
									if(msg=="alreadyexists"){
									
									}else{
										location.href = "index.php?action=managecontacts"
									}									
								}
							});												
					}
			}
		}
	}
}
function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


function MyAjaxRequest(target_div,file,check_div)
{

var MyHttpRequest = false;
var MyHttpLoading = '<img src="images/loading.gif" border="0" alt="running" />';
var ErrorMSG = 'Sorry - No XMLHTTP support in your browser, buy a newspaper instead';

if(check_div)
{
	var check_value = document.getElementById(check_div).value;
}
else
{
	var check_value = '';
}

if(window.XMLHttpRequest) // client use Firefox, Opera etc - Non Microsoft product
{
	try
	{
		MyHttpRequest = new XMLHttpRequest();
	}
	catch(e)
	{
		MyHttpRequest = false;
	}
}

else if(window.ActiveXObject) // client use Internet Explorer
{
	try
	{
		MyHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			MyHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			MyHttpRequest = false;
		}
	}
}

else
{
	MyHttpRequest = false;
}



if(MyHttpRequest) // browser supports httprequest
{
	var random = Math.random() * Date.parse(new Date()); // make a random string to prevent caching
	var file_array = file.split('.'); // prepare to check if we have a query string or a html/htm file

	if(file_array[1] == 'php') // no query string, just calling a php file
	{
		var query_string = '?rand=' + random;
	}
	else if(file_array[1] == 'htm' || file_array[1] == 'html') // calling a htm or html file
	{
	  var query_string = '';
	}
	else // we have presumable a php file with a query string attached
	{
	  var query_string = check_value + '&rand=' + random;
	}

	MyHttpRequest.open("get", url_encode(file + query_string), true); // <-- run the httprequest using GET

	MyHttpRequest.onreadystatechange = function ()
	{
		if(MyHttpRequest.readyState == 4) // done and responded
		{
			//getAvailabilty(MyHttpRequest.responseText);
			document.getElementById(target_div).innerHTML = MyHttpRequest.responseText; // display result
		}
		else
		{
			document.getElementById(target_div).innerHTML = MyHttpLoading; // still working
		}
	}	
	MyHttpRequest.send(null);
}

else 
{
	document.getElementById(target_div).innerHTML = ErrorMSG; // the browser was unable to create a httprequest
}
}
// end of "AJAX" function


// Here follows a function to urlencode the string we run through our httprequest, it has nothing to do with AJAX itself
// If you look carefully in the above httprequest you se that we use this url_encode function around the file and query_string
// This is very handy since we are using GET in our httprequest and for instance
// any occurrance of the char # (from textboxes etc) will brake the string we are sending to our file - we don't want that to brake!
// It will also convert spaces to +



function url_encode(string)
{
var string;
var safechars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/-_.&?=";
var hex = "0123456789ABCDEF";
var encoded_string = "";
for(var i = 0; i < string.length; i++)
{
var character = string.charAt(i);
if(character == " ")
{
encoded_string += "+";
}
else if(safechars.indexOf(character) != -1)
{
encoded_string += character;
}
else
{
var hexchar = character.charCodeAt(0);
if(hexchar > 255)
{
encoded_string += "+";
}
else
{
encoded_string += "%";
encoded_string += hex.charAt((hexchar >> 4) & 0xF);
encoded_string += hex.charAt(hexchar & 0xF);
}
}
}
return encoded_string;
}

// end .js file