function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}


/************************ presence *************************/
var http = createRequestObject();

function sndReq() {
	
		var url = "ajax_engine/presence.jsp";
    http.open('get', url);
    http.onreadystatechange = handleResponse;
    http.send(null);
    setTimeout("sndReq()",60000)
   
}

function handleResponse() {
  if(http.readyState == 4){
    var response = http.responseText;
		
    var update = new Array();

		if(response.indexOf('|') != -1) {
      update = response.split('|');
      for (i=0;i<update.length;i=i+2) {

      	if (update[i+1] == "1") {
      		if (document.getElementById("buddy__" + update[i]) != null)
      			document.getElementById("buddy__" + update[i]).innerHTML = "<img src='images/online.png' alt='agilesip online'>";
      	} else {
      		if (document.getElementById("buddy__" + update[i]) != null)
      			document.getElementById("buddy__" + update[i]).innerHTML = "<img src='images/offline.png' alt='agilesip offline'>";
      	}
      }
   	}
  }
}
/************************ eof presence *************************/

/************************ sms *************************/

var httpSMS = createRequestObject();

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function sendsmsReq(f) {
		f.btnsendsms.disabled = true;

		var querystring = "?domain=" + escape(f.domain.value) + "&operator=" + f.phone_operator.value + "&PhoneNumber=" + escape(trim(f.phone.value)) + "&Text=" + escape(f.Text.value) + "&sig=" + escape(f.sig.value) + "&mobileid=" + escape(f.mobileid.value);

		var url = "/d/web/ajax_engine/sendsms.jsp" + querystring;
		
    httpSMS.open('get', url);
    httpSMS.onreadystatechange = handleResponseSMS;
    httpSMS.send(null);
		
}




function handleResponseSMS() {
  if(httpSMS.readyState == 4){
		var response = httpSMS.responseText;

		if (response.indexOf("100") != -1) {
			// good
			document.getElementById("smsresult").innerHTML = "<font color=\"green\">SMS has been sent</font>";
			document.sendsms.btnsendsms.disabled = false;
		} else if (response.indexOf("400") != -1) {
			document.getElementById("smsresult").innerHTML = "<font color=\"red\">SMS can not be sent</font>";
			document.sendsms.btnsendsms.disabled = false;
		} else if (response.indexOf("200") != -1) {
			// good
			document.getElementById("picsmsresult").innerHTML = "<font color=\"green\">SMS has been sent</font>";
			document.sendpicsms.btnsendsms.disabled = false;
		} else if (response.indexOf("403") != -1) {
			document.getElementById("picsmsresult").innerHTML = "<font color=\"red\">SMS can not be sent</font>";
			document.sendpicsms.btnsendsms.disabled = false;
		}

		
		

  }
}

/***************************** eof sms *********************************/

/************************ httpInviteBuddy *************************/

var httpInviteBuddy = createRequestObject();
var refreshval = "";
var refreshdiv = "";
function sendibReq() {

		var f = document.invitebuddy;
		
		if (f.sendinv != null) {
			f.sendinv.disabled = true;
		}
		if (f.refresh != null) {
			refreshval = f.refresh.value;
		}
		
		if (f.refreshdiv != null) {
			refreshdiv = f.refreshdiv.value;
		}
		
		var querystring = "?yourname=" + escape(f.yourname.value) + 
			"&buddyname=" + escape(f.buddyname.value) + 
			"&buddyemail=" + f.buddyemail.value + 
			"&buddy_type=" + f.buddy_type.value;


		var url = "ajax_engine/sendbuddyinv.jsp" + querystring;
		
    httpInviteBuddy.open('get', url);
    httpInviteBuddy.onreadystatechange = handleResponseIB;
    httpInviteBuddy.send(null);

}

function senduibReq() {
		var f = document.invitebuddy;
		var buddyid = "";
		
		if (f.buddyid != null) {
			buddyid = f.buddyid.value;
		}
		if (f.refresh != null) {
			refreshval = f.refresh.value;
		}
	
		var querystring = "?uninvite=1&buddyid=" + buddyid;

		var url = "ajax_engine/sendbuddyinv.jsp" + querystring;
		
    httpInviteBuddy.open('get', url);
    httpInviteBuddy.onreadystatechange = handleResponseIB;
    httpInviteBuddy.send(null);

}




