function get_selection(prefix, suffix, object_id)
{
	if(document.selection!=null)
	{
	var textare_text_range=document.getElementById(object_id).createTextRange();
	document.getElementById(object_id).focus();
	var text_range=document.selection.createRange();
	text_range.text=prefix+text_range.text+suffix;
	oRange.select();
	text_element.focus();
	}
	if(document.selection==null)
	{
	text_element=document.getElementById(object_id);
	var replace_before_text=text_element.value.substr(0, text_element.selectionStart);
	var replace_after_text=text_element.value.substr(text_element.selectionEnd, (text_element.value.length-text_element.selectionEnd));
	var replace_text=text_element.value.substr(text_element.selectionStart, (text_element.selectionEnd-text_element.selectionStart));
	text_element.value=replace_before_text+prefix+replace_text+suffix+replace_after_text;
	text_element.focus();
	text_element.setSelectionRange(replace_before_text.length, (replace_before_text.length+prefix.length+replace_text.length+suffix.length));
	}
}
/////////////////////////////////////////////////////////////
function get_absolute_position(obj)
{
var x = 0, y = 0;
	for(;;)
	{
		if(obj==null){ break; }
	x=x+obj.offsetLeft;
	y=y+obj.offsetTop;
	obj = obj.offsetParent;
	}
return {x:x, y:y};
}
////////////////////////////////////////////////////////////////////////////// Start Get XML Http Object
function getXMLHTTPRequest()
{
//alert(window.ActiveXObject);
var request = false;
	try
	{
	request = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	}
	catch(err1)
	{
		try
		{
	    request = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
		}
		catch(err2)
		{
		//alert('Msxml2.XMLHTTP failed');
			try
			{
			request = new ActiveXObject("Microsoft.XMLHTTP"); /* some versions IE */
			}
			catch(err3)
			{
			//alert('Microsoft.XMLHTTP failed');
			alert('Your browser does not support AJAX or you have disabled ActiveX Controls in your browser. Please enable them and try again.!');
	        request = false;
			}
		}
	}
return request;
}
////////////////////////////////////////////////////////////////////////////// End Get XML Http Object
var get_data_request = getXMLHTTPRequest();

