var g_Id;
var g_TargetUrl; 
//alert("1");var requestURL = "http://localhost/";
/*
function ajxRequestUrlForElement(id, targetUrl)
{
    
    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
	objDiv.innerHTML = "<table width='100%' height='338'><tr><td align='center'> Loading...Please wait!! </td></tr></table>"; 
	var url = requestURL + g_TargetUrl;  
	xmlHttp = GetXmlHttpObject(StateChangeHandler); 
	xmlHttp_Get(xmlHttp, url, true);
}
*/
function ajxRequestUrlForElement(id, targetUrl, searchVal)
{
    
    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
    var img = document.createElement('img');
    img.src = '/images/loading.gif';
    img.style.margin="20px 150px 20px 150px";
    objDiv.innerHTML = "";
    objDiv.appendChild(img);
	
	var url = requestURL + g_TargetUrl;
	if("" != searchVal)
	{
	    url += "&userInfo=" + searchVal; 
	}
   //alert(url);
	xmlHttp = GetXmlHttpObject(StateChangeHandler); 
	xmlHttp_Get(xmlHttp, url, true);
}

function ajxRequestUrlContentForElement(id, targetUrl, queryString)
{

    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
    
	var img = document.createElement('img');
    img.src = '/images/loading.gif';
    img.style.margin="20px 110px 20px 110px";
    objDiv.innerHTML = "";
    objDiv.appendChild(img);
    
	var url = requestURL + g_TargetUrl;
	//alert(url);
	if(document.getElementById("UserList") != null)
	{
	    document.getElementById("UserList").style.display = "none";
	}
	if("" != queryString)
	{
	    var randomnumber=Math.floor(Math.random()*10001)
	    url += queryString + "&cd=" + randomnumber;
	}
	
    //alert(url);
	xmlHttp = GetXmlHttpObject(StateChangeHandler);

	xmlHttp_Get(xmlHttp, url, true);
}

function ajxRequestPrivateTalkContent(id, targetUrl, queryString, bExistingConversation )
{
    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
	
	var img = document.createElement('img');
    img.src = '/images/loading.gif';
    img.style.margin="20px 110px 20px 110px";
    objDiv.innerHTML = "";
    objDiv.appendChild(img);
	 
	var url = requestURL + g_TargetUrl;
	//alert(url);
	if(bExistingConversation == true)
	{
	    document.getElementById("NewPrivateTalk").style.display = "none";
	    document.getElementById("AddToPrivateTalk").style.display = "block";
	}
	else
	{
	    document.getElementById("NewPrivateTalk").style.display = "block";
	    document.getElementById("AddToPrivateTalk").style.display = "none";
	}
	if("" != queryString)
	{
	    var randomnumber=Math.floor(Math.random()*10001)
	    url += queryString + "&cd=" + randomnumber;
	}
	
    //alert(url);
	xmlHttp = GetXmlHttpObject(StateChangeHandler_PrivateTalkDisplay);

	xmlHttp_Get(xmlHttp, url, true);
}

function ajxAddPrivateTalk(id, targetUrl, queryString, tbSourceId, tbUserIdListId)
{
    var objSource = document.getElementById(tbSourceId);
    var strValue = URLEncode(objSource.value);
    objSource.value = "";
    /**********************/
    
    var objUserList = document.getElementById(tbUserIdListId);
    var strUserList = objUserList.value;    
    /**********************/
    
    var strConvId = "";
    if(null != document.getElementById("htbConversationId"))
    {
        var objConvId = document.getElementById("htbConversationId");
        strConvId = objConvId.value;
    }
    
    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
	
	var img = document.createElement('img');
    img.src = '/images/loading.gif';
    img.style.margin="20px 110px 20px 110px";
    objDiv.innerHTML = "";
    objDiv.appendChild(img);
	 
	var url = requestURL + g_TargetUrl;
	//alert(url);
	if("" != queryString)
	{
	    url += queryString;
	    url += '&add=' + strValue;
	}
	else
	{
	    url += '?add=' + strValue;
	}
	if("" != strConvId)
	{
	    url += '&cnv=' + strConvId;
	}
	if("" != strUserList)
	{
	    url += '&userList=' + strUserList.substring(0, strUserList.length - 1);
	}
	
	var randomnumber=Math.floor(Math.random()*10001)
	url += "&cd=" + randomnumber;
	
   //alert(url);
	xmlHttp = GetXmlHttpObject(StateChangeHandler);

	xmlHttp_Get(xmlHttp, url, true);
}

function ajxAddContentThroughUrlGetContentForElement(id, targetUrl, queryString, tbSourceId)
{

    var objSource = document.getElementById(tbSourceId);
    var strValue = URLEncode(objSource.value);
    objSource.value = "";
    var strConvId = "";
    if(null != document.getElementById("htbConversationId"))
    {
        var objConvId = document.getElementById("htbConversationId");
        strConvId = objConvId.value;
    }
    
    g_Id = id;
    var objDiv = document.getElementById(g_Id);
    g_TargetUrl = targetUrl;
	
	
	var img = document.createElement('img');
    img.src = '/images/loading.gif';
    img.style.margin="20px 110px 20px 110px";
    objDiv.innerHTML = "";
    objDiv.appendChild(img);
	 
	var url = requestURL + g_TargetUrl;
	//alert(url);
	if("" != queryString)
	{
	    url += queryString;
	    url += '&add=' + strValue
	}
	else
	{
	    url += '?add=' + strValue
	}
	if("" != strConvId)
	{
	url += '&cnv=' + strConvId
	}
	
	var randomnumber=Math.floor(Math.random()*10001)
	url += "&cd=" + randomnumber;
	
   //alert(url);
	xmlHttp = GetXmlHttpObject(StateChangeHandler);

	xmlHttp_Get(xmlHttp, url, true);
    return false;
}

