var timerID     	= 0;
var timerIDNumber  	= 0;
var input      	 	= 0;
var input_value 	= 0;
var previous_value 	= 0;
var AllUsers;

function resetSearch()
{
	$('agent_details').innerHTML = "<div class='section_standard'><ul><li>If you know the name or surname or even a part of the name of the agent <br>your looking for you can enter it in the <b>agent filter</b><ul><li>eg. John Doe or John</li></ul></li><li>If you wish to view the details of an agent, just click on their name in the <b>agent result</b>.</li><li>If you wish to start over just click on <b>clear search</b></li></ul></div>";
	$('filter').value = "";
	_check_new_filter($('filter'));
	$('filter').value = "eg. John Doe";
}

function loadOffice(officeID, path, url)
{
	display_office = new MaJiG_BOX("<center><img src='"+path+"'></center>");
	//$('office_details').innerHTML = "<center><img src='"+path+"'></center>";
	//showOffice();
	
	new Ajax.Request("/?page=officesearch&office_id="+officeID+"&content=main&json=yes",
     {
		onSuccess : function(response, json) 
		{
			//$('office_details').innerHTML = response.responseText;
			var oContent = $H(eval("("+response.responseText+")"));
					
			
		    display_office._set_Content("<div style='width:500px;font-size:8pt;'>"+oContent["details"]+"</div>");
		},
		onFailure : function(response)
		{
		    alert('Error loading agents (load office)');
		},
		parameters : "officeID=" + officeID + "&content=main&page=officesearch"
//		parameters : "officeID=" + officeID + "&content=main&page=agentsearch"
	}
    );
}

function displayTeams(teamID, path, url)
{
	display_team = new MaJiG_BOX("<center><img src='"+path+"'></center>");
	new Ajax.Request("/?page=meettheteam&teamID="+teamID+"&content=main",
     {
		onSuccess : function(response, json)
		{
		  display_team._set_Content(response.responseText);
		},
		onFailure : function(response)
		{
		    alert('Error loading agents (display teams)');
		},
		parameters : "teamID=" + teamID + "&content=main&page=meettheteam&viewprofile=no"
	}
    );
}

/*function showOffice()
{
	div = $('office');
	var arrayPageSize = get_page_size();
	var arrayPageScroll = get_page_scroll();
	if(div.visible())
	{
		Effect.Fade(div,{queue: 'end', scope: 'togglebar', duration:.5})
		$('backOverlay').style.display = 'none';
		show_select_boxes();
	}
	else
	{
		createBackground("showOffice();");
		hide_select_boxes();
		div.style.top 		= (arrayPageScroll[1] + (arrayPageSize[3] / 15)) + "px";
		$('office').style.width		= '50%';
		$('office').style.left 		= (arrayPageSize[2] / 3) + "px";
		Effect.Appear(div,{queue: 'end', scope: 'togglebar', duration:.5})
		$('backOverlay').style.height = (arrayPageSize[1] + 1000) + "px";
		$('backOverlay').style.display = 'block';		
	}
	
}*/

function displayAgentDetails(userID, path, url)
{
	$('agent_details').innerHTML = "<table align='center' valign='middle' height='100%' width='100%'><tr><td align='center' width='100%'><img src='"+path+"'></td></tr></table>";
	var userID = userID.options[userID.options.selectedIndex].value;
	//alert(userID);
	//new Ajax.Request('/'+url+'/',
	new Ajax.Request('http://'+url,
     {
		onSuccess : function(response, json) 
		{
		    $('agent_details').innerHTML = response.responseText;
		},
		onFailure : function(response)
		{
		    /*alert('Error loading agents at '+'/'+url+'/'+parameters);*/
		    alert('Error loading agents  (displayagentdetails)');
		},
		parameters : "userID=" + userID + "&content=main&page=agentsearch"
	}
    );
}

/*function createBackground(functionName)
{
	//if(!document.getElementById('backOverlay'))
	//{
		var objBody = document.getElementsByTagName("body").item(0);
			
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','backOverlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() { eval(functionName); return false; }
		objBody.appendChild(objOverlay);
	//}
}*/

function Load(users)
{
	AllUsers = $H(eval(users));
	Set_User_Options($('UsersSelect'),"OnLoading");
}

function contact_onKey_timer(input_element)
{
	input       = input_element;
	input_value = trim(input.value);
	if(input_value  =="")
	{
		input.value="";
	}
	
	if(timerID!=0)
	{
		clearTimeout(timerID);
	}
	timerID = setTimeout('_check_new_filter(input)', 500);
	
}
function _check_new_filter(input)
{
	if(input.value != previous_value)
	{
		previous_value = input.value;
		call_User_search(input);
	}
}
function call_User_search(filter)
{
	clearTimeout(timerID);
	get_users(filter);
}


function get_users(filter)
{
	if(filter.value == "")
	{
		Set_User_Options($('UsersSelect'),"OnLoading");
	}
	else
	{
		Set_User_Options($('UsersSelect'),filter.value);
	}
	
}

function Set_User_Options(select,Filter)
{
	var checkObject = Filter.toUpperCase();
	var optioncount=0;
	clearSelect(select);
	select.disabled = false;
	
	AllUsers.each(function(item, index)
    {
		var UserDetails  = $H(item.value);
		if(UserDetails.Name && UserDetails.LastName)
		{
			if(UserDetails.Name.search("&#039;") >= 0 || UserDetails.LastName.search("&#039;") >= 0)
			{
				UserDetails.Name = UserDetails.Name.replace("&#039;", "'");
				UserDetails.LastName = UserDetails.LastName.replace("&#039;", "'");
			}
		}
		switch(Filter)
		{
			case "OnLoading":
				//if(optioncount == 0)
				//{
				//	select.options[optioncount] = new Option('Select a contact', '');
				//	optioncount++;
				//}
				if(unescape(UserDetails.Name) != "undefined" && unescape(UserDetails.LastName) != "undefined")
				{
					select.options[optioncount]= new Option(unescape(UserDetails.LastName) + ", " + unescape(UserDetails.Name), UserDetails.UserID);
					optioncount++;
				}
				//alert(UserDetails.UserID);
			break;
			default:
				var searchObject = unescape(UserDetails.Name).toUpperCase() + " " + unescape(UserDetails.LastName).toUpperCase();
				if(searchObject.search(checkObject) >= 0 && unescape(UserDetails.Name) != "undefined" && unescape(UserDetails.LastName) != "undefined")
	       		{
	       			select.options[optioncount]= new Option(unescape(UserDetails.LastName) + ", " + unescape(UserDetails.Name), UserDetails.UserID);
	       			optioncount++;
	       		}
	       	break;
	   	}
	   	//select.options[0].selected =  true;
		//Set_Selected_Number();
	}
	);
	if(optioncount==0)
    {
    	emptytSelectOptions(select," -- No Matches Found --")
    }
}
function emptytSelectOptions(select,Value) 
{
    select.disabled = true;
    clearSelect(select);
    select.options[0] = new Option(Value, 0);
}
function clearSelect(select)
{
	select.options.length = 0;
}
function _Set_Loading(select)
{
	 clearSelect(select);
     select.disabled = true;
	 select.options[0] = new Option("Loading...", 0);
}

function trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}



