var show_borrow_action_entry = true;
var current_user_review;
var title_str;
var current_pages;

var trash_can_shelf_id;
var wish_list_shelf_id;
var shelf_array = null;
var current_borrow_status = -1;
var after_page_marker_elem = null;
var delayed_exec = null;
var drag_allowed = false;
var page_height = 0;
var first_page = null;
var page_moving = false;
var before_page = null;
var page_loc_diff_y = 0;
var page_loc_diff_x = 0;
var page_loc_start_x = 0;
var page_loc_start_y = 0;
var page_drag_mode = false;
var page_edit_mode = false;
var current_page = null;
var current_page_data = '';
var detail_options = null;
var ajax_rqst_url = base_url + "/_rpc.php";
var last_profile_comment_view_time 	= '';
var show_borrow_indicator 					= false;
var borrow_status 									= 0;
var edit_timer 											= null;
var borrow_item_id 									= 0;
var http 														= null;
var http_request 										= null;
var comment_edit 										= null;

var comment_total_result_count 			= 0;
var comment_result_count 						= 0;
var comment_start_index 						= 0;
var comment_item_count 							= 10;

var others_total_result_count 			= 0;
var others_result_count 						= 0;
var others_start_index 							= 0;
var others_item_count 							= 6;

var borrowers_total_result_count 		= 0;
var borrowers_result_count 					= 0;
var borrowers_start_index 					= 0;
var borrowers_item_count 						= 10;

var request_for_others_item_send	 	= false;
var request_for_borrowers_list_send = false;
var post_mode 											= 0;
var edit_comment_id 								= 0;
var browser_is_ie 									= false;

   function init() {
       // quit if this function has already been called
       if (arguments.callee.done) return;

       // flag this function so we don't do the same thing twice
       arguments.callee.done = true;

       // create the "page loaded" message
       init_page();
   };

   /* for Mozilla */
   if (document.addEventListener) {
       document.addEventListener("DOMContentLoaded", init, false);
   }

   /* for Internet Explorer */
   /*@cc_on @*/
   /*@if (@_win32)
       document.write("<script defer src=http://www.gurulib.com/_ie_onload.js><"+"/script>");
   /*@end @*/

   /* for other browsers */
   window.onload = init;


function abort_http_request()
{
	if(http_request != null)
		{
		if (http_request.readyState != 0)
			http_request.abort();
		}
}

function trim(TRIM_VALUE)
{
if(TRIM_VALUE.length < 1)
	{
	return"";
	}
TRIM_VALUE = rtrim(TRIM_VALUE);
TRIM_VALUE = ltrim(TRIM_VALUE);
return TRIM_VALUE;
}

function fix_attach_image(obj)
{
if(obj.height > 170)
	obj.height = 170;
}

function rtrim(str)
{
var arr = new Array(" ","\n","\t");
var i;
var temp;
var match = 1;
var count = 0;
for(i = str.length-1; i >=0&&match==1; --i)
	{
	match = 0;
	for(j = arr.length-1; j >=0; --j)
		{
		if(str.charAt(i) == arr[j])
			{
			match = 1;
			++count;
			break;
			}
		}
	}
return str.substring(0, str.length-count);
}

function ltrim(str)
{
var arr = new Array(" ","\n","\t");
var i;
var temp;
var match = 1;
var count = 0;
for(i = 0; i<str.length&&match==1; ++i)
	{
	match = 0;
	for(j = arr.length-1; j >=0; --j)
		{
		if(str.charAt(i) == arr[j])
			{
			match = 1;
			++count;
			break;
			}
		}
	}
return str.substring(count, str.length);
} //End Function


function getImagePageLeft(img) {
  var x, obj;
    x = 0;
    obj = img;
    while (obj.offsetParent != null) {
      x += obj.offsetLeft;
      obj = obj.offsetParent;
    }
    x += obj.offsetLeft;
    return x;
}

function getImagePageTop(img) {
  var y, obj;
  y = 0;
  obj = img;
  while (obj.offsetParent != null) {
    y += obj.offsetTop;
    obj = obj.offsetParent;
  }
  y += obj.offsetTop;
  return y;
}

	function mouse_over_menulink(obj)
		{
		obj.style.border='solid 1px #6100C1';
		obj.style.backgroundColor = '#F0E1FF';
		}

	function mouse_out_menulink(obj)
		{
		obj.style.border='solid 1px '+theme_color;
		obj.style.backgroundColor = theme_color;
		}

	function show_shelf_menu(button_obj)
		{
	 	x = getImagePageLeft(button_obj);
	 	y = getImagePageTop(button_obj);
	 	menuTop = y + 25; // LAYER TOP POSITION
	 	menuLeft = x;
		elem = document.getElementById("shelf_menu");
		if(elem == null)
			return;
		elem.style.top = menuTop;
		elem.style.left = menuLeft;
		elem.style.visibility = 'visible';

		return true;
		}

	function hide_shelf_menu(evnt)
		{
		elem = document.getElementById("shelf_menu");
		if(elem != null)
			elem.style.visibility = 'hidden';

		}


	function hidelayer(lay)
	{
		document.getElementById(lay).style.visibility = "hidden";
	}

	function showlayer(lay)
	{
		document.getElementById(lay).style.visibility = "visible";
	}

function delete_this_item()
{
move_menu_clicked(trash_can_shelf_id);
}

function main_image_failed(obj, large_image)
{
obj.src = large_image;
obj.onerror = '';
obj.style.visibility= "hidden"; 
//alert(large_image);
}

function main_image_failed1(obj, large_image)
{
obj.src = large_image;
obj.onerror = '';
if(parseInt(obj.width) > 190)
	{
	obj.width = 190;
	}
			
//obj.style.visibility= "hidden"; 
//alert(large_image);
}

function move_menu_clicked(shelf_id)
{
var shelf_name = get_shelf_info_from_shelf_id(shelf_id)['name'];
hide_shelf_menu();
if(req_shelf_id == shelf_id)
	{
	show_alert_dialog("Error",'The destination shelf is same as the source');
	return;
	}
window_confirm("Move Item", "'"+title_str+"' will be moved to shelf '"+shelf_name+"'", "move_item_confirmed("+shelf_id+")", null);
}

function get_shelf_info_from_shelf_id(shelf_id)
{
var i;
for(i = 0; i < shelf_array.length; ++i)
	{
	if(shelf_array[i]['id'] == shelf_id)
		{
		return shelf_array[i];
		}
	}
return null;
}

function move_item_confirmed(shelf_id)
{
var shelf_name = get_shelf_info_from_shelf_id(shelf_id);
if(this_is_borrowed_item == false)
	{
	move_item(item_owner_id, shelf_id, shelf_name);
	}
else
	{
	move_item(borrowed_item_owner_id, shelf_id, shelf_name);
	}
}

function move_item(item_owner_id, shelf_id, shelf_name)
{
//var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var args = {
						'action' 				: 'move_item',
						'item_owner_id'	: item_owner_id,
						'shelf_id'			:	shelf_id,
						'shelf_name'		: shelf_name,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_move_item);
}

function response_move_item(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	//var elem = getElementById('shelf_name_id');
	//elem.innerHTML = response_array[1];
	//window.refresh();
	var username = bw_user_name;
	var shelf_id = response_array[1];
	//abort_http_request();
	if(this_is_borrowed_item)
		{
		window_open(base_url+"/title/"+borrowed_item_owner_id,'_self')
		}
	else
		{
		window_open(base_url+"/title/"+item_owner_id,'_self')
		}
	}
}

function is_loading()
{
var div="busy_box"
var obj=document.getElementById(div);
if(obj == null)
	return;
if(obj.style.visibility=='visible')
	return true;
else
	return false;
}

function check_visibility(id_str)
{
var obj = document.getElementById(id_str);
if(obj == null)
	return 0;
var str = obj.style.visibility;
str = str.toLowerCase();
if(str == 'hidden')
	return 0;
str = obj.style.display;
str = str.toLowerCase();
if(str == 'none')
	return 0;
str = obj.innerHTML;
if(str.length == 0)
	return 0;
return 1;
}

function window_open(link_id, target_type)
{
show_loading();
setTimeout("window.open('"+link_id+"','"+ target_type+"')",100);
}

function revert_to_original(item_owner_id)
{
window_open(base_url+"/title/"+item_owner_id+"&action=original","_self");

}

function show_loading()
{
	var div="busy_box"
	var obj=document.getElementById(div);
	if(obj == null)
		return;
	obj.disabled = false;
	obj.style.left = (screen.availWidth)/2;
	obj.style.top = (screen.availHeight)/2 + document.body.scrollTop;
	//get_xy(this.event);
	//obj.left = (screen.width - obj.width)/2;
	//obj.top = elem_y;//(screen.height - obj.height)/2;
	obj.style.visibility='visible'
}
function hide_loading()
{
	var div="busy_box"
	var obj=document.getElementById(div);
	if(obj == null)
		return;
	obj.style.visibility='hidden'
}

function init_page()
{
document.body.focus();
init_ajax(10);
init_common_dialogs(theme_color, font_color, base_url);
setup_page();
}

function request_item_details()
{
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var args = {
						'action': 'get_item_details',
						'item_owner_id': id
						};
ajax_get_request(ajax_rqst_url, args, item_details_response);						
}

function item_details_response(response_array)
{
//alert(response_array.join("|"));
if(response_array[0] == 'error')
	{
	show_alert_dialog("Error",response_array[1]);
	return;
	}
title_str = response_array.shift();
current_user_review = response_array.shift();
var count = response_array.shift()*1;
current_pages = new Array();
for(var i = 0; i < count; ++i)
	{
	current_pages[i] = new Array();
	current_pages[i]['name'] = response_array.shift();
	current_pages[i]['sequence_id'] = response_array.shift()*1;
	current_pages[i]['page_id'] = response_array.shift()*1;
	current_pages[i]['next'] = response_array.shift()*1;
	current_pages[i]['prev'] = response_array.shift()*1;
	current_pages[i]['x'] = 0;
	current_pages[i]['y'] = 0;
	current_pages[i]['elem'] = null;
	}

if(hide_owner_info == true || (owner == false && current_pages.length	== 0))
	{
	var elem = document.getElementById('catalog_info');
	if(elem != null)
		{
		elem.style.display = "";
		elem.style.border='1px solid black';
		}
	}
else	
	{
	var arr1 = new Array("Catalog",'Click here to see the catalog information',base_url+'/_images/details/catalog.gif');
	var arr2 = new Array("Notes ("+(current_pages.length)+")",'Click here to see the notes',base_url+'/_images/details/notes.gif');
	var arr3 = new Array(arr1,arr2);
	detail_options = new curved_tabs('curved_details_tabs', arr3, 'select_details', font_color, '', 400);
	if(detail_options == null)
		{
		show_alert_dialog("Error", "Please reload");
		}
	detail_options.select_tab(0, true);
	}
if(hide_owner_info == false)
	{
	arrange_pages();
	set_note_count();
	}
}

function setup_page()
{
request_item_details();

var elem = document.getElementById('item_picture');
if(elem != null)
	{
	var wide = elem.width;
	if(wide > 250)
		elem.width = 250;
	}

if(hide_owner_info == false)
	{
	var elem = document.getElementById('display_comment');
	if(elem != null)
		{
		elem.style.display="";
		}
	set_watch_state();
	request_comments(0);
	}

if(owner == 1)
	{
	request_shelf_info();
	}
else
	{
	create_action_box();
	}
		

if(asin.length != 0)
	{
	fetch_similar_items();
	}
	
if(hide_owner_info == false)
	{
	request_for_borrowers(0);
	}
		
if(link_id.length != 0)
	{
	request_for_others_with_item(0);
	}

if(request_for_book_sample == 1)
	{
	request_book_sample();
	}

if(item_isbn.length != 0)
	{
	request_local_library_list();
	}
rating_mouse_over(0);

hide_loading();
var obj = document.getElementById('main_page');
obj.style.display = '';
}

function arrange_pages()
{
var page; 
var page_id;
var next_page_id;
var prev_page_id;
var i; 
for(i = 0; i < current_pages.length; ++i)
	{
	page = current_pages[i];
	page_id = page['page_id'];
	next_page_id = page['next'];
	prev_page_id = page['prev'];
	if(next_page_id != 0)
		{
		page['next'] = get_page_info_from_current_pages(next_page_id);
		}
	else
		{
		page['next'] = null;
		}
			
	if(prev_page_id != 0)
		{
		page['prev'] = get_page_info_from_current_pages(prev_page_id);
		}
	else
		{
		page['prev'] = null;
		first_page = page;
		}	
	}
if(first_page != null)
	{
	show_pages();
	select_page(first_page['page_id'], true);
	}
}

function get_page_info_from_current_pages(page_id)
{
var i;
for(i = 0; i < current_pages.length; ++i)
	{
	if(current_pages[i]['page_id'] == page_id)
		{
		return current_pages[i];
		}
	}
return null;
}

function select_details(index)
{
var elem = document.getElementById('curved_details_tabs');
if(elem != null)
	{
	elem.style.visibility = 'visible';
	}
switch(index)
	{
	case 0:
		elem = document.getElementById('notes_info');
		if(elem != null)
			{
			elem.style.display = "none";
			}
		elem = document.getElementById('catalog_info');
		if(elem != null)
			{
			elem.style.display = "";
			}
		show_page_controls(false);
		break;
	
	case 1:
		elem = document.getElementById('catalog_info');
		if(elem != null)
			{
			elem.style.display = "none";
			}
		elem = document.getElementById('notes_info');
		if(elem != null)
			{
			elem.style.display = "";
			}
		show_page_controls(true);	
		set_note_count();
		break;
	}
if(current_borrow_status != -1)
	setTimeout('set_borrow_status_indicator(current_borrow_status)', 100);
}

function set_borrow_indicator()
{
//if this is a normal shelf only then allow borrow option.
if(shelf_type != 0 || (owner == false && allow_borrow_request == 0))
	return;

//if this is a private shelf also then deny borrowing
if(private_shelf != 0)
	return;

//If this is a borrowed item then do not show the borrow indicator
if(borrowed_item_owner_id != 0)
	return;

//we don't want to show any owner specific information
if(hide_owner_info == true)
	return;

if(owner == true)
	{
	var elem1 = document.getElementById('current_borrower_area');
	if(elem1 != null)
		{
		elem1.innerHTML='';
		//elem1.style.visibility='hidden';
		elem1.style.display='none';
		}
	}

	show_borrow_action_entry = true;	
	create_action_box();

}

function hide_borrow_indicator()
{
show_borrow_action_entry = false;
create_action_box();
}

function is_current_borrower_displayed()
{
var elem = document.getElementById('current_borrower_area');
if(elem != null)
	{
	if(elem.style.display=='none')
		return false;
	else
		return true;
	}
return false;
}

function hide_current_borrower_area()
{
var elem = document.getElementById('current_borrower_area');
if(elem != null)
	{
	elem.innerHTML='';
	elem.style.visibility='hidden';
	elem.style.display='none';
	}
}

function hide_borrow_status_indicator()
{
var elem = document.getElementById('item_borrow_status_area');
if(elem != null)
	{
	elem.style.visibility = 'hidden';
	//elem.style.left = 0;
	//elem.style.top = 0;
	//var elem1 = document.getElementById('item_picture');
	//if(elem1 != null)
	//	{
	//	elem1.style.left 	= 0;
	//	elem1.style.top 	= 0;
	//	}
	return;
	}
}

function set_borrow_status_indicator(borrow_status_val)
{
var elem = document.getElementById('item_borrow_status_area');
if(elem != null)
	{
	elem.style.visibility = 'hidden';
	elem.style.display = '';
	if(borrow_status_val == 1)
		{
		if(borrowed_item_owner_id==item_owner_id)
		//if(borrowed_item_owner_id == 0)
			{
			elem.innerHTML = "<img onload=\"set_borrow_status_position();\" id=\"borrow_status_picture\" src=\""+base_url+"/_images/loan.gif\">\n";
			}
		else
			{
			elem.innerHTML = "<img onload=\"set_borrow_status_position();\" id=\"borrow_status_picture\" src=\""+base_url+"/_images/borrowed.gif\">\n";
			}
		}
	else if(borrow_status_val == 2)
		{
		elem.innerHTML = "<img onload=\"set_borrow_status_position();\" id=\"borrow_status_picture\" src=\""+base_url+"/_images/late.gif\">\n";
		}
	else
		{
		hide_borrow_status_indicator();
		return;
		}
	set_borrow_status_position();
	//setTimeout("set_borrow_status_position()", 100);
	//set_borrow_status_position();
	}
}

function set_borrow_status_position()
{
var elem1 = document.getElementById('item_picture');
if(elem1 != null)
	{
	var wide = parseInt(elem1.width);
	var high = parseInt(elem1.height);	
	var x = findPosX(elem1);
	var y = findPosY(elem1);
	if(x == 0 && y == 0)
		return;
	var elem = document.getElementById('item_borrow_status_area');
	var elem2 = document.getElementById('borrow_status_picture');
	var wide1 = parseInt(elem2.width);
	elem.style.left = (x + wide - wide1) + 'px';
	elem.style.top = y + 'px';
	elem.style.visibility = 'visible';
	//alert(x + ',' + y);
	}	
}

function request_book_sample()
{
var args = {
						'action' 				: 'book_sample_request',
						'asin'					: asin,
						'item_id'				:	item_id,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, show_book_sample);
}

function show_book_sample(response_array)
{
request_for_book_sample = 0;
if(response_array[0] != "error")
	{
	trailer_id = response_array.shift()*1;
	create_action_box();
	}
else
	{
	show_alert_dialog("Error",response_array[1]);
	}	
}

function comment_status_clicked(start_index)
{
show_loading();
request_comments(start_index);
}

function request_comments(start_index)
{
comment_start_index = start_index;
var args = {
						'action' 									: 'get_item_comments',
						'item_owner_id'						: item_owner_id,
						'comment_start_index'			:	comment_start_index,
						'comment_count'						:	comment_item_count,
						'random'									: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, list_comment);

}

