var PAGES=4;
var COUNT_PER_PAGE=10;

var MEMBER_TEMPLATE;
var LIST_TEMPLATE;
function loadPage() 
{
	if ( !userExist() ) 
	{
		location.href=_url('../index.jsp');
		return;
	}
	if ( accessForbidden() ) 
	{
		alert('This List is set to private by the user!\nIt will navigate to the user\'s page.');
		location.href=_url(_userinfo.user);
		return;
	}
	doTemplateHeader('home');
	if ( _lists&&_lists.count>0) 
	{
		if (!userHaveNotes() ) {
			show('noNote');
		}
		else {
			$("notesContentHeader").setStyle({display:'block'});
			$("notesContent").setStyle({display:'block'});
		}
		$('userTitle').innerHTML= _userinfo.user+'\'s Lists';
		$('lists').setStyle({display:'block'})
		$$('.listTitleBox').each( function(e) {show(e);});
		['sharePanelHeader', 'sharePanel', 'embedBox'].each(function(name, index) {show(name);});
		['notesPanelHeader', 'addNotePanel'].each(function(name, index) {show(name);});
		
		$('followTabs').show();
		
		$('list_title').innerHTML= _lists.name;
		
	}
	else 
	{
		if ( isUserSameAsLogged() ) {
			$("welcomePanel").setStyle({display:'block'});
			$('user_url').innerHTML= sysinfo.user?sysinfo.user:sysinfo.logUser;		
			$('followTabs').show();
		}
		else {
			$("nouser").innerHTML= sysinfo.user?sysinfo.user:sysinfo.logUser;
			show('nolists');
			$('followTabs').show();
		}
		$('lists').setStyle({display:'none'});
		$$('.listTitleBox').each( function(e) {hide(e);});
		['sharePanelHeader', 'sharePanel','embedBox'].each(function(name, index) {hide(name);});
		['notesPanelHeader', 'addNotePanel', 'notesContentHeader','notesContent'].each(function(name, index) {hide(name);});
		
		if ( _lists.name )	$('list_title').innerHTML= _lists.name;
		else $('list_title_box').setStyle({display:'none'});
	}
	doUserPanel()
	if ( userHaveLists() ) {
		initScroller();
	}
	else {
		$('outerLists').setStyle({display:'none'});
		$('listScroll').setStyle({display:'none'});
	}
	$$('.followList').each( function(e) { $(e).observe('click', addFollowList);});
	$$('.followMember').each( function(e) { $(e).observe('click', addFollowMember);});
	
	MEMBER_TEMPLATE= new Template('<div style=\'border: 1px solid #fff; overflow: hidden; float: left; clear: left; margin-left: 1px; margin-bottom: 3px; width: 32px; height: 32px;\'>'+
		'<a href=\'#{user}\'><img src=\'#{src}\' style=\'width:32px;\'/></a></div>');
	LIST_TEMPLATE= new Template('<div style=\'border: 1px solid #b1b1b1; overflow: hidden; float: left; clear: left; margin-left: 1px; margin-bottom: 4px; width: 147px; height: 32px;\'>'+
		'<div style=\'float: left;\'><a href=\'#{user}\'><img src=\'#{src}\' style=\'width: 32px;\'/></a></div>'+
		'<div style=\'border-left: 1px solid #b1b1b1; float: left; width: 114px; height: 32px;\'>'+
		'<a href=\'#{thisUser}+#{listName}\' style=\'text-decoration: none;\'>'+
		'<span style=\'margin-left: 3px; color: #fff; font-size: 10px;\'>#{list}</span></a></div></div>');	
		
	if ( initShare )
	{
		initShare();
	}
	if ( $('searchterms')) $('searchterms').focus();
	
}
function getListId()  
{
	return _lists.currentList;
}
function getListTitle()  
{
	return _lists.name;
}