function handleResponseIB() {
  if(httpInviteBuddy.readyState == 4){
		var response = httpInviteBuddy.responseText;

		if (refreshval != "") {
			document.location.href = refreshval;
		}

		
//		document.getElementById("invitebuddyresult").innerHTML = response;
alert(response);

		if (document.invitebuddy.sendinv != null) {
			document.invitebuddy.sendinv.disabled = false;
		}

  }
}

/***************************** eof httpInviteBuddy *********************************/



/************************ httpAuthBuddy *************************/

var httpAuthBuddy = createRequestObject();
var refreshval = "";
function sendabreq(auth,id,url) {
		refreshval = url;
		
	
		var querystring = "?auth=" + escape(auth) + 
			"&id=" + escape(id);

		var url = "ajax_engine/authbuddy.jsp" + querystring;
		
    httpAuthBuddy.open('get', url);
    httpAuthBuddy.onreadystatechange = handleResponseAB;
    httpAuthBuddy.send(null);

}

function handleResponseAB() {
  if(httpAuthBuddy.readyState == 4){
		var response = httpAuthBuddy.responseText;
		if (refreshval != "") {
			document.location.href = refreshval;
		}
		
		document.getElementById("authbuddyresult").innerHTML = response;


  }
}

/***************************** eof httpAuthBuddy *********************************/


/************************ get username from phone or email *************************/

var httpGetUser = createRequestObject();
var loginform;
function sendgetuserReq(f) {

		loginform = f;
		loginform.btnlogin.disabled = true;

		var querystring = "?uinfo=" + f.email.value + "&pico=" + f.password.value;

		var url = "ajax_engine/getuser.jsp" + querystring;
		
    httpGetUser.open('get', url);
    httpGetUser.onreadystatechange = handleResponseGetUser;
    httpGetUser.send(null);
	
}


function replaceAll( str, replacements ) {
    for ( i = 0; i < replacements.length; i++ ) {
        var idx = str.indexOf( replacements[i][0] );

        while ( idx > -1 ) {
            str = str.replace( replacements[i][0], replacements[i][1] ); 
            idx = str.indexOf( replacements[i][0] );
        }

    }

    return str;
}

function handleResponseGetUser() {
  if(httpGetUser.readyState == 4){
		var response = httpGetUser.responseText;

		if (response.indexOf("Login Error: ") >= 0) {
			document.getElementById("loginerr").innerHTML="<font color=\"red\">" + response + "</font>";
		} else if (response.indexOf("HTTP Status 500") >= 0) {
			document.getElementById("loginerr").innerHTML="<font color=\"red\">Database is under maintenance. Please try again later.</font>";
		} else {
                        //response = replaceAll(response, [["\r", ""]]);
                        //response = replaceAll(response, [["\n", ""]]);
document.open();
document.write(response);
document.close();
			//document.getElementById("loginbox").innerHTML = response;
			//document.getElementById("subnav").innerHTML = '<a href="#">News</a><span class="globnav_bullet"> &#183; </span><a href="#">About Us</a><span class="globnav_bullet"> &#183; </span><a href="index.jsp?logoff=1">Log Off</a>';
		}
		loginform.btnlogin.disabled = false;
		

  }
}

/***************************** eof get username *********************************/


/************************ get lost password *************************/

var httpGetPass = createRequestObject();
var loginform;
function sendRetrievePassRequest(f) {
		
		loginform = f;
		loginform.btnlogin.disabled = true;

		var querystring = "?uinfo=" + f.uinfo.value;

		var url = "ajax_engine/getpass.jsp" + querystring;
		
    httpGetPass.open('get', url);
    httpGetPass.onreadystatechange = handleResponseGetPass;
    httpGetPass.send(null);
		
}