function fill_comment_status(comment_obj)
{
var elem = comment_obj;
if(elem == null)
	return;

if(comment_result_count != 0)
	{
	var next_rqst_str;
	var start_index;
	var end_index;
	var count;
	//elem.style.backgroundColor = theme_color;

	start_index = (comment_start_index + 1);
	end_index = (comment_start_index + comment_result_count);
	count = comment_total_result_count;

	var str = "Comments "+start_index+"-"+end_index+" of "+count+" &nbsp ";

	if(start_index == 1)
		{
		str += "<span style=\"color: gray;\">First</span> | <span style=\"color: gray;\">Previous</span> | ";
		}
	else
		{
		var prev_index = comment_start_index - comment_item_count;
		if(prev_index < 0)
			prev_index = 0;

		str += "<span title=\"Click here to fetch "+comment_item_count+" items from the start\" onclick=\"comment_status_clicked(0);\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">First</span> | <span title=\"Click here to fetch the previous "+comment_item_count+" items\" onclick=\"comment_status_clicked("+prev_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Previous</span> | ";
		}

	if(end_index == count)
		{
		str += "<span style=\"color: gray;\">Next</span> | <span style=\"color: gray;\">Last</span>&nbsp";
		}
	else
		{
		var last_index = count - comment_item_count;
		if(last_index < 0)
			last_index = 0;

		str += "<span title=\"Click here to fetch the next "+comment_item_count+" items\" onclick=\"comment_status_clicked("+end_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Next</span> | <span title=\"Click here to fetch the last "+comment_item_count+" items\" onclick=\"comment_status_clicked("+last_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Last</span>&nbsp";
		}

		elem.innerHTML = str;

	}
else
	{
	elem.style.background='';
	elem.innerHTML = "&nbsp;";
	}
}

function start_movie_trailer()
{
var str = '';
if(hide_owner_info == false)
	{
	str = base_url+"/title/"+item_owner_id+"&trailer=1";
	}
else
	{
	str = base_url+"/_item_details.php?item_id="+item_id+"&trailer=1";
	}	
window_open(str, '_self');
}

function show_comment_edit_box(evnt, comment_id, comment_text)
{
if(logged_in == 0)
	{
	window_confirm("Login Needed", "You need to login to GuruLib to write comments.", "window_open('"+base_url+"/index.php?redirect="+escape("title/"+item_owner_id)+"', '_self')", null); 
	}
else
	{
	if(comment_edit == null)
		{
		//get_xy(event);
		var left1 = (screen.availWidth - 520)/2;
		var top1 = (screen.availHeight - 260)/2 + document.body.scrollTop;
		comment_edit = document.getElementById('comment_edit_box');
		if(comment_edit == null)
			{
			return;
			}
		comment_edit.style.backgroundColor = theme_color;
		comment_edit.style.visibility = 'visible';
		comment_edit.style.left = left1;
		comment_edit.style.top = top1;
		//var elem = FCKeditorAPI.GetInstance('comment_edit_area');
		//if(elem == null)
		//	return;
		disable_screen(true);
		//elem.SetHTML(comment_text);
		document.getElementById('comment_edit_area').value = comment_text;
		if(comment_text.length != 0)
			{
			post_mode = 1;
			edit_comment_id = comment_id;
			}
		else
			{
			post_mode = 0;
			edit_comment_id = 0;
			}
		//elem.EditorWindow.style.visibility = 'visible';
		}
	}
}

function update_comment_status(comment_id, status)
{
var args = {
						'action' 			: 'update_item_comment_status',
						'comment_id'	: comment_id,
						'status'			:	status,
						'random'			: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_update_item_comment);
}

function response_update_item_comment(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	request_comments(0);
	}
}

function post_comment(status)
{
var elem = document.getElementById('comment_edit_area');//FCKeditorAPI.GetInstance('comment_edit_area');
if(elem == null)
	return;
var comment_text = trim(elem.value);//trim(elem.GetHTML());
if(comment_text.length == 0)
	{
	show_alert_dialog("Error","You did not write any comment");
	elem.focus();
	return;
	}
else if(comment_text.length > 500)
	{
	comment_text = comment_text.substring(0, 499);
	}

var updating_my_comments = owner;
var args = null;
if(post_mode == 1)
	{
	args = {
					'action'							: 'update_item_comment',
					'comment_id'					:	edit_comment_id,
					'comment'							: comment_text,
					'status'							:	status,
					'updating_my_comments':	updating_my_comments
				 };
	}
else
	{
	args = {
					'action'							: 'post_item_comment',
					'item_owner_id'				:	item_owner_id,
					'comment'							: comment_text,
					'status'							:	status
				 };
	}

ajax_post_request(ajax_rqst_url, args, response_post_item_comment);
close_comment_edit_box();
}

function response_post_item_comment(response_array)
{
request_comments(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error","Unable to post comment this time. "+response_array[2]+".");
	}
}

function comment_edit_keypressed()
{
var elem1 = document.getElementById('comment_edit_area');
if(elem1 == null)
	return;
var length = elem1.value.length;
var elem = document.getElementById('comment_edit_status_area');
if(elem == null)
	return;
var space_left = 500 - length;
if(space_left < 0)
	{
	elem1.value = elem1.value.substring(0, 499);
	}
else
	{
	elem.innerHTML = "Space available for " + space_left + " more letters.";
	}
}

function cancel_borrow_keypressed()
{
var elem1 = document.getElementById('cancel_borrow_area');
if(elem1 == null)
	return;
var length = elem1.value.length;
var elem = document.getElementById('cancel_borrow_status_area');
if(elem == null)
	return;
var space_left = 500 - length;
if(space_left < 0)
	{
	elem1.value = elem1.value.substring(0, 499);
	}
else
	{
	elem.innerHTML = "Space available for " + space_left + " more letters.";
	}
}

function set_borrow_keypressed()
{
var elem1 = document.getElementById('set_borrow_area');
if(elem1 == null)
	return;
var length = elem1.value.length;
var elem = document.getElementById('set_borrow_status_area');
if(elem == null)
	return;
var space_left = 500 - length;
if(space_left < 0)
	{
	elem1.value = elem1.value.substring(0, 499);
	}
else
	{
	elem.innerHTML = "Space available for " + space_left + " more letters.";
	}
}

function borrow_edit_keypressed()
{
var elem1 = document.getElementById('borrow_edit_area');
if(elem1 == null)
	return;
var length = elem1.value.length;
var elem = document.getElementById('borrow_edit_status_area');
if(elem == null)
	return;
var space_left = 500 - length;
if(space_left < 0)
	{
	elem1.value = elem1.value.substring(0, 499);
	}
else
	{
	elem.innerHTML = "Space available for " + space_left + " more letters.";
	}
}

function final_borrow_edit_keypressed()
{
var elem1 = document.getElementById('final_borrow_edit_area');
if(elem1 == null)
	return;
var length = elem1.value.length;
var elem = document.getElementById('final_borrow_edit_status_area');
if(elem == null)
	return;
var space_left = 500 - length;
if(space_left < 0)
	{
	elem1.value = elem1.value.substring(0, 499);
	}
else
	{
	elem.innerHTML = "Space available for " + space_left + " more letters.";
	}
}

function show_new_comment_indicator(img_obj, indicator, new_comment)
{
if(owner == false || new_comment == 0)
	return;

var x = findPosX(img_obj);
var y = findPosY(img_obj);
var wide = img_obj.width;

var elem = document.getElementById(indicator);
if(elem)
	{
	elem.style.left 	= x - 13;
	elem.style.top 		= y - 13;
	elem.style.visibility = 'visible';
	}
}

function list_comment(comment_list)
{
var str = comment_list.join("|");
if(comment_list[0] == 'error')
	{
	show_alert_dialog("Error",comment_list[1]);
	return;
	}
var right_now = new Date();
last_profile_comment_view_time = right_now.getFullYear()+"-"+(right_now.getMonth()+1)+"-"+right_now.getDate()+" "+right_now.getHours()+":"+right_now.getMinutes() +":"+right_now.getSeconds();
comment_total_result_count = comment_list.shift()*1;
comment_result_count = comment_list.shift()*1;
	var indicator_parent;
	var i;
	var str = '';
	var indicator = '';
	var elem2 = document.getElementById('comment_query_status_1');
	if(elem2 == null)
		return;
	fill_comment_status(elem2);
	elem2 = document.getElementById('comment_query_status_2');
	if(elem2 == null)
		return;
	fill_comment_status(elem2);
	if(comment_result_count == 0)
		{
		var elem = document.getElementById('comment_list_area');
		if(elem == null)
			return;
		str = "<center style=\"display: block;\">No Comments...</center>";
		elem.innerHTML = str;
		elem.style.display='block';
		return;
		}
	str += "		<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
	var end_count = comment_result_count;
	for(i = 0; i < end_count; ++i)
		{
		var comment_id 		= comment_list[i*9 + 0]*1;
		var added_time 		= comment_list[i*9 + 1];
		var comment_text 	= (comment_list[i*9 + 2]);
		var user_name 		= comment_list[i*9 + 3];
		var disp_name 		= comment_list[i*9 + 4];
		var ip 						= comment_list[i*9 + 5];
		var disp_image 		= comment_list[i*9 + 6];
		var status				= comment_list[i*9 + 7]*1;
		var new_comment		= comment_list[i*9 + 8]*1;

		indicator = "indicator_img_"+comment_id;
		indicator_parent = "indicator_parent_"+comment_id;
		str += "<tr>\n";
		if(i != end_count-1)
			{
			str += "	<td style=\"border-width: 2px 0px 0px 0px; border-color:"+theme_color+"; border-style: dashed;\" align=\"left\">\n";
			}
		else
			{
			str += "	<td style=\"border-width: 2px 0px 2px 0px; border-color:"+theme_color+"; border-style: dashed;\" align=\"left\">\n";
			}	

		str += "		<table border=\"0\" cellspacing=\"4\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
		str += "			<tr>\n";
		str += "				<td valign=\"top\">\n";
		str += "					<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
		str += "						<tr>\n";
		str += "							<td align=\"center\" valign=\"top\">\n";
		if(disp_image.length == 0)
			{
			disp_image = base_url+'/_images/no_user_image.jpg';
			}
		else
			{
			disp_image = base_url+"/"+disp_image;
			}
		str += "								<a title=\"Click here to open the library of "+user_name+"\" style=\"border: 0px;\" href=\""+base_url+"/"+escape(user_name)+"\">";

		if(owner == false || new_comment == 0 || status != 1)
			{
			str += "									<img border=\"0\" alt=\""+user_name+"\" src=\""+disp_image+"\" width=\"70\">\n";
			}
		else
			{
			str += "									<img border=\"0\" id=\""+indicator+"\" src=\""+base_url+"/_images/new_comment.gif\" style=\"visibility: hidden; position: absolute; display: block;\">";
			str += "									<img border=\"0\" id=\""+indicator_parent+"\" onload=\"show_new_comment_indicator(this, '"+indicator+"', "+new_comment+");\" alt=\""+user_name+"\" src=\""+disp_image+"\" width=\"70\">\n";
			}

		str += "								</a>\n";
		str += "							</td>\n";
		str += "						</tr>\n";
		str += "					</table>\n";
		str += "				</td>\n";
		str += "				<td width=\"100%\">\n";
		str += "					<table style=\"font-size: 10pt; font-family: arial\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";

		if((owner && (this_is_borrowed_item==false)) || ((status == 0) && (user_name == user_username)))
			{
			str += "						<tr height=\"23\">\n";
			str += "							<td height=\"23\" width=\"100%\" align=\"right\" valign=\"top\">\n";
			str += "										<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"90\" height=\"23\">\n";
			str += "											<tr>\n";
			str += "												<td align=\"right\">\n";
			str += "													<img title=\"Edit this comment\" onclick=\"edit_comment("+comment_id+",event)\" style=\"cursor: pointer; cursor: hand; margin: 0px 5px 0px 0px;\" src=\""+base_url+"/_images/comment_edit.gif\">\n";
			str += "												</td>\n";
			str += "												<td align=\"right\">\n";
			str += "													<img title=\"Delete this comment\" onclick=\"request_delete_comment("+comment_id+",'"+user_name+"')\" style=\"cursor: pointer; cursor: hand; margin: 3px 5px 0px 0px;\" src=\""+base_url+"/_images/comment_close.gif\">\n";
			str += "												</td>\n";
			str += "												<td align=\"right\">\n";
			str += "													<img title=\"See the IP address of this commentor\" onclick=\"show_alert_dialog('IP Address','"+user_name+" connected from "+ip+"');\" style=\"cursor: pointer; cursor: hand; margin: 3px 5px 0px 0px;\" src=\""+base_url+"/_images/comment_ip.gif\">\n";
			str += "												</td>\n";
			str += "											</tr>\n";
			str += "										</table>\n";

			str += "							</td>\n";
			str += "						</tr>\n";
			}


		str += "						<tr height=\"100%\">\n";
		str += "						 	<td valign=\"top\" align=\"left\" height=\"100%\" width=\"100%\" id=\"comment_text_area_"+comment_id+"\" style=\"display: block; width: 100%; height: 100%; vertical-align: top; text-align: left; font-family: arial; font-size: 10pt\" >\n";
		str += "								"+comment_text+"\n";
		str += "							</td>\n";
		str += "						</tr>\n";
		str += "						<tr>\n";
		str += "							<td style=\"font-size: 8pt; font-family: arial\" align=\"right\" width=\"100%\">\n";

		if(status == 1 || status == 2)
			{
			str += "										Posted&nbsp;by&nbsp;\n";
			}
		else
			{
			str += "										Previewed&nbsp;by&nbsp;\n";
			}
		str += "								<a title=\"Click here to open the profile of "+user_name+"\" style=\"font-weight: bold; font-size: 8pt; color: "+font_color+"\" href=\""+base_url+"/profile/"+escape(user_name)+"\">"+user_name+"</a>\n";
		str += " on " + added_time+"(CST)\n";
		if(status == 2)
			{
			str += "<br><i style=\"color: red\">*Please post this comment when you are done editing</i>";
			}
		str += "							</td>\n";
		str += "						</tr>\n";
		if((status == 0 && (user_name == user_username)) || (owner && status == 2))
			{
			str += "						<tr>\n";
			str += "							<td width=\"100%\" align=\"right\">\n";
			str += "								<img onclick=\"update_comment_status("+comment_id+",1);\" title=\"Click here to post the reply\" style=\"cursor: pointer; cursor: hand\" src=\""+base_url+"/_images/post.gif\">\n";
			str += "							</td>\n";
			str += "						</tr>\n";
			}
		str += "					</table>\n";
		str += "				</td>\n";
		str += "			</tr>\n";
		str += "		</table>\n";
		str += "	</td>\n";
		str += "</tr>\n";
		}
	str += "</table>\n";
	if(comment_result_count > 0)
		{
		var elem = document.getElementById('comment_list_area');
		if(elem == null)
			return;
		elem.innerHTML = str;
		elem.style.display='block';
		}
}

function edit_comment(comment_id, event)
{
var elem = document.getElementById('comment_text_area_'+comment_id);
if(elem == null)
	return;
var comment_text = trim(elem.innerHTML);
comment_text = replace_str(comment_text, "<br>", "\n");
comment_text = replace_str(comment_text, "<BR>", "\n");
show_comment_edit_box(event, comment_id, comment_text);
}

function request_delete_comment(comment_id, username)
{
window_confirm("Delete Comment", "Comment by '"+username+"' will be deleted", 'delete_comment_confirmed('+comment_id+')', null);
}

function delete_comment_confirmed(comment_id)
{
var args = {
						'action' 			: 'delete_item_comment',
						'comment_id'	: comment_id,
						'random'			: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_delete_item_comment);
}