function accessForbidden() {
	return (typeof(_lists)=='undefined')||_lists.accessForbidden;
}
function userHaveLists() {
	return (typeof(_lists)!='undefined')&&_lists.count>0;
}
function addFollowList(ev) {
	if ( !isUserLogged() ) {
		showMiniLogin({ callback: doAddFollowList});
		Event.stop(ev);
		return;
	}
	doAddFollowList();
  	return false;
}
function doAddFollowList() {
	_ajaxSend('_req=_followlist&_follow='+sysinfo.user+'&_listid='+_lists.id, processFollowList);
}
function processFollowList(xml) {
	if ( ajaxNotLoggedError(xml)) {
		return;
	}
	if ( ajaxError(xml)) 
	{
		return;
	}
	location.reload(true);
}
function addFollowMember(ev) {
	if ( !isUserLogged() ) {
		showMiniLogin({ callback: doAddFollowMember});
		return;
	}
	doAddFollowMember();
  	return false;
}
function doAddFollowMember() {
	_ajaxSend('_req=_followmember&_follow='+sysinfo.user, processFollowMember);
}
function processFollowMember(xml) 
{
	if ( ajaxNotLoggedError(xml)) 
	{
		return;
	}
	if ( ajaxError(xml)) {
		return;
	}
	location.reload(true);
}
function isListEmpty() {
	return _items.list&&_items.listlength>0;
}
function userHaveNotes() {
	return _notes&&_notes.count>0;
}
function addToFriend(ev) {
	if ( isUserLogged() ) {
		location.href=_url('../sendFriend.jsp?_friend='+_userinfo.user);
	}
	else {
		setCookie('url', _url('../sendFriend.jsp?_friend='+_userinfo.user));
		location.href=_url('../login.jsp');
	}
	Event.stop(ev);
}
function onclickList(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		var html= elem.innerHTML;
		var listName= html.substring(0, html.indexOf("("));
		location.href= _url(_userinfo.user+"+"+listName);
	}
}
function onmouseoverList(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem.tagName=="SPAN") {
			elem.className="listItemHover";
		}
	}
}
function onmouseoutList(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem.tagName=="SPAN") {
			elem.className="listItemOut";
		}
		return false;
	}
}
function onseeAllFriends() {
	if ( isUserLogged()&&sysinfo.logUser==sysinfo.user) {
		location.href= '../friends.jsp'
	}
	else {
		location.href= '../myfriends.jsp?_user='+sysinfo.user;
	}
	return false;
}
function onclickEmail(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem ) {
			var text= _url('../itemViewer.jsp?_user='+_userinfo.user+'&_list='+_lists.currentList+'&_id='+elem.getAttribute('_id'));
			window.open("http://www.netidz.com/jsp/send_lists/send_lists.jsp?n="+
				encodeURIComponent(elem.getAttribute('_title'))+
					"&g="+encodeURIComponent(text), "", "left=220, top=150, height=573,width=502");
		}
	}
}
function onclickEdit(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem ) {
			window.open(_url('../listItemEdit.html?id='+elem.getAttribute('_id')),'_blank',
					'height=600,width=455,left=50,top=50,resizable=yes,scrollbars=no,toolbar=no,status=no,location=0');
		}
	}
}
function onclickDelete(evt)
{
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) 
	{
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem ) 
		{
			if (confirm('Item:'+elem.getAttribute('_title')+'\n will be deleted permanently\n\nTo confirm deletion press OK button.')) 
			{
				_ajaxj('_req=_del_item&_id='+elem.getAttribute('_id'), processItemDeleteRequest);
			}
		}
	}
}
function processItemDeleteRequest(r) 
{
	var data= JSONRequest(r);
	if ( !data )
	{
		return;
	}
	location.reload(true);
}
function onclickViewer(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem ) 
		{
			location.href=_url('../itemViewer.jsp?_user='+_userinfo.user+'&_list='+encodeURIComponent(_lists.currentList)+'&_id='+elem.getAttribute('_id')+
				'&_t='+_lists.name);
		}
	}
}
function onclickZoomDisabled(ev, itemSource) 
{
	if ( 'netidz'==itemSource)
		alert( 'Zoom is disabled for netIDz Shortcut');
	else if( 'youtube'==itemSource)
		alert( 'Zoom is disabled for this Youtube video because of:\n\nEmbedding is disabled by request');
}
function onclickZoom(evt) {
	evt= (evt)? evt: (window.event?window.event:null);
	if ( evt ) {
		var elem= (evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);
		if ( elem ) 
		{
			window.open(_url('../zoom.html')+'?id='+elem.getAttribute('_id'),'_blank',
					'height=50,width=50,left=50,top=50,resizable=yes,scrollbars=no,toolbar=no,status=no');
		}
	}
}
function openNewWindow(elem) {
	elem= elem.parentNode.childNodes[3];
	location.href=_url('../itemViewer.jsp?_user='+_userinfo.user+'&_list='+_lists.currentList+'&_id='+elem.getAttribute('_id'));
}
function onloadimage(elem) {
	if ( elem.width ) {
		if ( elem.width>300) {
			elem.width=300;
		}
		else {
			$(elem).setStyle({marginLeft:((301-elem.width)/2)+'px'});
		}
	}
}