/////////////////////////////////////////////////////////////////////////////////////////////
function process_ajax_response()
{
	if(get_data_request.readyState==4) //if request completed
	{
		if(get_data_request.status=="200") //If status 200 "OK"
		{
		document.getElementById('category_list_id').innerHTML=get_data_request.responseText;
		}
	}
}
////////////////////////////////////////////////////////////////////
var result_function_call='';
function send_data(data_to_send, page, result_function)
{
	if(!get_data_request)
	{
	alert('Error. You cannot use this feature '+"\r\n"+' because your browser does not support AJAX or you have disabled ActiveX Controls in your browser. Please enable them and try again.!');
	return;
	}

get_data_request.abort();
get_data_request.open('POST',  page, true);
get_data_request.onreadystatechange = process_ajax_response;
get_data_request.setRequestHeader("Content-Length", data_to_send.toString().length);
get_data_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
get_data_request.send(data_to_send.toString());

result_function_call=result_function;
}
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
function process_ajax_response()
{
	if(get_data_request.readyState==4) //if request completed
	{
		if(get_data_request.status=="200") //If status 200 "OK"
		{

		eval(result_function_call+'(get_data_request.responseText);');
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
var result_function_call_ex='', http_request=null;
function send_data_ex(XMLHttpRequest, data_to_send, page, result_function)
{
http_request=XMLHttpRequest;
	if(!XMLHttpRequest)
	{
	alert('Error. Some features may not working. '+"\r\n"+'Because your browser does not support AJAX or you have disabled ActiveX Controls in your browser. Please enable them and try again.!');
	return;
	}

XMLHttpRequest.abort();
XMLHttpRequest.open('POST',  page, true);
XMLHttpRequest.onreadystatechange = process_ajax_response_ex;
XMLHttpRequest.setRequestHeader("Content-Length", data_to_send.toString().length);
XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequest.send(data_to_send.toString());

result_function_call_ex=result_function;
}
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
function process_ajax_response_ex()
{
	if(http_request.readyState==4) //if request completed
	{
		if(http_request.status=="200") //If status 200 "OK"
		{
		eval(result_function_call_ex+'(http_request.responseText);');
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
var IE = document.all!=null?true:false;
var cursor_x = 0;
var cursor_y = 0;

if(window.addEventListener!=null)
{
//document.captureEvents(Event.MOUSEMOVE)
window.addEventListener("mousemove", get_mouse_XY, false);
}
if(window.addEventListener==null)
{
//window.attachEvent('mousemove', getMouseXY);
document.onmousemove = get_mouse_XY;
}

function get_mouse_XY(e)
{
	if(IE==true)
	{
	cursor_x = document.documentElement.scrollLeft+event.clientX
	cursor_y = document.documentElement.scrollTop+event.clientY;
	}
	else if(e.pageX!=null)
	{
	cursor_x = e.pageX;
	cursor_y = e.pageY;
	}
if (cursor_x < 0){cursor_x = 0;}
if (cursor_y < 0){cursor_y = 0;}
//document.getElementById('info_layer').innerHTML=tempX;
//document.getElementById('info_layer').innerHTML+='----'+tempY;

return true;
}
/////////////////////////////////////////////////////////////
function b(obj, top, left)
{
obj.style.backgroundPosition=''+top+'px '+left+'px';
}

function move_sc(id, step_x, step_y)
{
var obj=document.getElementById(id), obj_width=parseInt(obj.offsetWidth), obj_height=parseInt(obj.offsetHeight), obj_left=obj.style.left.length>0?parseInt(obj.style.left):0, obj_top=obj.style.top>0?parseInt(obj.style.top):0;
var obj_parent=obj.parentNode, parent_width=obj_parent.offsetWidth, parent_height=obj_parent.offsetHeight;
	if((obj_width<parent_width)&&(step_x>0)){ return; }
	if((obj_height<parent_height)&&(step_y>0)){ return; }

	var new_left=obj_left+step_x;
	if(new_left>0){new_left=0; }
	if((new_left+obj_width)<parent_width)
	{
		if(obj_width<parent_width){ new_left=0; }
		else
		{
			if(new_left<0)
			{
			new_left=(parent_width-obj_width);
			}
		}
	}
	obj.style.left=new_left+'px';


	var new_top=obj_top+step_y;
	if(new_top>0){new_top=0; }
	if((new_top+obj_height)<parent_height)
	{
		if(obj_height<parent_height){ new_top=0; }
		else
		{
			if(new_top<0)
			{
			new_top=(parent_height-obj_top);
			}
		}
	}
	obj.style.top=new_top+'px';
}
var scroll_obj_id={};
function scroll(id, step_x, step_y)
{
	if(scroll_obj_id[id]==null){ scroll_obj_id[id]={'timer':'cleared', 'step_x':step_x, 'step_y':step_y}; }
		if((step_x==0)&&(step_y==0)){  if(scroll_obj_id[id].timer!='cleared'){ window.clearInterval(scroll_obj_id[id].timer); scroll_obj_id[id].timer='cleared'; } }
		else if((step_x!=0)||(step_y!=0))
		{
		scroll_obj_id[id].timer=window.setInterval('move_sc(\''+id+'\', '+step_x+', '+step_y+');', 50);
		}
//alert(scroll_obj_id[id]);
}

function create_s_options_list(nv_pairs, selection_value)
{
var options='';
for(var name in nv_pairs){ options+='<option value="'+nv_pairs[name]+'" '+(nv_pairs[name]==selection_value?'selected':'')+'>'+name+'</option>'; }
return options;
}