function response_delete_item_comment(response_array)
{
request_comments(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function close_comment_edit_box()
	{
	if(comment_edit != null)
		{
		comment_edit.style.visibility='hidden';
		comment_edit=null;
		//var elem = FCKeditorAPI.GetInstance('comment_edit_area');
		//elem.SetHTML("");
		disable_screen(false);
		}
	}

function open_window(link, type)
{
var new_window = window.open(link, type);
if(new_window)
	{
	if(window.focus)
		{
		new_window.focus();
		}
	}
else
	{
	show_alert_dialog("Error","Please disable the popup block for GuruLib");
	}
}

function watch_item()
{
if(logged_in == 0)
	{
	window_confirm("Login Needed", "You need to login to GuruLib to watch comments.", "window_open('"+base_url+"/index.php?redirect="+escape("title/"+item_owner_id)+"', '_self')", null); 
	}
else
	{
	if(item_watch_id == 0)
		{
		window_confirm("Watch Comments", "You will be receive notifications on new comments for "+bw_user_name+"'s review of '"+title_str+"'", "watching_comments_confirmed()", null);
		}
	else
		{
		window_confirm("Stop Watching Comments", "This will stop notifications on new comments for "+bw_user_name+"'s review of '"+title_str+"'", "stop_watching_comments_confirmed()", null);
		}
	}
}

function watching_comments_confirmed()
{
var args = {
						'action' 				: 'watch_item',
						'item_owner_id'	: item_owner_id,
						'watch_owner_id': user_userid,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_watch_item);
}

function stop_watching_comments_confirmed()
{
var args = {
						'action' 				: 'stop_watch_item',
						'item_watch_id'	: item_watch_id,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_stop_watch_item);
}


function response_watch_item(response_array)
{
if(response_array[0] != "error")
	{
	item_watch_id = response_array[0]*1;
	set_watch_state();
	}
else
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function response_stop_watch_item(response_array)
{
if(response_array[0] != "error")
	{
	item_watch_id = 0;
	set_watch_state();
	}
else
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function set_watch_state()
{
var elem = document.getElementById('watch_item_status_area');
if(elem == null)
	return;
var type_str = media_str;
if(item_watch_id == 0)
	{
	elem.innerHTML = "Watch this "+type_str+" for comments";
	}
else
	{
	elem.innerHTML = "Stop watching this "+type_str+" for comments";
	}
}

function fill_next_prev_navigation(current_fetch_request_count, current_index, current_count, total_count, small_desc, fetch_function)
{
if(current_count != 0)
	{
	var next_rqst_str;
	var start_index;
	var end_index;
	var count;

	start_index = (current_index + 1);
	end_index 	= (current_index + current_count);
	count 			= total_count;

	var str = start_index+"-"+end_index+"&nbsp;of&nbsp;"+count+"<br>";

	if(start_index == 1)
		{
		str += "<a disabled>First</a>&nbsp;|&nbsp;<a disabled>Previous</a>&nbsp;|&nbsp;";
		}
	else
		{
		var prev_index = current_index - current_fetch_request_count;
		if(prev_index < 0)
			prev_index = 0;

		str += "<a title=\"Click here to fetch "+current_fetch_request_count+" "+small_desc+" from the start\" onclick=\""+fetch_function+"(0);\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">First</a>&nbsp;|&nbsp;<a title=\"Click here to fetch the previous "+current_fetch_request_count+" "+small_desc+"\" onclick=\""+fetch_function+"("+prev_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Previous</a>&nbsp;|&nbsp;";
		}

	if(end_index == count)
		{
		str += "<a disabled>Next</a>&nbsp;|&nbsp;<a disabled>Last</a>&nbsp";
		}
	else
		{
		var last_index = count - current_fetch_request_count;
		if(last_index < 0)
			last_index = 0;

		str += "<a title=\"Click here to fetch the next "+current_fetch_request_count+" "+small_desc+"\" onclick=\""+fetch_function+"("+end_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Next</a>&nbsp;|&nbsp;<a title=\"Click here to fetch the last "+current_fetch_request_count+" "+small_desc+"\" onclick=\""+fetch_function+"("+last_index+");\" style=\"cursor: pointer; cursor: hand;text-decoration: underline\">Last</a>";
		}
	}
else
	{
	str = "&nbsp;";
	}
return str;
}

function others_status_clicked(start_index)
{
show_loading();
request_for_others_with_item(start_index);
}

function check_photo_width(obj)
{
/*var wide = parseInt(obj.width);
alert(wide);
if(wide > 185)
	obj.width = 185;*/
}

function show_similar_item(similar_list)
{
if(similar_list[0] == 'error')
	{
	return;
	}
var elem = document.getElementById('similar_items');
if(elem == null)
	return;

var i;
var str = '';
var read_type = '';
switch(medium)
	{
	case 1: read_type = 'read'; break;
	case 2: read_type = 'watch'; break;
	case 3: read_type = 'listen'; break;
	case 4: read_type = 'play'; break;
	case 5: read_type = 'checkout'; break;

	}

str += '		<div>';
str += '			<table border="0" cellspacing="0" cellpadding="0" class="slicedBoxTop" >';
str += '		    <tr>';
str += '					<td class="left"></td>';
str += '					<td class="center">';
str += '					<b>What&nbsp;should&nbsp;I&nbsp;'+read_type+'&nbsp;next</b>';
str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';

str += '		<div>';
str += '			<table class="slicedBoxMiddle" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td align="center" valign="top" class="center">';

str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\" width=\"100%\">\n";

var end_count = similar_list[0]*1;
var result_count = end_count;
var username;
var img_url;
var item_owner_id;
var shelf_id;
var no_cols = 5;
var cell_width = parseInt(100/no_cols) + "%";
var diff = end_count % no_cols;
if(diff > 0)
	{
	end_count += (no_cols - diff);
	}
if(end_count == 0)
	{
	//str += "<tr><td><center style=\"font-size: 10pt\">None... </center></td></tr>";
	return;
	}
var index; 
var item_id;
for(i = 0; i < end_count; i++)
	{
	if(i < result_count)
		{
		item_id 	= similar_list[i*4 + 1];
		title 					= (similar_list[i*4 + 2]);
		img_url 				= (similar_list[i*4 + 3]);
		img_url_large 	= (similar_list[i*4 + 4]);	
		if((index = img_url.indexOf('_user_manual_file_pics')) >= 0)
			{
			img_url = 
			img_url = base_url+"/"+img_url.substr(index);
			}
		}
	diff = (i % no_cols);

	if(diff == 0)
		{
		str += "<tr>\n";
		}
	str += "	<td style=\"filter:shadow(color:gray, strenght:10, direction:135); overflow: hidden;\" width=\""+cell_width+"\" align=\"center\" valign=\"bottom\">\n";

	if(i < result_count)
		{
		//str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"margin: 5px 0px 2px 0px; \">";
		//str += "<tr>\n";
		//str += "<td  align=\"center\">\n";
		str += "<a style=\"border-width: 0; font-family: arial; font-size: 8pt; color: "+font_color+"\" href=\""+base_url+"/_item_details.php?item_id="+item_id+"\" >";
		
		str += "<img onerror=\"main_image_failed(this,'"+img_url_large+"');\" onload=\"similar_titles_loaded(this)\" style=\"visibility: hidden; border: 1px solid black; \" border=\"0\" title=\""+title+"\" alt=\""+title+"\" src=\""+img_url+"\" width=\"70\" >";
		
		str += "</a>";
		//str += "</td>\n";
		//str += "</tr>\n";
		//str += "</table>";
		}
	else
		{
		str += "&nbsp;";
		}

	str += "	</td>\n";

	if(diff == (no_cols - 1))
		{
		str += "</tr>\n";
		}
	}
str += "</table>\n";

str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';
						
str += '		<div>';
str += '			<table class="slicedBoxBottom" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td class="center"></td>';
str += '					<td class="right"></td>';
str += '		    </tr>';
str += '			</table>';
str += '		</div>';


//str += "</td></tr>\n";
//str += "</table>\n";
elem.innerHTML = str;
elem.style.display = '';
}

function list_others_item(others_list)
{
others_start_index = others_list.shift()*1;
others_total_result_count = others_list.shift()*1;
others_result_count = others_list.shift()*1;

var elem = document.getElementById('others_with_item');
if(elem == null)
	return;

var i;
var str = '';

//str += "<table style=\"margin: 0px 0px 0px 0px; \" border=\"1\" width=\"200\" cellspacing=\"0\" cellpadding=\"0\">\n";
//str += "<tr><td align=\"center\" valign=\"top\">\n";

str += '		<div>';
str += '			<table border="0" cellspacing="0" cellpadding="0" class="slicedBoxTop" >';
str += '		    <tr>';
str += '					<td class="left"></td>';
str += '					<td class="center">';

str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
str += "<tr><td style=\"font-weight: bold; color: "+font_color + "; font-family: arial; font-size: 9pt\" align=\"center\" valign=\"middle\" height=\"16\"    width=\"100%\">Others with this "+media_str+"</td></tr>\n";

if(others_total_result_count != 0)
	{
	str += "<tr><td style=\"color: "+font_color + "; background-color: "+theme_color+"; font-family: arial; font-size: 9pt\" align=\"center\" valign=\"middle\" height=\"16\"    width=\"100%\">";
	str += fill_next_prev_navigation(others_item_count, others_start_index, others_result_count, others_total_result_count, 'GuruLibians', 'others_status_clicked');
	str +="</td></tr>\n";
	}
str += "</table>\n";
str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';

str += '		<div>';
str += '			<table class="slicedBoxMiddle" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td align="center" valign="top" class="center">';


str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\">\n";

var end_count = others_result_count;
var username;
var img_url;
var item_owner_id;
var shelf_id;
var no_cols = 2;
var cell_width = parseInt(100/no_cols) + "%";
var diff = end_count % no_cols;
if(diff > 0)
	{
	end_count += (no_cols - diff);
	}

if(others_total_result_count == 0)
	{
	str += "<tr><td><center style=\"font-size: 10pt\">None... </center></td></tr>";
	}
for(i = 0; i < end_count; i++)
	{
	if(i < others_result_count)
		{
		item_owner_id 	= others_list[i*4 + 0];
		shelf_id 				= others_list[i*4 + 1];	
		username 				= others_list[i*4 + 2];
		img_url 				= others_list[i*4 + 3];
	
		if(img_url.length == 0)
			{
			img_url = base_url+'/_images/no_user_image.jpg';
			}
		else
			{
			img_url = base_url+'/'+img_url;
			}
		}

	diff = (i % no_cols);

	if(diff == 0)
		{
		str += "<tr>\n";
		}
	str += "	<td style=\"overflow: hidden;\" width=\""+cell_width+"\" align=\"center\" valign=\"bottom\">\n";

	if(i < others_result_count)
		{
		str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" >\n";
		str += "<tr>\n";
		str += "<td align=\"center\">\n";
		str += "<img title=\""+username+"\" alt=\""+username+"\" src=\""+img_url+"\" width=\"70\" >";
		str += "</td>\n";
		str += "</tr>\n";
		str += "<tr>\n";
		str += "<td  align=\"center\" height=\"25\">";
		str += "<a style=\"font-family: arial; font-size: 8pt; \" href=\""+base_url+"/profile/"+escape(username)+"\" title=\"Click here to open "+username+"'s profile\">"+username+"</a>";
		str += "</td>\n";
		str += "</tr>\n";
		str += "</table>";
		}
	else
		{
		str += "&nbsp;";
		}

	str += "	</td>\n";

	if(diff == (no_cols - 1))
		{
		str += "</tr>\n";
		}
	}
str += "</table>\n";

str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';
						
str += '		<div>';
str += '			<table class="slicedBoxBottom" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td class="center"></td>';
str += '					<td class="right"></td>';
str += '		    </tr>';
str += '			</table>';
str += '		</div>';

if(others_total_result_count != 0)
	{
	elem.innerHTML = str;
	elem.style.display = '';
	}
else
	{
	elem.innerHTML = '';
	elem.style.display = 'none';	
	}	
//elem.style.visibility = 'visible'
}

function others_status_clicked(start_index)
{
show_loading();
request_for_others_with_item(start_index);
}

function list_borrowers(borrowers_list)
{
if(borrowers_list[0] == 'error')
	{
	show_alert_dialog("Error",borrowers_list[1]);
	return;
	}
borrowers_total_result_count = borrowers_list.shift()*1;
borrowers_result_count = borrowers_list.shift()*1;
request_for_borrowers_list_send = true;
request_for_borrowed_status();

show_borrow_indicator = true;
var elem = document.getElementById('borrow_request_list_area');
if(elem == null)
	return;

var i;
var str = '';
if(borrowers_result_count == 0)
	{
	elem.style.innerHTML = '';
	//elem.style.visibility = 'hidden';
	elem.style.display = 'none';
	return;
	}
for(i = 0; i < borrowers_result_count; ++i)
	{
	var borrow_req_item_id 			= borrowers_list[i*6 + 0]*1;
	var username 								= borrowers_list[i*6 + 1];
	var img_url 								= borrowers_list[i*6 + 2];
	var	userid									= borrowers_list[i*6 + 3]*1;
	var	days										= borrowers_list[i*6 + 4]*1;
	var mesg_text 							= borrowers_list[i*6 + 5];
	mesg_text = replace_str(mesg_text, '"', '');
	mesg_text = replace_str(mesg_text, "'", "\\'");


	if(img_url.length == 0)
		{
		img_url = base_url+'/_images/no_user_image.jpg';
		}
	else
		{
		img_url = base_url+"/"+img_url;
		}
	if(i == 0)
		{
		//str += "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"200\" height=\"100%\">\n";
		//str += "<tr><td valign=\"top\">\n";
		str += '		<div>';
		str += '			<table border="0" cellspacing="0" cellpadding="0" class="slicedBoxTop" >';
		str += '		    <tr>';
		str += '					<td class="left"></td>';
		str += '					<td class="center">';
		
		str += "<table bgColor=\""+theme_color+"\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
		str += "<tr><td style=\"font-weight: bold; font-family: arial; font-size: 10pt\" align=\"center\" valign=\"top\" height=\"20\"    width=\"100%\">Users who like to borrow this "+media_str+"</td></tr>\n";
		//str += "<tr><td style=\"font-family: arial; font-size: 8pt\" id=\"other_query_status_area\" valign=\"top\" height=\"20\"    width=\"100%\"></td></tr>\n";
		//str += "<tr><td valign=\"top\" height=\"100%\"  width=\"100%\">";
		//str += "</td></tr>\n";
		str += "</table>\n";
		
		str += '					</td>';
		str += '					<td class="right"></td>';
		str += '				</tr>';
		str += '			</table>';
		str += '		</div>';
		
		str += '		<div>';
		str += '			<table class="slicedBoxMiddle" border="0" cellpadding="0" cellspacing="0">';
		str += '				<tr>';
		str += '					<td class="left"></td>';
		str += '					<td align="center" valign="top" class="center">';

		//str += "</td></tr>\n";
		//str += "<tr><td valign=\"top\">\n";
		
		str += "<table border=\"0\" cellspacing=\"4\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
		}


	if(owner)
		{
		str += "<tr>\n";
		str += "	<td valign=\"middle\">\n";
		str += "		<img alt=\""+username+"\" src=\""+img_url+"\" width=\"70\">";
		str += "	</td>\n";

		str += "	<td align=\"left\" width=\"100%\">\n";

		str += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
		str += "			<tr>\n";
		str += "				<td height=\"20\" valign=\"middle\">\n";
		str += "					<a style=\"font-family: arial; font-size: 10pt;\"  href=\""+base_url+"/profile/"+escape(username)+"\" title=\"Click here to open the profile of "+username+"\">"+username+"</a>";
		str += "				</td>\n";
		str += "			</tr>\n";

		str += "			<tr>\n";
		str += "				<td style=\"height: 20; font-size: 8pt;\" align=\"right\" valign=\"middle\">\n";

		str += "					<span style=\"text-align: left; font-size: 8pt;\">[<a style=\"font-size: 8pt\"  href=\"javascript:show_accept_deny_box("+borrow_req_item_id+",'"+username+"','"+mesg_text+"',"+days+")\" title=\"Click here to accept or deny the borrow request\">Accept/Deny</a>]</span>\n";
			
		str += "				</td>\n";
		str += "			</tr>\n";
		str += "		</table>\n";
		str += "	</td>\n";
		str += "</tr>\n";
		}
	else
		{
		if(logged_in && userid == user_userid)
			{
			show_borrow_indicator = false;
			str += "<tr>\n";
			str += "	<td valign=\"middle\">\n";
			str += "		<img alt=\""+username+"\" src=\""+img_url+"\" width=\"70\">";
			str += "	</td>\n";

			str += "	<td valign=\"middle\">\n";
			str += "		<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
			str += "			<tr>\n";
			str += "				<td align=\"left\" width=\"100%\">\n";
			str += 						"<a style=\"font-family: arial; font-size: 10pt;\"  href=\""+base_url+"/profile/"+escape(username)+"\" title=\"Click here to open the profile of "+username+"\">"+username+"</a>";
			str += "				</td>\n";
			str += "			</tr>\n";

			str += "			<tr>\n";
			str += "				<td style=\"font-size: 7pt;\" align=\"right\" width=\"100%\">\n";
			str += "					<span style=\"font-size: 7pt;\">[<span style=\"cursor: pointer; cursor: hand;text-decoration: underline; font-size: 7pt\"  onclick=\"show_cancel_borrow_box("+borrow_req_item_id+",0)\" title=\"Click here to cancel the borrow request\">Cancel</span>]</span>&nbsp;\n";
			str += "				</td>\n";
			str += "			</tr>\n";
			str += "		</table>\n";
			str += "	</td>\n";
			str += "</tr>\n";
			}
		else
			{
			str += "<tr>\n";
			str += "	<td valign=\"middle\">\n";
			str += "		<img alt=\""+username+"\" src=\""+img_url+"\" width=\"70\">";
			str += "	</td>\n";
			str += "	<td align=\"left\" width=\"100%\">\n";
			str += 			"<a style=\"font-family: arial; font-size: 10pt;\"  href=\""+base_url+"/profile/"+escape(username)+"\" title=\"Click here to open the profile of "+username+"\">"+username+"</a>";
			str += "	</td>\n";
			str += "</tr>\n";
			}
		}


	if(i == borrowers_result_count-1)
		{
		str += "</table>\n";
		str += '					</td>';
		str += '					<td class="right"></td>';
		str += '				</tr>';
		str += '			</table>';
		str += '		</div>';
								
		str += '		<div>';
		str += '			<table class="slicedBoxBottom" border="0" cellpadding="0" cellspacing="0">';
		str += '				<tr>';
		str += '					<td class="left"></td>';
		str += '					<td class="center"></td>';
		str += '					<td class="right"></td>';
		str += '		    </tr>';
		str += '			</table>';
		str += '		</div>';


		//str += "</td></tr>\n";
		//str += "</table>\n";
		elem.innerHTML = str;
		elem.style.display = 'block';
		}
	}
}

function show_cancel_borrow_box(borrow_req_item_id, borrow_req_status)
{
borrow_item_id = borrow_req_item_id;
borrow_status = borrow_req_status;
var left1 = (screen.availWidth - 520)/2;
var top1 = (screen.availHeight - 260)/2 + document.body.scrollTop;
var elem = document.getElementById('cancel_borrow_edit_box');
if(elem == null)
	{
	return;
	}
disable_screen(true);
elem.style.backgroundColor = theme_color;
elem.style.visibility = 'visible';
elem.style.left = left1;
elem.style.top = top1;
elem = document.getElementById('cancel_borrow_area');
if(elem != null)
	{
	elem.value = "";
	elem.focus();
	}
}

function cancel_borrow_item()
{
var obj = document.getElementById('cancel_borrow_edit_box');
if(obj == null)
	return;
obj.style.visibility='hidden';
disable_screen(false);
show_loading();
obj = document.getElementById('cancel_borrow_area')
if(obj == null)
	return;
var mesg_text = obj.value;
var	args = {
					'action'							: 'cancel_borrow_item',
					'borrow_item_id'			:	borrow_item_id,
					'mesg_text'						: mesg_text,
					'borrow_status'				:	borrow_status
				 };
ajax_post_request(ajax_rqst_url, args, response_cancel_borrow_item);
}

function response_cancel_borrow_item(response_array)
{
request_for_borrowers(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function request_for_others_with_item(start_index)
{
others_start_index = start_index;
var args = null;
if(hide_owner_info == true)
	{
	args = {
			'action' 				: 'find_owners_from_link_id',
			'link_id'				: link_id,
			'start_index'		:	others_start_index,
			'item_count'		:	others_item_count,
			'total_count'		:	others_total_result_count,
			'random'				: Math.random()
			};
	}
else
	{
	args = {
			'action' 				: 'find_owners_from_link_id',
			'link_id'				: link_id,
			'start_index'		:	others_start_index,
			'item_count'		:	others_item_count,
			'total_count'		:	others_total_result_count,
			'userid'				: bw_user_id,
			'random'				: Math.random()
			};
	}				
ajax_get_request(ajax_rqst_url, args, list_others_item);
}

function watch_this_price()
{
var watch_type = 0;
var elem = document.getElementById('price_target');
if(elem == null)
	return;
var target_price = parseInt(trim(elem.value)*100.0);
if(!target_price)
	{
	show_alert_dialog("Error","Invalid target price. Please correct it.");
	elem.focus();
	elem.select();
	return;
	}

var elem1 = document.getElementById('watch_for');
if(elem1 != null)
	{
	watch_type = elem1.value*1;
	}
switch(watch_type)
	{
	case 2:
	case 0:
		if(target_price >= best_price)
			{
			show_alert_dialog("Error","The current best price of "+currency_type+" "+best_price/100+" is lesser than or equal to your value of "+currency_type+" "+target_price/100);
			elem.focus();
			elem.select();
			return;
			}
		break;

	case 1:
		if(target_price >= new_price)
			{
			show_alert_dialog("Error","The current buy new price of "+currency_type+" "+new_price/100+" is lesser than or equal to your value of "+currency_type+" "+target_price/100);
			elem.focus();
			elem.select();
			return;
			}
		break;

	default:
		break;
	}

close_watch_price_box();
//send the request to watch price for this item.
var args = {
						'action' 				: 'start_watch_price',
						'target_price'	:	target_price,
						'watch_type'		:	watch_type,
						'asin'					: asin,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_start_watch_price);
}

function response_start_watch_price(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	var watch_type = response_array[0]*1;
	var price = response_array[1]/100;
	price_watch_id = response_array[2];
	watch_price = price;
	price_watch_type = watch_type;
	watching_price = true;
	create_action_box();
	}
}

function create_action_box()
{
if(req_shelf_id == trash_can_shelf_id)
	{
	var elem = document.getElementById('action_area');
	if(elem != null)
		{
		elem.style.display = 'none';
		return;
		}
	}
var str = '<table bgcolor="white" style="color: #0450FD; font-family: arial; font-size: 9pt;" border="0" cellspacing="2" cellpadding="2" width="174">';
var req_media_id = medium;
if(owner)
	{
	str += "<tr>\n";
	str += "	<td  width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "<img id=\"edit_img\" src=\""+base_url+"/_images/details/edit.gif\">";
	str += " </td>\n";
	str += "<td  align=\"left\"  valign=\"middle\">\n";
	if(borrowed_item_owner_id == 0)
		{
		str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\""+base_url+"/_item_details_edit.php?item_owner_id="+item_owner_id+"\" title=\"Click here to edit this catalog.\">Edit&nbsp;this&nbsp;"+media_str+"&nbsp;info</a>\n";
		//str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\""+base_url+"/_fix_cover.php?item_owner_id="+item_owner_id+"\" title=\"Click here to fix this cover.\">Fix&nbsp;this&nbsp;"+media_str+"&nbsp;cover</a>\n";
		}
	else
		{
		str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\""+base_url+"/_item_details_edit.php?item_owner_id="+borrowed_item_owner_id+"\" title=\"Click here to edit this catalog.\">Edit&nbsp;this&nbsp;"+media_str+"</a>\n";
		//str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\""+base_url+"/_fix_cover.php?item_owner_id="+borrowed_item_owner_id+"\" title=\"Click here to fix this cover.\">Fix&nbsp;this&nbsp;"+media_str+"&nbsp;cover</a>\n";
		}	
	str += "</td>\n";
	str += "</tr>\n";

	if(req_shelf_id != trash_can_shelf_id && borrowed_item_owner_id == 0)
		{
		str += "<tr>\n";
		str += "	<td  width=\"30\" align=\"left\"  valign=\"middle\">\n";
		str += "<img id=\"edit_img\" src=\""+base_url+"/_images/details/trash.gif\">";
		str += " </td>\n";
		str += "<td  align=\"left\"  valign=\"middle\">\n";
		if(borrowed_item_owner_id == 0)
			{
			str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\"javascript:delete_this_item()\" title=\"Click here to remove this "+media_str+"\">Remove&nbsp;this&nbsp;"+media_str+"</a>\n";
			}
		else
			{
			str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\"javascript:delete_this_item()\" title=\"Click here to edit this "+media_str+"\">Remove&nbsp;this&nbsp;"+media_str+"</a>\n";
			}	
		str += "</td>\n";
		str += "</tr>\n";
		}
	}
	
	if(owner && reviewer)
		{
		var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
		str += "<tr>\n";
		str += "	<td  width=\"30\" align=\"left\"  valign=\"middle\">\n";
		str += "<img id=\"review_img\" src=\""+base_url+"/_images/details/review.gif\">";
		str += " </td>\n";
		str += "<td  align=\"left\"  valign=\"middle\">\n";
		str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \"  href=\"javascript:submit_review("+id+");\" title=\"Click here to add this review to GuruLib front page.\">Submit&nbsp;your&nbsp;review</a>\n";
		str += "</td>\n";
		str += "</tr>\n";
		}
	
//if((((owner == true)||(owner == false))&&(catalog_url.toLowerCase().indexOf('.amazonaws.')>0))&&(new_price != 0 || best_price != 0))
var show_price_watch = false;
if(asin.length != 0)
	{
	if(owner)
		{
		show_price_watch = ((watching_price == false) || (req_shelf_id == wish_list_shelf_id));
		}
	}		
//alert(show_price_watch + "," + watching_price);
if(show_price_watch)
	{
	//Watch this price
	str += "<tr>\n";
	str += "	<td width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "<img id=\"dollar_img\" src=\""+base_url+"/_images/price_watch.gif\">";
	str += "</td>\n";												
	if(watching_price == false)
		{
		str += "<td align=\"left\"  valign=\"middle\">\n";
		str += "<a style=\"color: #0450FD; font-size: 10pt;text-align: center; \" href=\"javascript:open_watch_price_box();\" title=\"Click here to notify by email if the price of this "+media_str+" reaches your target price.\">Watch&nbsp;Price</a>\n";
		str += "</td>\n";
		}
	else
		{
		str += "<td  style=\"color: #0450FD; \" align=\"left\"  valign=\"middle\">\n";
		var str1 = '';
		if(price_watch_type == 0)
			{
			str1 = "You are watching for 'best price' set at "+currency_type+" "+watch_price+". To stop watching for this "+media_str+"'s price, ";
			}
		else if(price_watch_type == 1)
			{
			str1 = "You are watching for 'buy new price' set at "+currency_type+" "+watch_price+". To stop watching for this "+media_str+"'s price, ";
			}
		else
			{
			str1 = "Your watch price is set at "+currency_type+" "+watch_price+". To stop watching for this "+media_str+"'s price, ";
			}
		str += "<a href=\"javascript:stop_watching_price();\" style=\"color: #0450FD; text-align: justify;\" title=\""+str1+"\">Stop&nbsp;Price&nbsp;Watch</a>";
		//str += "</span>\n";
		str += "</td>\n";
		}
	str += "</tr>\n";		
  }
  
//alert(in_my_list + ',' + owner);
  
if(((in_my_list == false) || (owner == false))&&(asin.length!=0 && req_shelf_id != wish_list_shelf_id))
	{
	//Add this to my wish list
	str += "<tr>\n";
	str += "	<td width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "		<img id=\"add_item_wish_list_area_id_img\" src=\""+base_url+"/_images/add_to_wish_list.gif\">";
	str += "	</td>\n";
	str += "	<td align=\"left\" valign=\"middle\">\n";
	str += "		<a  id=\"add_item_wish_list_area_id\" title=\"Click here to add this "+media_str+" to your wish list\" style=\"color: #0450FD; font-size: 10pt; text-align: left;\" href=\"javascript:add_to_my_wish_list()\">Add&nbsp;to&nbsp;wish&nbsp;list</a>\n";
	str += "	</td>\n";
	str += "</tr>\n";
	}

if(req_media_id == 1 && trailer_id == 1)
	{
	//Read 	Sample																				
	str += "<tr>\n";	
	str += "	<td width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "		<img src=\""+base_url+"/_images/read_sample2.gif\" alt=\"Read Sample\">\n";
	str += "	</td>\n";
	str += "<td  align=\"left\"  valign=\"middle\">\n";
	str += "<a href=\"http://www.amazon.com/gp/reader/"+asin+"/ref=ase_gurulib-20\" title=\"Click this button to read from a sample of this "+media_str+"\" style=\"color: #0450FD; display:"+((trailer_id != 1)?"none":"")+"; \">Read&nbsp;Sample</a>";
	str += "</td>\n";
	str += "</tr>\n";
	}
else if(req_media_id == 2 && show_trailer == 0 && trailer_id != 0)
	{
	//Watch Trailer
	str += "<tr>\n";
	str += "	<td width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "		<img src=\""+base_url+"/_images/watch_preview.gif\" alt=\"Watch&nbsp;Preview\">\n";
	str += "	</td>\n";
	str += "<td align=\"left\"  valign=\"middle\">\n";
	str += "<a id=\"watch_trailer_area\" href=\"javascript:start_movie_trailer();\" title=\"To watch the preview of this "+media_str+", click here\" style=\"color: #0450FD; font-size: 10pt; font-family: arial;\">Watch&nbsp;Trailer</span>";
	str += "</td>\n";
	str += "</tr>\n";
	}
else if(req_media_id == 3 && trailer_id != 0)
	{
	//Listen to sample
	str += "<tr>\n";
	str += "	<td width=\"30\" align=\"left\"  valign=\"middle\">\n";
	str += "		<img src=\""+base_url+"/_images/watch_preview.gif\" alt=\"Listen to sample\">\n";
	str += "	</td>\n";
	str += "<td align=\"left\"  valign=\"middle\">\n";
	str += "<a id=\"listen_to_sample_area\" href=\"javascript:listen_to_music_sample()\" title=\"To listen to samples from this "+media_str+", click here\" style=\"color: #0450FD; font-size: 10pt; font-family: arial;\">Listen&nbsp;Sample</span>";
	str += "</td>\n";
	str += "</tr>\n";
	}	
//alert(req_shelf_type);
if(show_borrow_action_entry && req_shelf_type == 0)
	{
	str +='<tr>';
	str +='<td width=\"30\" align="left"  valign="middle">';
	str +='<img src="'+base_url+'/_images/borrow_this.gif">';
	str +='</td>';
	str +='<td id="borrow_item_area_id" style="color: #0450FD;" align="left" align="left" valign="middle">';
	if(owner == false)
		{
		str += "<a style=\"color: #0450FD; font-size: 10pt; text-align: left;\" href=\"javascript:borrow_item()\">Borrow&nbsp;this</a>\n";
		}
	else
		{
		str += "<a style=\"color: #0450FD; font-size: 10pt; cursor: text-align: left;\" href=\"javascript:show_set_borrowed_item()\">Set&nbsp;as&nbsp;borrowed/lent</a>\n";
		}
	str +='</td>';
	str +='</tr>';
	}
str +='</table>';

var elem = document.getElementById('action_data');
if(elem != null)
	{
	elem.innerHTML = str;
	}
}

function login_to_gurulib_to_watch_price_confirmed()
{
var path = '';
if(hide_owner_info == false)
	{
	path = "title/"+item_owner_id;
	}
else
	{
	path = "_item_details.php?item_id="+item_id;
	}	
window_open(base_url+"/index.php?redirect="+escape(path)+"", '_self');
}

function open_watch_price_box()
{
if(price_watch_id != -1)
	return;
if(logged_in == 0)
	{
		window_confirm("Login Needed", "You need to login to GuruLib to watch price.", "login_to_gurulib_to_watch_price_confirmed()", null); 
	}
else
	{
	var elem = document.getElementById('dollar_img');
	if(elem == null)
		return;
	var x = findPosX(elem);
	var y = findPosY(elem);
	//get_xy(event);
	var left1 = x - 250;
	//var top1 = y - 60;
	var top1 = (screen.availHeight + document.body.scrollTop - 160)/2;
	//alert(top + ',' + top1);
	var elem = document.getElementById('watch_price_box');
	if(elem == null)
		{
		return;
		}
	elem.style.backgroundColor = theme_color;
	elem.style.visibility = 'visible';
	elem.style.left = left1;
	elem.style.top = top1;

	elem = document.getElementById('price_target');
	if(elem == null)
		return;
	disable_screen(true);
	elem.value=best_price/100;
	elem.focus();
	elem.select();
	}
}

function request_shelf_info()
{
var args = {
						'action' 				: 'get_shelf_info',
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, fill_shelf_info);
}

function fill_shelf_info(shelf_data)
{
var count = shelf_data.shift();
if(count == 'error')
	{
	show_alert_dialog("Error",shelf_data.shift());
	return;
	}
var i;
var shelf_id;
var shelf_name;
var private_shelf;
var shelf_type;
var picture_id;
count *= 1;
var j;
shelf_array = new Array();
for(j = 0, i = 0; i < count; ++i)
	{
	shelf_id = shelf_data.shift()*1;
	shelf_name = (shelf_data.shift());
	shelf_type = shelf_data.shift()*1;	
	private_shelf = shelf_data.shift()*1;
	picture_id = shelf_data.shift()*1;
	
	if(shelf_type == 2)
		{
		wish_list_shelf_id = shelf_id;
		}
	else if(shelf_type == 1)
		{
		trash_can_shelf_id = shelf_id;
		}	
	else if(shelf_type == 4)
		{
		continue;
		}
	if(shelf_id == req_shelf_id)
		{
		continue;
		}

	shelf_array[j] = new Array();
	shelf_array[j]['id'] = shelf_id;
	shelf_array[j]['name'] = shelf_name;
	shelf_array[j]['type'] = shelf_type;
	shelf_array[j]['private'] = private_shelf;
	shelf_array[j]['picture_id'] = picture_id;
	++j;
	}
create_shelf_list();
create_action_box();
}	

function create_shelf_list()
{
var str = '<table style="border: 1px outset white; font-family: arial; font-size: 10pt" border="0" bgcolor="'+theme_color+'" cellspacing="0" cellpadding="0" width="100" height="100%">\n';
str += "<th style=\"color: black; background-color: #88AACC\">Move&nbsp;"+media_str+"&nbsp;To</th>";

var i;
var temp_str = '';
var shelf_add_count = 0;
for(i = 0; i < shelf_array.length; ++i)
	{
	var shelf_id = shelf_array[i]['id'];
	var shelf_name = shelf_array[i]['name'];
	var private_shelf = shelf_array[i]['private'];
	var shelf_type = shelf_array[i]['type'];
	var img = '';
	if(shelf_type == 4)
		{
		//recommendation shelf;
		continue;
		}

	if(shelf_id == req_shelf_id)
		{
		continue;
		}
	shelf_name = shelf_name.split(" ").join("&nbsp;");
	if(shelf_type == 0)	//normal shelf
		{
	 	img = base_url+"/_images/shelf.gif";
		}
	else if(shelf_type == 1) //trash can shelf
		{
		continue;
		}
	else if(shelf_type == 2) //wish list shelf
		{
		img = base_url+"/_images/wish.gif";
		if(shelf_add_count > 0)
			{
			temp_str += add_seperator();
			}
		}
	else if(shelf_type == 3) //borrowed shelf
		{
		continue;
		}

	var temp =  '<tr><td><table width="100%" onmousedown="move_menu_clicked('+shelf_id+');" onmouseover="mouse_over_menulink(this);" onmouseout="mouse_out_menulink(this);" style="cursor: pointer; cursor: hand; display: block; border: 1px solid '+theme_color+'; color: '+font_color+'; font-family: arial; font-size: 10pt" border="0" cellspacing="2" cellpadding="0" ><tr>';
	temp += '<td align="left" valign="top"><img height="20" src="'+img+'">';
	if(private_shelf == 1)
		{
		temp += '<img style="position: relative; left: 0; top: -10" border="0" src="'+base_url+'/_images/lock.gif" height="15">';
		}
	temp += '</td>';
	temp += '<td width="100%" align="left" valign="middle">'+shelf_name+'</td>';
	temp += '</tr></table></td></tr>';

	if(shelf_type != 2)
		{
		str +=	temp;//add_menu_row(shelf_id, temp,"", "add_move_to_shelf", 1);
		}
	else
		{
		temp_str +=	temp;//add_menu_row(shelf_id, temp,"", "add_move_to_shelf", 1);
		}

	shelf_add_count++;
	}

str += temp_str;

str += "<tr><td align=\"right\" valign=\"bottom\" width=\"100%\" height=\"1\"><span id=\"shelf_menu_bottom_right\" style=\"width: 1px; height: 1px; font-size: 1pt; display: block;\"></span></td></tr>";
str += "</table>\n";

var elem = document.getElementById('shelf_menu');
if(elem != null)
	{
	elem.innerHTML = str;
	}
//return str;
}

function add_seperator()
{
var str = '';
//put a seperator
str += "<tr>\n";
str += "	<td width=\"100%\" height=\"3\" align=\"center\" valign=\"top\">\n";
str += "		<table style=\"font-size: 3pt;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=\"100%\" width=\"100%\">\n";
str += "			<tr>\n";
str += "				<td width=\"5\">\n";
str += "				&nbsp\n";
str += "				</td>\n";
str += "				<td>\n";
str += "				<hr>\n";
str += "				</td>\n";
str += "				<td width=\"5\">\n";
str += "				&nbsp\n";
str += "				</td>\n";
str += "			</tr>\n";
str += "		</table>\n";
str += "	</td>\n";
str += "</tr>\n";
return str;
}



function close_watch_price_box()
{
var elem = document.getElementById('watch_price_box');
if(elem != null)
	elem.style.visibility='hidden';
disable_screen(false);
}

function stop_watching_price()
{
window_confirm("Stop Price Watch", "This will stop watching price on this "+media_str, "stop_price_watch_confirmed()", null);
}

function stop_price_watch_confirmed()
{
var args = {
						'action' 				: 'stop_watch_price',
						'price_watch_id':	price_watch_id,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_stop_watch_price);
}

function response_stop_watch_price(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	watching_price = false;
	watch_price = 0;
	price_watch_id = 0;
	price_watch_type = 0;
	best_price = 0;
	new_price = 0;	
	create_action_box();
	var elem = document.getElementById('price_watch_info_display');
	if(elem != null)
		{
		elem.style.display = 'none';
		}
	}
}

function hide_help(obj)
{
var elem = document.getElementById('help_box');
	if(elem == null)
		return;
elem.style.visibility = "hidden";
obj.src=base_url+'/_images/inactive_help.gif';
}

function show_help(obj, msg)
{
	var elem = document.getElementById('help_box');
	if(elem == null)
		return;
	var y1 = getImagePageTop(obj);
	var x1 = getImagePageLeft(obj);
	elem.style.left = x1 + 30;
	elem.style.top = y1;
	elem.style.visibility = "visible";
	elem.innerHTML = msg;
	obj.src=base_url+'/_images/active_help.gif';
}

function show_help_left(obj, msg)
{
	var elem = document.getElementById('help_box');
	if(elem == null)
		return;
	var y1 = getImagePageTop(obj);
	var x1 = getImagePageLeft(obj);
	elem.style.left = x1 - 220;
	elem.style.top = y1;
	elem.style.visibility = "visible";
	elem.innerHTML = msg;
	obj.src=base_url+'/_images/active_help.gif';

}

function fnTrapKD(btn, event)
{
 if (document.all)
	{
	if (event.keyCode == 13)
		{
		event.returnValue=false;
		event.cancel = true;
		btn.click();
		}
	}
 else if (document.getElementById)
	{
	if (event.which == 13)
		{
		event.returnValue=false;
		event.cancel = true;
		btn.click();
		}
	}
 else if(document.layers)
	{
	if(event.which == 13)
		{
		event.returnValue=false;
		event.cancel = true;
		btn.click();
		}
	}
}

function remove_html_newlines(str)
{
//print $str;
var str1 = str.toLowerCase();
var ret = '';
var start_pos = 0;
var end_pos = 0;
while(1)
	{
	start_pos = str1.indexOf("<br");//strpos($str1, "<br");
	if(start_pos === -1)
		{
		break;
		}
	str1 = str1.substring(start_pos);
	end_pos = str1.indexOf(">");
	if(end_pos === -1)
		{
		break;
		}
	ret += str.substring(0, start_pos) + "\n";
	str1 = str1.substring((end_pos+1));
	str  = str.substring((start_pos + end_pos + 1));
	}
ret += str;
return ret;
}

function remove_newlines(str)
{
var arr = str.split('\n');
str = '';
for(i=0;i<arr.length;++i)
	{
	str += arr[i] + "<br>";
	}
return str;
}

function show_accept_deny_box(borrow_id, username, mesg_text, days)
{
mesg_text = remove_html_newlines(mesg_text);

borrow_item_id = borrow_id;
var left1 = (screen.availWidth - 520)/2;
var top1 = (screen.availHeight - 325)/2 + document.body.scrollTop;
var elem = document.getElementById('accept_deny_box');
if(elem == null)
	{
	return;
	}
elem.style.backgroundColor = theme_color;
elem.style.visibility = 'visible';
elem.style.left = left1;
elem.style.top = top1;

elem = document.getElementById('final_borrow_for');
if(elem == null)
	return;
switch(days)
	{
	case 1:
		elem.selectedIndex = 0;
		break;
	case 2:
		elem.selectedIndex = 1;
		break;
	case 3:
		elem.selectedIndex = 2;
		break;
	case 7:
		elem.selectedIndex = 3;
		break;
	case 14:
		elem.selectedIndex = 4;
		break;
	case 21:
		elem.selectedIndex = 5;
		break;
	case 30:
		elem.selectedIndex = 6;
		break;
	}
if(is_current_borrower_displayed() && owner == false)
	{
	elem.disabled = true;
	}
else
	{
	elem.disabled = false;
	}
change_final_borrow_date(days);

elem = document.getElementById('borrow_message_to_area');
if(elem == null)
	return;
elem.innerHTML = username;

elem = document.getElementById('final_borrow_edit_area');
if(elem == null)
	return;
if(mesg_text.length != 0)
	elem.value = username+' wrote the following mesg:\n"'+mesg_text+'"\n\n';
else
	elem.value = '';

var elem1 = document.getElementById('accept_deny_box_title');
var elem2 = document.getElementById('accept_borrow_button_id');
if(elem1 != null && elem2 != null)
	{
	if(is_current_borrower_displayed() && owner)
		{
		elem1.innerHTML = '&nbsp;Deny&nbsp;Borrow&nbsp;Request';
		elem2.style.visibility = 'hidden';
		}
	else
		{
		if(owner)
			{
			elem1.innerHTML = '&nbsp;Accept/Deny&nbsp;Borrow&nbsp;Request';
			elem2.style.visibility = 'visible';
			}
		else
			{
			elem1.innerHTML = '&nbsp;Accept/Deny&nbsp;Borrow&nbsp;Setting';
			elem2.style.visibility = 'visible';
			}
		}
	}
elem.focus();

}

function borrow_item()
{
if(logged_in == 0)
	{
	window_confirm("Login Needed", "You need to login to GuruLib to borrow this "+media_str, "window_open('"+base_url+"/index.php?redirect="+escape("title/"+item_owner_id)+"', '_self')", null); 
	}
else
	{
	var left1 = (screen.availWidth - 520)/2;
	var top1 = (screen.availHeight - 325)/2 + document.body.scrollTop;
	var elem = document.getElementById('borrow_box');
	if(elem == null)
		{
		return;
		}
	elem.style.backgroundColor = theme_color;
	elem.style.visibility = 'visible';
	elem.style.left = left1;
	elem.style.top = top1;
	elem = document.getElementById('borrow_for');
	if(elem == null)
		return;
	disable_screen(true);
	change_borrow_date(elem.value,'return_date');
	elem = document.getElementById('borrow_edit_area');
	if(elem != null)
		{
		elem.value = '';
		elem.focus();
		}
	}
}

function close_borrow_box()
{
var elem = document.getElementById('borrow_box');
if(elem == null)
	return;

elem.style.visibility='hidden';
disable_screen(false);
}

function change_borrow_date(days, set_obj_id)
{
var months       = ['Jan','Feb','Mar','Apr','May','Jun',
                                       'Jul','Aug','Sep','Oct','Nov','Dec'];
days = days*1;
//var elem = document.getElementById('return_date');
var elem = document.getElementById(set_obj_id);
if(elem == null)
	return;
var now  = new Date();
//elem.value =
if(days!=30)
	{
	now.setDate(now.getDate()+days);
	}
else
	{
	now.setMonth(now.getMonth()+1);
	}
elem.value = months[now.getMonth()] + " " + now.getDate().toString() + ", " + now.getFullYear().toString();
}

function change_final_borrow_date(days)
{
var months       = ['Jan','Feb','Mar','Apr','May','Jun',
                                       'Jul','Aug','Sep','Oct','Nov','Dec'];
days = days*1;
var elem = document.getElementById('final_return_date');
if(elem == null)
	return;
var now  = new Date();
//elem.value =
if(days!=30)
	{
	now.setDate(now.getDate()+days);
	}
else
	{
	now.setMonth(now.getMonth()+1);
	}
elem.value = months[now.getMonth()] + " " + now.getDate().toString() + ", " + now.getFullYear().toString();
}

function request_borrow_item()
{
	close_borrow_box();
	show_loading();
	var month_array = new Array();
	month_array['Jan'] = 1;
	month_array['Feb'] = 2;
	month_array['Mar'] = 3;
	month_array['Apr'] = 4;
	month_array['May'] = 5;
	month_array['Jun'] = 6;
	month_array['Jul'] = 7;
	month_array['Aug'] = 8;
	month_array['Sep'] = 9;
	month_array['Oct'] = 10;
	month_array['Nov'] = 11;
	month_array['Dec'] = 12;

	var disp_return_date = document.getElementById('return_date').value;
	var days = document.getElementById('borrow_for').value*1;
	var arr = disp_return_date.split(',');
	var year = trim(arr[1])*1;
	var arr1 = trim(arr[0]).split(' ');
	var month = month_array[arr1[0]];
	var day = trim(arr1[1]);
	if(month.length == 1)
		month = '0' + month;
	if(day.length == 1)
		day = '0' + day;

	var return_date = year+"-"+month+"-"+day;
	var mesg_text = document.getElementById('borrow_edit_area').value;

var	args = {
					'action'					: 'request_borrow_item',
					'item_owner_id'		:	item_owner_id,
					'return_date'			: return_date,
					'mesg_text'				:	mesg_text,
					'disp_return_date':	disp_return_date,
					'days'						:	days
				 };
ajax_post_request(ajax_rqst_url, args, response_request_borrow_item);

}

function response_request_borrow_item(response_array)
{
request_for_borrowers(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	hide_borrow_indicator();
	}
}

function similar_titles_loaded(obj)
{
obj.style.visibility = 'visible';
if(parseInt(obj.width) > 75)
	obj.width = 75;

}

function main_image_loaded(obj)
{
obj.style.visibility = 'visible';
if(parseInt(obj.width) > 190)
	obj.width = 190;
	
//request_for_borrowed_status();
//if(current_borrow_status != -1)
//	{
	//setTimeout('set_borrow_status_indicator(current_borrow_status)', 2000);
//	}
}

function request_for_borrowed_status()
{
var args = {
						'action' 				: 'borrowed_status',
						'item_owner_id':	item_owner_id,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, list_borrowed_status);
}

function list_borrowed_status(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	return;
	}
else
	{
	var count									= response_array[0]*1;
	if(count != 0)
		{
		var borrower_id						= response_array[1]*1;
		var temp_borrow_item_id		= response_array[2]*1;
		var temp_borrow_status 		= response_array[3]*1;
		var owner_username 				= response_array[4];
		var borrower_username 		= response_array[5];
		var borrower_user_photo 	= response_array[6];
		var return_date 					= response_array[7];
		var days									= response_array[8]*1;
		var	mesg_text							= response_array[9];
		var borrower_email 				= response_array[10];
		var owner_email						= response_array[11];
		var gurulib_owner					= response_array[12]*1;
		borrowed_item_owner_id		= response_array[13]*1;
		if(gurulib_owner == 0)
			{
			this_is_borrowed_item = true;			
			}
		show_current_borrower(borrower_id, owner_username, borrower_username, borrower_user_photo, return_date, temp_borrow_item_id, temp_borrow_status, days, mesg_text, borrower_email, owner_email, gurulib_owner);
		if(owner || (borrower_username == user_username && borrower_id != 0))
			{
			hide_borrow_indicator();
			}
		else if(show_borrow_indicator)
			{
			set_borrow_indicator()
			}
		current_borrow_status = temp_borrow_status;
		set_borrow_status_indicator(current_borrow_status);
		//setTimeout('set_borrow_status_indicator(current_borrow_status)', 1000);
		}
	else
		{
		if(show_borrow_indicator)
			{
			set_borrow_indicator()
			}
		hide_current_borrower_area();
		hide_borrow_status_indicator();
		}
		
	}
}

function request_for_borrowers(start_index)
{
borrowers_start_index = start_index;
var args = {
						'action' 				: 'borrow_request_list',
						'start_index'		:	borrowers_start_index,
						'item_count'		:	borrowers_item_count,
						'item_owner_id'	:	item_owner_id,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, list_borrowers);
}

function login_to_gurulib_to_add_to_wish_list_confirmed()
{
var path = '';
if(hide_owner_info == false)
	{
	path = "title/"+item_owner_id;
	}
else
	{
	path = "_item_details.php?item_id="+item_id;
	}	
window_open(base_url+"/index.php?redirect="+escape(path)+"", '_self');
}

function add_to_my_wish_list()
{
if(logged_in == 0)
	{
		window_confirm("Login Needed", "You need to login to GuruLib to add this "+media_str+" to your wish list.", "login_to_gurulib_to_add_to_wish_list_confirmed()", null); 
	}
else
	{
	window_confirm("Add To WishList", "'"+title_str+"' will be added to your wish list", "add_to_wish_list_confirmed()", null);
	}
}

function add_to_wish_list_confirmed()
{
var args = {
						'action' 		: 'add_to_wish_list',
						'item_id'		:	item_id,
						'random'		: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_add_to_wish_list);

}

function response_add_to_wish_list(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	//remove the add to wish list button;
	var elem = document.getElementById('add_item_wish_list_area_id');
	if(elem != null)
		{
		elem.style.display='none';
		}
	elem = document.getElementById('add_item_wish_list_area_id_img');
	if(elem != null)
		{
		elem.style.display='none';
		}
	}
}

function accept_deny_borrow_request(status)
{
//status == 1 means the request is accepted else it is rejected
	close_accept_deny_box();
	show_loading();
	var month_array = new Array();
	month_array['Jan'] = 1;
	month_array['Feb'] = 2;
	month_array['Mar'] = 3;
	month_array['Apr'] = 4;
	month_array['May'] = 5;
	month_array['Jun'] = 6;
	month_array['Jul'] = 7;
	month_array['Aug'] = 8;
	month_array['Sep'] = 9;
	month_array['Oct'] = 10;
	month_array['Nov'] = 11;
	month_array['Dec'] = 12;

	var disp_return_date = document.getElementById('final_return_date').value;
	var days = document.getElementById('final_borrow_for').value*1;
	var arr = disp_return_date.split(',');
	var year = trim(arr[1])*1;
	var arr1 = trim(arr[0]).split(' ');
	var month = month_array[arr1[0]];
	var day = trim(arr1[1]);
	if(month.length == 1)
		month = '0' + month;
	if(day.length == 1)
		day = '0' + day;

	var return_date = year+"-"+month+"-"+day;
	var mesg_text = document.getElementById('final_borrow_edit_area').value;

var	args = {
					'action'					: 'accept_deny_borrow_item',
					'status'					: status,
					'borrow_item_id'	: borrow_item_id,
					'return_date'			: return_date,
					'mesg_text'				:	mesg_text,
					'disp_return_date':	disp_return_date,
					'days'						:	days
				 };
ajax_post_request(ajax_rqst_url, args, response_accept_deny_borrow_item);

}

function response_accept_deny_borrow_item(response_array)
{
request_for_borrowers(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function show_current_borrower(borrower_id, owner_username, borrower_username, borrower_user_photo, return_date, temp_borrow_item_id, temp_borrow_status, days, mesg_text, borrower_email, owner_email, gurulib_owner)
{
var elem = document.getElementById('current_borrower_area');
if(elem == null)
	return;
var str = '';

return_date = replace_str(return_date, ' ', '&nbsp;');
if(borrower_user_photo.length == 0)
		{
		borrower_user_photo = base_url+'/_images/no_user_image.jpg';
		}
	else
		{
		borrower_user_photo = base_url+"/"+borrower_user_photo;
		}

str += '		<div>';
str += '			<table border="0" cellspacing="0" cellpadding="0" class="slicedBoxTop" >';
str += '		    <tr>';
str += '					<td class="left"></td>';
str += '					<td class="center">';

str += "		<table bgColor=\""+theme_color+"\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
if(temp_borrow_status == 1 || temp_borrow_status == 2)
	{
	str += "			<tr><td style=\"font-family: arial; font-size: 10pt; font-weight: bold;\" align=\"center\" valign=\"top\" height=\"20\"    width=\"100%\">Borrowed&nbsp;By</td></tr>\n";
	}
else if(temp_borrow_status == 5)
	{
	str += "			<tr><td style=\"font-weight: bold; font-family: arial; font-size: 10pt\" align=\"center\" valign=\"top\" height=\"20\"    width=\"100%\">Waiting&nbsp;For&nbsp;Borrower To&nbsp;Acknowledge</td></tr>\n";
	}
str += "		</table>\n";

str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';

str += '		<div>';
str += '			<table class="slicedBoxMiddle" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td align="center" valign="top" class="center">';

str += "	<table border=\"0\" cellspacing=\"4\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n";
str += "		<tr>\n";
str += "			<td valign=\"middle\">\n";
str += "				<img img=\"\" alt=\""+borrower_username+"\" src=\""+borrower_user_photo+"\" width=\"50\">\n";
str += "			</td>\n";
str += "			<td align=\"left\" width=\"100%\">\n";

str += '<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">';
if(borrower_id != 0)
	{
	str += '<tr><td height="20">';
	str += "				<a style=\"font-family: arial; font-size: 10pt;\"  href=\""+base_url+"/profile/"+escape(borrower_username)+"\" title=\"Click here to open the profile of "+borrower_username+"\">"+borrower_username+"</a>\n";
	str += '</td></tr>';
	}
else
	{
	str += '<tr><td height="20">';
	if(borrower_email.length == 0)
		{
		str += "				<span style=\"font-family: arial; font-size: 10pt;\">"+borrower_username+"</span>\n";
		//str += borrower_username;
		}
	else
		{
		str += "				<a style=\"font-family: arial; font-size: 10pt;\"  href=\"mailto:"+borrower_email+"\" title=\"Click here to email "+borrower_username+"\">"+borrower_username+"</a>\n";
		}
	str += '</td></tr>';
	}
str += '<tr><td height="20">';
str += "		<span style=\"text-align: left; font-size: 8pt\">Return:&nbsp;"+return_date+"</span>\n";
str += '</td></tr>';
if(temp_borrow_status != 5)
	{
	str += '<tr><td height="20">';
	if(gurulib_owner != 0)
		{
		str += "<span style=\"text-align: left; font-size: 8pt;\">Owner:&nbsp;<a title=\"Click here to open the profile of "+owner_username+"\" style=\"font-size: 8pt;text-align: left;\" href=\""+base_url+"/profile/"+escape(owner_username)+"\">"+owner_username+"</a></span>\n";
		}
	else
		{
		if(owner_email.length != 0)
			{
			str += "<span style=\"text-align: left; font-size: 8pt;\">Owner:&nbsp;<a style=\"font-size: 8pt;text-align: left;\" href=\"mailto:"+owner_email+"\">"+owner_username+"</a></span>\n";
			}
		else
			{
			str += "<span style=\"text-align: left; font-size: 8pt;\">Owner:&nbsp;"+owner_username+"</span>\n";
			}	
		}	
	str += '</td></tr>';
	}
str += "</table>";


str += "			</td>\n";
str += "		</tr>\n";

if(owner)
	{
	if(gurulib_owner == 0)
		{
		str += "<tr><td>&nbsp;</td>\n";
		str += "<td align=\"right\" height=\"20\" width=\"100%\">";
		str += "<a style=\"font-size: 8pt; text-align: right;\" title=\"Click here if you have returned this "+media_str+"\" href=\"javascript:borrowed_item_returned("+temp_borrow_item_id+",'"+owner_username+"')\">Returned</a>";
		}
	else
		{
		str += "<tr><td>&nbsp;</td>\n";
		str += "<td align=\"right\" height=\"20\" width=\"100%\">";
		if(temp_borrow_status != 5)
			{
			if(this_is_borrowed_item == false)
				{
				str += "<a style=\"font-size: 8pt; text-align: right;\" title=\"Click here when "+borrower_username+" returns this "+media_str+"\" href=\"javascript:borrowed_item_received("+temp_borrow_item_id+",'"+borrower_username+"')\">Received</a>";
				}
			}
		else
			{
			str += "<a style=\"font-size: 8pt; text-align: right;\" title=\"Click here if you want to cancel the borrowed setting for "+ borrower_username + "\" href=\"javascript:show_cancel_borrow_box("+temp_borrow_item_id+","+ temp_borrow_status+")\">Cancel</a>";
			}
	
		str += "</td></tr>\n";
		}
	}
else if(temp_borrow_status == 5 && (borrower_username == user_username && borrower_id != 0))
	{
	str += "<tr><td>&nbsp;</td>\n";
	str += "<td align=\"right\" width=\"100%\">\n";
	str += "<a style=\"font-size: 8pt; text-align: right;\" title=\"Click here if you want to cancel the borrowed setting for "+ borrower_username + "\" href=\"javascript:show_accept_deny_box("+temp_borrow_item_id+",'"+owner_username+"','"+mesg_text+"',"+days+")\">Accept/Deny</a>\n";

	str += "</td></tr>\n";
	}

str += "	</table>\n";


str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';
						
str += '		<div>';
str += '			<table class="slicedBoxBottom" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td class="center"></td>';
str += '					<td class="right"></td>';
str += '		    </tr>';
str += '			</table>';
str += '		</div>';


//str += "</td></tr>\n";
//str += "</table>\n";

elem.innerHTML=str;
elem.style.visibility = 'visible';
elem.style.display = 'block';
}

function disable_screen(show)
{
var obj = document.getElementById('silkscreen');

if(obj == null)
	return;

if(show)
	{
	var size = get_page_size();
	var page_height = size[1];
	var page_width = size[0];
	obj.style.width = page_width;
	obj.style.height = page_height;
	}	
obj.style.visibility = show?"visible":"hidden";
}

function get_page_size(){
	
	var pageWidth = Math.max(screen.availWidth, 1024);
	var elem = document.getElementById('copyright_info');
	var pageHeight = findPosY(elem) + 40;
	var arrayPageSize = new Array(pageWidth,pageHeight); 
	return arrayPageSize;
}

function borrowed_item_returned(temp_borrow_item_id, owner_username)
{
window_confirm("Item Returned", "This will set the borrow status as you returned this "+media_str+" to "+owner_username, "borrow_item_returned_confirmed("+temp_borrow_item_id+")", null);
}

function borrow_item_returned_confirmed(temp_borrow_item_id)
{
var args = {
						'action' 					: 'borrowed_item_returned',
						'borrow_item_id'	:	temp_borrow_item_id,
						'random'					: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_borrowed_item_returned);
}

function response_borrowed_item_returned(response_array)
{
request_for_borrowers(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	this_is_borrowed_item = false;
	borrowed_item_owner_id = 0;
	//window.location.reload(true);
	show_borrow_action_entry = true;
	create_action_box();
	}	
}

function borrowed_item_received(temp_borrow_item_id, borrower_username)
{
window_confirm("Item Returned", "This will set the borrow status of this "+media_str+" as received from "+borrower_username+"", "borrow_item_received_confirmed("+temp_borrow_item_id+")", null);
}

function borrow_item_received_confirmed(temp_borrow_item_id)
{
var args = {
						'action' 					: 'borrowed_item_received',
						'borrow_item_id'	:	temp_borrow_item_id,
						'random'					: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_borrowed_item_received);
}

function response_borrowed_item_received(response_array)
{
request_for_borrowers(0);
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	show_borrow_action_entry = true;
	create_action_box();
	}
}

function fade_in_out_text(id, opacity, forward)
{
var diff = 10;
var opacity_ff = (opacity/100);
var obj = document.getElementById(id);
if(obj == null)
	return;
obj.style.opacity = opacity_ff;
obj.style.filter = "alpha(opacity="+opacity+")";
if(forward)
	{
	if(opacity == 100)
		{
		forward = false;
		opacity = opacity - diff;
		}
	else
		{	
		if(opacity == 0)
			{
			obj.style.display = '';
			}
		opacity = opacity + diff;
		}
	}
else
	{
	if(opacity == 0)
		{
		obj.style.display = 'none';
		return;
		}
	opacity = opacity - diff;
	}	
//alert(opacity_ff + "," + forward);
setTimeout("fade_in_out_text('"+id+"',"+opacity+","+forward+")", 80);
}

function large_image_loaded(img_obj)
{
if(img_obj.style.display == '')
	{
	show_large_image_now();
	}
}

function show_large_image()
{
var elem1 = document.getElementById('large_image_area');
elem1.style.display = '';
if(elem1.width != 0)
	{
	show_large_image_now();
	}
}

function close_large_image()
{
var elem = document.getElementById('view_large_box');
elem.style.visibility='hidden';
var elem1 = document.getElementById('large_image_area');
elem1.style.visibility='hidden';
}

function show_large_image_now()
{
var elem = document.getElementById('view_large_box');
var elem1 = document.getElementById('large_image_area');
var height = elem1.height;
var width = elem1.width;
var w_ratio = width/height;

if(width < 120)
	{
	width = 120;
	height = parseInt(width/w_ratio);
	}
else if(width > 480)
	{
	width = 480;
	height = parseInt(width/w_ratio);
	}

if(height < 120)
	{
	height = 120;
	width = parseInt(height*w_ratio);
	}
else if(height > 480)
	{	
	height	= 480;
	width = parseInt(height*w_ratio);
	}

elem.style.width = (width + 5);
elem.style.height = (height + 35);
elem1.style.width = width;
elem1.style.height = height;

elem.style.top = (parseInt(screen.availHeight - height)/2 + document.body.scrollTop - 50) + 'px';
elem.style.left = parseInt((screen.availWidth - width - 5)/2) + 'px';
elem.style.visibility = 'visible';
elem1.style.display = '';
elem1.style.visibility = 'visible';
}

function rating_mouse_out()
{
rating_mouse_over(0);
}

function rating_mouse_over(pos)
{
var container=document.getElementById('star_rating');
if(container == null)
	return;
var elements=container.getElementsByTagName('TD');
if(elements == null)
	return;
var numElements=elements.length;
//window.status = "numElements="+numElements;
for(var i=1;i<=numElements;i++)
	{
	var curElem=elements[i-1];
	//curElem.className=(i<=selecteIndex)?('over'):('selectedless');
	if((i<=current_user_rating)&&(i<=pos))
		{
		curElem.style.backgroundPosition='1px -56px';
		}
	else if((i>current_user_rating)&&(i<=pos))
		{
		curElem.style.backgroundPosition='1px -56px';
		}
	else if((i>current_user_rating)&&(i>pos))
		{
		curElem.style.backgroundPosition='1px 0px';
		}
	else if((i<=current_user_rating)&&(i>pos))
		{
		curElem.style.backgroundPosition='1px -76px';
		}
	}
}

function rating_mouse_up(pos)
{
current_user_rating = pos;
rating_mouse_over(pos);
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var args = {
						'action' 				: 'update_user_rating',
						'item_owner_id'	:	id,
						'user_rating'		: pos,
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_update_user_rating, false);
}

function response_update_user_rating(response_array)
{
//nothing to do.
}

function edit_mouseover(obj)
{
if(owner && is_loading() == false)
	{
	obj.style.backgroundColor=theme_color;
	obj.title = "Click here to edit";
	if(browser_is_ie == false)
		{
		obj.style.cursor= 'pointer';
		}
	else
		{
		obj.style.cursor= 'hand';
		}
	}
}

function edit_mouseout(obj)
{
if(owner)
	{
	obj.style.backgroundColor='';
	obj.title = '';
	}
}

function save_div_area(obj_id, obj_id_area)
{
if(owner)
	{
	var obj_area = document.getElementById(obj_id_area);
	if(obj_area == null)
		return;
	var obj = document.getElementById(obj_id);
	if(obj == null)
		return;
	if(obj_area.style.display == 'block')
		{
		var elem = FCKeditorAPI.GetInstance('dynamic_edit_area');
		if(elem != null)
			{
			var str = trim(elem.GetHTML());
			post_user_review(str);
			obj.style.display='block';
			obj_area.style.display = 'none';
			}
		}
	}
}

function dynamic_edit_close()
{
if(owner)
	{
	var elem = FCKeditorAPI.GetInstance('dynamic_edit_area');
	if(elem != null)
		{
		var str = trim(elem.GetHTML());
		if(str != current_user_review)
			{
			window_confirm("Save Review", "This review will be saved before closing", "save_div_area('user_review_div', 'user_review_div_edit')", "close_review_edit_confirmed()");
			}
		else
			{
			close_review_edit_confirmed();
			}			
		}
	}
}

function close_review_edit_confirmed()
{
var elem = FCKeditorAPI.GetInstance('dynamic_edit_area');
elem = document.getElementById('user_review_div');
if(elem != null)
	{
	elem.style.display = 'block';
	var elem = document.getElementById('user_review_div_edit');
	if(elem != null)
		{
		elem.style.display = 'none';
		}
	}
}

function edit_click(obj)
{
if(owner  && is_loading() == false)
	{
	var elem = document.getElementById('user_review_div_edit');
	if(elem != null)
		{
		if(elem.style.display == 'none')
			{
			obj.style.display = 'none';
			elem.style.display = 'block';
			var edit = FCKeditorAPI.GetInstance('dynamic_edit_area');
			edit.SetHTML(current_user_review);
			}
		}
	}
}

function shelf_mouse_over(obj)
{
if(owner || this_is_borrowed_item)
	{
	obj.style.border="1px gray outset";
	obj.style.backgroundColor=theme_color;
	document.getElementById('shelf_menu_img').style.visibility="visible";
	}
}

function shelf_mouse_out(obj)
{
if(owner || this_is_borrowed_item)
	{
	obj.style.border="";
	obj.style.backgroundColor='';
	document.getElementById('shelf_menu_img').style.visibility="hidden";
	}
}

function shelf_mouse_click(obj)
{
if(owner || this_is_borrowed_item)
	{
	obj.style.backgroundColor='';
	show_shelf_menu(obj);
	}
}

function post_user_review(user_review)
{
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var	args = {
					'action'					: 'save_user_review',
					'item_owner_id'		: id,
					'user_review'			: user_review
				 };
ajax_post_request(ajax_rqst_url, args, response_save_user_review);
}

function response_save_user_review(response_array)
{
if(response_array[0] != 'error')
	{
	var elem = document.getElementById('user_review_div');
	if(elem != null)
		{
		var str = (response_array[1]);
		current_user_review = elem.innerHTML = str;
		if(str.length == 0)
			{
			str = "No review";
			}
		elem.innerHTML = str;
		elem.style.display = 'block';
		var elem = document.getElementById('user_review_div_edit');
		if(elem != null)
			{
			elem.style.display = 'none';
			}
		}
	}
}

function change_who_borrowed(val)
{
var elem = document.getElementById('borrower_type_str');
var elem1 = document.getElementById('borrower_type');
var elem2 = document.getElementById('borrower_email_str');
var elem3 = document.getElementById('borrower_type_select');
var elem4 = document.getElementById('message_to_borrower');
var elem5 = document.getElementById('set_borrow_button_id');
var elem6 = document.getElementById('borrow_dialog_head');
var elem7 = document.getElementById('borrower_email_row');
var elem8 = document.getElementById('borrower_email');
if(elem == null || elem1 == null || elem2 == null || elem3 == null || elem4 == null || elem5 == null || elem6 == null || elem7 == null || elem8 == null)
	return;
if(val == 0)
	{
	//This is a title borrowed by this gurulib user
	elem3.disabled = true;
	elem3.value = 1;
	elem3.selectedIndex = 1;
	var temp = media_str.substr(1);
	elem.innerHTML = "Is&nbsp;this&nbsp;"+media_str+"'s&nbsp;owner&nbsp;a&nbsp;GuruLib&nbsp;user?";
	if(elem3.value == 0)
		{
		elem1.innerHTML = "Owner's&nbsp;GuruLib&nbsp;username";
		}
	else
		{
		elem1.innerHTML = "Owner's&nbsp;name";
		}	
	elem2.innerHTML = "Owner's&nbsp;email:";
	elem4.innerHTML = "Message to "+media_str+" owner";
	elem5.innerHTML = "&nbsp;Set&nbsp;As&nbsp;Borrowed&nbsp;";
	elem6.innerHTML = 'borrowed';
	elem7.style.visibility = 'visible';
	elem7.style.display = '';
	elem8.disabled = false;
	}
else
	{
	//This is a title that is borrowed from this gurulib user
	//This is a title borrowed by this gurulib user
	elem3.disabled = false;
	elem.innerHTML = "Is&nbsp;this&nbsp;borrower&nbsp;a&nbsp;GuruLib&nbsp;user?";
	if(elem3.value == 0)
		{
		elem1.innerHTML = "Borrower's&nbsp;GuruLib&nbsp;username";
		}
	else
		{
		elem1.innerHTML = "Borrower's&nbsp;name";
		}	
	elem2.innerHTML = "Borrower's&nbsp;email:";
	elem4.innerHTML = "Message to borrower";
	elem5.innerHTML = "&nbsp;Set&nbsp;As&nbsp;Lent&nbsp;";
	elem6.innerHTML = 'lent';
	}

}

function set_borrow_item()
{
	var mesg_text = document.getElementById('set_borrow_edit_area').value;
	var borrower_type = document.getElementById('borrower_type_select').value*1;
	var borrower_name = trim(document.getElementById('borrower_name').value);
	var email = document.getElementById('borrower_email').value;
	var borrowed_item = document.getElementById('who_borrowed_this').value;
	if(borrower_name.length == 0)
		{
		var str = '';
		if(borrower_type == 0)
			{
			str = "GuruLib username";
			}
		else
			{
			str = "name";
			}
		show_alert_dialog("Error","Please enter a valid "+str);
		document.getElementById('borrower_name').focus();
		return;
		}
	if(borrower_name == user_username && borrower_type==0)
		{
		show_alert_dialog("Error","You cannot borrow your own item.");
		document.getElementById('borrower_name').focus();
		return;
		}

	close_set_borrow_edit_box();
	show_loading();
	var month_array = new Array();
	month_array['Jan'] = 1;
	month_array['Feb'] = 2;
	month_array['Mar'] = 3;
	month_array['Apr'] = 4;
	month_array['May'] = 5;
	month_array['Jun'] = 6;
	month_array['Jul'] = 7;
	month_array['Aug'] = 8;
	month_array['Sep'] = 9;
	month_array['Oct'] = 10;
	month_array['Nov'] = 11;
	month_array['Dec'] = 12;

	var disp_return_date = document.getElementById('set_borrow_return_date').value;
	var days = document.getElementById('set_borrow_for').value*1;
	var arr = disp_return_date.split(',');
	var year = trim(arr[1])*1;
	var arr1 = trim(arr[0]).split(' ');
	var month = month_array[arr1[0]];
	var day = trim(arr1[1]);
	if(month.length == 1)
		month = '0' + month;
	if(day.length == 1)
		day = '0' + day;

	var return_date = year+"-"+month+"-"+day;

var	args = {
					'action'					: 'set_borrow_item',
					'item_owner_id'		: item_owner_id,					
					'borrower_name'		: borrower_name,
					'borrower_type'		: borrower_type,
					'email'						:	email,
					'borrowed_item'		: borrowed_item,				
					'return_date'			: return_date,
					'mesg_text'				:	mesg_text,
					'disp_return_date':	disp_return_date,
					'days'						:	days
				 };
ajax_post_request(ajax_rqst_url, args, response_set_borrow_item);

}

function response_set_borrow_item(response_array)
{
request_for_borrowers(0);
if(response_array[0] == 'error')
	{
	show_alert_dialog("Error",response_array[1]);
	}
}

function close_set_borrow_edit_box()
{
var elem1 = document.getElementById('borrower_email_row');
if(elem1 == null)
	return;
elem1.style.visibility = 'hidden';
elem1.style.display = 'none';
document.getElementById('set_borrow_edit_box').style.visibility='hidden';
disable_screen(false);
}

function show_set_borrowed_item()
{
var left1 = (screen.availWidth - 520)/2;
var top1 = (screen.availHeight - 460)/2 + document.body.scrollTop;
var elem = document.getElementById('set_borrow_edit_box');
if(elem == null)
	{
	return;
	}
elem.style.backgroundColor = theme_color;
elem.style.visibility = 'visible';
elem.style.left = left1;
elem.style.top = top1;
disable_screen(true);
elem = document.getElementById('set_borrow_for');
if(elem != null)
	change_borrow_date(elem.value,'set_borrow_return_date');
//document.getElementById('borrower_name').focus();
elem = document.getElementById('borrower_type_select');
if(elem != null)
	{
	var borrower_type = elem.value*1;
	change_borrower_type(borrower_type);
	}
}

function change_borrower_type(borrower_type)
{
var elem, elem1, elem2, elem3;
elem = document.getElementById('borrower_type');
if(elem == null)
	return;
elem1 = document.getElementById('borrower_email_row');
if(elem1 == null)
	return;
elem2 = document.getElementById('borrower_email');
if(elem2 == null)
	return;
elem3 = document.getElementById('who_borrowed_this');
if(elem3 == null)
	return;

var temp = media_str.substr(1);
temp = media_str.substr(0,1).toUpperCase()+temp+"'s";

if(borrower_type == 0)
	{
	//gurulib user
	if(elem3.value == 1)
		{
		elem.innerHTML = "Borrower's&nbsp;GuruLib&nbsp;username";
		}
	else
		{
		elem.innerHTML = "Owner's&nbsp;GuruLib&nbsp;username";	
		}
	elem1.style.visibility = 'hidden';
	elem1.style.display = 'none';
	elem2.disabled = true;
	}
else
	{
	if(elem3.value == 1)
		{
		elem.innerHTML = "Borrower's&nbsp;name";
		}
	else
		{
		elem.innerHTML = "Owner's&nbsp;name";
		}	
	elem1.style.visibility = 'visible';
	elem1.style.display = '';
	elem2.disabled = false;
	}
document.getElementById('borrower_name').focus();
}

function username_keydown(obj, evnt)
{
var elem = document.getElementById('borrower_type_select');
if(elem == null)
	return true;
if(elem.value == 1)
	return true;
return handle_partial_result_key(obj,evnt);
}

function key_up_event(evnt)
{
var ret = true;
var key = get_partial_result_key_code(evnt);
if(key == 27) //Escape key
	{
	close_all_dialogs();
	//hide_all_menu(true);
	ret = false;
	}

ret = handle_ctrl_key(evnt);				
return ret;
}

function handle_ctrl_key(evnt)
{
if(detail_options == null)
	return null;
var ret = true;
var key1 = is_ctrl_key_pressed(evnt);
if(key1 != null)
	{
	if(detail_options.selected_index == 1) //notes pages
		{
		if(key1 ==68) //d key pressed
			{
			delete_page();
			ret = false;
			}
		else if(key1 == 78)
			{
			create_new_page();
			ret = false;
			}
		if(page_edit_mode == false)
			{
			if(key1 == 69) //e key pressed
				{
				//edit the current page
				//alert("edit page");
				show_page_save_edit();
				ret = false;
				}
			}		
		}
	}
return ret;
}

function is_ctrl_key_pressed(evnt)
{
var key;
var isCtrl = false;
if(window.event)
  {
  key = evnt.keyCode;     //IE
  if(evnt.ctrlKey)
          isCtrl = true;
  else
          isCtrl = false;
  }
  else
  {
  key = evnt.which;     //firefox
  if(evnt.ctrlKey)
          isCtrl = true;
  else
          isCtrl = false;
  }
return isCtrl?key:null;
}

function key_down_event(evnt)
{
//handle_ctrl_key(evnt);
var key = null;
if(detail_options != null)
	{
	if(detail_options.selected_index == 1)
		{
		key = is_ctrl_key_pressed(evnt);
		if(key != null)
			{
			switch(key)
				{
				case 68://d
				case 69://e
				case 78://n
					break;
				default:
					key = null;
					break;
				}
			}
		}
	}
return (key==null)?true:false;
}

function close_all_dialogs()
{
close_large_image();
close_comment_edit_box();
close_watch_price_box();
close_borrow_box();
close_accept_deny_box();
close_review_edit_confirmed()
close_set_borrow_edit_box();
close_page_edit();
close_rename_page_box();
cancel_confirm_dialog();
close_alert_dialog();
}

function username_keyup(obj)
{
var elem = document.getElementById('borrower_type_select');
if(elem == null)
	return;
if(elem.value == 1)
	return;
fetch_partial_results(obj,0, 'username')
}

function close_accept_deny_box()
{
document.getElementById('accept_borrow_button_id').style.visibility='hidden';
document.getElementById('accept_deny_box').style.visibility='hidden';
}

function request_local_library_list()
{
var args = {
						'action' 	: 'find_local_libraries',
						'ISBN'		:	item_isbn
						};
ajax_get_request(ajax_rqst_url, args, show_local_library_list);
}

function show_local_library_list(library_list)
{
if(library_list[0] == 'error')
	{
	show_alert_dialog("Error",library_list[1]);
	return;
	}
var count = library_list[0]*1;
var i;
var str = '';

str += '		<div>';
str += '			<table border="0" cellspacing="0" cellpadding="0" class="slicedBoxTop" >';
str += '		    <tr>';
str += '					<td class="left"></td>';
str += '					<td style="font-size: 9pt; padding: 1px;" class="center">';
str += "<b>Local "+((count> 1)?("libraries<br>"):("library"))+" with this title<b>";
str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';

str += '		<div>';
str += '			<table style="padding:0px;" class="slicedBoxMiddle" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td style="padding:0px;" align="center" valign="top" class="center">';

str += '<table bgcolor="white" style="width: 118px; overflow: hidden; display: block; overflow: visible; font-weight: normal; font-family: arial; font-size: 9pt;" border="0" cellspacing="0" cellpadding="3" width="118" height="100%">\n';
for(i = 0; i < count; ++i)
	{
	var name 			= trim((library_list[i*4 + 0 + 1]));
	var address 	= trim((library_list[i*4 + 1 + 1]));
	var distance 	= trim((library_list[i*4 + 2 + 1]));
	var url 			= trim((library_list[i*4 + 3 + 1]));
	str += '<tr>\n';
	str += '<td width="100%">\n';
	if(distance.length != 0)
		{
		distance = "("+distance+")";
		}

	if(url.length!=0)
		{
		str += '<a style="border-width: 0; color: black;" title="Click here to open the library\'s webpage. '+distance+'" href="'+url+'">\n';
		}
	else
		{
		if(address.length!=0)
			{
			url = "http://maps.google.com/maps?q="+escape(address);
			str += '<a style="border-width: 0; color: black;" title="Click here to open Google Map page for this library '+distance+'" href="'+url+'">\n';
			}
		}
	str += name;
	if(url.length!=0)
		{
		str += '</a>\n';
		}
	str += '</td>\n';
	str += '</tr>\n';
	}

str += '</table>\n';

str += '					</td>';
str += '					<td class="right"></td>';
str += '				</tr>';
str += '			</table>';
str += '		</div>';
						
str += '		<div>';
str += '			<table class="slicedBoxBottom" border="0" cellpadding="0" cellspacing="0">';
str += '				<tr>';
str += '					<td class="left"></td>';
str += '					<td class="center"></td>';
str += '					<td class="right"></td>';
str += '		    </tr>';
str += '			</table>';
str += '		</div>';

var elem = document.getElementById('local_library_list');
if(elem != null)
	{
	if(count > 0)
		{
		elem.innerHTML = str;
		elem.style.display = "";
		}
	else
		{
		elem.innerHTML = '';
		elem.style.display = "none";
		}
	}
}

function update_new_item_comments()
{
if(owner == false)
	return;
var args = {
						'action' 				: 'update_new_item_comments',
						'comment_time'	:	last_profile_comment_view_time,
						'item_owner_id'	:	item_owner_id,						
						'random'				: Math.random()
						};
ajax_get_request(ajax_rqst_url, args, response_update_new_item_comments);
}

function response_update_new_item_comments(response_array)
{
//nothing to do
}

function update_floating_objects()
{

var indicator_img = "indicator_img_";
//var indicator_par = "indicator_parent_";
var imgs = document.getElementsByTagName("img");
for(i = 0; i < imgs.length; ++i)
	{
	var img = imgs[i];
	var id_str = img.id;
	id_str = id_str.toLowerCase();
	var visible = img.style.visibility;
	visible = visible.toLowerCase();
	var index = id_str.indexOf(indicator_img);
	if(index != -1 &&  visible == 'visible')
		{
		var elem_id = id_str.substring(index + indicator_img.length);
		var parent_obj = document.getElementById("indicator_parent_"+elem_id);
		if(parent_obj != null)
			{
			show_new_comment_indicator(parent_obj, id_str, 1);
			}
		}
	}

}

function fetch_similar_items()
{
var args = {
						'action' 	: 'find_similar_items',
						'ASIN'		:	asin,
						'location':	catalog_url
						};
ajax_get_request(ajax_rqst_url, args, show_similar_item);
}

function show_pages()
{
var elem = document.getElementById('pages');
if(elem == null)
	return;

elem.innerHTML = '';
if(first_page == null)
	return;
var str = '';
str += '<table border="0" cellspacing="0" cellpadding="0" width="100%">';
var page = first_page;
var max_count = current_pages.length+1;
for(page = first_page; page != null && --max_count; page = page['next'])
	{
	var page_name = page['name'];
	var page_id = page['page_id'];
	str += generate_page(page_name, page_id);
	}
str += ("				<tr>\n");
str += ("					<td id=\"page_marker_table\" style=\"display: none; background: "+font_color+";\" width=\"100%\">\n");
str += ("					</td>\n");
str += ("				</tr>\n");

str += '</table>';
elem.innerHTML = str;
}

function find_underlying_page(avoid_page_id, current_x, current_y)
{
///after_page = null;
//before_page = null;
var page;
var max_count = current_pages.length+1;
var x = 0;
var y = 0;
for(page = first_page; page != null && --max_count; page = page['next'])
	{
	var page_id = page['page_id'];
	if(page_id == avoid_page_id)
		continue;
	var elem = page['elem'];
	x = page['x'];
	y = page['y'];
	if(current_x > x && current_x < x + 160)
		{
		if(current_y > y && current_y < y + 40)
			{
			if(before_page != null)
				{
				if(before_page != page && before_page != -10)
					{
					before_page['elem'].style.display = 'none';
					}
				}
			after_page_marker_elem.style.display='none';
			before_page = page;
			elem.style.display = '';
			return true;
			}
		}
	}
if(before_page != null)
	{
	if(before_page != page && before_page != -10)
		{
		before_page['elem'].style.display = 'none';
		}
	}

before_page = null;
if(current_x > x && current_x < x + 160)
	{
	if(current_y > y + 40)
		{
		after_page_marker_elem.style.display='';
		before_page = -10;
		return true;
		}
	}	
after_page_marker_elem.style.display='none';
return false;
}

function update_page_position()
{
after_page_marker_elem = document.getElementById('page_marker_table');
var page;
var max_count = current_pages.length+1;
for(page = first_page; page != null && --max_count; page = page['next'])

	{
	var page_id = page['page_id'];
	var id= "page_marker_table_"+page_id;
	var elem = document.getElementById(id);
	id = "page_main_table_"+page_id;
	var elem1 = document.getElementById(id);
	var x = findPosX(elem1);
	var y = findPosY(elem1);
	page['elem'] = elem;
	page['x'] = x;
	page['y'] = y;
	}
}

function generate_page(page_name, page_id)
{
var str = '';
var title_str = "Click here to open page "+page_name;
var page_type_img = ""+base_url+"/_images/details/blank.gif";
var page_name1 = page_name;//.split(' ').join('&nbsp;');

str += ("	<tr>\n");
str += ("		<td width=\"100%\" valign=\"top\">\n");
str += ("			<table id=\"page_main_table_"+page_id+"\" style=\"margin: 0 0 0 3px; \" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">\n");
str += ("				<tr>\n");
str += ("					<td id=\"page_marker_table_"+page_id+"\" style=\"display: none; background: "+font_color+";\" width=\"100%\">\n");
str += ("					</td>\n");
str += ("				</tr>\n");
str += ("				<tr>\n");
str += ("					<td style=\"display: block; background: transparent;\" width=\"100%\">\n");

str += ("							<input type=\"hidden\" value=\"\" id=\"page_table_check_")+page_name+("\">\n"); //This will help to keep track if there is already a page with a name exists when adding a new page
str += '							<b id="page_curve_1_1_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 5px;"></b>';
str += '							<b id="page_curve_1_2_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 3px; border-right:2px;"></b>';
str += '							<b id="page_curve_1_3_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 2px; border-right:1px;"></b>';
str += '							<b id="page_curve_1_4_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:2px;  margin:0 0 0 1px; border-right:1px;"></b>';
str += ("						<table style=\"font-family: arial; font-size: 9pt;\" id=\"page_table_")+page_id+("\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"100%\">\n");
str += ("							<tr >\n");

str += ("								<td valign=\"middle\" align=\"right\" height=\"25\" width=\"30\">\n");
str += "<div style=\"margin: 0px 2px 0px 2px; position: relative\">\n";
str += ("									<img onmousedown=\"return on_page_mouse_down("+page_id+",event);\" onmouseup=\"on_page_mouse_up(event);\" onmousemove=\"return on_page_mouse_move(event);\" id=\"page_img_")+page_id+("\" src=\"")+page_type_img+("\" width=\"20\" height=\"25\">\n");
str += "</div>\n";
str += ("								</td>\n");

str += ("								<td valign=\"middle\" align=\"left\">\n");
str += ("									&nbsp;<a id=\"page_link_")+page_id+("\" style=\"font-family:arial; font-size:9pt; font-weight:normal; cursor: pointer; cursor: hand;\" title=\"")+title_str+("\" href=\"javascript:select_page(")+page_id+(",true)\">")+page_name1+("</a>\n");
str += ("								</td>\n");
str += ("							</tr>\n");
str += ("						</table>\n");

str += '							<b id="page_curve_2_1_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:2px;  margin:0 0 0 1px; border-right:1px;"></b>';
str += '							<b id="page_curve_2_2_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 2px; border-right:1px;"></b>';
str += '							<b id="page_curve_2_3_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 3px; border-right:2px;"></b>';
str += '							<b id="page_curve_2_4_'+page_id+'" style="font-size: 1px; display:block;  overflow:hidden;  height:1px;  margin:0 0 0 5px; "></b>';

str += ("					</td>\n");
str += ("				</tr>\n");
str += ("			</table>\n");
str += ("		</td>\n");
str += ("	</tr>\n");
return str;
}

function select_page(page_id, fetch)
{
if(page_id == 0)
	return;
delayed_exec = null;
if(page_edit_mode == true)
	{
	if(is_current_note_dirty())
		{
		window_confirm("Save Page", "This page will be saved", "save_page_confirmed("+page_id+","+fetch+")","fetch_page_data("+page_id+","+fetch+")");
		}
	else
		{
		fetch_page_data(page_id, fetch);
		}	
	}
else
	{
	fetch_page_data(page_id, fetch);
	}		
}

function save_page_confirmed(page_id, fetch)
{
show_page_save_edit();
delayed_exec = 'select_page('+page_id+', '+fetch+')';
}

function fetch_page_data(page_id, fetch)
{
if(fetch)
	{
	var args = {
						'action' 	: 'get_page_data',
						'page_id'	:	page_id,
						'random'	: Math.random()
						};
	ajax_get_request(base_url+'/_notes_rpc1.php', args, display_page);
	}
else
	{
	var result_arr = new Array(page_id, '');
	display_page(result_arr);
	}	
}

function display_page(result_arr)
{
var str = result_arr.join("|");
if(result_arr[0] == 'error')
	{
	show_alert_dialog("Error",result_arr[1]);
	return;
	}
var page_id = result_arr.shift()*1;
current_page_data = (result_arr[0]);
show_new_page_notification(false);
var id;
var page_id1 = 0;
var table1 = null;
if(current_page != null)
	{
	page_id1 = current_page['page_id'];
	table1 = document.getElementById("page_table_"+page_id1);
	}
var elem = document.getElementById('notes_page');
elem.style.borderColor = '';
elem.style.borderWidth = "0 0 0 0";
elem.style.borderStyle= ""; 

if(table1 != null)
	{
	table1.bgColor=''
	set_curved_page(page_id1,'');
	var id="page_img_"+page_id1;
	elem = document.getElementById(id);
	if(elem)
		{
		elem.style.cursor = '';
		elem.src = ""+base_url+"/_images/details/blank.gif"
		elem.title = "";
		}
	}
table1 = document.getElementById("page_table_"+page_id);
if(table1 != null)
	{
	table1.bgColor=theme_color;
	set_curved_page(page_id,theme_color);
	var id="page_img_"+page_id;
	var elem = document.getElementById(id);
	if(elem)
		{
		elem.src = ""+base_url+"/_images/details/notes_small.gif"
		elem.height = 25;
		if(owner && drag_allowed)
			{
			elem.title = "Move";
			elem.style.cursor = 'move';
			}
		else
			{
			elem.title = '';
			elem.style.cursor = '';
			}	
		elem = document.getElementById('notes_page');
		elem.style.borderColor = theme_color;
		elem.style.borderWidth = "1 1 1 2";
		elem.style.borderStyle= "solid"; 
		}
	}
current_page = get_page_info(page_id);
if(current_page != null)
	{
	show_page_name_controls(true);
	}
else
	{
	show_page_name_controls(false);
	}	
close_page_edit();
}

function set_curved_page(page_id, set_color)
{
var elem;
var i,j;

for(i=1;i<=2;++i)
	{
	for(j=1;j<=4;++j)
		{
		id='page_curve_'+i+'_'+j+'_'+page_id;
		elem = document.getElementById(id);
		if(elem != null)
			{
			if(i==3 && set_color.length != 0)
				{
				set_color = '#444444';
				}
			elem.style.borderLeftColor = set_color;
			elem.style.backgroundColor = set_color;
			}
		}
	}

elem = document.getElementById('page_link_'+page_id);
if(set_color.length == 0)
	{
	//elem.style.fontSize = '9pt';
	elem.style.fontWeight = "normal";
	}
else
	{
	//elem.style.fontSize = '10pt';
	elem.style.fontWeight = "bold";
	}
elem = document.getElementById('page_img_'+page_id);
if(set_color.length == 0)
	{
	elem.height = parseInt(elem.height) - 1;
	}
else
	{
	elem.height = parseInt(elem.height) + 1;
	}		
}

function show_save_edit_control()
{
var elem = document.getElementById('save_edit_page');
if(page_edit_mode)
	{
	elem.src = ""+base_url+"/_images/comment_save.gif";
	elem.title = "Click here to save this page (Ctrl + Shift + s)";
	show_note_page_help_image(true);
	}
else
	{
	elem.src = ""+base_url+"/_images/comment_edit.gif";
	elem.title = "Click here to edit this page (Ctrl + e)";
	show_note_page_help_image(false);
	}	
}

function show_page_controls(show)
{
var elem = document.getElementById('page_controls');
if(show)
	{
	if(owner == false)
		return;
	
	var obj = document.getElementById('notes_page');
	var x = findPosX(obj) + 420;//660;
	var y = findPosY(obj) - 35;

	elem.style.left = x + 'px';
	elem.style.top = y + 'px';

	elem.style.visibility = 'visible';
	if(first_page == null)
		{
		show_new_page_notification(true);
		}
	else 
		{
		var str = '';
		if(current_page != null)
			{
			str = trim(current_page_data);
			show_page_name_controls(true);
			}
		var show = (str.length==0)?true:false;
		show_new_edit_notification(show);
		elem = document.getElementById('page_html_area');
		elem.innerHTML = str;
		}	
	}
else
	{
	elem.style.visibility = 'hidden';
	show_new_page_notification(false);
	show_new_edit_notification(false);
	show_page_name_controls(false);
	}	
show_note_page_help_image(page_edit_mode);	
}

function show_page_save_edit()
{
if(owner == false)
	return;

if(current_page == null)
	{
	show_alert_dialog("Error","There is no page to edit");
	return;
	}
	
if(page_edit_mode == false)
	{
	page_edit_mode = true;
	show_save_edit_control();
	var str = ''; 
	var elem = document.getElementById('page_html_area');
	if(elem != null)
		{
		str = elem.innerHTML;
		elem.style.display = 'none';
		}
	elem = document.getElementById('page_edit_area');
	if(elem != null)
		{
		show_new_edit_notification(false);
		elem.style.display = '';
		elem = FCKeditorAPI.GetInstance('page_edit');
		if(elem != null)
			{
			elem.SetHTML(str);
			elem.Height = get_page_edit_height();
			}
		}
	}
else
	{
	elem = FCKeditorAPI.GetInstance('page_edit');
	if(elem != null)
		{
		save_page_data(elem.GetHTML());
		}
	}		
}

function save_page_data(str)
{
if(current_page == null)
	return;
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var page_id = current_page['page_id'];
var	args = {
					'action'					: 'save_page_data',
					'item_owner_id'		: id,					
					'page_id'					: page_id,
					'page_data'				: str
				 };
ajax_post_request(base_url+"/_notes_rpc1.php", args, data_saved);

}

function data_saved(result_arr)
{
if(result_arr[0] == 'error')
	{
	show_alert_dialog("Error", result_arr[1]);
	return;
	}
if(current_page != null)
	{
	var page_id = result_arr.shift()*1;
	if(page_id == current_page['page_id'])
		{
		current_page_data = (result_arr[0]);
		}	
	}
if(delayed_exec != null)
	{
	setTimeout(delayed_exec,100);
	}
var elem = FCKeditorAPI.GetInstance('page_edit');
if(elem != null)
	{
	elem.ResetIsDirty();
	}
//show_alert_dialog("Success","Saved");
fade_in_out_text('fade_in_out_text', 0, true);
}

function close_page_edit()
{
page_edit_mode = false;
show_save_edit_control();
var elem = document.getElementById('page_edit_area');
if(elem != null)
	{
	elem.style.display = 'none';
	}
elem = document.getElementById('page_html_area');
if(elem != null)
	{
	elem.style.display = '';
	var str = '';
	if(current_page != null)
		{
		str = trim(current_page_data);
		}	
	var show = (str.length==0)?true:false;
	show_new_edit_notification(show);
	elem.innerHTML = str;

	}
}

function get_page_edit_height()
{
var elem = document.getElementById('copyright_info');
var y = findPosY(elem);
elem = document.getElementById('pages');
var y1 = findPosY(elem);
var high = (y - y1);
return high;
}

function delete_page()
{
if(owner == false)
	return;
if(current_page == null)
	{
	show_alert_dialog("Error","There is no page to delete");
	return;
	}
var page_name = current_page['name'];
window_confirm("Delete Page",'"'+page_name+'" page will be deleted', "request_remove_page()", null);
}

function request_remove_page()
{
if(current_page == null)
	return;
var before_page_id = 0;
var after_page_id = 0;
var page_id = current_page['page_id'];
var next_page = current_page['next'];
var prev_page = current_page['prev'];
if(next_page != null)
	{
	before_page_id = next_page['page_id'];
	}
if(prev_page!= null)
	{		
	after_page_id = prev_page['page_id']
	}
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var args = {
					'action' 				: 'remove_page',
					'page_id'				:	page_id,
					'item_owner_id'	: id,
					'before_page_id': before_page_id,
					'after_page_id'	:	after_page_id,
					'random'	: Math.random()
					};
ajax_get_request(base_url+'/_notes_rpc1.php', args, remove_page);

}

function remove_page(result_arr)
{
if(result_arr[0] == 'error')
	{
	show_alert_dialog("Error",result_arr[1]);
	return;
	}
var page_id = result_arr[0]*1;
var page = get_page_info(page_id);
var prev_page = page['prev'];
var next_page = page['next'];
var select_page_id = 0;
current_page_data = null;
if(next_page != null)
	{
	next_page['prev'] = prev_page;
	}
	
if(prev_page != null)
	{
	prev_page['next'] = next_page;
	select_page_id = prev_page['page_id'];
	}
else
	{
	first_page = next_page;
	if(next_page != null)
		{
		select_page_id = next_page['page_id'];	
		}
	else
		{
		select_page_id = 0;
		}		
	}	

if(first_page == null)
	{
	current_page = null;
	var elem = document.getElementById('page_html_area');
	elem.innerHTML = '';
	elem.style.display = '';	
	elem = document.getElementById('page_edit_area');
	elem.style.display = 'none';
	elem = document.getElementById('notes_page');
	elem.style.borderColor = '';
	elem.style.borderWidth = "0 0 0 0";
	elem.style.borderStyle= ""; 
	show_page_name_controls(false);
	show_new_edit_notification(false);
	show_new_page_notification(true);
	page_edit_mode = false;
	show_save_edit_control();
	}

show_pages();
set_note_count();
if(select_page_id != 0)
	select_page(select_page_id, true);

}

function doSave()
{
if(detail_options.selected_index == 1)
	{
	if(page_edit_mode)
		{
		show_page_save_edit();
		}
	}
else
	{
	save_div_area('user_review_div', 'user_review_div_edit');
	}	
return false; //this disables default action (submitting the form)
}

function FCKeditor_OnComplete( editorInstance )
{
editorInstance.LinkedField.form.onsubmit = doSave;
}

function on_page_mouse_move(evnt)
{
if(owner == false)
	return true;

if(current_page == null)
	return true;
var page_id = current_page['page_id'];
if(page_drag_mode == true)
	{
	var elem = document.getElementById('page_main_table_'+page_id);
	if(elem != null)
		{
		elem.style.display = 'none';
		get_xy(evnt);
		var x = elem_x;
		var y = elem_y;
		if(page_moving == false)
			{
			elem = document.getElementById('page_move_obj_name');
			elem.innerHTML = current_page['name'];
			update_page_position();
			show_page_name_controls(false);
			page_moving = true;
			}
		
		x += page_loc_diff_x; 
		y += page_loc_diff_y;
		elem = document.getElementById('page_move_obj');
		elem.style.visibility = 'visible';
		elem.style.left = x; 
		elem.style.top = y;
		
		find_underlying_page(page_id, elem_x, elem_y);
		//elem = document.getElementById('page_html_area');
		//elem.innerHTML = x + ", " + y;
		if(y < document.body.scrollTop)
			{
			window.scroll(0, y);
			}
		var total_height = y + 200;
		if((total_height >  screen.availHeight) && (total_height < page_height + 200))
			{
			var diff_y = total_height - screen.availHeight; 
			if(diff_y > document.body.scrollTop)
				window.scroll(0, diff_y);
			}
		}
	return false;
	}
return true;
}

function on_page_mouse_up(evnt)
{
if(owner == false)
	return;

if(page_drag_mode == true)
	{
	page_drag_mode = false;
	var elem = document.getElementById('page_move_obj');
	elem.style.visibility = 'hidden';
	if(before_page != null)
		{
		if(request_insert_current_page() == false)
			{
			restore_page_move(current_page['page_id']);
			}
		}
	else
		{
		restore_page_move(current_page['page_id']);
		}	
	//select_page(page_id, true);
	page_moving = false;
	}
}

function get_page_info(input_page_id)
{
var page;
var max_count = current_pages.length+1;
for(page = first_page; page != null && --max_count; page = page['next'])
	{
	var page_id = page['page_id'];
	if(page_id == input_page_id)
		return page;
	}
return null;
}

function request_insert_current_page()
{
if(current_page == null)
	return false;
if(before_page == null)
	return false;
var page_id = current_page['page_id'];	
var before_page_id = 0;
var after_page_id = 0;
var before_prev_page;
var last_page = get_last_page();

if(before_page != -10)
	{
	before_prev_page = before_page['prev'];
	if(before_prev_page == current_page)
		return false;
	before_page_id = before_page['page_id'];
	if(before_prev_page != null)
		{
		after_page_id = before_prev_page['page_id'];
		}
	}
else
	{
	if(last_page == current_page)
		return false;
	after_page_id = last_page['page_id'];	
	}	
var next_page_id = 0;
var prev_page_id = 0;
var next_page = current_page['next'];
var prev_page = current_page['prev'];
if(next_page != null)
	{
	next_page_id = next_page['page_id'];
	}
if(prev_page!= null)
	{		
	prev_page_id = prev_page['page_id']
	}
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;

var args = {
					'action' 				: 'move_page',
					'page_id'				:	page_id,
					'item_owner_id'	: id,
					'before_page_id': before_page_id,
					'after_page_id'	:	after_page_id,
					'next_page_id'	: next_page_id,
					'prev_page_id'	: prev_page_id,
					'random'	: Math.random()
					};
ajax_get_request(base_url+'/_notes_rpc1.php', args, insert_page);

return true;
}

function restore_page_move(page_id)
{
//var page_id = current_page['page_id'];
var elem = document.getElementById('page_main_table_'+page_id);
if(elem != null)
	{
	elem.style.display = '';
	}
show_page_name_controls(true);
find_underlying_page(0, 0,0);
}

function insert_page(result_arr)
{
if(result_arr[0] == 'error')
	{
	restore_page_move(result_arr[2]);
	show_alert_dialog("Error",result_arr[1]);
	return;
	}
var before_page_id = result_arr.shift()*1;
var insert_page_id = result_arr.shift()*1;
var before_page = get_page_info(before_page_id);
var page = get_page_info(insert_page_id);
//var next_prev_page = next_page['prev'];

//remove the page that is being inserted from its current location;
var prev_page = page['prev'];
if(prev_page != null)
	{
	prev_page['next'] = page['next'];
	}
else
	{
	//the page that is being removed was the first page so
	//the page after that becomes the first page now
	first_page = page['next'];
	}	
if(page['next'] != null)
	{
	page['next']['prev'] = prev_page;
	}

//now insert the page at the new location;
if(before_page != null)
	{
	prev_page = before_page['prev'];
	if(prev_page != null)
		{
		prev_page['next'] = page;
		page['prev'] = prev_page;
		}
	else
		{
		//inserted page becomes the first page
		first_page = page;
		page['prev'] = null;
		}	
	before_page['prev'] = page;		
	}
else
	{
	var last_page = get_last_page();
	last_page['next'] = page;
	page['prev'] = last_page;
	}	
page['next'] = before_page;
find_underlying_page(0, 0,0);
show_pages();
select_page(insert_page_id, true);
}

function on_page_mouse_down(page_id, evnt)
{
if(drag_allowed == false)
	return true;
if(owner == false)
	return true;
if(current_page == null)
	return true;
var current_page_id = current_page['page_id'];
if(page_id != current_page_id)
	return true;
if(page_drag_mode == true)
	return true;
var page_id = current_page_id;
drag_page = page_id;
page_drag_mode = true;
page_moving = false;
get_xy(evnt);
page_loc_start_x = elem_x;
page_loc_start_y = elem_y;
var elem = document.getElementById('page_main_table_'+page_id);
if(elem != null)
	{
	page_loc_diff_x = findPosX(elem) - elem_x;
	page_loc_diff_y = findPosY(elem) - elem_y;
	}
return false;
}

function show_page_name_controls(show)
{
var elem = document.getElementById('page_name_controls');
if(show)
	{
	if(owner == false)
		return;
	if(detail_options == null)
		return;
		
	if(detail_options.selected_index != 1)
		return;

	if(page_moving)
		return;
	if(current_page == null)
		return;
	
	var current_page_id = current_page['page_id'];

	var elem1 = document.getElementById('page_main_table_'+current_page_id);
	var x = findPosX(elem1);
	var y = findPosY(elem1);
	elem.style.left = x + 135;
	elem.style.top = y + 3;
	elem.style.visibility = 'visible';
	}
else
	{
	elem.style.visibility = 'hidden';
	}	
}

function create_new_page()
{
if(owner == false)
	return;
var id = (this_is_borrowed_item==false)?item_owner_id:borrowed_item_owner_id;
var page_name = "Page " + (current_pages.length + 1);
var args = {
					'action' 				: 'add_new_page',
					'page_name'			:	page_name,
					'item_owner_id'	: id,
					'random'				: Math.random()
					};
ajax_get_request(base_url+'/_notes_rpc1.php', args, new_page_created);
}

function new_page_created(result_arr)
{
if(result_arr[0] == 'error')
	{
	show_alert_dialog("Error",result_arr[1]);
	return;
	}
	
var sequence_id = result_arr.shift()*1;
var page_id = result_arr.shift()*1;
var prev_page_id = result_arr.shift()*1;
var next_page_id = result_arr.shift()*1;
var page_name = (result_arr.shift());
var prev_page = get_page_info(prev_page_id);
var page = new Array();
page['sequence_id'] = sequence_id;
page['page_id'] = page_id;
page['name'] = page_name;
page['elem'] = null;
page['x'] = 0;
page['y'] = 0;
page['next'] = null;
page['prev'] = prev_page;
hide_loading();
current_pages[current_pages.length] = page;
var last_page = get_last_page();
if(last_page != null)
	{
	last_page['next'] = page;
	}
else
	{
	first_page = page;
	}	
show_pages();
set_note_count();
select_page(page_id, false);
}

function show_rename_page_box()
{
if(current_page == null)
	return;	
var elem = document.getElementById('rename_page_box');
var elem1 = document.getElementById('page_main_table_'+current_page['page_id']);
var x = findPosX(elem1);
var y = findPosY(elem1);
elem.style.left = x + 230;
elem.style.top  = y - 30;
elem.style.visibility = 'visible';
elem = document.getElementById('page_rename_text_box');
elem.value = current_page['name'];
elem.focus();
}

function close_rename_page_box()
{
var elem = document.getElementById('rename_page_box');
elem.style.visibility = 'hidden';
}

function save_page_name(result_arr)
{
if(result_arr[0] == 'error')
	{
	show_alert_dialog("Error",result_arr[1]);
	return;
	}
var page_id = result_arr.shift()*1;
var page_name = (result_arr[0]);
page = get_page_info(page_id);
if(page == null)
	return;
page['name'] = page_name;
var id="page_link_"+page_id;
var elem = document.getElementById(id);
elem.innerHTML = page_name;
close_rename_page_box();
}

function request_save_page_name()
{
if(current_page == null)
	return;
var page_id = current_page['page_id'];
var elem = document.getElementById('page_rename_text_box');
var page_name = trim(elem.value);
if(page_name.length == 0)
	{
	show_alert_dialog("Error","Please put a valid page name. Empty strings are not allowed");
	elem.focus();
	return;
	}
var args = {
					'action' 				: 'save_page_name',
					'page_name'			:	page_name,
					'page_id'				: page_id,
					'random'				: Math.random()
					};
ajax_get_request(base_url+'/_notes_rpc1.php', args, save_page_name);

}

function show_new_page_notification(show)
{
var elem1 = document.getElementById('new_page_notification');
if(show)
	{
	if(owner == false)
		return;
	if(detail_options == null)
		return;

	if(detail_options.selected_index != 1)
		return;
	var elem = document.getElementById('new_page');
	var x = findPosX(elem);
	var y = findPosY(elem);
	elem1.style.top = y + 20;
	elem1.style.left = x + 28 - parseInt(elem1.style.width);
	elem1.style.visibility = 'visible';
	}
else
	{
	elem1.style.visibility = 'hidden';
	}	
}

function show_new_edit_notification(show)
{
var elem1 = document.getElementById('new_edit_notification');
if(show)
	{
	if(owner == false)
		return;
	if(page_edit_mode == true)
		return;
	if(detail_options == null)
		return;
	
	if(detail_options.selected_index != 1)
		return;
	var elem = document.getElementById('save_edit_page');
	var x = findPosX(elem);
	var y = findPosY(elem);
	elem1.style.top = y + 20;
	elem1.style.left = x + 28 - parseInt(elem1.style.width);
	elem1.style.visibility = 'visible';
	}
else
	{
	elem1.style.visibility = 'hidden';
	}	
}

function display_more_synopsis(large)
{
var large_elem = document.getElementById('large_synopsis_div');
var small_elem = document.getElementById('small_synopsis_div');

if(large)
	{
	small_elem.style.display = 'none';	
	large_elem.style.display = '';
	}
else
	{
	large_elem.style.display = 'none';	
	small_elem.style.display = '';
	}	
}

function get_last_page()
{
if(first_page == null)
	return null;
var page;
var last_page = null;
var max_count = current_pages.length+1;
for(page = first_page; page != null && --max_count; page = page['next'])

	{
	last_page = page;
	}
return last_page;
}

function get_page_count()
{
if(first_page == null)
	return 0;
var page;
var last_page = null;
var max_count = current_pages.length+1;
var count = 0;
for(page = first_page; page != null && --max_count; page = page['next'])

	{
	last_page = page;
	++count;
	}
return count;
}

function set_note_count()
{
	if(detail_options == null)
		return;

var count = get_page_count();
var str = "Notes ("+count+")";
if(count > 1)
	{
	drag_allowed = true;
	}
else
	{
	drag_allowed = false;
	}
detail_options.set_tab_name(1, str);
var elem = document.getElementById('copyright_info');
var y = findPosY(elem);
page_height = y;
}

function is_current_note_dirty()
{
if(current_page == null)
	return false;
if(page_edit_mode == false)
	return false;	
if(current_page_data == null)
	return false;	
var elem = FCKeditorAPI.GetInstance('page_edit');
if(elem != null)
	{
	//var str = (elem.GetHTML());
	//if(current_page_data != str)
	if(elem.IsDirty())
		{
		return true;
		}
	}
return false;
}

function show_note_page_edit_help(img_obj, show)
{
var x = findPosX(img_obj);
var y = findPosY(img_obj);
var obj = document.getElementById('notes_page_help');
if(obj == null)
	return;
if(show)
	{
	x = x - 420;
	y = y + 10;
	obj.style.left = x + 'px';
	obj.style.top = y + 'px';
	obj.style.visibility = 'visible';
	}
else
	{
	obj.style.visibility = 'hidden';
	}	
}

function show_note_page_help_image(show)
{
if(page_edit_mode == false || detail_options.selected_index == 0)
	{
	show = false;
	}
var obj = document.getElementById('notes_page');
if(obj == null)
	return;
var x = findPosX(obj) + 780;
var y = findPosY(obj) + 50;
obj = document.getElementById('notes_help_image');
if(obj == null)
	return; 
//alert(x + ',' + y + ',' + show);
if(show)
	{
	obj.style.left = x + 'px';
	obj.style.top = y + 'px';
	obj.style.visibility = 'visible';
	}
else
	{
	obj.style.visibility = 'hidden';
	}	

}

function submit_review(item_owner_id)
{
var elem = document.getElementById('user_review_div');
if(elem == null)
	return;

var str = elem.innerHTML;
if(current_user_rating == 0)
	{
	show_alert_dialog("Error","To submit this review you need to rate it");
	return;
	}	
if(str.length < 40)
	{
	show_alert_dialog("Error","To submit this review you need to write atleast 40 characters. Please make sure that the review is interesting to your audience");
	return;
	}
var args = {
					'action' 				: 'submit_review',
					'item_owner_id'	: item_owner_id,
					'random'				: Math.random()
					};
ajax_get_request(ajax_rqst_url, args, submit_review_result);

}

function submit_review_result(response_array)
{
if(response_array[0] == "error")
	{
	show_alert_dialog("Error",response_array[1]);
	}
else
	{
	show_alert_dialog("Success","Congratulations, Your review was successfully submitted to the front page of GuruLib. Thank you for contribution.");
	}	
}

function listen_to_music_sample()
{
var options = 'width=800,height=540,resizable=yes,scrollbars=no';
var name = 'krex';

var source_url = '';

switch(catalog_url)
	{
	case 'ecs.amazonaws.com':
		source_url = 'www.amazon.com';
		break;

	case 'ecs.amazonaws.co.uk':
		source_url = 'www.amazon.co.uk';
		break;

	case 'ecs.amazonaws.fr':
		source_url = 'www.amazon.fr';
		break;

	case 'ecs.amazonaws.de':
		source_url = 'www.amazon.de';
		break;

	case 'ecs.amazonaws.jp':
		source_url = 'www.amazon.jp';
		break;
	
	case 'ecs.amazonaws.ca':
		source_url = 'www.amazon.ca';
		break;	
	}

var ContextWindow = window.open('http://'+source_url+'/gp/recsradio/radio/'+asin+'/',name,options);
ContextWindow.focus();
//return false;
}