function handleResponseGetPass() {
  if(httpGetPass.readyState == 4){
		var response = httpGetPass.responseText;

		if (response.indexOf("Error: ") >= 0) {
			document.getElementById("signinresult").innerHTML="<font color=\"red\">" + response + "</font>";
		} else {
			document.getElementById("signinresult").innerHTML="<font color=\"green\">" + response + "</font>";
		}
		loginform.btnlogin.disabled = false;

  }
}

/***************************** eof get lost password *********************************/



/************************ get tags from categories on mapping *************************/

var httpGetTags = createRequestObject();
var map_form;
function getTagsRequest(f,cat) {
		map_form = f;
		f.btnshowmap.disabled = true;
		f.category.disabled = true;
		f.tag.disabled = true;

		var querystring = "?cat=" + cat;

		var url = "/d/web/ajax_engine/getmaptags.jsp" + querystring;
		
    httpGetTags.open('get', url);
    httpGetTags.onreadystatechange = handleResponseGetTags;
    httpGetTags.send(null);
		
}

function getPOITagsRequest(f,cat) {
		map_form = f;
		f.btnshowmap.disabled = true;
		f.category.disabled = true;
		f.tag.disabled = true;

		var querystring = "?poi=1&cat=" + cat;

		var url = "../ajax_engine/getmaptags.jsp" + querystring;
		
    httpGetTags.open('get', url);
    httpGetTags.onreadystatechange = handleResponseGetTags;
    httpGetTags.send(null);
		
}

function getTagsRequest2(f,cat) {
		map_form = f;
		f.btnshowmap.disabled = true;
		f.category.disabled = true;
		f.tag.disabled = true;

		var querystring = "?cat=" + cat;

		var url = "../ajax_engine/getmaptags.jsp" + querystring;
		
    httpGetTags.open('get', url);
    httpGetTags.onreadystatechange = handleResponseGetTags;
    httpGetTags.send(null);
		
}



function handleResponseGetTags() {
  if(httpGetTags.readyState == 4){
		var response = httpGetTags.responseText;
		var index = response.indexOf("|||||");

		document.getElementById("tagsforcat").innerHTML=response.substring(0,index);
		if (document.getElementById("tagssuggest") != null) {
			document.getElementById("tagssuggest").innerHTML=response.substring(index+5);
		}

		
		map_form.btnshowmap.disabled = false;
		map_form.category.disabled = false;
		map_form.tag.disabled = false;

  }
}

/***************************** eof get tags from categories on mapping *********************************/



/************************ search maps *************************/

var httpSearchMap = createRequestObject();
var searchmap_form;
function searchMapRequest(f) {

		searchmap_form = f;
		f.btnSearchMap.disabled = true;
		var tag = f.searchbytag.value;
		var querystring = "?tag=" + escape(tag);

		var url = "ajax_engine/searchmaps.jsp" + querystring;
		
    httpSearchMap.open('get', url);
    httpSearchMap.onreadystatechange = handleResponseSearchMap;
    httpSearchMap.send(null);
   
		
}




function handleResponseSearchMap() {
  if(httpSearchMap.readyState == 4){
		var response = httpSearchMap.responseText;

		document.getElementById("searchmapresult").innerHTML=response;

		searchmap_form.btnSearchMap.disabled = false;

  }
}

/***************************** eof search maps *********************************/




/************************ send vcard *************************/

var httpSendVcard = createRequestObject();
var refreshval = "";
var refreshdiv = "";
function sendvcardReq(username,email) {
	input_box = confirm("Send Vcard?");
	if (input_box == true) {

		
		var querystring = "?username=" + escape(username) + "&email=" + escape(email);


		var url = "ajax_engine/sendvcard.jsp" + querystring;
		
    httpSendVcard.open('get', url);
    httpSendVcard.onreadystatechange = handleResponseVcard;
    httpSendVcard.send(null);
	}
}




function handleResponseVcard() {
  if(httpSendVcard.readyState == 4){
		var response = httpSendVcard.responseText;

	//	document.getElementById("invitebuddyresult").innerHTML = response;
alert(response);


  }
}

/***************************** eof httpInviteBuddy *********************************/



































	function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function