function onclickSendNote()
{
	var frm= $("noteform");
	
	var errMsg= "";
	var value;
	if ( !isUserLogged() )
	{
		value= frm["_noteuser"].value;
		if ( !value || value.strip()=="") 
		{
			errMsg= "Your netIDz username is required.\n";
		}
		value= frm["_noteemail"].value;
		if ( !value || value.strip()=="") 
		{
			errMsg+= "Your email address is required.\n";
		}
	}
	value= frm["_note"].value;
	if ( !value || value.strip()=="") {
		errMsg+="You have to enter some comments.\n";
	}
	if ( errMsg!="") {
		alert( errMsg );
		return false;
	}
	var params="_user="+escape(sysinfo.user)+
		"&_name="+escape(_lists.currentList)+
		"&_req=_listnote"+
		"&_noteuser="+escape(frm['_noteuser'].value)+
		"&_noteemail="+escape(frm['_noteemail'].value)+
		"&_note="+escape(frm["_note"].value);
		
	_ajaxSend(params, processSaveNote);
  	return false;
}

/* Moved from lists.jsp */

function onerrorimage(id)
{
	$($(id+'').parentNode).innerHTML= '<div item_id="'+id+
		'" style="margin-top:20px;width:100%;text-align:center;cursor:pointer;font-size:11px;font-weight:bold;">Thumbnail is not available</div>';
}
function onloadimage(id)
{
	var w,h;
	//$('debug').value+= id+'):loaded'+this.width+','+this.heigh+'\n\n';
	
	if ( this.width==0||this.height==0) {
		return;
	}
	if ( this.width>this.height ) {
		if ( this.width>202) w= 202;
		else w= this.width;
		h= (w*this.height/this.width).toFixed(0);
	}
	else {
		if ( this.height>176) h= 176;
		else h= this.height;
		w= (h*this.width/this.height).toFixed(0);
	}
	var iid=id+'';
	$(iid).setAttribute('src', this.src);
	$(iid).setStyle({'width':w+'px', 'height':h+'px', 
		marginLeft:((202-w)/2).toFixed(0)+'px', marginTop:((176-h)/2).toFixed(0)+'px' });
		
	if (a[id].is_empty_embed)
	{
		if (typeof(a[id].thumnail_big)!='undefined')
			$($(iid).parentNode).appendChild(new Element('img', {'class':'list_item_shortcut', 'item_id':iid, 'src':'../images/youtube_embed_disabled.png'}));
		else 
			$($(iid).parentNode).appendChild(new Element('img', {'class':'netidz_item_shortcut', 'item_id':iid, 'src':'../images/netidz_shortcut2.gif'}));
	}
}
function viewItem(ev)
{
	var id= parseInt(ev.element().getAttribute('item_id'));
	if ( ev.ctrlKey)
	{
		if ( a[id].is_embed)
		{
			if (a[id].is_empty_embed)
			{
				if ( 'netidz'==a[id].item_source)	alert( 'Zoom is disabled for netIDz Shortcut');
				else if( 'youtube'==a[id].item_source)	alert( 'Zoom is disabled for this Youtube video because of:\n\nEmbedding is disabled by request');
			}
			else
			{
				window.open(_url('../zoom.html')+'?id='+a[parseInt(id)]['id'],'_blank',
					'height=50,width=50,left=50,top=50,resizable=yes,scrollbars=no,toolbar=no,status=no');
			}
		}
		return;
	}
	location.href=_url('../itemViewer.jsp?_user='+_userinfo.user+'&_list='+encodeURIComponent(_lists.currentList)+
		'&_id='+a[id]['id']+'&_t='+_lists.name);
}
function navigateMyspace(src)
{
	var s= decodeURIComponent(src);
	if (/e=http:\/\/profile\.myspace\.com\/index\.cfm\?fuseaction=user\.viewprofile\&friendid=/i.test(s)) 
	{
		var i= s.search(/friendid=/i);
		var fid= parseInt(s.substring( i+'friendid='.length));
		window.open('http://collect.myspace.com/music/popup.cfm?time=undefined&fid='+fid,"", "left=220, top=150, height=400,width=480");
		return true;
	}
	return false;
}
function sourcePage(elem) 
{
	window.open($(elem).getAttribute('pagesrc'), "", "");
}
var scroller= { 
	visibleCount:13,
	count:0,
	top:0,
	downEnabled:false,
	upEnabled:false,
	engaged:false,
	currentFirst:function() {
		return this.list.current==0;
	},
	init:function(list) {
		this.list= list;
		this.top= list.top;
		this.count= list.count; 
	},
	activate:function() {
		return this.count>this.visibleCount;
	}
}
function initScroller() {
	scroller.init(_lists);
	if ( scroller.activate() ) {
		var last= scroller.top+scroller.visibleCount-1;
		if ( last<(scroller.count-1)) {
			$('listDown').setAttribute('src', '../images/list_box_down2.png');
			scroller.downEnabled=true;
		}
		if ( scroller.top>0) {
			$('listUp').setAttribute('src', '../images/list_box_up2.png');
			scroller.upEnabled=true;
		}
		$('listScrollPanel').setStyle({top:-(scroller.top*18)+'px'});
		Event.observe('listDown', 'mouseover', mouseoverListDown );
		Event.observe('listDown', 'mouseout', mouseoutListDown );
		Event.observe('listDown', 'mousedown', listDownOne );
		Event.observe('listDown', 'mouseup', stopScroll );
		Event.observe('listDown', 'mouseout', mouseoutListDown );
		Event.observe('listUp', 'mouseover', mouseoverListUp );
		Event.observe('listUp', 'mouseout', mouseoutListUp );
		Event.observe('listUp', 'mousedown', listUpOne );
		Event.observe('listUp', 'mouseup', stopScroll );
		
	}
}
function listDownOne(ev) {
	if ( !scroller.downEnabled ) {
		Event.stop(ev);
		return;
	}
	var s=$('listScrollPanel').getStyle('top');
	if ( s.endsWith('px')) {
		s= s.substring(0,s.length-2);
	}
	var top= parseInt(s)-18;
	$('listScrollPanel').setStyle({top:top+'px'});
	scroller.top++;
	var last= scroller.top+scroller.visibleCount-1;
	if ( last>=(scroller.count-1)) {
		$('listDown').setAttribute('src', '../images/list_box_down1.png');
		scroller.downEnabled=false;
	}
	if ( scroller.top==1) {
		$('listUp').setAttribute('src', '../images/list_box_up2.png');
		scroller.upEnabled=true;
	}
	if ( scroller.downEnabled ) {
		scroller.engaged= true;
		scroller.interval= setInterval('scrollDown()', 100 );
	}
	Event.stop(ev);
}
function scrollDown() {
	if ( !scroller.downEnabled||!scroller.engaged ) {
		clearInterval( scroller.interval );
		return;
	}
	var s=$('listScrollPanel').getStyle('top');
	if ( s.endsWith('px')) {
		s= s.substring(0,s.length-2);
	}
	var top= parseInt(s)-18;
	$('listScrollPanel').setStyle({top:top+'px'});
	scroller.top++;
	var last= scroller.top+scroller.visibleCount-1;
	if ( last>=(scroller.count-1)) {
		$('listDown').setAttribute('src', '../images/list_box_down1.png');
		scroller.downEnabled=false;
	}
	if ( scroller.top==1) {
		$('listUp').setAttribute('src', '../images/list_box_up2.png');
		scroller.upEnabled=true;
	}
	if ( !scroller.downEnabled||!scroller.engaged) {
		clearInterval( scroller.interval );
	}
}
function listUpOne(ev) {
	if ( !scroller.upEnabled ) {
		Event.stop(ev);
		return;
	}
	var s=$('listScrollPanel').getStyle('top');
	if ( s.endsWith('.px')) {
		s= s.substring(0,s.length-2);
	}
	var top= parseInt(s);
	if ( top<0 ) {
		top+=18;
	}
	if ( top>0) {
		top= 0;
	}
	$('listScrollPanel').setStyle({top:top+'px'});
	scroller.top--;
	if ( scroller.top==0 ) {
		$('listUp').setAttribute('src', '../images/list_box_up1.png');
		scroller.upEnabled=false;
	}
	var last= scroller.top+scroller.visibleCount-1;
	if ( last<(scroller.count-1)) {
		$('listDown').setAttribute('src', '../images/list_box_down2.png');
		scroller.downEnabled=true;
	}
	if ( scroller.upEnabled ) {
		scroller.engaged= true;
		scroller.interval= setInterval('scrollUp()', 100 );
	}
	Event.stop(ev);
}
function scrollUp() {
	if ( !scroller.upEnabled||!scroller.engaged ) {
		clearInterval( scroller.interval );
		return;
	}
	var s=$('listScrollPanel').getStyle('top');
	if ( s.endsWith('.px')) {
		s= s.substring(0,s.length-2);
	}
	var top= parseInt(s);
	if ( top<0 ) {
		top+=18;
	}
	if ( top>0) {
		top= 0;
	}
	$('listScrollPanel').setStyle({top:top+'px'});
	scroller.top--;
	if ( scroller.top==0 ) {
		$('listUp').setAttribute('src', '../images/list_box_up1.png');
		scroller.upEnabled=false;
	}
	var last= scroller.top+scroller.visibleCount-1;
	if ( last<(scroller.count-1)) {
		$('listDown').setAttribute('src', '../images/list_box_down2.png');
		scroller.downEnabled=true;
	}
	if ( !scroller.upEnabled||!scroller.engaged ) {
		clearInterval( scroller.interval );
	}
}
function mouseoverListDown(ev) {
	if ( scroller.downEnabled ) {
		$('listDown').setAttribute('src', '../images/list_box_down3.png');
	}
}
function mouseoutListDown(ev) {
	if ( scroller.downEnabled ) {
		$('listDown').setAttribute('src', '../images/list_box_down2.png');
	}
}
function mouseoverListUp(ev) {
	if ( scroller.upEnabled ) {
		$('listUp').setAttribute('src', '../images/list_box_up3.png');
	}
}
function mouseoutListUp(ev) {
	if ( scroller.upEnabled ) {
		$('listUp').setAttribute('src', '../images/list_box_up2.png');
	}
}
function navigateList(elem) {
	location.href= elem.getAttribute('href')+'&_top='+scroller.top;
	return false;
}
function stopScroll() {
	scroller.engaged= false;
}