var END_OF_INPUT = -1;

var base64Chars = new Array(
'A','B','C','D','E','F','G','H',
'I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X',
'Y','Z','a','b','c','d','e','f',
'g','h','i','j','k','l','m','n',
'o','p','q','r','s','t','u','v',
'w','x','y','z','0','1','2','3',
'4','5','6','7','8','9','+','/'
);

var lists_offset=document.createElement('div');
var lists_pages = new Object();
lists_pages.fav=<?php echo ceil($favs_count/PROFILE_LINKS_LIMIT)-1;?>;

function checkPagesLinks(id) {
	return false;
	var n=lists_offset.getAttribute(id);
	var m=lists_pages[id];
	if(n>0) {
		document.getElementById(id+'_list_prev').style.display='';
	} else {
		document.getElementById(id+'_list_prev').style.display='none';
	}
	if(n>=m) {
		document.getElementById(id+'_list_next').style.display='none';
	} else {
		document.getElementById(id+'_list_next').style.display='';
	}
}

function putDynList(id, html) {
	var obj=document.getElementById(id+'_list');
	obj.innerHTML=html;
}

function dynList(id, act, num) {
	if(typeof(num)=='undefined'){
		if(typeof(lists_offset.getAttribute(id))=='object') {
			lists_offset.setAttribute(id, 1)
		} else {
			var n=lists_offset.getAttribute(id)
			if(act=='next' && lists_offset.getAttribute(id)<lists_pages[id]) {
				lists_offset.setAttribute(id, parseInt(parseInt(n)+1));
			}
			if(act=='prev' && lists_offset.getAttribute(id)>0) {
				lists_offset.setAttribute(id, parseInt(parseInt(n)-1));
			}

		}
	} else {
		lists_offset.setAttribute(id, num)
	}
	checkPagesLinks(id);
	makeRequest('/index_portion.php?list='+id+'&page='+lists_offset.getAttribute(id));
}

function ntos(n){
	n=n.toString(16);
	if (n.length == 1) n="0"+n;
	n="%"+n;
	return unescape(n);
}

var reverseBase64Chars = new Array();
for (var i=0; i < base64Chars.length; i++){
	reverseBase64Chars[base64Chars[i]] = i;
}

var base64Str;
var base64Count;
function setBase64Str(str){
	base64Str = str;
	base64Count = 0;
}

function readReverseBase64(){
	if (!base64Str) return END_OF_INPUT;
	while (true){
		if (base64Count >= base64Str.length) return END_OF_INPUT;
		var nextCharacter = base64Str.charAt(base64Count);
		base64Count++;
		if (reverseBase64Chars[nextCharacter]){
			return reverseBase64Chars[nextCharacter];
		}
		if (nextCharacter == 'A') return 0;
	}
	return END_OF_INPUT;
}

function decodeBase64(str){
	setBase64Str(str);
	var result = "";
	var inBuffer = new Array(4);
	var done = false;
	while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT	&& (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
		inBuffer[2] = readReverseBase64();
		inBuffer[3] = readReverseBase64();
		result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
		if (inBuffer[2] != END_OF_INPUT){
			result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
			if (inBuffer[3] != END_OF_INPUT){
				result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
			} else {
				done = true;
			}
		} else {
			done = true;
		}
	}
	return result;
}
function retFalse() {
	alert('false');
	return false;
}
function comentBoxShow(parent) {
	var x=document.documentElement.scrollTop;
	var oForm=byId('cform');
	oForm.style.zIndex='100';
	var sh=document.documentElement.scrollHeight;

	var arrayPageSize = getPageSize();
	Element.setWidth('tbg', arrayPageSize[0]);
	Element.setHeight('tbg', arrayPageSize[1]);
	Element.setOpacity('tbg',0.7);
	$('tbg').style.display='block';
	
	oForm.style.top=document.documentElement.scrollTop+210+'px';
	if(!parent) parent='';
	byId('parent_id').value=parent;
	try {
		var dw=byId('cform').currentStyle.width
	} catch(e) {
		var dw=document.defaultView.getComputedStyle(byId('cform'),null).width;
	}
	dw=parseInt(dw);
	oForm.style.left=Math.round(arrayPageSize[0]/2-parseInt(dw/2))+'px';
	oForm.style.display='block';
}

function commentBoxHide() {
	$('tbg').style.display='none';
	$('cform').style.display='none';
	return false
}

function showPhoto(src) {
	if(src!='') {
		var x=document.documentElement.scrollTop;
		var oImgCont=byId('img_cont');
		var sh=document.documentElement.scrollHeight;
		oImgCont.style.top=document.documentElement.scrollTop+210+'px';
		oImgCont.style.left=Math.round(document.body.offsetWidth/2-200)+'px';
		oImgCont.style.display='block';
	}
}

function addComment(form ) {
	var parentId = form.parent.value;
	var text = form.text.value;
}