function StateChangeHandler() 
{ 
	//readyState of 4 or 'complete' represents that data has been returned 

	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
	{ 
	    //alert("xmlHttp.status: " + xmlHttp.status);
		if(xmlHttp.status == 200)
		{
		
			var str = xmlHttp.responseText; 

			document.getElementById(g_Id).innerHTML = str; 
		}
		else
		{
			document.getElementById(g_Id).innerHTML = strErrorMessageStart + "Sorry we cannot currently display the requested information.";
		}
	} 
}


function StateChangeHandler_PrivateTalkDisplay() 
{ 
	//readyState of 4 or 'complete' represents that data has been returned 

	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
	{ 
	    //alert("xmlHttp.status: " + xmlHttp.status);
		if(xmlHttp.status == 200)
		{
			var str = xmlHttp.responseText; 
            //var strarr = str.split("<div style='position:relative; float:left; margin:20px 0px 0px 0px;'>(message&nbsp;sent&nbsp;to...)</div>");
            var strarr = str.split("<*#386365#*>");
            
            if(strarr.length > 1)
            {
                document.getElementById("UserDisplay").innerHTML = strarr[1];
            }
            else
            {
                document.getElementById("UserDisplay").innerHTML = "";
            }
			document.getElementById(g_Id).innerHTML = strarr[0]; 
		}
		else
		{
			document.getElementById(g_Id).innerHTML = strErrorMessageStart + "Sorry we cannot currently display the requested information.";
		}
	} 
}


//////////////////////////////////////////////////////////////////////////////
//ajx file contents

var xmlHttp;  
//var requestURL = "http://localhost/";
var requestURL = "http://www.bignoticeboard.co.uk/";
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
//netscape, safari, mozilla behave the same??? 
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 

var strErrorMessageStart = "<table height='100%'><tr><td height='100%' align='center' valign='middle'>"
var strErrorMessageEnd = "</td></tr></table>";


// XMLHttp send GET request		 
function xmlHttp_Get(xmlhttp, url, bAsynch) 
{ 
	xmlhttp.open("GET", url, bAsynch); 
	xmlhttp.send(null); 
} 
		
		
function xmlHttp_Post( xmlhttp, url, postInfo, bAsynch )
{
	xmlHttp.open("POST", url, bAsynch)
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.send(postInfo);
}
		
		
function GetXmlHttpObject(handler) 
{ 
	var objXmlHttp = null;    //Holds the local xmlHTTP object instance 

	//Depending on the browser, try to create the xmlHttp object 
	if (is_ie){ 
		//The object to create depends on version of IE 
		//If it isn't ie5, then default to the Msxml2.XMLHTTP object 
		var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
         
		//Attempt to create the object 
		try{ 
			objXmlHttp = new ActiveXObject(strObjName); 
			objXmlHttp.onreadystatechange = handler; 
		} 
		catch(e){ 
		//Object creation errored 
			alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); 
			return; 
		} 
	} 
	else if (is_opera){ 
		//Opera has some issues with xmlHttp object functionality 
		alert('Opera detected. The page may not behave as expected.'); 
		return; 
	} 
	else{ 
		// Mozilla | Netscape | Safari 
		objXmlHttp = new XMLHttpRequest(); 
		objXmlHttp.onload = handler; 
		objXmlHttp.onerror = handler; 
	} 
     
	//Return the instantiated object 
	return objXmlHttp; 
} 

function getFormValues(frmObject)
{
	var str = "";
	var valueArr = null;
	var val = "";
	var strValue = "";
	for (var i = 0; i < frmObject.elements.length; i++)
	{
		switch(frmObject.elements[i].type)
		{
		    
			case "text":
			    strValue = frmObject.elements[i].value;
			    strValue = strValue.replace("&","<amp>");
				str += frmObject.elements[i].name + "=" + strValue + "&";
				break;
			case "textarea":
			    strValue = frmObject.elements[i].value;
			    strValue = strValue.replace("&","<amp>");
				str += frmObject.elements[i].name + "=" + strValue + "&";
				break;
			case "select-one":
			    strValue = frmObject.elements[i].value;
			    strValue = strValue.replace("&","<amp>");
				str += frmObject.elements[i].name + "=" + strValue + "&";
				break;
			case "checkbox":
				if(frmObject.elements[i].checked = true)
				{
					strChecked = "Y";
				}
				else
				{
					strChecked = "N";
				}
				str += frmObject.elements[i].name + "=" + strChecked + "&";
				break;
			case "hidden":
				str += frmObject.elements[i].name + "=" + frmObject.elements[i].value + "&";
				break;
		}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}



function URLEncode(string )
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = string;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};