function string_split(str, chunklen) {
	var strlen = str.length;
	var ret = '';
	if (!strlen || !str)
		return '';
	if (str.indexOf(" ") == -1 ) {
		for (var i = 0; i < strlen; i = i +chunklen) {
			ret = ret + str.substring(i, (chunklen +i)) + "\n";
		}
		return ret;
	} else {
		return str;
	}
}

function getAjaxObject(){
	try{
		var xmlhttp = new XMLHttpRequest();		
	}catch(err1){
		var ieXmlHttpVersions = new Array();
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";
		ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";

		var i;
		for (i=0; i < ieXmlHttpVersions.length; i++){
			try{
				var xmlhttp = new ActiveXObject(ieXmlHttpVersions[i]);
				break;
			} catch (err2){
				
			}
		}
	}
	return xmlhttp;
}

function AjaxLoad(link, elementid){	
	new Ajax.Updater(elementid, link, {
		method: 'GET',
		evalScripts: true
	});
	
	return;
}

function AjaxExecute(link){
	var AjaxObject = getAjaxObject();
	if(typeof AjaxObject == "undefined"){
		alert('In order to view this page your browser has to support AJAX');
		return;
	}
	AjaxObject.onreadystatechange=function() {
		if (AjaxObject.readyState==4 && AjaxObject.status==200){
		}
	};
	AjaxObject.open("GET", link, false);
	AjaxObject.send(null);
	return;
}

function AjaxRedirect(link,url){
	var AjaxObject = getAjaxObject();
	if(typeof AjaxObject == "undefined"){
		alert('In order to view this page your browser has to support AJAX');
		return;
	}
	AjaxObject.onreadystatechange=function() {
		if (AjaxObject.readyState==4 && AjaxObject.status==200){
			if(AjaxObject.responseText) {
				document.location.href = url+AjaxObject.responseText;
			}
		}
	};
	AjaxObject.open("GET", link, true);
	AjaxObject.send(null);
	return;
}

function reloadCaptcha() {
	var img = document.getElementById('cappic');
	img.src = '/lib/frmcaptcha.php?rld=' + Math.random();
	return false;
}

function rldContent(t, txt) {
	var element = document.getElementById(t);
	if (element.value == txt) {
		element.value = '';
	}
}

function rldContent2(t, txt) {
	var element = document.getElementById(t);
	if (element.value == ''){
		element.value = txt;
	}
}

function CheckLoginForm(frm, uname, upass) {
	if (frm.uname.value == uname) {
		frm.uname.value = '';
	}
	
	if (frm.upass.value == upass) {
		frm.upass.value = '';
	}

	return true;

}

function pollsubmit(p,t,cid) {
	var http_request = getAjaxObject();
	if (!http_request) return true;
	
	disablepollbuttons(p);
	
	http_request.onreadystatechange = function() { poll_submit_callback(http_request,cid); };
	
	var qry = generatepollquery(p);
	
	var lmethod = 'GET';
	
	http_request.open(lmethod, '/lib/poll_submit.php?type=' + t + '&' + (lmethod == 'GET' ? qry : ''), true);
	if (lmethod == 'POST') http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(lmethod == 'GET' ? null : qry);
	
	return false;
}

function pollsubmitleft(p,t,cid) {
	var http_request = getAjaxObject();
	if (!http_request) return true;
	
	disablepollbuttons(p);
	
	http_request.onreadystatechange = function() { poll_submit_callback(http_request,cid); };
	
	var qry = generatepollquery(p);
	
	var lmethod = 'GET';
	
	http_request.open(lmethod, '/lib/poll_submit_left.php?type=' + t + '&' + (lmethod == 'GET' ? qry : ''), true);
	if (lmethod == 'POST') http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(lmethod == 'GET' ? null : qry);
	
	return false;
}

var lastsubmitbut = '';
var lastsubmitval = '';

function poll_btnclick(b) {
	lastsubmitbut = b.name;
	lastsubmitval = b.value;
	return true;
}

function generatepollquery(f) {
	var retstr = "";
	for (var i = 0; i < f.elements.length; i++) {
		if (f.elements[i].type.toLowerCase() == 'text' || f.elements[i].type.toLowerCase() == 'textarea' 
			|| f.elements[i].type.toLowerCase() == 'hidden') {
			retstr += f.elements[i].name + "=" + escape(f.elements[i].value) + "&";
		} else if (f.elements[i].type.toLowerCase() == 'submit') {
			if (f.elements[i].name == lastsubmitbut && f.elements[i].value == lastsubmitval) retstr += f.elements[i].name + "=" + escape(f.elements[i].value) + "&";
		} else if (f.elements[i].type.toLowerCase() == 'select') {
			retstr += f.elements[i].name + "=" + escape(f.elements[i].options[f.elements[i].selectedIndex]) + "&";
		} else if (f.elements[i].type.toLowerCase() == 'radio' || f.elements[i].type.toLowerCase() == 'checkbox') {
			if (f.elements[i].checked) retstr += f.elements[i].name + "=" + escape(f.elements[i].value) + "&";
		}
	}
	return retstr;
}

function poll_submit_callback(p,cid) {
	if (p.readyState == 4 && p.status == 200) {
		var canketa = document.getElementById(cid);
		canketa.innerHTML = p.responseText;
		return;
	}
}

function disablepollbuttons(p) {
	for(i=0; i < p.elements.length; i++) {
		if (p.elements[i].type.toLowerCase() == 'submit') {
			p.elements[i].disabled = true;
		}
	}
}

function formtoggle(tohide, toview, frm, check, uncheck) {
	formhide(tohide);
	formview(toview);
	var frmel;
	if (frm == 'regform') {
		frmel = document.regform;
	} else {
		frmel = document.loginform;
	}
	if (frmel) {
		frmel.ch[check].checked=true;
		frmel.ch[uncheck].checked=false;		
	}	
}

function formview (elementid) {
	var element = document.getElementById(elementid);
	element.style.display="block";
}
function formhide (elementid) {
	var element = document.getElementById(elementid);
	element.style.display="none";
}


function emailstrip(el) {
	var email = document.regform.mail;
	var element = document.regform.elements[el];
	var emailval = email.value;
	emailval = emailval.substring(0,emailval.indexOf('@'));
	if (emailval && (!element.value || element.value == nochangelater)) {
		element.value = emailval;
		element.style.color = '#000';
	} else if (!emailval && element.value == nochangelater) {
		element.value = '';
		element.style.color = '#000';
	}

}

function restoreval(el) {
	if (!el.value) {
		el.value = nochangelater;
		el.style.color = '#828282';
	}
	
}

function urlname_init() {
	var element = document.regform.elements[5];
	if (element.value == nochangelater) {
		element.style.color = '#828282';
	} else {
		element.style.color = '#000';
	}
}

if(!Array.indexOf){
	Array.prototype.indexOf = function(obj){
		for(var i=0; i<this.length; i++){
			if(this[i]==obj){
				return i;
			}
		}
		return -1;
	};
}

/* MENUS */

var clickedarr = [];
var thismenu = null;
var unfold = null;
var avopen = null;
var avtmt = null;
var menutmt = null;

function ShowHide(el) {
	var wrapelem = document.getElementById(el);
	if ( wrapelem.style.display=="none") {
		wrapelem.style.display="block";
	} else {
		wrapelem.style.display="none";
	}
}

function LinkMenuOver(menuid, ev) {
	clearTimeout(menutmt);
	if (unfold != null && unfold !=menuid) {
		$(unfold).hide();
	}
	var parentoffset = $('leading_'+menuid).positionedOffset();
	var parentheight = $('leading_'+menuid).getHeight();
	var parentleft = parentoffset[0] -5;
	var parenttop = parentoffset[1]+parentheight +5;
	
	$(menuid).style.display = 'block';
	unfold = menuid;
	$(menuid).style.top = parenttop + 'px';
	$(menuid).style.left = parentleft + 'px';

}

function LinkMenuOut(menuid, ev) {	
	menutmt = setTimeout(function() {
			$(menuid).hide();
			unfold = null;
		}
	,1500);
}

function MenuOver(menuid, ev) {
	clearTimeout(menutmt);
	unfold = menuid;
}

function MenuOut(menuid, ev) {
	if (!ev) { ev = window.event; }
	var from = ev.fromElement || ev.target;
	var to = ev.toElement || ev.relatedTarget;
	var e = to;
	
	try {
		while(e && (e.id != menuid)){
			e = e.parentNode;
		}
	} catch(err) {
		e = null;
	}
	
	if(e) return;
	
	menutmt = setTimeout(function() {
			$(menuid).hide();
			unfold = null;
		}
	,1500);
}


function AvatarOver(picid, size, uid, rand) {
	if (avopen != null && avopen != 'avhelper'+uid+'_'+rand) {
		$(avopen).hide();
	}

	var lnk = $$('#avhelper'+uid+'_'+rand+' a');	
	var firstlnk = lnk[0];	
	var parentoffset = $('avimg'+uid+'_'+rand).positionedOffset();
	var parentleft = parentoffset[0];
	var parenttop = parentoffset[1];
	var smallsize = size == 's50' ? false : true;
	var poffset = !smallsize ? 4 : 16;

	$('avhelper'+uid+'_'+rand).style.display = 'block';
	avopen = 'avhelper'+uid+'_'+rand;
	$('avhelper'+uid+'_'+rand).style.top = (parenttop - poffset) + 'px';
	$('avhelper'+uid+'_'+rand).style.left = (parentleft - poffset) + 'px';

	firstlnk.onclick = function (e) {ShowHideAvatarMenu(uid, rand, $('avhelper'+uid+'_'+rand).getHeight()-poffset, -poffset, e); return false;};

}

function AvatarOut(uid, rand, e) {
	var menuid = 'avmenu'+uid+'_'+rand;
	var avhelper = 'avhelper'+uid+'_'+rand;
	var avwrapper = 'avwrap'+uid+'_'+rand;
	var event = e;
	if (!event) { event = window.event; }
	var from = event.fromElement || event.target;
	var to = event.toElement || event.relatedTarget;	
	var e = to;

	try {
		while(e && (e.id != avwrapper)){
			e = e.parentNode;
		}
	} catch(err) {
		e = null;
	}

	if(e) return;

	avtmt = setTimeout(function() {
			$(avhelper).hide();
			$(avhelper).style.border = '1px outset #aaa';
			$(menuid).hide();
			avopen = null;
			unfold = null;
		}
	,1500);
}

function ShowHideAvatarMenu(uid, rand, toppos, leftpos, event) {
	if (!event) { event = window.event; }
	Event.stop(event);
	
	var menuid = 'avmenu'+uid+'_'+rand;
	var avhelper = 'avhelper'+uid+'_'+rand;

	if (unfold != null && unfold != menuid) {
		if ($(unfold) != null) $(unfold).hide;
		unfold = null;
	}	
	if (unfold == menuid) {
		$(menuid).hide();
		unfold = null;
		$(avhelper).style.border = '1px outset #aaa';
	} else {
		$(avhelper).style.borderBottom = '0px solid #fff';
		$(menuid).style.display = "block";
		$(menuid).style.position = "absolute";
		$(menuid).style.border = '1px outset #aaa';
		$(menuid).style.top = (toppos-2)+'px';
		$(menuid).style.left = leftpos+'px';
		unfold = menuid;
	}
}

function AvatarMenuOut(uid, rand, e) {
	var menuid = 'avmenu'+uid+'_'+rand;
	var avhelper = 'avhelper'+uid+'_'+rand;
	var avwrapper = 'avwrap'+uid+'_'+rand;
	var event = e;
	if (!event) { event = window.event; }
	var from = event.fromElement || event.target;
	var to = event.toElement || event.relatedTarget;	
	var e = to;

	try {
		while(e && (e.id != avwrapper)){
			e = e.parentNode;
		}
	} catch(err) {
		e = null;
	}

	if(e) return;

	if (!$(menuid)) return;
	
	avtmt = setTimeout(function() {
			$(menuid).hide();
			unfold = null;
			$(avhelper).hide();
			$(avhelper).style.border = '1px outset #aaa';
			avopen = null;
		}
	,1500);
}

function FoldUnfoldTree(id,event) {
	if (!event) { event = window.event; }
	Event.stop(event);
	var arrow = document.getElementById('t'+id);
	var container = document.getElementById('container'+id);
	var alreadyclicked = clickedarr.indexOf(id) == -1 ? false : true ;
	if (alreadyclicked) {
		container.style.display='block';
		arrow.style.background = 'url(\'/i/colldown.gif\') no-repeat center center';
		clickedarr.splice(selectedpics.indexOf(id),1);
	} else {
		container.style.display='none';
		arrow.style.background = 'url(\'/i/collright.gif\') no-repeat center center';
		clickedarr.push(id);
	}
}

var statusclick = 0;

function ChangeSearchGroupPlace(){
	var select = document.searchform.subtype.value;
	var selbut = document.searchform.subtype;
	var place = document.searchform.place;
	var radio_alldiv = document.getElementById('radio_all');
	var radio_personaldiv = document.getElementById('radio_personal');
	var type = 0;
	if( select == 1 ){
		radio_alldiv.style.display = 'inline';
		radio_personaldiv.style.display = 'none';
		type = 1;
	}else{
		type = 2;
		if( select == 2){
			radio_alldiv.style.display = 'none';
			radio_personaldiv.style.display = 'inline';
		}else{
			radio_alldiv.style.display = 'none';
			radio_personaldiv.style.display = 'inline';
			for( i = 0; i < selbut.length; ++i ){
				if( selbut[i].selected ){
					document.searchform.guid.value = selbut[i].getAttribute('groupguid');
					break;
				}
			}
		}
	}
	var chckd = -1;
	for( i = 0; i < place.length; ++i ){
		if( place[i].checked ){
			chckd = i;
			break;
		}
	}
	
	if( chckd >= 0 ){
		if( type == 1 && chckd > 1 ){
			place[chckd].checked = false;
			place[0].checked = true;
			return;
		}
		if( type == 2 && chckd < 2 ){
			place[chckd].checked = false;
			place[2].checked = true;
			return;
		}
	}else{
		if (type == 1 )
			place[0].checked = true;
		else
			place[2].checked = true;
	}
	
}

// tazi funkciq e specifichna i (da) se pozlva samo za kontekstnite menu-ta v dyrvoto v organize
function ShowHideMenu2(t, menuid, event) {
	if (!event) { event = window.event; }
	Event.stop(event);
	var already = unfold == menuid ? true : false;
	if (unfold != null && unfold != menuid) {
		if ($(unfold) != null) $(unfold).hide();
		if ($('f_'+unfold) != null) $('f_'+unfold).style.background = 'url(\'/i/collmenu.gif\') no-repeat top left';
		t.style.background = 'url(\'/i/collmenu.gif\') no-repeat top left';
		unfold = null;
	}
	
	if (already) {
		$(menuid).hide();
		t.style.background = 'url(\'/i/collmenu.gif\') no-repeat top left';
		unfold = null;
		statusclick = 0;
	} else {
		$(menuid).style.display = "block";
		t.style.background = 'url(\'/i/collmenu_clicked.gif\') no-repeat top left';
		unfold = menuid;
		$(menuid).style.top = (t.offsetTop) + 'px';
		$(menuid).style.left = (t.offsetLeft-$(menuid).offsetWidth) + 'px';
		statusclick = 1;
	}
}

function ShowHideMenu3(menuid,toppos, leftpos,e) {
	var event = e;
	if (!event) { event = window.event; }
	Event.stop(event);
	if (unfold != null && unfold != menuid) {
		if ($(unfold)) $(unfold).hide();
		unfold = null;
	}	
	if (unfold == menuid) {
		$(menuid).hide();
		//~ $('a_'+menuid).style.border = '1px solid white';
		//~ $('a_'+menuid).style.borderBottom = '0px solid white';
		//~ $('arr_'+menuid).removeClassName('arrowhover');
		unfold = null;
	} else {
		$('a_'+menuid).style.borderTop = '1px solid #eeeeee';
		$('a_'+menuid).style.borderLeft = '1px solid #eeeeee';
		$('a_'+menuid).style.borderRight = '1px outset #eeeeee';
		$('a_'+menuid).style.borderBottom = '1px solid #fff';
		$('arr_'+menuid).addClassName('arrowhover');
		$(menuid).style.display = "block";
		var isie6=navigator.appName=="Microsoft Internet Explorer"&&navigator.appVersion.indexOf('MSIE 6.0')>=0;
		$(menuid).style.top = (parseInt(toppos) + (isie6 ? 2 : 0)) +'px';
		$(menuid).style.left = leftpos+'px';
		unfold = menuid;
	}
}

function ChangeClass(t,ptype) {
	if(statusclick == 0) {
		if(ptype == 1){
			t.style.background = 'url(\'/i/collmenu_clicked.gif\') no-repeat top left';
		} else {
			t.style.background = 'url(\'/i/collmenu.gif\') no-repeat top left';
		}
	}
}

function TopMenuOver(menuid) {
	$('a_'+menuid).style.borderTop = '1px solid #eeeeee';
	$('a_'+menuid).style.borderLeft = '1px solid #eeeeee';
	$('a_'+menuid).style.borderRight = '1px outset #eeeeee';
	//~ $('a_'+menuid).style.borderBottom = '1px solid #D1D3D4';
	$('a_'+menuid).style.borderBottom = '1px solid #ffffff';
	$('arr_'+menuid).addClassName('arrowhover');
}

function TopMenuOut(menuid) {
	if (unfold != menuid) { 
		$('a_'+menuid).style.border = '1px solid #ffffff';
		$('a_'+menuid).style.borderBottom = '1px solid #D1D3D4';
		$('arr_'+menuid).removeClassName('arrowhover');
	}
}

function globalclick() {
	// zatvarqme tekushtoto otvoreno menu
	if ($(unfold)) {
		$(unfold).hide();
	}
	// ako e bilo ot topmenu-to mahame hover-a na topmenu-to
	if ($('a_'+unfold)) {
		$('a_'+unfold).style.border = '1px solid white';
		$('a_'+unfold).style.borderBottom = '0px solid white';
	}
	if ($('arr_'+unfold)) {
		$('arr_'+unfold).removeClassName('arrowhover');
	}
	// ako ima otvoren avatar
	if ($(avopen)) {
		$(avopen).hide();
		$(avopen).style.border = '1px outset #aaa';
		avopen = null;
		clearTimeout(avtmt);
	}
	if ($('f_'+unfold) != null) {
		$('f_'+unfold).style.background = 'url(\'/i/collmenu.gif\') no-repeat top left';
	}
	unfold = null;
}

/* END MENUS */


/* GROUP PAGE*/

var addgroupconfirm = 'Желаете ли да се включите в група ';

/* ORGANIZE PAGES */

var selectedpics = [];
var organizepics = [];
var selectedmos = [];
var picsforalbum = [];
var initpicsforalbum = [];
var selectedfromalbum = 0;
var startfrom = null;
var startfrom_id = null;
var albumid = null;
var albumcnt = null;
var barordby = null;
var barfilter = null;
var startpos = null;
var startel = null;
var mosopen = false;
var initscroll;
var shifttoend = false;
var allselected = false;
var oldtcol = 0;
var mouseoffsetx = 0;
var mouseoffsety = 0;
var albumwarning = 'За икона на албума сте избрали снимка с ограничена видимост.\n\nНезависимо от настройките снимката ще бъде видима за всички в иконата на албума.\n\nНатиснете OK за да продължите или Отказ, за да направите промени.';
var newalbumwarning = 'В момента иконата на албума е снимка с ограничена видимост.\n\nНезависимо от настройките снимката ще бъде видима за всички в иконата на\nалбума, а също и като средна картинка в изглед Мозайка на албума.';
var moswarning = 'В мозайката участват снимки с ограничена видимост.\n\nНезависимо от настройките снимките ще бъдат видими за всички в мозайката на колекцията.\n\nНатиснете OK за продължаване или Отказ, за да направите промени.';
var previewtoomany = 'За да добавите икона на албума, изберете само една снимка от лентата.';
var mostoomany = 'За да можете да добавяте в мозайката на колекцията,  трябва да сте ибзрали само една снимка от лентата.';
var nochangelater = 'Не може да се променя по-късно.';

function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}


function getScreenSize() {
	var myHeight = 0; var myWidth = 0;
	if (window.innerWidth && window.innerHeight) {
		// Netscape & Mozilla
		myHeight = window.innerHeight;
		myWidth = window.innerWidth;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		// IE > 6
		myHeight = document.documentElement.clientHeight;
		myWidth = document.documentElement.clientWidth;
	} else if (document.body.offsetWidth && document.body.offsetHeight) {
		// IE = 6
		myHeight = document.body.offsetHeight;
		myWidth = document.body.offsetWidth;
	} else if (document.body.clientWidth && document.body.clientHeight) {
		// IE < 6
		myHeight = document.body.clientHeight;
		myWidth = document.body.clientWidth;
	}

	return [ myWidth, myHeight ];
}

/* SCROLLING IMAGE BAR */

function selectPic(el) {
	// selectvame samo ako ne sme selectnali abs. vsichki - togava 
	// veche nqma nakyde da selectvame
	if (!allselected) {
		var elid = parseInt(el.getAttribute('id').substring(4));
		var elindex = selectedpics.indexOf(elid);
		if (elindex == -1) {
			toggleBorder(el, 'set');
			selectedpics.push(elid);
			updateSelectedCount();
		}
	}
	return false;
}

function deselectPic(el) {
	if (allselected) allselected = false;
	var elid = parseInt(el.getAttribute('id').substring(4));
	var elindex = selectedpics.indexOf(elid);
	if (elindex != -1) {
		toggleBorder(el, 'unset');
		selectedpics.splice(elindex,1);
		updateSelectedCount();
	}
	return false;
}

function selectVisible() {
	var pics = $$('#picscroller div');
	firstvisible = getFirstVisible();
	lastvisible = getLastVisible();
	// ako predi tova sa bili izbrani abs. vsichki snimki, deselectvame gi za da izberem samo vidimite;
	// v drugite sluchai funkciqta e s kumulativno deistvie - toest ne deselctva predishno izbrani
	if (allselected) {
		selectedpics.length = 0;
		allselected = false;
	}
	for(i = firstvisible[1]; i <= lastvisible[1]; i++) {
		// ako tekushtata snimka ne e izbrana q dobavqme v selectedpics i setvame bordera i
		if(typeof pics[i] != 'undefined' && (!in_array(parseInt(pics[i].getAttribute('id').substring(4)), selectedpics))) {
			var elid = parseInt(pics[i].getAttribute('id').substring(4));
			selectedpics.push(elid);
			toggleBorder(pics[i], 'set');
		}
	}	
	updateSelectedCount();
}

function selectAll(pAlbumId, pOrdby, pFilter) {
	allselected = true;
	// pravim zaqvka za vsichki snimki (spored filtera)
	new Ajax.Request('/AjaxAlbumPics.php', {
		parameters: {'mode': 5, 'ordby': barordby, 'filter': pFilter, 'storyid': pAlbumId},
		onSuccess: function(transport) {
			if(transport.responseText) {
				selectedpics.length = 0;
				var tmparr = [];
				tmparr = transport.responseText.substring(2).split(',');
				for (i=0; i<tmparr.length;i++) {
					selectedpics.push(parseInt(tmparr[i]))
				}
				// update-vame broq izbrani snimki
				updateSelectedCount();
				// update-vame border-ite na snimkite ot lentata(tekushtata stranica)
				var pics = $$('#picscroller div');
				for(i = 0; i < pics.length; i++) {
					var elid = parseInt(pics[i].getAttribute('id').substring(4));
					toggleBorder(pics[i], 'set');
				}	
			}
		}
	});

}

function clearSelected() {
	allselected = false;
	selectedpics.length = 0;
	updateSelectedCount();
	updateSelectedBorder();
}

function toggleBorder(el, action) {
	if (action == 'set') {
		el.style.border="2px solid #CC0000";
		el.style.margin="4px 1px";
	} else {
		el.style.border="1px solid black";
		el.style.margin="5px 2px";
	}
}

function toggleBorderHover(el,action) {
	if (selectedpics.indexOf(parseInt(el.getAttribute('id').substring(4))) == -1 && !allselected) {
		toggleBorder(el, action);
	}
}

function updateSelectedCount(){
	var num = $('selnum');
	if (num) {
		if (selectedpics.length == 0) {
			num.style.visibility = 'hidden';
		} else if(num.style.visibility == 'hidden' && selectedpics.length > 0) {
			num.style.visibility = 'visible';
		}
	}
	if ($('selcnt')) $('selcnt').innerHTML = selectedpics.length;
}

function updateSelectedOrganize(){
	$('orgcnt').innerHTML = 'Избрани <strong>' +parseInt(organizepics.length)+'</strong> снимк' + (parseInt(organizepics.length) == 1?'а':'и');
}

function updateSelectedAlbum(){
	$('albcnt').innerHTML = '<strong>' +parseInt(picsforalbum.length)+'</strong> снимк' + (parseInt(picsforalbum.length) == 1?'а':'и');
}

function updateSelectedBorder(){
	var pics = $$('#picscroller div');
	for(i = 0; i < pics.length; i++) {
		var elid = parseInt(pics[i].getAttribute('id').substring(4));
		if(selectedpics.indexOf(elid) != -1) {
			toggleBorder(pics[i], 'set');
		} else {
			toggleBorder(pics[i], 'unset');
		}
	}
}

function updateBar(albumid, ordby, filter, minval, maxval, curroffset, maxrecords, curroffset, maxrecords) {

	var el = $('picscroller');
	var clen = $$('#picscroller div').length;
	var newwidth = 86*clen;
	el.style.width=newwidth+"px";
	
	initscroll = $('picscroller').offsetLeft;
	
	if(shifttoend) {
		var container = $('picsbrowse');
		var newleft = container.offsetWidth - el.offsetWidth;
		el.style.left = newleft+"px";
		shifttoend = false;
	}
	
	updateScrollNav(albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
	updateSelectedCount();
	updateSelectedBorder();
	setOrganizeHeight();
}

function ScrollNavLeft(albumid, ordby, filter, minval, maxval, curroffset, maxrecords){
	var scroller = $('picscroller');
	var container = $('picsbrowse');
	var scrollwidth = scroller.offsetWidth;
	var contwidth = container.offsetWidth;
	var initpos = scroller.offsetLeft;
	var newleft = initpos + contwidth;

	var lfirstvisible = getFirstVisible();
	var lfirstpic = getFirstPic();

	if (newleft > 0) {
		// ako pri prelistvane nalqvo popadnem na pyrvata stranica i snimkite sa po-malko ili ravni na shirnata na containera zadyljitelno poizicionirame v kraino lqvo
		if (lfirstpic[0] == minval && initpos <= contwidth) {
			new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
				method: 'GET',
				parameters: {'mode': 2, 'storyid': albumid, 'ordby': ordby, 'filter': filter, 'offset' : 0}
			});
		// v protiven sluchai prelistvame ot nai-lqvata vidima nalqvo do kraq i sled tova pozicionirame diva v kraina dqsna poziciq
		} else {
			var newoffset = (curroffset + lfirstvisible[1]) - 60;
			if (newoffset < 0) newoffset = 0;
			new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
				method: 'GET',
				parameters: {'mode': 2, 'storyid': albumid, 'ordby': ordby, 'filter': filter, 'offset' : newoffset},
				onSuccess: function(transport) {
					// setvame flag che trqbva da premestim diva v kraina dqsna poziciq
					shifttoend = true;
				}
			});
		}
	} else {
		scroller.style.left = newleft+"px";
		updateScrollNav(albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
	}
	
}

function ScrollNavRight(albumid, ordby, filter, minval, maxval, curroffset, maxrecords){

	var scroller = $('picscroller');
	var container = $('picsbrowse');
	var scrollwidth = scroller.offsetWidth;
	var contwidth = container.offsetWidth;
	var initpos = scroller.offsetLeft;		
	var newleft = initpos - contwidth - initscroll;

	var llastvisible = getLastVisible();
	
	if(Math.abs(newleft) >= (scrollwidth-contwidth)) {
		// ako stignem do kraq na stranica trqbva da zaredim nova stranica ot poslednata vidima snimka natatyk
		var newoffset = curroffset + llastvisible[1];
		if (newoffset > maxrecords) newoffset = maxrecords - 60;
		if (llastvisible[0]) {
			new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
				method: 'GET',
				parameters: {'mode': 2, 'storyid': albumid, 'ordby': ordby, 'filter': filter, 'offset': newoffset}
			});
		}
	} else {
		// v protiven sluchai samo premestvame scrollera
		scroller.style.left = newleft+"px";
		updateScrollNav(albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
	}
}

function ScrollNavFirst(albumid, ordby, filter) {
	new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
		method: 'GET',
		parameters: {'mode': 2, 'storyid': albumid, 'ordby': ordby, 'filter': filter, 'offset': 0 }
	});
}

function ScrollNavLast(albumid, ordby, filter, maxrecords) {
	new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
		method: 'GET',
		parameters: {'mode': 2, 'storyid': albumid, 'ordby': ordby, 'filter': filter, 'offset': (maxrecords - 60)},
		onSuccess: function(transport) {
			// premestvame v kraina dqsna poziciq
			shifttoend = true;
		}
	});
}

function getFirstVisible() {
	var picsarr = $$('#picscroller div');
	var scroller = $('picscroller');
	var firstvisiblepos = Math.floor(Math.abs(scroller.offsetLeft)/86);
	var firstvisiblepic = (typeof picsarr[firstvisiblepos] == 'undefined') ? null : picsarr[firstvisiblepos];
	var firstvisibleid = firstvisiblepic != null ? parseInt(firstvisiblepic.getAttribute('id').substring(4)) : 0;
	return [ firstvisibleid, firstvisiblepos ];
}

function getLastVisible() {
	var picsarr = $$('#picscroller div');
	var lastvisiblepos = Math.floor((Math.abs($('picscroller').offsetLeft) + $('picsbrowse').offsetWidth)/86) - 1;
	var lastvisiblepic = (typeof picsarr[lastvisiblepos] == 'undefined') ? null : picsarr[lastvisiblepos];
	var lastvisibleid = lastvisiblepic != null ? parseInt(lastvisiblepic.getAttribute('id').substring(4)) : 0;
	return [ lastvisibleid, lastvisiblepos ];
}

function getFirstPic() {
	var picsarr = $$('#picscroller div');
	var firstpicpos = 0;
	var firstpic = (typeof picsarr[firstpicpos] == 'undefined') ? null : picsarr[firstpicpos];
	var firstpicid = firstpic != null ? parseInt(firstpic.getAttribute('id').substring(4)) : 0;
	return [ firstpicid, firstpicpos ];
}

function getLastPic() {
	var picsarr = $$('#picscroller div');
	var lastpicpos = picsarr.length-1;
	var lastpic = (typeof picsarr[lastpicpos] == 'undefined') ? null : picsarr[lastpicpos];	
	var lastpicid = lastpic != null ? parseInt(lastpic.getAttribute('id').substring(4)) : 0;
	return [ lastpicid, lastpicpos ];
}

function disableScrollNav(navid) {
	var el = $(navid);
	if (el.className.indexOf('_inactive') == -1) {
		el.className =  el.className+"_inactive";
		el.onclick = null;
	}
}

function enableScrollNav(navid, albumid, ordby, filter, minval, maxval, curroffset, maxrecords) {
	var el = $(navid);
	if (el.className.indexOf('_inactive') != -1) {
		el.className =  el.className.substring(0,el.className.indexOf('_inactive'));
		if (navid == 'snavleftone') {
			el.onclick = function() {ScrollNavLeft(albumid, ordby, filter, minval, maxval, curroffset, maxrecords)};
		} else if (navid == 'snavrightone'){
			el.onclick = function() {ScrollNavRight(albumid, ordby, filter, minval, maxval, curroffset, maxrecords)};
		} else if (navid == 'snavleft'){
			el.onclick = function() {ScrollNavFirst(albumid, ordby, filter)};
		} else if (navid == 'snavright'){
			el.onclick = function() {ScrollNavLast(albumid, ordby, filter, maxrecords)};
		}		
	}
}

function updateScrollNav(albumid, ordby, filter, minval, maxval, curroffset, maxrecords) {
	var lfirstvisible = getFirstVisible();
	var lfirstpic = getFirstPic();	
	var llastvisible = getLastVisible();
	var llastpic = getLastPic();

	if (lfirstpic[0] == minval && lfirstpic[1] >= lfirstvisible[1]) {
		disableScrollNav('snavleftone');
		disableScrollNav('snavleft');
	} else {
		enableScrollNav('snavleftone', albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
		enableScrollNav('snavleft', albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
	}
	
	if (llastpic[0] == maxval && llastpic[1] <= llastvisible[1]) {
		disableScrollNav('snavrightone');
		disableScrollNav('snavright');
	} else {
		enableScrollNav('snavrightone', albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
		enableScrollNav('snavright', albumid, ordby, filter, minval, maxval, curroffset, maxrecords);
	}
}

/* END SCROLLING IMAGE BAR */

/* DRAG AND DROP */

function StartDrag(e,album_id,records, ordby, filter) {

	if (e == null) { e = window.event; htype='move';}
	var target = e.target != null ? e.target : e.srcElement;
	
	var lform = $('layerform');
	if (lform != null && !mosopen) lform.style.display='none';
	
	albumid = album_id;
	albumcnt = records;
	barordby = ordby;
	barfilter = filter;
	
	startel = target.parentNode;
	if (target.parentNode.getAttribute('pos')) startpos = target.parentNode.getAttribute('pos');
	
	var curr_id_name = target.parentNode.getAttribute('id');
	var curr_id = curr_id_name != null ? parseInt(curr_id_name.substring(4)) : null;
	
	// gledame otkyde dragvame element - dolu ot lentata ili ot prostranstvoto gore
	startfrom = curr_id != null ? curr_id_name.substring(0,4) : null;
	startfrom_id = curr_id;
	
	// selectvame snimka ot dolnata lenta ako kliknem na neq ili ako pochnem da q dragvame bez da sme q selectnali
	if (startfrom == 'bpic' || startfrom == 'balb') {
		if (selectedpics.indexOf(curr_id) == -1) {
			selectPic(target.parentNode);
		} else {
			deselectPic(target.parentNode);
		}
	}
	
	if (startfrom == 'apic' || startfrom == 'opic' || startfrom == 'calb' || startfrom == 'oalb' || startfrom == 'gpic') selectedfromalbum = curr_id;
	if (startfrom == 'apic' || startfrom == 'opic' || startfrom == 'gpic') $('drophere').show();
	
	// kartinkata placeholder dokato dragvame - slagame za background kartinkata ot koqto trygvame da dragvame 
	// i zadavame pyrvonachalnite koordinati
	var scrollxy = getScrollXY();
	$('draghelper').style.background = "url('"+$$('#'+startel.getAttribute('id')+' img')[0].src+"') no-repeat top left";
	$('draghelper').style.top = (e.clientY+scrollxy[1] - 80)+'px';
	$('draghelper').style.left = (e.clientX+scrollxy[0]+4)+'px';	

	document.onmousemove=OnDrag;
	document.onmouseup=EndDrag;
	
	return false;
}

function OnDrag(e) {
	
	if (e == null) { e = window.event }
	var target = e.target != null ? e.target : e.srcElement;
	
	if ((startfrom == 'bpic' || startfrom == 'balb') && selectedpics.indexOf(startfrom_id) == -1 ) {
		selectPic($(startfrom+startfrom_id));
	}
	
	if ((startfrom == 'bpic' || startfrom == 'apic' || startfrom == 'balb' || startfrom == 'calb' || startfrom == 'opic' || startfrom == 'oalb' || startfrom == 'mosb' || startfrom == 'gpic') && (selectedpics.length > 0 || selectedfromalbum > 0 || selectedmos.length > 0)) {
		// dvijim placeholdera i izmenqme koordinatite
		var scrollxy = getScrollXY();
		$('draghelper').style.top = (e.clientY+scrollxy[1] - 80)+'px';
		$('draghelper').style.left = (e.clientX+scrollxy[0]+4)+'px';
		if ($('draghelper').style.display != 'block') $('draghelper').style.display = 'block';
	}
	if (target.getAttribute('id') == 'drophere') $('drophere').hide();	

	//promqna cveta na kolekciqta, pri dragvane na album v kolekciq
	if (startfrom == 'oalb' && target.getAttribute('id') && target.getAttribute('id').substring(0,4) == 'tcol'){
		var newtcol = target.getAttribute('id');
		if(oldtcol == 0) {
			oldtcol = newtcol;
		}
		if(oldtcol == newtcol){
			$(newtcol).style.color = '#CC0000';
		} else {
			$(oldtcol).style.color = '#000000';
			$(newtcol).style.color = '#CC0000';
			oldtcol = newtcol;
		}
	}
	
	return false;
}

function EndDrag(e) {
	
	$('draghelper').style.background = 'transparent';
	$('draghelper').hide();
	$('drophere').hide();

	if (e == null) { e = window.event }
	var target = e.target != null ? e.target : e.srcElement;
	
	//promqna cveta na kolekciqta, pri dragvane na album v kolekciq
	if (oldtcol != 0 && startfrom == 'oalb'){
		$(oldtcol).style.color = '#000000';
		oldtcol = 0;
	}
	
	// stranica album - dragvame snimki ot lentata i gi dropvame v albuma - dobavqne
	if (((target.getAttribute('id') && target.getAttribute('id') == 'container' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('apic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedpics.length > 0 && startfrom == 'bpic') {
		
		toggleChange(1);
		
		var previewpicture = $$('#previewpic img')[0];
		if (typeof selectedpics[0] != 'undefined' && previewpicture.src.indexOf('def_previewpic') != -1) {
			previewpicture.src = '/showimg.php?filename=s80_'+selectedpics[0]+'.jpg';
			$('previewpic').setAttribute('pos',selectedpics[0]);
		}

		showAlbumPics(albumid, 1);
		selectedpics.length = 0;
		allselected = false;
		if($('albcnt') != null ) updateSelectedAlbum();
		updateSelectedCount();
		updateSelectedBorder();
		
	// stranica album - dragvame snimka ot albuma i q dropvame v lentata - iztrivane
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'picsbrowse' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('bpic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedfromalbum > 0 && startfrom == 'apic') {

		toggleChange(1);
		picsforalbum.splice(picsforalbum.indexOf(selectedfromalbum),1);
		$('apic'+selectedfromalbum).remove();
		updateSelectedAlbum();
		selectedfromalbum = 0;

	// stranica album - dragvame snimka ot albuma i q dropvame v previewpic
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'previewpic' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id') == "previewpic" && target.parentNode.nodeName == 'DIV') )&& selectedfromalbum > 0 && startfrom == 'apic') {
		
		$('draghelper').hide();
		// pyrvo proverka za visibility
		new Ajax.Request('/AjaxAlbumPics.php', {
			parameters: {'mode': 8, 'pic': parseInt(selectedfromalbum)},
			onSuccess: function(transport) {
				var lperm = parseInt(transport.responseText);
				lperm = (lperm == 0 ? 1 : lperm);
				if ( lperm == 16 || (lperm < 16 && confirm(albumwarning))) {
					toggleChange(1);
					var previewpic = document.getElementById('previewpic');
					var previewpicture = previewpic.getElementsByTagName('IMG')[0];
					previewpicture.src = '/showimg.php?filename=s80_'+selectedfromalbum+'.jpg';
					previewpic.setAttribute('pos',selectedfromalbum);
					selectedfromalbum = 0;
				}
			}
		});

		
	// stranica album - dragvame snimka ot lentata i q dobavqme kato previewpic i v albuma
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'previewpic' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id') == "previewpic" && target.parentNode.nodeName == 'DIV') )&& startfrom == 'bpic') {
		
		$('draghelper').hide();
		if (selectedpics.length > 1) {
			alert(previewtoomany);
		} else {
			// proverka za visibility
			new Ajax.Request('/AjaxAlbumPics.php', {
				parameters: {'mode': 8, 'pic': parseInt(selectedpics[0])},
				onSuccess: function(transport) {
					var lperm = parseInt(transport.responseText);
					lperm = (lperm == 0 ? 1 : lperm);
					if ( lperm == 16 || (lperm < 16 && confirm(albumwarning))) {
						toggleChange(1);
						var previewpic = $('previewpic');
						var previewpicture = previewpic.getElementsByTagName('IMG')[0];
						previewpicture.src = '/showimg.php?filename=s80_'+selectedpics[0]+'.jpg';
						previewpic.setAttribute('pos',selectedpics[0]);
						if (!in_array(selectedpics[0], picsforalbum)) {
							picsforalbum.push(selectedpics[0]);
							updateSelectedCount();
							$('container').update($('container').innerHTML+'<div class="pic" id="apic'+selectedpics[0]+'"  onmousedown="return StartDrag(event,'+albumid+');"><img border="0" alt="" src="/showimg.php?filename=s80_'+selectedpics[0]+'.jpg"/></div>');
						}
						selectedpics.length = 0;			
					}
				}
			});
		}
		
	// prenarejdame snimki v daden album
	} else if (((target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('apic') != -1 && target.parentNode.nodeName == 'DIV') ||(target.getAttribute('id') && target.getAttribute('id').indexOf('apic') != -1 && target.nodeName == 'DIV') )&& selectedfromalbum > 0 && startfrom == 'apic') {
	
		toggleChange(1);
		$('draghelper').hide();
		
		var endel;
		if(target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('apic') != -1 && target.parentNode.nodeName == 'DIV') {
			endel = target.parentNode;
		} else if (target.getAttribute('id') && target.getAttribute('id').indexOf('apic') != -1 && target.nodeName == 'DIV') {
			endel = target;
		}
		
		var endid = parseInt(endel.getAttribute('id').substr(4));
		var endpos = picsforalbum.indexOf(endid);
		var startpos = picsforalbum.indexOf(selectedfromalbum);
		
		if (startpos > endpos) {
			picsforalbum.splice(startpos, 1);
			picsforalbum.splice(endpos, 0, selectedfromalbum);
		} else if (startpos < endpos) {
			picsforalbum.splice(endpos+1, 0, selectedfromalbum);
			picsforalbum.splice(startpos, 1);
		}
		
		showAlbumPics(albumid, 0);
		selectedfromalbum = 0;
		
	// stranica organizirai snimki - izteglqme snimki ot lentata nagore i gi dobavqme v obshtoto prostranstvo
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'containerpics' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('opic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedpics.length > 0 && startfrom == 'bpic'){

		showOrganizePics(1);
		selectedpics.length = 0;
		allselected = false;
		updateSelectedOrganize();
		updateSelectedCount();
		updateSelectedBorder();
	
	// stranica organizirai snimki - izteglqme (premahvame) snimki ot obshtoto prostranstvo nadolu kym lentata
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'picsbrowse' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('bpic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedfromalbum > 0 && startfrom == 'opic') {	
	
		organizepics.splice(organizepics.indexOf(selectedfromalbum),1);
		$('opic'+selectedfromalbum).remove();
		updateSelectedOrganize();
		selectedfromalbum = 0;	
	
	// stranica organizirai albumi i kolekcii - izteglqme snimki ot lentata i gi dobavqme v nqkoi ot albumite
	} else if ((target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('oalb') != -1 && target.parentNode.nodeName == 'DIV' && target.nodeName == 'IMG') && selectedpics.length > 0 && startfrom == 'bpic'){
	
		albumid = target.parentNode.getAttribute('id').substr(4);
		var targetid = target.parentNode.getAttribute('id');
		var npics_before = target.parentNode.getAttribute('npics');
		var spics = selectedpics.length;
		var albumname = $('lnk'+albumid).innerHTML;
		if (albumid) {
			new Ajax.Request('/AjaxEditAlbum.php', {
				parameters: {'action': 'insert', 'storyid': albumid, 'a': selectedpics.join(','), 'allpics': 0, 'ordby': barordby, 'filter': barfilter},
				onComplete: function(transport) {
					new Ajax.Updater('containeralbums', '/AjaxCollectionAlbums.php', {
						parameters: {'mode': 3},
						onComplete: function(transport) {
							var albumel = $(targetid);
							var npics_after = albumel.getAttribute('npics');
							var added = npics_after - npics_before;
							new Ajax.Request('/AjaxForms.php', {
								parameters: {'t': 'addpics', 'selpics': spics, 'albumid':albumid, 'addedpics':added, 'albumname': albumname},
								onSuccess: function(transport) {
									if (transport.responseText) {
										$('layerform').update(transport.responseText);
										toggleLayer('block',1);
									}
								}
							});
						}
					});
				}
			});

		}
		selectedpics.length = 0;
		allselected = false;
		updateSelectedBorder();
		updateSelectedCount();
	
	// stranica organizirai albumi i kolekcii - izteglqme album ot obshtoto prostranstvo i go dropvame v kolekciq, v lqvo v dyrvoto
	} else if ((target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('tcol') != -1 && target.parentNode.nodeName == 'DIV' ) && selectedfromalbum > 0 && startfrom == 'oalb'){
	
		var collid = target.parentNode.getAttribute('id').substring(4);
		if (collid) {
			new Ajax.Request('/AjaxEditCollection.php', {
				parameters: {'action': 'insert','cid': collid, 'a': selectedfromalbum},
				onComplete: function(transport) {
					new Ajax.Updater('info', '/AjaxCollectionTree.php', {evalScripts: true});
				}
			});
		} 
		selectedfromalbum = 0;
	
	// stranica organizirai albumi i kolekcii - prenarejdame reda na albumite
	} else if ((target.getAttribute('id') && (target.getAttribute('id').indexOf('ocon') != -1 || target.getAttribute('id').indexOf('oalb') != -1) && target.nodeName == 'DIV') || (target.nodeName == 'IMG' && target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('oalb') != -1 && target.parentNode.nodeName == 'DIV') && selectedfromalbum > 0 && startfrom == 'oalb'){
	
		var nord = target.getAttribute('ord') ? target.getAttribute('ord') : target.parentNode.getAttribute('ord');
		if (nord) {
			new Ajax.Request('/AjaxEditAlbum.php', {
				parameters: {'action': 'chord','storyid': selectedfromalbum, 'neword': nord},
				onComplete: function(transport) {
					new Ajax.Updater('containeralbums', '/AjaxCollectionAlbums.php', {
						parameters: {'mode': 3, 'filter': albumcnt}
					});
				}
			});
		} 
		selectedfromalbum = 0;
	
	// prenarejdame snimkite v mozaikata
	} else if (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').substring(0,4) == 'mosb' && target.parentNode.nodeName == 'DIV' && target.nodeName == 'IMG'  && startfrom == 'mosb') {
	
		$('draghelper').hide();
		
		var endel = target.parentNode;
		var endpos = parseInt(endel.getAttribute('pos'));
		var end_id = parseInt(endel.getAttribute('id').substring(4, endel.getAttribute('id').indexOf('_')));	
		startpos = parseInt(startel.getAttribute('pos'));
		startfrom_id = parseInt(startel.getAttribute('id').substring(4,startel.getAttribute('id').indexOf('_')));
		
		// ekvivalentite ot malkoto preview
		var lmosstart = document.getElementById('mosl'+startfrom_id+'_'+startpos);
		var lmosend = document.getElementById('mosl'+end_id+'_'+endpos);
		
		if (startfrom_id != end_id && startpos != endpos) {
			endel.innerHTML =  '<img src="/showimg.php?filename=s80_'+startfrom_id+'.jpg">';
			startel.innerHTML =  '<img src="/showimg.php?filename=s80_'+end_id+'.jpg">';
			lmosend.innerHTML = '<img src="/showimg.php?filename=s50_'+startfrom_id+'.jpg">';
			lmosstart.innerHTML =  '<img src="/showimg.php?filename=s50_'+end_id+'.jpg">';
			
			endel.setAttribute('id','mosb' + startfrom_id+'_'+endpos);
			startel.setAttribute('id', 'mosb' + end_id+'_'+startpos);
			lmosend.setAttribute('id','mosl' + startfrom_id+'_'+endpos);
			lmosstart.setAttribute('id', 'mosl' + end_id+'_'+startpos);
			
			selectedmos[endpos] = startfrom_id;
			selectedmos[startpos] = end_id;
		}
		
	// dragvame snimki ot lentata v mozaikata
	} else if ( target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').substring(0,4) == 'mosb' && target.parentNode.nodeName == 'DIV' && target.nodeName == 'IMG' && selectedpics.length > 0 && startfrom == 'bpic') {

		$('draghelper').hide();
		var endel = target.parentNode;
		var start_id = parseInt(startfrom_id);
		
		if (selectedpics.length > 1) {
			alert(mostoomany);
		} else {
			new Ajax.Request('/AjaxAlbumPics.php', {
				parameters: {'mode': 8, 'pic': start_id},
				onSuccess: function(transport) {
					var lperm = parseInt(transport.responseText);
					lperm = (lperm == 0 ? 1 : lperm);
					if ( lperm == 16 || (lperm < 16 && confirm(moswarning))) {
						var endpos = parseInt(endel.getAttribute('pos'));
						var end_id = parseInt(endel.getAttribute('id').substring(4, endel.getAttribute('id').indexOf('_')));
						// ekvivalentite ot malkoto preview
						var lmosend = document.getElementById('mosl'+end_id+'_'+endpos);
						endel.innerHTML =  '<img src="/showimg.php?filename=s80_'+start_id+'.jpg">';
						lmosend.innerHTML = '<img src="/showimg.php?filename=s50_'+start_id+'.jpg">';		
						endel.setAttribute('id','mosb' + start_id+'_'+endpos);
						lmosend.setAttribute('id','mosl' + start_id+'_'+endpos);		
						selectedmos[endpos] = start_id;
					}
				}
			});

		}
		
		selectedpics.length = 0;
		allselected = false;
		updateSelectedBorder();
	
	// dragvame snimki ot lentata kym ikonata na grupa
	} else if (
			(	(target.getAttribute('id') && target.getAttribute('id').substring(0,4) == 'grps') 
				|| (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').substring(0,4) == 'grps') 
				|| (target.parentNode.parentNode.getAttribute('id') && target.parentNode.parentNode.getAttribute('id').substring(0,4) == 'grps') 
				|| (target.parentNode.parentNode.parentNode.getAttribute('id') && target.parentNode.parentNode.parentNode.getAttribute('id').substring(0,4) == 'grps') 
			)
			&& selectedpics.length > 0 
			&& startfrom == 'bpic') {
			
		var trg = null;
		if (target.getAttribute('id') && target.getAttribute('id').substring(0,4) == 'grps') {
			trg = target;
		} else if(target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').substring(0,4) == 'grps') {
			trg = target.parentNode;
		} else if(target.parentNode.parentNode.getAttribute('id') && target.parentNode.parentNode.getAttribute('id').substring(0,4) == 'grps') {
			trg = target.parentNode.parentNode;
		} else if(target.parentNode.parentNode.parentNode.getAttribute('id') && target.parentNode.parentNode.parentNode.getAttribute('id').substring(0,4) == 'grps') {
			trg = target.parentNode.parentNode.parentNode;
		}
		
		var trgid = trg.getAttribute('id');
		var grpid = parseInt(trgid.substring(4));
		var trgclass = $(trgid).className;
		var sellength = 0;
		if (trg != null && trgclass.indexOf('_active') != -1) {
			$(trgid).className = trgclass.substring(0,trgclass.indexOf('_'));
		}
		
		sellength = selectedpics.length;
		new Ajax.Request('/AjaxGroupPics.php', {
			parameters: {'op': 1, 'guid': grpid, 'pics': selectedpics.join(',')},
			onSuccess: function(transport) {
				if(transport.responseText) {
					var res = parseInt(transport.responseText);
					new Ajax.Request('/AjaxGroupsShow.php', {
						onSuccess: function(transport) {
							if (transport.responseText) {
								$('containergrp').update(transport.responseText);
							}
						}
					});
					new Ajax.Request('/AjaxForms.php', {
						parameters: {'t': 'addpicstogroup', 'addedpics': res, 'selpics': sellength},
						onSuccess: function(transport) {
							if (transport.responseText) {
								$('layerform').update(transport.responseText);
								toggleLayer('block', 1);
							}
						}
					});
				}
			}
		});

		selectedpics.length = 0;
		allselected = false;
		updateSelectedCount();
		updateSelectedBorder();
	
	// Organizirai/Ime na grupa -> dragvame snimki ot lentata i gi puskame v spisyka sys snimki ot dadena grupa
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'containergrppics' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('gpic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedpics.length > 0 && startfrom == 'bpic') {
		var grpid = parseInt($('grpid').value);
		new Ajax.Request('/AjaxGroupPics.php', {
			parameters: {'op': 1, 'guid': grpid, 'pics': selectedpics.join(',')},
			onSuccess: function(transport) {
				if(transport.responseText) {
				
					var res = parseInt(transport.responseText);
					var newnumpics = parseInt($('grpnumpics').innerHTML) + res;
					var newnumpicstxt = newnumpics == 1 ? 'снимка' : 'снимки' ;
					$('grpnumpics').update(newnumpics);
					$('grpnumlabel').update(newnumpicstxt);
					
					new Ajax.Request('/AjaxAlbumPics.php', {
						parameters: {'mode': 7, 'storyid': grpid, 'ordby': barordby, 'filter': barfilter},
						onSuccess: function(transport) {
							if (transport.responseText) {
								$('containergrppics').update(transport.responseText);
							}
						}
					});
					
				}
			}
		});
		
		selectedpics.length = 0;
		allselected = false;
		updateSelectedCount();
		updateSelectedBorder();

	// Organizirai/Ime na grupa -> dragvame snimki ot obshtoto prostranstvto i gi puskame v lentata - iztrivane
	} else if (((target.getAttribute('id') && target.getAttribute('id') == 'picsbrowse' && target.nodeName == 'DIV' ) || (target.parentNode.getAttribute('id') && target.parentNode.getAttribute('id').indexOf('bpic') != -1 && target.parentNode.nodeName == 'DIV') )&& selectedfromalbum > 0 && startfrom == 'gpic') {

		new Ajax.Request('/AjaxGroupPics.php', {
			parameters: {'op': 2, 'guid': albumid, 'pics': selectedfromalbum},
			onSuccess: function(transport) {
				if(transport.responseText) {
				
					var res = parseInt(transport.responseText);
					var newnumpics = parseInt($('grpnumpics').innerHTML) - res;
					var newnumpicstxt = newnumpics == 1 ? 'снимка' : 'снимки' ;
					$('grpnumpics').update(newnumpics);
					$('grpnumlabel').update(newnumpicstxt);
					
					new Ajax.Request('/AjaxAlbumPics.php', {
						parameters: {'mode': 7, 'storyid': albumid, 'ordby': barordby, 'filter': barfilter},
						onSuccess: function(transport) {
							if (transport.responseText) {
								$('containergrppics').update(transport.responseText);
							}
						}
					});
					
				}
			}
		});
	
		selectedfromalbum = 0;
		
	}
	
	startfrom = null;
	startfrom_id = null;
	startpos = null;
	startel = null;
	target = null;
	endpos = null;
	end_id = null;
	document.onmousemove=null;
	document.onmouseup=null;
}

/* END DRAG AND DROP */

function showOrganizePics(updating) {
	var ret = '';
	var picid = 0;
	if (updating == 0) {
		for (var i = 0; i < organizepics.length; i ++) {
			picid = parseInt(organizepics[i]);
			ret = ret + '<div class="pic" id="opic'+picid+'" onmousedown="return StartDrag(event);"><img border="0" alt="" src="/showimg.php?filename=s80_'+picid+'.jpg"/></div>';
		}
		$('containerpics').update(ret);
	} else if (updating == 1) {
		for (var i = 0; i < selectedpics.length; i ++) {
			picid = parseInt(selectedpics[i]);
			if (!in_array(picid,organizepics)) {
				organizepics.push(picid);
				ret = ret + '<div class="pic" id="opic'+picid+'"  onmousedown="return StartDrag(event);"><img border="0" alt="" src="/showimg.php?filename=s80_'+picid+'.jpg"/></div>';
			}
		}
		$('containerpics').update($('containerpics').innerHTML+ret);
	}
}

function clearOrganizePics() {
	$('containerpics').update();
	organizepics.length = 0;
	updateSelectedOrganize();
}

function showAlbumPics(albumid, updating) {
	var ret = '';
	var picid = 0;
	if (updating == 0) {
		for (var i = 0; i < picsforalbum.length; i ++) {
			picid = parseInt(picsforalbum[i]);
			ret = ret + '<div class="pic" id="apic'+picid+'" onmousedown="return StartDrag(event,'+albumid+');"><img border="0" alt="" src="/showimg.php?filename=s80_'+picid+'.jpg"/></div>';
		}
		$('container').update(ret);
	} else if (updating == 1) {
		for (var i = 0; i < selectedpics.length; i ++) {
			picid = parseInt(selectedpics[i]);
			if (!in_array(picid,picsforalbum)) {
				picsforalbum.push(picid);
				ret = ret + '<div class="pic" id="apic'+picid+'"  onmousedown="return StartDrag(event,'+albumid+');"><img border="0" alt="" src="/showimg.php?filename=s80_'+picid+'.jpg"/></div>';
			}
		}
		$('container').update($('container').innerHTML+ret);
	}
}

function AlbumSaveLoading(state,t,d) {
	var loaderel = document.getElementById('loader');
	var titleel = document.getElementById(t);
	var descel = document.getElementById(d);
	if (state == 'start') {
		loaderel.style.display = 'block';
		titleel.disabled = true;
		descel.disabled = true;
	} else if(state == 'stop') {
		loaderel.style.display = 'none';
		titleel.disabled = false;
		descel.disabled = false;
	}
}

function AlbumSaveInfo(t, d, pubdate,albumid) {

	var titleel = document.getElementById(t);
	var descel = document.getElementById(d);
	var previewpicel = document.getElementById('previewpic');
	var previewpic;
	if (previewpicel != null) {
		previewpic = parseInt(previewpicel.getAttribute('pos'));
	}

	if (picsforalbum.length == 0) {
		alert('В албума може да има най-малко една снимка. Ако желаете да изтриете албума, можете да го направите от Пакетни действия');
	} else {
		if (titleel.value == '') {
			alert('Изберете име на албума и опитайте отново.');
		} else {
			toggleChange(0);
			if (albumid != 0) {
				AlbumSaveLoading('start',t,d);
				new Ajax.Request('/AjaxEditAlbum.php', {
					parameters: {'action': 'insert', 'storyid': albumid, 'title': titleel.value, 'desc': descel.value, 'date': pubdate, 'picid': previewpic, 'a': picsforalbum.join(',')},
					onSuccess: function(transport) {
						setTimeout("AlbumSaveLoading('stop','"+t+"','"+d+"')",2000);
						setTimeout(function(){ new Ajax.Updater('info', '/AjaxAlbumData.php', {parameters: {'storyid': albumid} }); },2000);
						// truncate vzema pod vnimanie i dyljinata na append-natiq string '...' - ako podadem dyljina po-malka ot 3 ne smqta pravilno !!!
						setTimeout(function(){$('albtab'+albumid).update('Албум: '+titleel.value.truncate(5))}, 2000);
					}
				});
			} else {
				new Ajax.Request('/AjaxEditAlbum.php', {
					parameters: {'action': 'insert', 'storyid': albumid, 'title': titleel.value, 'desc': descel.value, 'picid': previewpic, 'a': picsforalbum.join(',')},
					onSuccess: function(transport) {
						if(transport.responseText) {
							document.location.href = '/album_edit.php?remoterm=0&storyid='+parseInt(transport.responseText);
						}
					}
				});
			}		
		}	
	}

}

function DeleteAlbum(albumid){
	if (confirm('Сигурни ли сте, че искате да изтриете албума?')) {
		new Ajax.Request('/AjaxEditAlbum.php', {
			parameters: {'action': 'deletealbum', 'storyid': albumid},
			onSuccess: function(transport) {
				if(transport.responseText == 0) {
					document.location.href = '/organize.php?c=coll&remoterm='+albumid;
				}
			}
		});
	}
}

function editpicprop(cont, contwrap, editwrap) {
	$(contwrap).hide();
	$(editwrap).show();
}

function editcancel(cont, contwrap, editwrap) {
	$(contwrap).show();
	$(editwrap).hide();
}

function SavePicInfo(picid, cont, edit, contwrap, editwrap, prop, from) {
	var content = $(edit).value;
	var index = (prop == 'title' ? 1 : 2 );
	var page = (from == 'ind' ? 1 : 2 );
	new Ajax.Request('/AjaxSavePic.php', {
		parameters: {'id': picid, 't': index, 'val': content, 'page': page},
		onSuccess: function(transport) {
			if(transport.responseText) {
				$(cont).update(transport.responseText);
			}
			$(contwrap).show();
			$(editwrap).hide();
		}
	});
	
}

function SaveGroupMsg(groupid, cont, edit, contwrap, editwrap, authorwrap) {
	var content = $(edit).value;
	new Ajax.Request('/AjaxSaveGroup.php', {
		parameters: {'guid': groupid, 'val': content, 'type' : 1},
		onSuccess: function(transport) {
			if(transport.responseText) {
				$(cont).update(transport.responseText);
			}
			$(contwrap).show();
			$(editwrap).hide();
		}
	});
	new Ajax.Request('/AjaxSaveGroup.php', {
		parameters: {'guid': groupid, 'type' : 2},
		onSuccess: function(transport) {
			if(transport.responseText) {
				$(authorwrap).update(transport.responseText);
			}
		}
	});
	
}

function tagshow () {
	if ( $('tagwrap').style.display == 'block') {
		$('tagwrap').hide();
	} else {
		$('tagwrap').style.display = 'block';
	}
}

function tagcancel () {
	$('tagwrap').hide();
}

function editmsgshow (id) {
	$('editmsg'+id).show();
	$('msgtxt'+id).innerHTML = $('msgtext'+id).innerHTML.strip();
	
}

function editmsghide(id) {
	$('editmsg'+id).hide();
}

function EditMsg(id) {
	var msgtxt = $('msgtxt'+id).getValue();
	if(msgtxt != '') {
		new Ajax.Request('/msgedit.php', {
			parameters: {'id': id, 'tAction': 'savemessage', 'msg': msgtxt},
			onSuccess: function(transport) {
				window.location.reload();
			}
		});
	}
}

function EditMsg1(id, pgroupuid) {
	var msgtxt = $('msgtxt'+id).getValue();
	if(msgtxt != '') {
		new Ajax.Request('/msgedit.php', {
			parameters: {'id': id,'groupuid': pgroupuid, 'tAction': 'savemessage', 'msg': msgtxt},
			onSuccess: function(transport) {
				window.location.reload();
			}
		});
	}
}

function changeEditBg(el, color) {
	$(el).setStyle({backgroundColor: color});
}

function chClassName(menuid, cl, ev) {
	if (!ev) { ev = window.event; }
	var from = ev.fromElement || ev.target;
	var to = ev.toElement || ev.relatedTarget;
	var e = to;
	
	try {
		while(e && (e.id != menuid)){
			e = e.parentNode;
		}
	} catch(err) {
		e = null;
	}
	
	if(e) return;
	
	if ($(menuid).className != cl)
		$(menuid).className = cl;

}


function tcloudshowhide() {
	if ( $('tcloud').style.display == 'block') {
		$('tcloud').hide();
	} else {
		$('tcloud').style.display = 'block';
	}
}

function addfromcloud(el) {
	var val = $('tagfld').getValue();
	var tg = el.innerHTML;
	$('tagfld').setValue(val+tg+' ');
}

function MarkAll(t) {
	var tab = t;
	while(tab.tagName.toUpperCase() != "FORM") {
		tab = tab.parentNode;
	}
	var chkb = tab.getElementsByTagName('input');
	for (var i = 0; i < chkb.length; i ++) {
		if (chkb[i].getAttribute('fordel') == 1) {
			chkb[i].checked = t.checked;
		}
	}
}

function SelectDeselect(mode, parid) {
	var tab = document.getElementById(parid);
	if (!tab) return;
	var chkb = tab.getElementsByTagName('input');
	for (var i = 0; i < chkb.length; i ++) {
		if (chkb[i].getAttribute('seldesel') == 1) {
			if (mode == 1) {
				chkb[i].checked = true;
			} else {
				chkb[i].checked = false;
			}
		}
	}
}

function submitDeleteForm() {
	var frm = document.getElementById('delmsgfrm');
	if (!frm) return;
	frm.submit();
}

function sortAlbumPics(albumid, ordby, ordd) {
	if (isChanged) {
		alert('Внимание! Имате незаписани промени. Натиснете бутона "Запази" или линка "Отмени промените" преди да извършите тази операция.');
	} else {
		picsforalbum.length = 0;
		new Ajax.Request('/AjaxAlbumPics.php', {
			parameters: {'mode': 1, 'storyid': albumid, 'ordby': ordby, 'ordd': ordd},
			onSuccess: function(transport) {
				if (transport.responseText) {
					$('container').update(transport.responseText);
					toggleChange(1);
				}
			}
		});
	}
}

/* LAYERS */

function toggleLayer(disp, mode, wdth) {
	// disp - skrivane/pokazvane;
	// mode - ako e 1, backgrounda siga samo do lentata v Organizirai bez da q pokriva; 
	// wdth - shirina na layer formata
	
	var el = $('layerform');
	var elbg = $('layerbg');
	var bgheight = 0;
	var bgwidth = 0;
	
	if (disp == 'block') {

		// Layer formata
		
		$(el).style.display = 'block';
		mosopen = true;
		if(typeof wdth != "undefined"){
			el.style.width=wdth+'px';
		}

		var screensize = getScreenSize();
		var scrollsize = getScrollXY();

		el.style.left = ((screensize[0]-el.offsetWidth)/2+scrollsize[0])+'px';
		el.style.top = ((screensize[1]-el.offsetHeight)/2+scrollsize[1])+'px';

		// Siviq fon za layer formata
		
		$(elbg).style.display = 'block';
		
		// tva e zaradi IE-to razbira se :)
		var docheight = parseInt(document.body.parentNode.offsetHeight);
		var bodyheight = parseInt(document.body.offsetHeight);
		bgheight = Math.max(Math.max(docheight, bodyheight), (screensize[1]+scrollsize[1]));

		// ako mode e 1, backgrounda ne pokriva lentata v Organizirai
		elbg.style.height = mode == 1 ? (screensize[1] - 130)+'px' : parseInt(bgheight)+'px';
		
		bgwidth = screensize[0]+scrollsize[0];
		elbg.style.width = parseInt(bgwidth)+'px';
		
	} else if (disp == 'none') {
		$(el).hide();
		$(elbg).hide();
		mosopen = false;
		el.style.width= '340px';
		el.innerHTML= '';
		elbg.style.width = '10px';
	}
	
}

function LayerDelpicsFrm(){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'delpics', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerDelpics() {
		new Ajax.Updater('layerform', '/AjaxForms.php', {
			parameters: {'t': 'delpics', 'pics': organizepics.join(','), 'tAction': 'delete'}
		});
		organizepics.length = 0;
		new Ajax.Updater('pics', '/AjaxAlbumPics.php', {
			parameters: {'mode': 2, 'storyid': 0}
		});
		$('containerpics').update('');
}

function LayerDeltagFrm(tagid, tagname) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'deltag', 'pics': organizepics.join(','), 'tagid': tagid, 'tagname': tagname},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function LayerDeltag() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'deltag', 'pics': organizepics.join(','), 'tAction': 'delete', 'tagid': $('tagid').getValue()}
	});
}

function LayerSendtogroupFrm() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'sendtogroup', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerSendtogroup() {
	var grouparr = [];
	var grp = document.getElementById('albumcont').getElementsByTagName('INPUT');
	for (i=0;i<grp.length;i++){
		if (grp[i].checked == true) {
			grouparr.push(grp[i].value);
		}
	}
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'sendtogroup', 'pics': organizepics.join(','), 'tAction': 'save', 'groups[]': grouparr}
	});
}

function LayerAddcategoriesFrm() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'addcategories', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerAddcategories() {
	var rubrarr = [];
	var rub = document.getElementById('albumcont').getElementsByTagName('INPUT');
	for (i=0;i<rub.length;i++){
		if (rub[i].checked == true) {
			rubrarr.push(rub[i].value);
		}
	}
	var replarr = [];
	var repl = document.getElementById('repl').getElementsByTagName('INPUT');
	if (repl[0].checked == true) {
		replarr[0] = repl[0].value;
	}

	if (rubrarr.length == 0 && replarr.length !=0) {
		if(confirm('Желаете ли да премахнете избраните снимки от всякакви категории?')){
			new Ajax.Updater('layerform', '/AjaxForms.php', {
				parameters: {'t': 'addcategories', 'pics': organizepics.join(','), 'tAction': 'save', 'rubr[]': rubrarr, 'repl[]': replarr}
			});
		}
	} else {
		new Ajax.Updater('layerform', '/AjaxForms.php', {
			parameters: {'t': 'addcategories', 'pics': organizepics.join(','), 'tAction': 'save', 'rubr[]': rubrarr, 'repl[]': replarr}
		});
	}


}

function LayerAddtagsFrm() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'addtags', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerNoSelectedUsers(pNumUsers, pMess) {
	if(pNumUsers == 0) {
		new Ajax.Updater('layerform', '/AjaxForms.php', {
			parameters: {'t': 'notselectedgroupusers'}
		});
		toggleLayer('block',1);
	} 
}

function LayerPicsSecurityFrm() {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'picssecurity', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function SinglePicSecurityFrm(pId) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'picssecurity', 'pics': pId, 'singlephoto' : 1},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function SinglePicPermissionFrm(pId) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'picsperms', 'pics': pId, 'singlephoto' : 1},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}


function LayerPicsPermissionsFrm(){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'picsperms', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerPicsPermissionsAlbum(){
	organizepics = picsforalbum;
	if (isChanged) {
		alert('Внимание! Имате незаписани промени. Натиснете бутона "Запази" или линка "Отмени промените" преди да извършите тази операция.');
	} else {
		LayerPicsPermissionsFrm();
	}

}

function LayerAddtags() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'addtags', 'pics': organizepics.join(','), 'tAction': 'save', 'tags': document.def1.tags.value}
	});
}

function LayerPicsSecurity(){
	var lSecVal = 0;	
	for( i = 0; i < document.def2.security.length; ++i ){		
		if( document.def2.security[i].checked ){
			lSecVal = parseInt(document.def2.security[i].value);
			break;
			
		}
		
	}
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'picssecurity', 'pics': organizepics.join(','), 'tAction': 'save', 'security': lSecVal}
	});
}

function LayerPicsSecuritySingle(){
	var lSecVal = 0;	
	for( i = 0; i < document.def2.security.length; ++i ){		
		if( document.def2.security[i].checked ){
			lSecVal = parseInt(document.def2.security[i].value);
			break;
			
		}
		
	}
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'picssecurity', 'pics': organizepics.join(','), 'tAction': 'save', 'security': lSecVal, 'singlephoto' : 1}
	});
}

function LayerPicsPermissions(){
	var lPerm = 0;
	var lVisibility = 0;
	var lNames = new Array();
	var lChecks = new Array();

	lChecks[0] = 'perm_first';
	lChecks[1] = 'perm';
	lChecks[2] = 'perm_contacts[]';

	for( j = 0; j < lChecks.length; ++j ){
		lElements = document.getElementsByName(lChecks[j]);
		for (var i = 0; i < lElements.length; i++) {
			if( lElements[i].checked ){
				lVisibility = lVisibility + parseInt(lElements[i].value);
				if( j % 3 != 2 ){
					++j;
					break;
				}
			}
		}
	}

	lNames[0] = 'comments_first';
	lNames[1] = 'comments';
	lNames[2] = 'comments_contacts[]';
	lNames[3] = 'notes_first';
	lNames[4] = 'notes';
	lNames[5] = 'notes_contacts[]';
	
	for( j = 0; j < lNames.length; ++j ){
		lElements = document.getElementsByName(lNames[j]);
		for (var i = 0; i < lElements.length; i++) {
			if( lElements[i].checked ){
				lPerm = lPerm + parseInt(lElements[i].value);
				if( j % 3 != 2 ){
					++j;
					break;
				}
			}
		}
	}
	
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'picsperms', 'pics': organizepics.join(','), 'tAction': 'save', 'permission': lPerm, 'visibility': lVisibility}
	});
}

function LayerPicsPermissionsSingle(){
	var lPerm = 0;
	var lVisibility = 0;
	var lNames = new Array();
	var lChecks = new Array();
	
	lChecks[0] = 'perm_first';
	lChecks[1] = 'perm';
	lChecks[2] = 'perm_contacts[]';

	for( j = 0; j < lChecks.length; ++j ){
		lElements = document.getElementsByName(lChecks[j]);
		for (var i = 0; i < lElements.length; i++) {
			if( lElements[i].checked ){
				lVisibility = lVisibility + parseInt(lElements[i].value);
				if( j % 3 != 2 ){
					++j;
					break;
				}
			}
		}
	}

	lNames[0] = 'comments_first';
	lNames[1] = 'comments';
	lNames[2] = 'comments_contacts[]';
	lNames[3] = 'notes_first';
	lNames[4] = 'notes';
	lNames[5] = 'notes_contacts[]';
	
	for( j = 0; j < lNames.length; ++j ){
		lElements =document.getElementsByName(lNames[j]);
		for (var i = 0; i < lElements.length; i++) {
			if( lElements[i].checked ){
				lPerm = lPerm + parseInt(lElements[i].value);
				if( j % 3 != 2 ){
					++j;
					break;
				}
			}
		}
	}
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'picsperms', 'pics': organizepics.join(','), 'tAction': 'save', 'permission': lPerm, 'visibility': lVisibility,'singlephoto' : 1}
	});
}


function LayerAddtagsIndividual(fromgrp) {
	var lTags = $('tagfld').getValue();
	//~ alert(lTags);
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'addtags', 'pics': organizepics.join(','), 'tAction': 'save', 'tags':  lTags, 'fromgrp': fromgrp},
		onSuccess: function(transport) {
			window.location.reload();
		}
	});
	tagcancel();
}

function LayerChdateFrm() {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'chdate', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerChdate() {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'chdate', 'pics': organizepics.join(','), 'tAction': 'save', 'pubdate': document.def1.pubdate.value},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerChdateFrmSingle(pId) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'chdate', 'pics': pId, 'singlephoto' : 1},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function LayerChdateSingle() {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'chdate', 'pics': organizepics.join(','), 'tAction': 'save', 'pubdate': document.def1.pubdate.value, 'singlephoto' : 1},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function LayerNewAlbum() {
	if (organizepics.length > 0) {
		document.location.href = '/newalbum/pics-'+organizepics.join(',');
		//~ document.location.href = '/album_edit.php?pics='+organizepics.join(',');
	}
}


function LayerAddToAlbumFrm(mode) {
	// mode - ako vikame funkciqta ot Organizirai, da ne razpyva backgrounda vyrhu cqlata stranica
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'addtoalbum', 'pics': organizepics.join(',')},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',mode);
			}
		}
	});
}

function LayerAddToAlbum() {
	var albumarr = [];
	var alb = document.getElementById('albumcont').getElementsByTagName('INPUT');
	for (i=0;i<alb.length;i++){
		if (alb[i].checked == true) {
			albumarr.push(alb[i].value);
		}
	}
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'addtoalbum', 'pics': organizepics.join(','), 'tAction': 'save', 'albums[]': albumarr}
	});
}

function LayerCollectionEditFrm(id, rootnode) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'collectionedit', 'cid': id, 'rootnode': rootnode, 'tAction': 'show'},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerCollectionEdit() {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'collectionedit', 'tAction': 'save', 'cid': document.def1.cid.value, 'rootnode': document.def1.rootnode.value, 'name': document.def1.name.value, 'description': document.def1.description.value},
		onSuccess: function(transport) {
			new Ajax.Updater('info', '/AjaxCollectionTree.php', { });
		}
	});
}


function LayerCollectionNewFrm (id) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'collectionnew','rootnode':id},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerCollectionNew () {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		method: 'get',
		parameters: {'t': 'collectionnew', 'tAction': 'save','name': document.def1.name.value, 'description': document.def1.description.value, 'rootnode': document.def1.rootnode.value, 'cid': document.def1.cid.value },
		onSuccess: function(transport) {
			new Ajax.Updater('info', '/AjaxCollectionTree.php', { });
		}
	});
}

function LayerCollectionDelFrm(cid){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'collectiondel', 'cid': cid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerDelGroupPic(grpid, picid, groupurlname){
	if(confirm('Сигурни ли сте, че искате да изтриете тази снимка?')){
		new Ajax.Request('/AjaxGroupPics.php', {
			parameters: {'op': 2, 'guid': grpid, 'pics': picid},
			onSuccess: function(transport) {
				if (transport.responseText) {
					window.location.href = '/groups/' + groupurlname;
				}
			}
		});
		
	} else 
		window.location.href = '/groups/' + groupurlname;
}

function LayerCollectionDel(cid){
	new Ajax.Request('/AjaxEditCollection.php', {
		parameters: {'action': 'deletecoll', 'cid': cid},
		onSuccess: function(transport) {
			new Ajax.Updater('info', '/AjaxCollectionTree.php', { });
		}
	});
	toggleLayer('none',1);
}


function LayerRemoveAlbumFrm(cid,removeid) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'removealbum', 'cid': cid, 'removeid': removeid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerRemoveAlbum(cid,removeid) {
	new Ajax.Request('/AjaxEditCollection.php', {
		parameters: {'action': 'delete', 'cid': cid, 'removeid': removeid},
		onSuccess: function(transport) {
			new Ajax.Updater('info', '/AjaxCollectionTree.php', { });
		}
	});
	toggleLayer('none',1);	

}

function LayerDelAlbumFrm(removeid) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'delalbum', 'removeid': removeid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1);
			}
		}
	});
}

function LayerDelAlbum(removeid) {
	new Ajax.Request('/AjaxEditAlbum.php', {
		parameters: {'action': 'deletealbum', 'storyid': removeid},
		onSuccess: function(transport) {
			new Ajax.Updater('info', '/AjaxCollectionTree.php', { });
			new Ajax.Updater('containeralbums', '/AjaxCollectionAlbums.php', {
				parameters: {'mode': 3}
			});
		}
	});
	toggleLayer('none',1);	

}

function LayerMultiEdit() {
	if (organizepics.length > 0) {
		//~ location.href='/organize_multiple.php?pics='+organizepics.join(',')+'&tAction=show';
		location.href='/organize-multiple/pics-'+organizepics.join(',')+'/action-show';
	} else {
		new Ajax.Request('/AjaxForms.php', {
			parameters: {'t': 'notselected'},
			onSuccess: function(transport) {
				if (transport.responseText) {
					$('layerform').update(transport.responseText);
					toggleLayer('block',1);
				}
			}
		});
	}
}

function LayerMosaicFrm(id, title) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'mosaic', 'cid': id, 'ctitle': title},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',1,550);
			}
		}
	});
	
	mosopen = true;
}

function LayerGetMosaic(cid,mode) {
	new Ajax.Request('/AjaxGetMosaic.php', {
		parameters: {'mode': mode, 'cid': cid},
		onSuccess: function(transport) {
			if(transport.responseText) {
				var arr = transport.responseText.substring(1).split('|');
				var content = '';
				var content2 = '';
				selectedmos.length = 0;
				if (arr.length > 0) {
					for (var i = 0; i < arr.length; i ++) {
						selectedmos.push(arr[i]);
						content = content + '<div id="mosb'+arr[i]+'_'+i+'" pos="'+i+'" onmousedown="StartDrag(event);return false;" ><img src="/showimg.php?filename=s80_'+arr[i]+'.jpg"></div>';
						content2 = content2 + '<div id="mosl'+arr[i]+'_'+i+'" pos="'+i+'"><img src="/showimg.php?filename=s50_'+arr[i]+'.jpg"></div>';
					}
					if (arr.length < 6) {
						for (var j = 0; j < (6 - arr.length); j++) {
							selectedmos.push(arr[arr.length-1]);
							content = content + '<div id="mosb'+arr[arr.length-1]+'_'+(arr.length+j)+'" pos="'+(arr.length+j)+'" onmousedown="StartDrag(event);return false;" ><img src="/showimg.php?filename=s80_'+arr[arr.length-1]+'.jpg"></div>';
							content2 = content2 + '<div id="mosl'+arr[arr.length-1]+'_'+(arr.length+j)+'" pos="'+(arr.length+j)+'"><img src="/showimg.php?filename=s50_'+arr[arr.length-1]+'.jpg"></div>';
						}
					}
					$('mosbig').update(content);
					$('moslit').update(content2);
				}
			}
		}
	});
}


function LayerSaveMosaic(cid) {
	//~ if (selectedmos.length == 6) {
		new Ajax.Request('/AjaxSaveMosaic.php', {
			parameters: {'cid': cid, 'pics': selectedmos.join(',')},
			onSuccess: function(transport) {
				if(transport.responseText) {
					if (transport.responseText == 'OK') {
						$('result').update('Мозайката е запазена успешно.');
					} else {
						$('result').update('Възникна проблем при запазването на мозайката.');
					}
					if($('result') != null ) {
						setTimeout( function () {
							$('result').update('');
							},3000);
					}
				}
			}
		});
	//~ } else {
		//~ $('result').update('Мозайката не може да съдържа по-малко от 6 изображения.');
		//~ setTimeout("$('result').update('')",3000);
	//~ }
}

function in_array(el, arr) {
	if (el && arr && arr.length) { 
		for (var i = 0; i < arr.length; i ++) {
			if (( typeof el == 'string' && typeof arr[i] == 'string' && el.toLowerCase() == arr[i].toLowerCase() )|| ( typeof el != 'string' && typeof arr[i] != 'string' &&  el == arr[i])) {
				return true;
				break;
			}
		}
	}
	return false;
}

/* FILE UPLOAD */

var ProgressBar = Class.create({
	'initialize' : function(container){
		this.container = $(container);
		this.containerWidth = this.container.getDimensions().width - (parseInt(this.container.getStyle('border-right-width').replace(/px/,'')) + parseInt(this.container.getStyle('border-left-width').replace(/px/,'')));
		this.progressContainer = $(document.createElement('div'));
		this.progressContainer.setStyle({
			width: this.containerWidth + 'px',
			position: 'absolute',
			top: '0px',
			right: '0px'
		});
		this.container.appendChild(this.progressContainer);
	},
	
	'setProgress' : function(value) {
		this.progress = value;
		this.draw();
	},
	
	'draw' : function() {
		this.progressContainer.setStyle({
			width: (this.containerWidth - Math.floor((parseInt(this.progress) / 100) * this.containerWidth)) + 'px'
		});
	}
});

var Fupl = {
	'isie' : navigator.appName.indexOf("Microsoft") != -1,
	'issafari' : navigator.userAgent.toLowerCase().indexOf("safari/") != -1,
	'flashProxy':null,
	'toomany':false,
	'fileMaxCnt':0,
	'fileMaxSize':0,
	'fileSizes':{},
	'uplFiles':[],
	'skipedFiles':[],
	'cleardiv':true,
	'currfile':0,
	'filecnt':0,
	'newalbum':0,
	'fileuplid':0,
	'uplErrorCnt':0,
	'progress_bar':null,
	'file_progress':[],
	'FU' : {
		'permvalue' : 0,
		'visvalue' : 0,
		'tags' : '',
		'albumids' : 0,
		'securityvalue' : 0,
		'rubrs' : ''
	},
	'debug':0,
	
	'getFlashProxy' : function(movie_name) {
		if (!this.flashProxy) {
			if (this.isie || this.issafari) {
				this.flashProxy = window[movie_name];
			} else {
				this.flashProxy = document[movie_name];
			}
		}
	},
	
	'initUpload' : function(movie_name) {
		var flashTag = new String();
		
		if (this.isie) {
			flashTag += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
			flashTag += 'id="'+movie_name+'" ';
			flashTag += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,14,0" ';
			flashTag += 'width="20" ';
			flashTag += 'height="20">';
			flashTag += '<param name="movie" value="/fileupl.swf?xmlpath=/fileuplxml.php"/>';
			flashTag += '<param name="quality" value="high"/>';
			flashTag += '<param name="wmode" value="transparent"/>'; //added
			flashTag += '<param name="scale" value="noscale"/>'; //added 
			flashTag += '<param name="swliveconnect" value="true">'; //added 
			flashTag += '<param name="flashvars" value="lcId=' + movie_name + '"/>';
			flashTag += '</object>';
		} else {
			flashTag += '<embed src="/fileupl.swf?xmlpath=/fileuplxml.php" ';
			flashTag += 'quality="high" '; 
			flashTag += 'scale="noscale" '; //added
			flashTag += 'wmode="transparent" '; //added
			flashTag += 'swliveconnect="true" '; //added
			flashTag += 'width="20" ';
			flashTag += 'height="20" ';
			flashTag += 'type="application/x-shockwave-flash" ';
			flashTag += 'flashvars="lcId=' + movie_name + '" ';
			flashTag += 'id="'+movie_name+'" ';
			flashTag += 'pluginspage="http://www.macromedia.com/go/getflashplayer">';
			flashTag += '</embed>';
		}
		
		document.write(flashTag);
		document.close();
		this.getFlashProxy(movie_name);
	},
	
	'flashReady' : function() {
		this.flashProxy.setDebugLvl(this.debug);
	},
	
	'log' : function(str) {
		if (this.debug) {
			var mydate = new Date();
			if (!this.isie) {
				console.log(mydate, str);
			} else {
				alert(mydate + ' ' + str);
			}
		}
	},
	
	'error' : function(str) {
		this.fileuplid = -1;
		alert(str);
	},
	
	'move' : function(e, movie_name, restore) {
		deltaX = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
		deltaY =  window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;

		var el = $(movie_name);
		var main = $('main');
		if (el) {
			if (restore) {
				el.setStyle({
					top: (el.offsetHeight * -1) + 'px',
					left: '0px'
				});
			} else {
				el.setStyle({
					top: deltaY + e.clientY - (el.offsetHeight/2) - main.cumulativeOffset()[1] +'px',
					left: deltaX + e.clientX - (el.offsetWidth/2) - main.cumulativeOffset()[0] +'px'
				});
			}
		}
		return false;
	},
	
	'filesSelected' : function(fileArr, movie_name, fsize, cnt) {
		this.move(null, movie_name, 1);
		this.toomany = false;
		this.fileMaxCnt = cnt;
		this.fileMaxSize = fsize;
		
		if ((this.uplFiles.length + 1) > this.fileMaxCnt) {
			return;
		}
		
		var found_bigger = false;
		var found_other = false;
		for (var i = 0; i < fileArr.length; i ++) {
			this.fileSizes[fileArr[i].name] = fileArr[i].size;
			if (!found_bigger && this.fileSizes[fileArr[i].name] > this.fileMaxSize) {
				var found_bigger = true;
			} else if (!found_other) {
				found_other = true;
			}
		}
		
		if (found_bigger) {
			var tmpFilesize = Math.round((this.fileMaxSize / 1024) * 100) / 100;
			alert("Някой от файловете, които качвате са по големи от максимално допустимия размер (" + tmpFilesize + " KB) и ще бъдат игнорирани");
		}
		this.skipedFiles = [];
		this.currfile = 0;
		this.filecnt = fileArr.length;
		if (found_other) {
			$$('#fileupl_step1 .fileuplLoading')[0].setStyle({ display: 'block' });
			if (this.cleardiv) {
				this.restoreMsg = $('fileListing').innerHTML;
				$('fileListing').innerHTML = "";
				this.cleardiv = false;
			}
		}
		return 0;
	},
	
	'tooManyFiles' : function() {
		this.toomany = true;
		this.error("Не можете да качите повече от " + this.fileMaxCnt + " файла наведнъж!");
		$$('#fileupl_step1 .fileuplLoading')[0].setStyle({ display: 'none' });
	},
	
	'checkFile' : function(filename) {
		this.currfile ++;
		
		if (in_array(filename, this.uplFiles)) {
			return -1;
		}
		
		if (this.fileSizes[filename] > this.fileMaxSize) {
			return 1;
		}
		
		if ((this.uplFiles.length + 1) > this.fileMaxCnt) {
			this.tooManyFiles();
			return 2;
		}
		
		this.uplFiles.push(filename);
		return 0;
	},
	
	'skipFile' : function(filename) {
		this.skipedFiles.push(filename);
		if (this.currfile == this.filecnt) {
			$$('#fileupl_step1 .fileuplLoading')[0].setStyle({ display: 'none' });
		}
		return 0;
	},

	'addFile' : function(filename) {
		$('fileListing').innerHTML += '<div class="fileItem">' +
			'<a href="javascript: void(0);" title="' + filename + '" onclick="Fupl.removeFile(this);">Отказ</a>' +
			filename + '<div class="unfloat"></div>' + 
		'</div>';
		
		if (this.currfile == this.filecnt) {
			$$('#fileupl_step1 .fileuplLoading')[0].setStyle({ display: 'none' });
		}

		if ($$('#FuplClearBtn .disabler')[0].getStyle('display') == 'block') {
			$$('#FuplClearBtn .disabler')[0].setStyle({ display: 'none' });
			$$('#FuplGoBtn .disabler')[0].setStyle({ display: 'none' });
		}
		this.showInfo();
		return 0;
	},
	
	'removeFile' : function(t) {
		var tmpArr = this.uplFiles;
		var filename = t.attributes.getNamedItem('title').value;
		for (var i = 0; i < tmpArr.length; i ++) {
			if (tmpArr[i] == filename) {
				this.uplFiles.splice(i, 1);
				break;
			}
		}
		$(t.parentNode).remove();
		this.showInfo();
		if (!this.uplFiles.length) {
			this.RestoreState();
		}
	},
	
	'clearList' : function() {
		window.location.hash = 'fileupl_top';
		this.flashProxy.clearList('true');
		this.uplFiles = [];
		this.showInfo();
		this.RestoreState();
	},
	
	'RestoreState' : function() {
		$$('#fileupl_step1 .fileuplLoading')[0].setStyle({ display: 'none' });
		$$('#FuplClearBtn .disabler')[0].setStyle({ display: 'block' });
		$$('#FuplGoBtn .disabler')[0].setStyle({ display: 'block' });
		$('fileListing').innerHTML = this.restoreMsg;
		this.restoreMsg = "";
		this.cleardiv = true;
	},
	
	'showInfo' : function() {
		$('fileInfo').innerHTML = '';
		$('FuplProgress').innerHTML = '';
		if (this.uplFiles.length) {
			var filesize = 0;
			for (var i = 0; i < this.uplFiles.length; i ++) {
				filesize += this.fileSizes[this.uplFiles[i]];
			}
			filesize = Math.round((filesize / 1024) * 100) / 100;
			$('fileInfo').innerHTML += '<span style="float: right;"><b>Размер:</b> ' + filesize + 'KB</span>';
			$('fileInfo').innerHTML += '<span><b>Файлове:</b> ' + this.uplFiles.length + '</span>';
			$('FuplProgress').innerHTML = '0/' + this.uplFiles.length;
		}
	},
	
	'gotoStep1' : function() {
		$('fileupl_step2').setStyle({ display: 'none' });
		$('fileupl_step1').setStyle({ display: 'block' });
		window.location.hash = 'fileupl_top';
	},
	
	'gotoStep2' : function() {
		$('fileupl_step1').setStyle({ display: 'none' });
		$('fileupl_step2').setStyle({ display: 'block' });
		window.location.hash = 'fileupl_top';
	},
	
	'disablePermForm': function(pPerm) {
		pPerm = parseInt(pPerm);
		var comments = $('uplform').elements['comments'];
		for (var i = 0; i < comments.length; i ++) {
			var comment_val = parseInt(comments[i].value);
			if (comment_val <= pPerm ) {
				comments[i].disabled = false;
				comments[i].checked = false;
				var label = document.getElementById('perm_' + comment_val);
				if( label )
					label.className = '';
				if( comment_val == pPerm )
					comments[i].checked = true;
			}else{
				comments[i].checked = false;
				comments[i].disabled = true;
				var label = document.getElementById('perm_' + comment_val);
				if( label )
					label.className = 'disabled';
			}
		}
		
		var notes = $('uplform').elements['notes'];
		for (var i = 0; i < notes.length; i ++) {
			var note_val = parseInt(notes[i].value);
			if (note_val <= (pPerm * 32 ) ) {
				notes[i].disabled = false;
				notes[i].checked = false;
				var label = document.getElementById('perm_' + note_val);
				if( label )
					label.className = '';				
				if( note_val == (pPerm * 32 ) )
					notes[i].checked = true;
			}else{
				notes[i].checked = false;
				notes[i].disabled = true;
				var label = document.getElementById('perm_' + note_val);
				if( label )
					label.className = 'disabled';
			}
		}
	},
	
	'fileuplCheckForm' : function() {
		var permready = 0;
		var albumready = false;
		var secuityready = false;
		
		var permissions = $('uplform').elements['permissions'];
		for (var i = 0; i < permissions.length; i ++) {
			if (permissions[i].checked) {
				permready = 1;
				break;
			}
		}
		
		var notes = $('uplform').elements['notes'];
		for (var i = 0; i < notes.length; i ++) {
			if (notes[i].checked) {
				permready = permready + 1;
				break;
			}
		}
		
		var comments = $('uplform').elements['comments'];
		for (var i = 0; i < comments.length; i ++) {
			if (comments[i].checked) {
				permready = permready + 1;
				break;
			}
		}
		
		var security = $('uplform').elements['security'];
		for (var i = 0; i < security.length; i ++) {
			if (security[i].checked) {
				secuityready = true;
				break;
			}
		}

		var albumids = $('uplform').elements['albumids'];
		if (albumids.value) albumready = true;
		
		if (!albumready) {
			var chkb = $$('#fileupl_step2 input.fileuplAlbum');
			for (var i = 0; i < chkb.length; i++) {
				if (chkb[i].checked && chkb[i].value == 1) {
					albumready = true;
					break;
				}
			}
		}
	},
	
	'fuplProgList' : function(fileobj) {
		var fuplProgList = $('fuplProgList');
		for (var i = 0; i < this.uplFiles.length; i ++) {
			if (typeof fileobj == 'undefined') {
				fuplProgList.innerHTML += '<div class="fileItem fitem' + i + '">' +
					'<a name="fitem' + i + '" class="anchor"></a>' +
					'<div class="file_progress" id="file_progress_' + i + '"></div>' +
					'<div class="file_info">' +
						'<div class="fileUploadingDiv" style="display:none;">качване...</div>' +
						'<div class="fileReadyDiv" style="display:none;">качен</div>' +
						'<div class="fileErrDiv" style="display:none;">ГРЕШКА!</div>' +
						this.uplFiles[i] + '<div class="unfloat"></div>' + 
					'</div>' + 
				'</div>';
			}
		}
	},
	
	'finishUpload' : function(movie_name) {
		this.currfile = 0;
		window.location.hash = 'fileupl_top';
		this.progress_bar = new ProgressBar('progress_bar');
		this.progress_bar.container.setStyle({ display: 'block' });
		if (this.progress_bar) {
			$('FuplProgress').innerHTML = this.currfile + '/' + this.uplFiles.length;
			this.progress_bar.setProgress((this.currfile * 100) / this.uplFiles.length);
			this.progress_bar.container.setStyle({ display: 'block' });
		}
		
		$('fupl2Btns').setStyle({ display: 'none'});
		$('FuplFinishBtn').setStyle({ display: 'none' });
		$('FuplBackBtn').setStyle({ display: 'none' });
		$('FuplContinueBtn').setStyle({ display: 'none' });
		
		var fileupl = $$('#fileupl_step2 .fileupl2')[0];
		
		if (fileupl) {
			var fuplProgList = $(document.createElement('div'));
			fuplProgList.id = 'fuplProgList';
			fileupl.appendChild(fuplProgList);
			this.fuplProgList();
			this.log('fuplProgList');
		}
		
		var permissions = $('uplform').elements['permissions'];
		var permissionvalue = 0;
		var permsingle = 0;
		for (var i = 0; i < permissions.length; i ++) {
			if (permissions[i].checked) {
				permissionvalue = parseInt(permissions[i].value);
				if(permissionvalue == 1){
					var permissionssingle = $('uplform').elements['permissionsviewsingle'];
					for (var j = 0; j < permissionssingle.length; j ++){
						if (permissionssingle[j].checked) 
							permsingle = permsingle + parseInt(permissionssingle[j].value);
					}
					permissionvalue = permissionvalue + permsingle;
				}
				break;
			}
		}
		
		var comments = $('uplform').elements['comments'];
		var commentsvalue = 0;
		var comsingle = 0;
		for (var i = 0; i < comments.length; i ++) {
			if (comments[i].checked) {
				commentsvalue = parseInt(comments[i].value);
				if(commentsvalue == 1){
					var commentssingle = $('uplform').elements['commentssingle'];
					for (var j = 0; j < commentssingle.length; j ++){
						if (commentssingle[j].checked) 
							comsingle = comsingle + parseInt(commentssingle[j].value);
					}
					commentsvalue = commentsvalue + comsingle;
				}
				break;
			}
		}
		
		var notes = $('uplform').elements['notes'];
		var notesvalue = 0;
		var notsingle = 0;
		for (var i = 0; i < notes.length; i ++) {
			if (notes[i].checked) {
				notesvalue = parseInt(notes[i].value);
				if(notesvalue == 32){
					var notessingle = $('uplform').elements['notessingle'];
					for (var j = 0; j < notessingle.length; j ++){
						if (notessingle[j].checked) 
							notsingle = notsingle + parseInt(notessingle[j].value);
					}
					notesvalue = notesvalue + notsingle;
				}
				break;
			}
		}
		
		this.FU.visvalue = permissionvalue;
		this.FU.permvalue = notesvalue + commentsvalue;
		
		var security = $('uplform').elements['security'];
		for (var i = 0; i < security.length; i ++) {
			if (security[i].checked) {
				this.FU.securityvalue = parseInt(security[i].value);
				break;
			}
		}
		
		this.FU.tags = $('uplform').elements['tags'].value;
		this.FU.albumids = 0;

		var albs = $('uplform').elements['album'];
		var albsvalue = 0;
		for (var i = 0; i < albs.length; i ++) {
			if (albs[i].checked) {
				albsvalue = parseInt(albs[i].value);
			}
		}

		if ($('uplform').elements['albumids'].value) {
			this.FU.albumids = $('uplform').elements['albumids'].value;
		} else if (albsvalue == -1) {
			this.FU.albumids = '-1';
		}
		
		var rubr = document.getElementsByName('rubrlist');
		for (i=0;i<rubr.length;i++){
			if (rubr[i].checked == true) {
				this.FU.rubrs = this.FU.rubrs +( i == 0 ? '' : ',') + rubr[i].value;
			}
		}

		this.fileuplid = 0;
		this.newalbum = 0;
		this.currfile = 0;
		this.getFlashProxy(movie_name);
		
		if (this.FU.albumids == 0) {
			new Ajax.Request('/lib/fupl.php', {
				asynchronous: true,
				method: 'post',
				parameters: 'op=create_album',
				onFailure: function(transport) {
					this.error('Системна грешка! ' + (this.debug ? transport.responseText : ''));
				}.bind(this),
				onSuccess: function(transport) {
					var retObj;
					
					try {
						eval('retObj = ' + transport.responseText + ';');
					} catch (err) {
						// ...
					}
					
					if (typeof retObj != 'object') {
						this.error('Системна грешка! ' + (this.debug ? transport.responseText : ''));
					} else {
						if (retObj.retstr == 'OK') {
							if (retObj.newalbum) {
								this.FU.albumids = retObj.newalbum;
								this.uploadExecute();
							}
						} else {
							this.error(retObj.retstr);
						}
					}
				}.bind(this)
			});
		} else {
			this.uploadExecute();
		}		
	},
	
	'uploadExecute' : function() {
		var albumids = this.FU.albumids.toString().split(/,/);
		if ( albumids[0] != '-1' ) this.newalbum = albumids[0];
		this.flashProxy.fileUpload('&tags=' + encodeURIComponent(this.FU.tags) + '&perm=' + this.FU.permvalue + '&visibility=' + this.FU.visvalue + '&security=' + this.FU.securityvalue +  '&albumids=' + this.FU.albumids +  '&rubrs=' + this.FU.rubrs, this.uplFiles);
	},
	
	'fprog_timer' : null,
	
	'CheckFileProgress' : function(idx) {
		var obj = this.flashProxy.getFileInfo(idx);
		if (obj) {
			if (obj.finished) {
				this.finishFile(obj.hasError);
			} else {
				if (this.file_progress[this.currfile]) {
					this.file_progress[this.currfile].setProgress((obj.loaded * 100) / obj.size);
					this.file_progress[this.currfile].container.setStyle({ display: 'block' });
				}
			}
		}
		
		this.fprog_timer = window.setTimeout(function(){this.CheckFileProgress(this.currfile);}.bind(this), 100);
	},
	
	'fileOpen' : function(filename) {
		var openedFile = 0;
		for (var i = 0; i < this.uplFiles.length; i ++) {
			if (this.uplFiles[i] == filename) {
				openedFile = i;
				break;
			}
		}
		
		window.location.hash = 'fitem' + openedFile;
		
		if (!this.file_progress[openedFile]) {
			this.file_progress[openedFile] = new ProgressBar('file_progress_' + openedFile);
			this.file_progress[openedFile].container.setStyle({ display: 'block' });
		}
		$$('#fuplProgList .fitem' + openedFile + ' .fileUploadingDiv')[0].setStyle({ display: 'block' });
		$$('#fuplProgList .fitem' + openedFile + ' .fileReadyDiv')[0].setStyle({ display: 'none' });
		
		if (this.fprog_timer) window.clearTimeout(this.fprog_timer);
		this.CheckFileProgress(this.currfile);
		
	},
	
	'finishFile' : function(hasError) {
		if (this.uplFiles[this.currfile]) {
			if (hasError) {
				$$('#fuplProgList .fitem' + this.currfile + ' .fileErrDiv')[0].setStyle({ display: 'block' });
				$$('#fuplProgList .fitem' + this.currfile + ' .fileUploadingDiv')[0].setStyle({ display: 'none' });
				$$('#fuplProgList .fitem' + this.currfile + ' .fileReadyDiv')[0].setStyle({ display: 'none' });
				
			} else {
				$$('#fuplProgList .fitem' + this.currfile + ' .fileErrDiv')[0].setStyle({ display: 'none' });
				$$('#fuplProgList .fitem' + this.currfile + ' .fileUploadingDiv')[0].setStyle({ display: 'none' });
				$$('#fuplProgList .fitem' + this.currfile + ' .fileReadyDiv')[0].setStyle({ display: 'block' });
				$$('#fuplProgList .fitem' + this.currfile)[0].setStyle({ background: "#f8f8f8" });
				$$('#fuplProgList .fitem' + this.currfile)[0].setStyle({ color: "#999"});
			}
			
			if (this.file_progress[this.currfile]) {
				this.file_progress[this.currfile].container.setStyle({ display: 'none' });
				this.file_progress[this.currfile] = null;
			}
			
			if (this.progress_bar) {
				$('FuplProgress').innerHTML = (this.currfile + 1) + '/' + this.uplFiles.length;
				this.progress_bar.setProgress(((this.currfile + 1) * 100) / this.uplFiles.length);
			}
			
			this.currfile ++;
		}
	},
	
	'finishUpload2' : function(movie_name, uplErrorCnt) {
		$$('#fileupl_step2 .fileuplLoading')[0].setStyle({ display: 'block' });
		this.uplErrorCnt = uplErrorCnt;
		fileuplOkFrm(this.newalbum, this.uplErrorCnt);
	},
	
	'witherr' : function(url) {
		$('FuplBackBtn').setStyle({ display: 'none' });
		$('FuplFinishBtn').setStyle({ display: 'none' });
		$('FuplContinueBtn').setStyle({ display: 'block' });
		$$('#fileupl_step2 .fileuplLoading')[0].setStyle({ display: 'none' });
		this.progress_bar.container.setStyle({ display: 'none' });
		toggleLayer('none', 0);
	},
	
	'redir' : function(url) {
		window.location.href = url;
	}
};

function fileuplAddID(t, target) {
	if (!target.value && t.checked) {
		target.value = t.value;
	} else {
		if (target.value == '-1') {
			target.value = t.value;
		} else {
			var tmparr = target.value.split(',');
			if (t.checked) {
				var found = false;
				for (var i = 0; i < tmparr.length; i ++) {
					if (tmparr[i] == t.value) found = true;
				}
				if (!found) target.value += ',' + t.value;
			} else {
				var tmparr2 = tmparr;
				for (var i = 0; i < tmparr.length; i ++) {
					if (tmparr[i] == t.value) tmparr2.splice(i, 1);
				}
				target.value = tmparr2.toString();
			}
		}
	}
	Fupl.fileuplCheckForm();
}

function fileuplAlbumlist(t) {
	if (t.value == 2 && t.checked) {
		try {
			$$('#fileupl_step2 .cbox_scrollfix .disabler')[0].setStyle({ display: 'none' });
		} catch (err) {
			// ...
		}
	} else {
		try {
			$$('#fileupl_step2 .cbox_scrollfix .disabler')[0].setStyle({ display: 'block' });
		} catch (err) {
			// ...
		}
		var chkb = $$('#fileupl_step2 .cbox_scrollfix input');
		for (var i = 0; i < chkb.length; i++) {
			chkb[i].checked = false;
		}
		
		if (t.value == -1) {
			$('uplform').elements['albumids'].value = '-1';
		} 
	}
	Fupl.fileuplCheckForm();
}

function fileuplOkFrm(newalbum, uplErrorCnt) {
	var oper = (uplErrorCnt ? 'witherr' : 'ok');
	
	new Ajax.Request('/lib/fupl.php', {
		parameters: {'op':oper, 'newalbum':newalbum},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function uplMoreOpts(el) {
	var elclass = el.className;
	if (elclass == "uplmoreleft") {
		$('fupl2wrapper').style.height = '585px';
		$('fileupl2').style.height = '610px';
		el.className = 'uplmoreright';
		$('uplmore').innerHTML = 'Повече опции';
		$('uplmore').style.width = '80px';
		$('suppopts').hide();
		
	} else if (elclass == "uplmoreright"){
		$('fupl2wrapper').style.height = '825px';
		$('fileupl2').style.height = '850px';
		el.className = 'uplmoreleft';
		$('uplmore').innerHTML = 'По-малко опции';
		$('uplmore').style.width = '90px';
		$('suppopts').style.display = 'block';
	}
}

function FriendAdd(pUid) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'contactedit', 'uid': pUid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block',0);
			}
		}
	});
}

function FriendEdit(pUid) {
	FriendAdd(pUid);
}

function LayerContactAdd() {
	var inputs =  document.def1.getElementsByTagName('input');
	var val = 0;
	for(i = 0; i < inputs.length; ++i){
		if(inputs[i].type == 'checkbox' && inputs[i].name == 'type[]' && inputs[i].checked)
			val = val | parseInt(inputs[i].value);
	}
	
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'contactedit', tAction: 'save', 'uid': document.def1.uid.value, 'type': val}
	});
}

function LayerContactRemove(){
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'removecontact', 'uid': document.def1.uid.value}
	});
}


function LayerRemoveContact(pUid){
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'contactedit', 'tAction': 'remove', 'uid': pUid}
	});
}

function LayerContactEdit() {
	var inputs =  document.def1.getElementsByTagName('input');
	var val = 0;
	for(i = 0; i < inputs.length; ++i){
		if(inputs[i].type == 'checkbox' && inputs[i].name == 'type[]' && inputs[i].checked)
			val = val | parseInt(inputs[i].value);
	}
	
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'contactedit', 'tAction': 'save', 'uid': document.def1.uid.value, 'type': val}
	});
}

function FriendInvite(){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'friendinvite', 'hascaptcha':1},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0, 520);
			}
		}
	});
}

function FriendSendLink(pType){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t' : 'sendlink', 'hascaptcha' : 1, 'link' : document.URL, type : pType},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0, 470);
			}
		}
	});
}

function LayerFriendSendLink(){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t' : 'sendlink', 'tAction':'save', 'type': document.def1.type.value, 'name':document.def1.name.value, 'email':document.def1.email.value, 'selfsend':document.def1.selfsend.value, 'mails': document.def1.mails.value, 'message': document.def1.message.value, 'captcha': document.def1.captcha.value, 'link' : document.def1.link.value},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0, 520);
			}
		}
	});
}

function LayerInviteUsers(){
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'friendinvite', 'tAction':'save', 'mails': document.def1.mails.value, 'message': document.def1.message.value, 'captcha': document.def1.captcha.value}
	});
}

function LayerUserBlock(pUid){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'blockuser', 'uid': pUid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0);
			}
		}
	});
}


function LayerBlockUser(pUid){
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'blockuserkfor', 'tAction': 'block', 'uid': pUid}
	});
}

function LayerUserUnBlock(pUid){
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'unblockuser', 'uid': pUid},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0);
			}
		}
	});
}


function LayerUnBlockUser(pUid){
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'blockuserkfor', 'tAction': 'unblock', 'uid': pUid}
	});
}

var isChanged = false;
var keyinit = false;

function toggleKeyChange(state) {
	if (!keyinit) {
		keyinit = true;
		toggleChange(state);
	}
}

function toggleChange(state) {
	if (state == 1) {
		isChanged = true;
		$('chcancel').show();
	} else {
		isChanged = false;
		keyinit = false;
		$('chcancel').hide();
	}
	toggleSaveBtn(state);
}

function toggleSaveBtn(state) {
	if (state == 1) {
		$('savebut_inactive').hide();
		$('savebut').show();
	} else {
		$('savebut_inactive').show();
		$('savebut').hide();
	}
}

function cancelChanges(albumid) {
	picsforalbum = initpicsforalbum.slice();
	new Ajax.Updater('info', '/AjaxAlbumData.php', {
		parameters: {'storyid':albumid}
	});
	//~ new Ajax.Updater('container', '/AjaxAlbumPics.php', {
		//~ parameters: {'mode':4, 'pics':picsforalbum.join(',')}
	//~ });
	showAlbumPics(albumid,0);
	toggleChange(0);
}

function NotSavedWarning(){ 
	if (isChanged) {
		//~ return 'Имате незаписани промени. Ако ги отхвърляте натиснете ОК, или натиснете Cancel за да останете в страницата';
		return 'Имате незаписани промени.';
	}
}

function ShowHidePanel(t,e) {
	el = document.getElementById(e);
	if (el.style.display == 'block') {
		el.style.display = 'none';
		t.src = '/i/arrow_right.gif';
	}else {
		el.style.display = 'block';
		t.src = '/i/arrow_down.gif';
	}

}

function PhotoMiniNav (id,currid,contid,mode) {
	// mode -> 1 - vsichki snimki, 2 - snimki ot albuma, 3 - snimki ot grupa
	if (id != currid) {
		new Ajax.Updater('navcont'+contid, '/AjaxPhotoNav.php', {
			parameters: {'storyid':id, 'contid': contid, 'mode': mode}
		});
	}
}

/* ROTATION */

var rotateangle = 0;

function rotateImg (el,angle,absolute) {

	rotateangle = Math.abs(rotateangle+angle) == 360 ? 0 : rotateangle + angle;

	var p = document.getElementById(el);
	
	if (!absolute) {
		p.angle = ((p.angle==undefined?0:p.angle) + angle) % 360;
	} else {
		p.angle = angle;
	}

	if (p.angle >= 0) {
		var rotation = Math.PI * p.angle / 180;
	} else {
		var rotation = Math.PI * (360+p.angle) / 180;
	}
	var costheta = Math.cos(rotation);
	var sintheta = Math.sin(rotation);

	if (document.all && !window.opera) {
		var canvas = document.createElement('img');

		canvas.src = p.src;
		canvas.height = p.height;
		canvas.width = p.width;		
	
		canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="+costheta+",M12="+(-sintheta)+",M21="+sintheta+",M22="+costheta+",SizingMethod='auto expand')";
	} else {
		var canvas = document.createElement('canvas');
		if (!p.oImage) {
			canvas.oImage = new Image();
			canvas.oImage.src = p.src;
		} else {
			canvas.oImage = p.oImage;
		}

		canvas.style.width = canvas.width = Math.abs(costheta*canvas.oImage.width) + Math.abs(sintheta*canvas.oImage.height);
		canvas.style.height = canvas.height = Math.abs(costheta*canvas.oImage.height) + Math.abs(sintheta*canvas.oImage.width);

		var context = canvas.getContext('2d');
		context.save();
		if (rotation <= Math.PI/2) {
			context.translate(sintheta*canvas.oImage.height,0);
		} else if (rotation <= Math.PI) {
			context.translate(canvas.width,-costheta*canvas.oImage.height);
		} else if (rotation <= 1.5*Math.PI) {
			context.translate(-costheta*canvas.oImage.width,canvas.height);
		} else {
			context.translate(0,-sintheta*canvas.oImage.width);
		}
		context.rotate(rotation);
		context.drawImage(canvas.oImage, 0, 0, canvas.oImage.width, canvas.oImage.height);
		context.restore();		

	}
	canvas.id = p.id;
	canvas.angle = p.angle;	
	
	p.parentNode.replaceChild(canvas, p);
	
	centerImg(canvas);	

}

function centerImg(el,rld) {
	var isLandscape = el.width > el.height? true : false;
	var margintop = Math.abs(el.width-el.height)/2;
	if (isLandscape) {
		el.style.margin=margintop+"px auto 0 auto";
	} else {
		el.style.margin= "0 auto";
	}
	if (typeof rld != "undefined" && document.all && !window.opera) {
		el.src = el.src+'&rld=' + Math.random();
	}
}

function rotateImgRight(el,angle) {
	rotateImg(el, angle==undefined?90:angle);
}

function rotateImgLeft(el,angle) {
	rotateImg(el,angle==undefined?-90:-angle);
}

function LayerRotateFrm(id) {
	new Ajax.Request('/AjaxForms.php', {
		parameters: {'t': 'rotateimg', 'picid': id},
		onSuccess: function(transport) {
			if (transport.responseText) {
				$('layerform').update(transport.responseText);
				toggleLayer('block', 0);
			}
		}
	});
}

function LayerRotate(id) {
	new Ajax.Updater('layerform', '/AjaxForms.php', {
		parameters: {'t': 'rotateimg', 'picid': id, 'rotate': 1, 'angle': rotateangle}
	});
}

/* END ROTATION */
function getElHeight (el) {
	var ret;
	if(document.all) { // IE
		ret=document.getElementById(el).currentStyle.height;
	}
	else { // Mozilla
		ret=document.defaultView.getComputedStyle(document.getElementById(el), '').getPropertyValue('height');
	}
	return parseInt(ret);
}

function getElMarginHeight (el) {
	var ret;
	if(document.all) { // IE
		ret=parseInt(document.getElementById(el).currentStyle.marginTop)+parseInt(document.getElementById(el).currentStyle.marginBottom);
	}
	else { // Mozilla
		ret=parseInt(document.defaultView.getComputedStyle(document.getElementById(el), '').getPropertyValue('margin-top'))+parseInt(document.defaultView.getComputedStyle(document.getElementById(el), '').getPropertyValue('margin-bottom'));
	}
	return parseInt(ret);
}


function DeselectRadio(pId){
	var elements = document.getElementsByName(pId);
	for (var i = 0; i < elements.length; i++) {
		elements[i].checked = false;
	}
}

function SelectRadio(pId){
	var elements = document.getElementsByName(pId);
	for (var i = 0; i < elements.length; i++) {
		elements[i].checked = true;
	}
}

function SelectRadioFirst(pId){
	var elements = document.getElementsByName(pId);
	elements[0].checked = true;

}

function DisableRadio(){
	var lPermValue = 0;
	var lElements = document.getElementsByName('perm_first');
	for (var i = 0; i < lElements.length; i++) {
		if( lElements[i].checked == true )
			lPermValue = parseInt(lElements[i].value);
	}
	if( lPermValue == 0 ){
		lElements = document.getElementsByName('perm');
		for (var i = 0; i < lElements.length; i++) {
			if( lElements[i].checked == true ){
				lPermValue = parseInt(lElements[i].value);
				break;
			}
		}
	}
	if( lPermValue == 0 )
		return;
	
	var lNames = new Array();
	var lNames2 = new Array();
	lNames[0] = 'comments_first';
	lNames[1] = 'comments';
	lNames2[0] = 'notes_first';
	lNames2[1] = 'notes';
	lElements = '';
	lElements2 = '';
	element_val = 0;
	element_val2 = 0;

	for( j = 0; j < 2; ++j ){
		lElements = document.getElementsByName(lNames[j]);
		for (var i = 0; i < lElements.length; i++) {
			element_val = parseInt(lElements[i].value);
			if( element_val <= lPermValue){
				lElements[i].disabled = false;
				lElements[i].checked = false;
				var label = document.getElementById('perm_' + element_val);
				if( label )
					label.className = '';
				if( element_val == lPermValue)
					lElements[i].checked = true;
			}else{
				lElements[i].checked = false;
				lElements[i].disabled = true;
				var label = document.getElementById('perm_' + element_val);
				if( label ) {
					label.className = 'disabled';
				}
			}
		}
		lElements2 = document.getElementsByName(lNames2[j]);
		for (var i = 0; i < lElements2.length; i++) {
			element_val2 = parseInt(lElements2[i].value);
			if( element_val2 <= Math.pow(2, (1 + parseInt(j / 2) ) * 5 ) * lPermValue){
				lElements2[i].disabled = false;
				lElements2[i].checked = false;
				var label = document.getElementById('perm_' + element_val2);
				if( label )
					label.className = '';				
				if( element_val2 == Math.pow(2, (1 + parseInt(j / 2) ) * 5 ) * lPermValue)
					lElements2[i].checked = true;
			}else{
				lElements2[i].checked = false;
				lElements2[i].disabled = true;
				var label = document.getElementById('perm_' + element_val2);
				if( label )
					label.className = 'disabled';
			}
		}
	
	}
	var lElementsTmp = document.getElementsByName(lNames2[1]);
	if (lPermValue == 16 && lElementsTmp[1].checked == true) {
		lElements2[0].checked = true;
	}

}

function setOrganizeHeight(e){
	var isie=navigator.appName.indexOf("Microsoft")!=-1;
	var isie6=navigator.appName=="Microsoft Internet Explorer"&&navigator.appVersion.indexOf('MSIE 6.0')>=0;
	var screensize = getScreenSize();
	
	var newheight = screensize[1] - 262;
	if (isie) {
		if (isie6) newheight -= 4;
		else newheight += 10;
	}
	if (newheight > screen.height) newheight = screen.height;
	if (newheight <= 0) newheight = screen.height;

	var inf = document.getElementById('info');
	var ca = document.getElementById('containeralbums');
	var cp = document.getElementById('containerpics');
	var cgpp = document.getElementById('containergrppics');
	var cgp = document.getElementById('containergrp');
	var cn = document.getElementById('container');

	// setvame visochinata
	if (inf != null) inf.style.height = newheight+"px";
	if (ca != null) ca.style.height = newheight+"px";
	if (cp != null) cp.style.height = newheight+"px"; 
	if (cgpp != null) cgpp.style.height = newheight+"px"; 
	if (cgp != null) cgp.style.height = newheight+"px"; 
	if (cn != null) cn.style.height = newheight+"px";
	
	// setvame shirina
	var picsbrowse = document.getElementById('picsbrowse');
	if (picsbrowse) {
		var wd = (screensize[0] - 54);
		picsbrowse.style.width =  wd + "px";
	}
	
	// ako imame poluprozrachen background za layer fomata
	var lb = $('layerbg');
	if (lb != null) {
		lb.style.height = (screensize[1] - 130)+'px';
	}
}

/* RATING */

function changeRatingPic(id, rating){
	var holder = document.getElementById('rating_' + id);
	if( !holder )
		return;
	holder.style.background = 'url(\'/i/rating' + rating + '.gif\') no-repeat';
}

function voteFormSubmit(id,rating, avgrating, votetype, viewtype){
	new Ajax.Request('/lib/vote.php', {
		parameters: {'guid' : id, 'rating': rating, 'type' : votetype},
		onSuccess: function(transport) {
			var res = parseInt(transport.responseText);
			if (res == 1) {
				// pokazva kak si glasuval i greeting
				new Ajax.Updater('ratingcont'+id, '/lib/rating.php', {
					parameters: {'mode': 2, 'guid': id, 'newrating': rating, 't': viewtype}
				});
				// sled timeout pokazva originalniq vot
				setTimeout(function() {
						new Ajax.Updater('ratingcont'+id, '/lib/rating.php', {
							parameters: {'mode': 1, 'guid': id, 't': viewtype, 'type' : votetype}
						});
					}
				, 2000);

			} else if (res == 2){
				// veche si glasuval za snimkata
				new Ajax.Updater('ratingcont'+id, '/lib/rating.php', {
					parameters: {'mode': 3, 'guid': id, 'avgrating': avgrating, 't': viewtype}
				});
			}
		}
	});
}

/* END RATING */


function sls_hide_preview(e) {
	if (!e) var e = window.event;
	Event.stop(e);
	$('sls_preview').setStyle({display:'none'});
	if (Slideshow.menudisplayed) {
		Slideshow.menudisplayed = 0;
		Effect.SlideUp('sls_top_bg', {duration: 1});
		Effect.SlideUp('sls_top', {duration: 1});
		setTimeout(function() {
				$('sls_top').setStyle({height: '62px'});
				$('sls_top_bg').setStyle({height: '62px'});
			}
		, 1100);
	}
}

function sls_thumb_over(e, t) {
	if (!e) var e = window.event;
	Event.stop(e);
	$('sls_preview').src = t.src.replace(/s50_/, 'd100x100_');
	$(t).addClassName('sls_tover');
	$(t).removeClassName('sls_tout');
	var tpos = $(t).cumulativeOffset();
	var screensize = getScreenSize();
	
	setTimeout(function() {$('sls_preview').setStyle({display:'block', bottom: (screensize[1] - tpos[1] + 10) + 'px', left: tpos[0] + 'px'});}, 200);
}

function SearchSubmit(pType, pSubtype, pAuthor){
	document.mainsearchform.type.value = parseInt(pType);
	document.mainsearchform.subtype.value = parseInt(pSubtype);
	if( parseInt(pAuthor) ){
		document.mainsearchform.author.value = parseInt(pAuthor);
	}else{
		document.mainsearchform.author.value = '';
	}
	document.mainsearchform.submit();
}

function sls_thumb_out(e, t) {
	sls_hide_preview(e);
	$(t).addClassName('sls_tout');
	$(t).removeClassName('sls_tover');
}


var Slideshow = {
	'images' : [],
	'currimg' : 0,
	'img' : null,
	'auto' : 0,
	'timer' : null,
	'maxcnt' : 60,
	'singlesize' : 60,
	'vals' : {
		'albumid' : 0, 
		'filter' : 0, 
		'maxrecords' : 0, 
		'minval' : 0, 
		'maxval' : 0, 
		'curroffset' : 0,
		'uid' : 0
	},
	'menutimer' : null,
	'menudisplayed' : 0,
	'menuexecuting' : 0,
	
	'init' : function(pFilter, pID, pUID) {
		this.auto = 0;
		if (this.timer) this.timer.stop();
		this.timer = null;
		this.menutimer = null;
		this.menudisplayed = 0;
		this.menuexecuting = 0;
		
		this.img = $('sls_bigpic');
		this.ShowHideMenu(1);
		document.onmousemove = function() {
			return this.ShowHideMenu(0);
		}.bind(this);
		
		new Ajax.Updater('slideshow_thumbs', '/AjaxAlbumPics.php', {
			method: 'GET',
			parameters: {'mode': 6, 'filter': pFilter, 'storyid': pID, 'offset': 0, 'uid': pUID},
			onSuccess: function(transport) {
				setTimeout(function(){
						this.slideshowResize();
						this.images = $$('#slideshow_thumbs_scroller img');
						
						if (!this.images.length) {
							$('sls_info').innerHTML = 'Няма снимки!';
							$('sls_info').show();
							$('sls_bottom').hide();
							$('sls_bottom_bg').hide();
							$('sls_bigpic').hide();
							$('sls_prev').hide();
							$('sls_next').hide();
						} else {
							$('sls_info').hide();
							$('sls_info').innerHTML = '';
							$('sls_bottom').show();
							$('sls_bottom_bg').show();
							$('sls_bigpic').show();
							$('sls_prev').show();
							$('sls_next').show();
							
							this.currimg = 0;
							for (var i = 0; i < this.images.length; i ++) {
								var callback;
								eval("callback = function(){Slideshow.showspec(" + i + ")};");
								$(this.images[i]).observe('click', callback);
							}
							this.singlesize = $(this.images[0]).offsetWidth + parseInt($(this.images[0]).getStyle('margin-right'));
							this.showspec(this.currimg);
							
							var larr = $('sls_l').onclick.toString();
							larr = larr.replace(/\n/gmi, "");
							larr = larr.replace(/^.*?Slideshow.thumbsScroll\(([^\)]*)\).*?$/gmi, "$1");
							larr = larr.split(/\s/);
							if (larr.length == 7) {
								this.setvals(parseInt(larr[1]), parseInt(larr[2]), parseInt(larr[3]), parseInt(larr[4]), parseInt(larr[5]), parseInt(larr[6]), parseInt(larr[7]));
							}
						}
						
						this.play($('sls_control'));
						
					}.bind(this)
				, 200);
			}.bind(this)
		});
	},
	
	'setvals' : function(albumid, filter, maxrecords, minval, maxval, curroffset, uid) {
		this.vals = {
			'albumid' : albumid, 
			'filter' : filter, 
			'maxrecords' : maxrecords, 
			'minval' : minval, 
			'maxval' : maxval, 
			'curroffset' : curroffset,
			'uid' : uid
		};
	},
	
	'slideshowResize' : function() {
		var isie=navigator.appName.indexOf("Microsoft")!=-1;
		var isie6=navigator.appName=="Microsoft Internet Explorer"&&navigator.appVersion.indexOf('MSIE 6.0')>=0;
		var screensize = getScreenSize();
		
		var newheight = screensize[1];
		if (isie) {
			if (isie6) newheight -= 4;
			else newheight += 10;
		}
		if (newheight > screen.height) newheight = screen.height;
		if (newheight <= 0) newheight = screen.height;
		
		var sls_thumbs = $('slideshow_thumbs');
		var sls_thumbs_w = $('slideshow_thumbs_wrapper');
		
		$('slideshow_holder').setStyle({height:newheight + 'px'});
		$('sls_bigpic').setStyle({height:newheight + 'px'});
		if (sls_thumbs) sls_thumbs.setStyle({width: (screensize[0] - 200) + 'px'});
		if (sls_thumbs_w) {
			sls_thumbs_w.setStyle({width: (screensize[0] - 274) + 'px'});
			var firstpic;
			var piccnt = this.maxcnt;
			try {
				piccnt = $$('#slideshow_thumbs_scroller img');
				firstpic = piccnt[0];
				piccnt = piccnt.length;
			} catch (err) {
				// ...
			}
			if (firstpic) {
				var picsize = $(firstpic).offsetWidth + parseInt($(firstpic).getStyle('margin-right'));
				$('slideshow_thumbs_scroller').setStyle({width: (picsize * piccnt) + 'px'});
			}
		}
	},

	'getFirstVisible' : function() {
		var picsarr = $$('#slideshow_thumbs_scroller img');
		var firstvisiblepos = Math.floor(Math.abs($('slideshow_thumbs_scroller').offsetLeft)/this.singlesize);
		var firstvisiblepic = (typeof picsarr[firstvisiblepos] == 'undefined') ? null : picsarr[firstvisiblepos];
		var firstvisibleid = firstvisiblepic != null ? parseInt(firstvisiblepic.getAttribute('id').substring(4)) : 0;
		return [ firstvisibleid, firstvisiblepos ];
	},
	
	'getLastVisible' : function() {
		var picsarr = $$('#slideshow_thumbs_scroller img');
		var lastvisiblepos = Math.floor((Math.abs($('slideshow_thumbs_scroller').offsetLeft) + $('slideshow_thumbs_wrapper').offsetWidth)/this.singlesize);
		var lastvisiblepic = (typeof picsarr[lastvisiblepos] == 'undefined') ? null : picsarr[lastvisiblepos];
		var lastvisibleid = lastvisiblepic != null ? parseInt(lastvisiblepic.getAttribute('id').substring(4)) : 0;
		return [ lastvisibleid, lastvisiblepos ];
	},
	
	'getFirstPic' : function() {
		var picsarr = $$('#slideshow_thumbs_scroller img');
		var firstpicpos = 0;
		var firstpic = (typeof picsarr[firstpicpos] == 'undefined') ? null : picsarr[firstpicpos];	
		var firstpicid = firstpic != null ? parseInt(firstpic.getAttribute('id').substring(4)) : 0;
		return [ firstpicid, firstpicpos ];
	},
	
	'getLastPic' : function() {
		var picsarr = $$('#slideshow_thumbs_scroller img');
		var lastpicpos = picsarr.length-1;
		var lastpic = (typeof picsarr[lastpicpos] == 'undefined') ? null : picsarr[lastpicpos];	
		var lastpicid = lastpic != null ? parseInt(lastpic.getAttribute('id').substring(4)) : 0;
		return [ lastpicid, lastpicpos ];
	},

	'thumbsScroll' : function(dir, albumid, filter, maxrecords, minval, maxval, curroffset, uid) {
		this.setvals(albumid, filter, maxrecords, minval, maxval, curroffset, uid);
		var scroller = $('slideshow_thumbs_scroller');
		var scrollwidth = scroller.offsetWidth;
		var container = $('slideshow_thumbs_wrapper');
		var contwidth = container.offsetWidth;
		var initpos = scroller.offsetLeft;
		
		if (dir == 'left') {
			var lfirstvisible = this.getFirstVisible();
			var lfirstpic = this.getFirstPic();
			var newleftpos = initpos + contwidth;
			var newoffset = (curroffset + lfirstvisible[1]) - this.maxcnt;
			if (newoffset < 0) newoffset = 0;
			
			if (newleftpos > 0) {
				if (lfirstpic[0] == minval && newoffset == 0) {
					// Tova e purva stranica i offset-a e 0
					scroller.setStyle({left:'0px'});
				} else {
					var replaySls = false;
					if (this.timer) {
						this.timer.stop();
						replaySls = true;
					}
					new Ajax.Updater('slideshow_thumbs', '/AjaxAlbumPics.php', {
						method: 'GET',
						parameters: {'mode': 6, 'storyid': albumid, 'filter': filter, 'offset': newoffset, 'uid': uid},
						onSuccess: function(transport) {
							setTimeout(function(){
									this.images = $$('#slideshow_thumbs_scroller img');
									
									if (!this.images.length) {
										$('sls_info').innerHTML = 'Няма снимки!';
										$('sls_info').show();
										$('sls_bottom').hide();
										$('sls_bottom_bg').hide();
										$('sls_bigpic').hide();
										$('sls_prev').hide();
										$('sls_next').hide();
									} else {
										$('sls_info').hide();
										$('sls_info').innerHTML = '';
										$('sls_bottom').show();
										$('sls_bottom_bg').show();
										$('sls_bigpic').show();
										$('sls_prev').show();
										$('sls_next').show();
									
										for (var i = 0; i < this.images.length; i ++) {
											var callback;
											eval("callback = function(){Slideshow.showspec(" + i + ")};");
											$(this.images[i]).observe('click', callback);
										}
										this.singlesize = $(this.images[0]).offsetWidth + parseInt($(this.images[0]).getStyle('margin-right'));
										scrollwidth = (this.singlesize * this.images.length) - parseInt($(this.images[0]).getStyle('margin-right'));
										$('slideshow_thumbs_scroller').setStyle({width: scrollwidth + 'px'});
										newleftpos = contwidth - scrollwidth;
										$('slideshow_thumbs_scroller').setStyle({left:newleftpos + 'px'});
										var screensize = getScreenSize();
										$('slideshow_thumbs_wrapper').setStyle({width: (screensize[0] - 274) + 'px'});
										this.showspec(this.images.length - 1);
										if (replaySls) this.__play($('sls_control'));
									}
								}.bind(this)
							, 200);
							this.setvals(albumid, filter, maxrecords, minval, maxval, newoffset, uid);
						}.bind(this)
					});
				}
			} else {
				scroller.setStyle({left:newleftpos + 'px'});
			}
		} else {
			var llastvisible = this.getLastVisible();
			var llastpic = this.getLastPic();
			var newleftpos = initpos - contwidth;
			if (newleftpos > 0) newleftpos = 0;
			var newoffset = (curroffset + llastvisible[1]);
			if (newoffset > maxrecords) newoffset = maxrecords - this.maxcnt;
			
			if(Math.abs(newleftpos) >= (scrollwidth-contwidth)) {
				if (llastvisible[0]) {
					var replaySls = false;
					if (this.timer) {
						this.timer.stop();
						replaySls = true;
					}
					new Ajax.Updater('slideshow_thumbs', '/AjaxAlbumPics.php', {
						method: 'GET',
						parameters: {'mode': 6, 'storyid': albumid, 'filter': filter, 'offset': newoffset, 'uid': uid},
						onSuccess: function(transport) {
							newleftpos = 0;
							setTimeout(function(){
									this.images = $$('#slideshow_thumbs_scroller img');
									
									if (!this.images.length) {
										$('sls_info').innerHTML = 'Няма снимки!';
										$('sls_info').show();
										$('sls_bottom').hide();
										$('sls_bottom_bg').hide();
										$('sls_bigpic').hide();
										$('sls_prev').hide();
										$('sls_next').hide();
									} else {
										$('sls_info').hide();
										$('sls_info').innerHTML = '';
										$('sls_bottom').show();
										$('sls_bottom_bg').show();
										$('sls_bigpic').show();
										$('sls_prev').show();
										$('sls_next').show();
									
										for (var i = 0; i < this.images.length; i ++) {
											var callback;
											eval("callback = function(){Slideshow.showspec(" + i + ")};");
											$(this.images[i]).observe('click', callback);
										}
										this.singlesize = $(this.images[0]).offsetWidth + parseInt($(this.images[0]).getStyle('margin-right'));
										$('slideshow_thumbs_scroller').setStyle({width: (this.singlesize * this.images.length) + 'px'});
										$('slideshow_thumbs_scroller').setStyle({left:newleftpos + 'px'});
										var screensize = getScreenSize();
										$('slideshow_thumbs_wrapper').setStyle({width: (screensize[0] - 274) + 'px'});
										this.showspec(0);
										if (replaySls) this.__play($('sls_control'));
									}
								}.bind(this)
							, 200);
							this.setvals(albumid, filter, maxrecords, minval, maxval, newoffset, uid);
						}.bind(this)
					});
				}
			} else {
				scroller.setStyle({left:newleftpos + 'px'});
			}
		}
	},
	
	'show' : function() {
		var newsrc = this.images[this.currimg].src;
		newsrc = newsrc.replace(/s50_/, 'oo_');
		//~ this.img.src = newsrc + '&r=' + Math.random();
		$(this.images[this.currimg]).addClassName('sls_active');
		this.img.src = newsrc;
	},
	
	'showspec' : function(idx) {
		if (this.images[this.currimg]) {
			$(this.images[this.currimg]).removeClassName('sls_active');
		}
		this.currimg = idx;
		this.show();
	},
	
	'prev' : function() {
		if (this.currimg == 0) return false;
		$(this.images[this.currimg]).removeClassName('sls_active');
		if (this.currimg > 0) this.currimg --;
		var lfirstvisible = this.getFirstVisible();
		if (this.currimg == (lfirstvisible[1] - 1)) {
			this.thumbsScroll('left', this.vals['albumid'], this.vals['filter'], this.vals['maxrecords'], this.vals['minval'], this.vals['maxval'], this.vals['curroffset'], this.vals['uid']);
			this.showspec((lfirstvisible[1] - 1));
		} else {
			this.show();
		}
		if (this.currimg == 0) this.stop($('sls_control'));
	},
	
	'next' : function() {
		if (this.currimg == (this.images.length - 1)) return false;
		$(this.images[this.currimg]).removeClassName('sls_active');
		if (this.currimg < this.images.length) this.currimg ++;
		
		var llastvisible = this.getLastVisible();
		if (this.currimg == (llastvisible[1] - 1)) {
			this.thumbsScroll('right', this.vals['albumid'], this.vals['filter'], this.vals['maxrecords'], this.vals['minval'], this.vals['maxval'], this.vals['curroffset'], this.vals['uid']);
			this.showspec((llastvisible[1] - 1));
		} else {
			this.show();
		}
		if (this.currimg == (this.images.length - 1)) this.stop($('sls_control'));
	},
	
	'__play' : function(t) {
		if (this.images instanceof Array && this.images.length) {
			new PeriodicalExecuter(function(pe) {
				if (!this.timer) this.timer = pe;
				if (this.currimg < this.images.length) {
					this.next();
				} else {
					this.stop(t);
				}
			}.bind(this), 3);
		}
	},
	
	'play' : function(t) {
		$(t).addClassName('sls_pause');
		$(t).removeClassName('sls_play');
		this.auto = 1;
		this.__play(t);
	},
	
	'stop' : function(t) {
		$(t).addClassName('sls_play');
		$(t).removeClassName('sls_pause');
		this.auto = 0;
		if (this.timer) this.timer.stop();
		this.timer = null;
	},
	
	'toggle' : function(t) {
		if (this.auto) {
			this.stop(t);
		} else {
			this.play(t);
		}
	},
	
	'ShowHideMenu' : function(init) {
		
		if (this.menutimer) clearTimeout(this.menutimer);
		this.menutimer = setTimeout(function() {
				this.menuexecuting = 0;
				/*
				// Ako iskate da mahnete efekta izpolzvaite tova:
				$('sls_bottom_holder').hide();
				$('sls_top_holder').hide();
				*/
				
				$('sls_bottom_holder').fade();
				$('sls_top_holder').fade();
			}.bind(this)
		, 3000);
		if (this.menuexecuting) return false;
		this.menuexecuting = 1;
		if (!init) {
			/*
			// Ako iskate da mahnete efekta izpolzvaite tova:
			$('sls_bottom_holder').show();
			$('sls_top_holder').show();
			*/
			$('sls_bottom_holder').appear();
			$('sls_top_holder').appear();
		}
	}
};

var Picnotes = {
	'pic' : null,
	'id' : 0,
	'fromgrp' : 0,
	'loaded' : false,
	'started' : false,
	'hinttimer' : null,
	'shints' : [],
	
	'init' : function(picid) {
		if (this.pic && this.pic != $(picid)) {
			alert('Не можете да гледате/добавяте бележки на две снимки едновременно!');
			return false;
		}
		this.pic = $(picid);
		var tmpid = parseInt(this.pic.className.replace(/pic_(\d+)/, "$1"));
		if (tmpid) this.id = tmpid;
		
		$('picnotes_holder').onmouseover = function(e) {
			if (!e) var e = window.event;
			Event.stop(e);
			this.hideHints();
		}.bind(this);
		
		if (!this.loaded) {
			new Ajax.Request('/AjaxPicNotes.php', {
				asynchronous: true,
				method: 'post',
				parameters: {'op': 'get', 'id': this.id},
				onSuccess: function(transport) {
					if(transport.responseText) {
						var notelist = [];
						try {
							eval("notelist = " + transport.responseText);
						} catch (err) {
							// ...
						}
						if (notelist.length) {
							for (var i = 0; i < notelist.length; i ++) {
								var obj = notelist[i];
								this._addRect(obj.cnt, obj.x1, obj.y1, obj.x2, obj.y2, obj.noteid, obj.note);
							}
							this.loaded = true;
						}
					}
				}.bind(this)
			});
		}
		
		return false;
	},
	
	'start' : function(picid,fromgrp) {
		if (this.started) return false;
		if (!this.pic) this.init(picid);
		this.started = true;
		this.fromgrp = fromgrp;
		this.pic.setStyle({cursor:'crosshair'});
		this.pic.onclick = function(e){this.addRect(e);}.bind(this);
		$('picnotes_info').show();
		$('picnotes_tohide').hide();
		$('picnotes_holder').addClassName('picnotes_active');
		$('picnotes_holder').removeClassName('picnotes_inactive');
		return false;
	},
	
	'stop' : function() {
		if (!this.started) return false;
		this.started = false;
		this.pic.setStyle({cursor:''});
		this.pic.onclick = '';
		this.pic = null;
		$('picnotes_info').hide();
		$('picnotes_tohide').show();
		$('picnotes_holder').addClassName('picnotes_inactive');
		$('picnotes_holder').removeClassName('picnotes_active');
		return false;
	},
	
	'hideHints' : function() {
		if (this.hinttimer) clearTimeout(this.hinttimer);
		for (var i = 0; i < this.shints.length; i ++) {
			$(this.shints[i].parentNode).removeClassName('picnotes_over');
			$(this.shints[i]).hide();
		}
		this.shints = [];
	},
	
	'_addRect' : function(cnt, x1, y1, x2, y2, noteid, note) {
		var p = $$('#picnotes_holder img')[0];
		var d = new Element('div', { 'class': 'picnotes_rect', id: $(p).className + '_' + noteid });
		var dn = new Element('div', { 'class': 'picnotes_note', 'style': 'display: none;' }).update(note);
		d.appendChild(dn);
		$(d).setStyle({zIndex : (cnt + 10), top: (y1 + 'px'), left: (x1 + 'px'), visibility: 'visible', width: (x2 - x1) + 'px', height: (y2 - y1) + 'px' });
		$('picnotes_holder').appendChild(d);
		
		// appendvame prozrachniq bg div
		var dd = new Element('div', { 'class': 'picrect_bg', id: 'rectbg_'+noteid });
		$(d).appendChild(dd);
		$(dd).setStyle({width: (x2 - x1) + 'px', height: (y2 - y1) + 'px'});

		
		$(d).onmouseover = function(e) {
			if (!e) var e = window.event;
			Event.stop(e);
			if (this.started) return false;
			if (this.hinttimer) clearTimeout(this.hinttimer);
			this.hinttimer = setTimeout(function() {
					this.hideHints();
					this.shints.push(dn);
					$(dn).show();
					var newbottom = -1 * ($(dn).getDimensions().height + 3);
					$(dn).setStyle({bottom: (newbottom + 'px')});
					$(d).addClassName('picnotes_over');
				}.bind(this)
			, 300);
		}.bind(this);
		
		$(d).ondblclick = function(e) {
			if (!e) var e = window.event;
			Event.stop(e);
			if (!this.started) return false;
			
			new Ajax.Request('/AjaxPicNotes.php', {
				asynchronous: true,
				method: 'post',
				parameters: {'op': 'del', 'id': this.id, 'noteid': noteid, 'fromgrp': this.fromgrp},
				onSuccess: function(transport) {
					if(transport.responseText) {
						d.remove();
					}
				}
			});
		}.bind(this);
	},
	
	'addRect' : function(e) {
		if (!e) var e = window.event;
		Event.stop(e);
		if (!this.started) return false;
		var cnt = $$('#picnotes_holder .picnotes_rect').length;
		var p = $$('#picnotes_holder img')[0];
		var rectid = $(p).className + '_' + cnt;
		this.updateForm(rectid);
		var d = new Element('div', { 'class': 'picnotes_rect', id: rectid });
		var ppos = $(p).cumulativeOffset();
		var pdim = $(p).getDimensions();
		var x1 = Event.pointerX(e) - ppos[0];
		var y1 = Event.pointerY(e) - ppos[1];
		// dobavqme go za da mu vzemem razmer
		$('picnotes_holder').appendChild(d);
		var ddim = $(d).getDimensions();
		if ((x1 + ddim.width) > pdim.width) x1 = pdim.width - ddim.width;
		if ((y1 + ddim.height) > pdim.height) y1 = pdim.height - ddim.height;
		
		$(d).setStyle({zIndex : (parseInt(cnt) + 11), top: (y1 + 'px'), left: (x1 + 'px'), visibility: 'visible'});
		var frm = $('picnotes_helper');
		frm.setStyle({top: (y1 + 'px'), left: ((x1 + ddim.width) + 'px'), visibility: 'visible'});
		frm.show();

		
		// inicializiciq na drag/resize за belejkite
		var dragresize = new DragResize('dragresize',  { minTop: 3, minLeft: 3, allowBlur: false });
		dragresize.isElement = function(elm) {
			if (elm.className && elm.className.indexOf('picnotes_rect') > -1) {
				this.maxLeft = $('myphoto').offsetWidth - 3;
				this.maxTop = $('myphoto').offsetHeight - 3;
				return true;
			}
		}
		dragresize.isHandle = function(elm) {
			if (elm.className && elm.className.indexOf('picnotes_rect') > -1) return true;
		}
		dragresize.ondragfocus = function() {this.element.style.cursor = 'move'; };
		dragresize.ondragstart = function(isResize) { };
		dragresize.ondragmove = function(isResize) { 
			// setvame razmerite na helpers
			$('picnotes_helper').setStyle({top: (this.elmY + 'px'), left: ((this.elmX + this.elmW) + 'px')});
			// setvame razmerite na prozrachniq bg div
			this.element.getElementsByClassName('picrect_bg')[0].setStyle({width: this.elmW+'px', height: this.elmH+'px'});
		};
		dragresize.ondragend = function(isResize) { };
		dragresize.ondragblur = function() { this.element.style.cursor = 'default'; };
		dragresize.apply(document);
		dragresize.select(d);
		
		// fix na x-indexa i appendvame prozrachniq bg div
		$(d).setStyle({zIndex : (parseInt(cnt) + 11)});
		var dd = new Element('div', { 'class': 'picrect_bg', id: 'rectbg_'+cnt });
		$(d).appendChild(dd);
		$(dd).setStyle({zIndex : (parseInt(cnt) + 12), width: (ddim.width+'px'), height: (ddim.height+'px')});

		return false;
	},
	
	
	'updateForm' : function(rectid) {
		if (!this.started) return false;
		var frm = $('picnotes_helper');
		try {
			if (frm.elements['rect'].value) {
				$(frm.elements['rect'].value).remove();
			}
		} catch (err) {
			// ...
		}
		
		frm.elements['rect'].value = rectid;
	},
	
	'cancelNote' : function() {
		var frm = $('picnotes_helper');
		if (frm.elements['rect'].value) {
			$(frm.elements['rect'].value).remove();
			frm.elements['rect'].value = "";
		}
		frm.elements['note'].value = "";
		frm.hide();
	},
	
	'saveNote' : function() {
	
		if (!this.started) return false;
		var frm = $('picnotes_helper');
		
		if (frm.elements['rect'].value && frm.elements['note'].value) {
			var d = $(frm.elements['rect'].value);
			var ddim = d.getDimensions();
			var dtop = parseInt(d.getStyle('top'));
			var dleft = parseInt(d.getStyle('left'));
			var cnt = $$('#picnotes_holder .picnotes_rect').length;
			d.remove();
			new Ajax.Request('/AjaxPicNotes.php', {
				asynchronous: true,
				method: 'post',
				parameters: {'op': 'add', 'id': this.id, 'x1': dleft, 'y1': dtop, 'x2': (dleft + ddim.width), 'y2': (dtop + ddim.height), 'note': frm.elements['note'].value, 'cnt': cnt, 'fromgrp': this.fromgrp},
				onSuccess: function(transport) {
					if(transport.responseText) {
						var notelist = [];
						try {
							eval("notelist = " + transport.responseText);
						} catch (err) {
							// ...
						}
						if (notelist.length) {
							for (var i = 0; i < notelist.length; i ++) {
								var obj = notelist[i];
								this._addRect(obj.cnt, obj.x1, obj.y1, obj.x2, obj.y2, obj.noteid, obj.note);
							}
							this.loaded = true;
						}
					}
				}.bind(this)
			});
			frm.elements['rect'].value = "";
			frm.elements['note'].value = "";
			frm.hide();
		} else {
			alert('Не сте попълнили бележка');
		}
		
		return false;
	}
};

var MkAvatar = {
	'started' : false,
	'dragresize' : null,
	'oldMouseX' : 0,
	'oldMouseY' : 0,
	
	'init' : function() {
		if (this.started) return false;		
		this._addRect();
		this._initDragResize();
		this.started = true;
		$$('#avatarimg img')[0].setStyle({cursor:'crosshair'});
		$$('#avatarimg img')[0].onclick = function(e){this.addRect(e);}.bind(this);
		this.updatePreview();
		// dobavame prozrachniq bg div
		var dd = new Element('div', { 'class': 'avrect_bg', id: 'avatarhandlerbg' });
		$('avatarhandler').appendChild(dd);
		return false;
	},
	
	'_initDragResize' : function() {
		// inicializiciq na drag/resize 
		this.dragresize = new DragResize('dragresize',  { handles: ['tl', 'tm', 'tr', 'ml', 'mr', 'bl', 'bm', 'br'], minTop: 3, minLeft: 3, allowBlur: false });
		this.dragresize.isElement = function(elm) {
			if (elm.className && elm.className.indexOf('avatar_rect') > -1) {
				this.maxLeft = $$('#avatarimg img')[0].offsetWidth;
				this.maxTop = $$('#avatarimg img')[0].offsetHeight;
				return true;
			}
		}
		this.dragresize.isHandle = function(elm) {
			if (elm.className && elm.className.indexOf('avatar_rect') > -1) return true;
		}
		this.dragresize.ondragfocus = function() {this.element.style.cursor = 'move'; };
		this.dragresize.ondragstart = function(isResize) {
			// inicializirame
			MkAvatar.oldMouseX = this.mouseX;
			MkAvatar.oldMouseY = this.mouseY;
		};
		this.dragresize.ondragmove = function(isResize) {
		
			// scale-vame do kvadrat  kato gledame da ne izlziame izvyn granicite na snimkata
			
			// razlika s predishnata poziciq
			var diffX = Math.abs(this.mouseX - MkAvatar.oldMouseX);
			var diffY = Math.abs(this.mouseY - MkAvatar.oldMouseY);
			var diffWH = Math.abs(this.elmW - this.elmH);
			
			// resize-vame po X ili po X i Y (no poveche po X)
			if ((diffX != 0 && diffY == 0) || (diffX != 0 && diffY != 0 && diffX > diffY)) {
				if ((this.elmY + this.elmH) > this.maxTop) {
					this.elmH = this.maxTop - this.elmY;
					this.elmW = this.elmH;
				} else  {
					this.elmH = this.elmW;
				}
			// resize-vame po Y ili po X i Y (no poveche po Y)
			} else if ((diffX == 0 && diffY != 0)  || (diffX != 0 && diffY != 0 && diffX < diffY)) {
				if ((this.elmX + this.elmW) > this.maxLeft) {
					this.elmW = this.maxLeft - this.elmX;
					this.elmH = this.elmW;
				} else {
					this.elmW = this.elmH;
				}
			}
			
			MkAvatar.adjustDims();
			
			MkAvatar.updatePreview();
			MkAvatar.oldMouseX = this.mouseX;
			MkAvatar.oldMouseY = this.mouseY;
			
		};
		this.dragresize.ondragend = function(isResize) {

		};
		this.dragresize.ondragblur = function() { this.element.style.cursor = 'default'; };
		this.dragresize.apply(document);
		this.dragresize.select($('avatarhandler'));

	},
	
	'_addRect' : function() {
		var d = new Element('div', { 'class': 'avatar_rect', id: 'avatarhandler' });
		$('avatarimg').appendChild(d);
		
		var picpos = $$('#avatarimg img')[0].cumulativeOffset();
		var picdim = $$('#avatarimg img')[0].getDimensions();
		var handlerdim = $('avatarhandler').getDimensions();

		var x1 = (picdim.width - handlerdim.width)/2;
		var y1 = (picdim.height - handlerdim.height)/2;
		
		if (handlerdim.width > picdim.width) {
			$('avatarhandler').setStyle({width: picdim.width});
			var x1 = 0;
		}
		if (handlerdim.height > picdim.height) {
			$('avatarhandler').setStyle({height: picdim.height});
			var y1 = 0;
		}
		
		
		if (navigator.userAgent.toLowerCase().indexOf("safari") == -1) {
			$('avatarhandler').setStyle({zIndex : 9999, top: (y1 + 'px'), left: (x1 + 'px')});
		} else {
			$('avatarhandler').setStyle({zIndex : 9999, top: '0', left: '0', width: '80px', height: '80px'});
		}

	},

	'addRect' : function(e) {
		if (!e) e = window.event;
		Event.stop(e);
		if (!this.started) return false;
		
		$('avatarhandler').setStyle({width: '80px', height: '80px'});
		this.dragresize.elmW = 80;
		this.dragresize.elmY = 80;
		
		var picpos = $$('#avatarimg img')[0].cumulativeOffset();
		var picdim = $$('#avatarimg img')[0].getDimensions();
		var handlerdim = $('avatarhandler').getDimensions();
		
		var x1 = Event.pointerX(e) - picpos[0];
		var y1 = Event.pointerY(e) - picpos[1];

		if ((x1 + handlerdim.width) > picdim.width) x1 = picdim.width - handlerdim.width;
		if ((y1 + handlerdim.height) > picdim.height) y1 = picdim.height - handlerdim.height;
		
		if (handlerdim.width > picdim.width) {
			$('avatarhandler').setStyle({width: picdim.width});
			var x1 = 0;
		}
		if (handlerdim.height > picdim.height) {
			$('avatarhandler').setStyle({height: picdim.height});
			var y1 = 0;
		}
		
		$('avatarhandler').setStyle({zIndex : 9999, top: (y1 + 'px'), left: (x1 + 'px')});	
		this.dragresize.elmY = y1;
		this.dragresize.elmX = x1;
		
		this.updatePreview();
		
		return false;
	},
	
	'adjustDims' : function() {
		// tova e za da sme sigurni che nqma da ima razlika mejdu width i height i da ne padame pod nachalnite 80px
		if (this.dragresize.elmW > this.dragresize.elmH) {
			this.dragresize.elmW = this.dragresize.elmH;
		}
		if (this.dragresize.elmH > this.dragresize.elmW) {
			this.dragresize.elmH = this.dragresize.elmW;
		}
		if (this.dragresize.elmW < 80) {
			this.dragresize.elmH = this.dragresize.elmW = 80;
		}
		$('avatarhandler').setStyle({width: (this.dragresize.elmW + 'px'), height: (this.dragresize.elmH + 'px')});
		// setvame razmerite na prozrachniq bg div
		$('avatarhandlerbg').setStyle({width: (this.dragresize.elmW + 'px'), height: (this.dragresize.elmH + 'px')});
	},
	
	'updatePreview' : function() {
		var h = $('avatarhandler');
		var hpos = h.cumulativeOffset();
		var hdim = h.getDimensions();
		var p = $$('#avatarimg img')[0];
		var ppos = p.cumulativeOffset()
		var pdim = p.getDimensions();
		
		// s kolko se izmenqt razmerite na handlera
		var coeff = hdim.width/80;
		
		// i s kolko da promenim razmerite na preview snimkata
		var newwidth = p.width;
		var newheight = p.height;
		if (p.width > p.height) {
			newwidth = p.width/coeff;
			newheight = newwidth/(p.width/p.height);
		} else if (p.width < p.height) {
			newheight = p.height/coeff;
			newwidth = newheight/(p.height/p.width);
		} else if (p.width == p.height) {
			newwidth = newheight = p.width/coeff;
		}
		
		$$('#avatarpreview img')[0].setStyle({top: (((ppos[1] - hpos[1])/coeff)+'px'), left: (((ppos[0] - hpos[0])/coeff)+'px'), width: (newwidth+'px'), height:  (newheight+'px')});
		

		if ($('def1')) {
			$('av_wdth').value = hdim.width;
			$('av_hght').value = hdim.height;
			$('av_tp').value = hpos[1]-ppos[1];
			$('av_lft').value = hpos[0]-ppos[0];
		}
		
	}
	
};

var OrganizeRearanger = {
	'oldmousemove' : '',
	'oldmouseup' : '',
	'currobj' : null,
	
	'init' : function() {
		var coll = $$('#collection .collrow');
		var albm = $$('#collection .albrow');
		$('collection').onmouseover = this.SetPos.bind(this);
		if (coll.length) {
			for (var i = 0; i < coll.length; i ++) {
				var el = $(coll[i]);
				el.onmousedown = this.StartDrag.bind(this);
			}
		}
		if (albm.length) {
			for (var i = 0; i < albm.length; i ++) {
				var el = $(albm[i]);
				el.onmousedown = this.StartDrag.bind(this);
			}
		}
	},
	
	'SetPos' : function(e) {
		if (!e) var e = window.event;
		Event.stop(e);
		if (!this.currobj) return false;
		var target = e.target != null ? e.target : e.srcElement;
		var found = false;
		while (target.parentNode && !target.className.match(/collrow/) && !target.className.match(/albrow/)) {
			target = target.parentNode;
		}
		
		if (target.nodeName.toLowerCase() == 'div' && $(target).parentNode == this.currobj.parentNode) {			
			var t1 = this.currobj.className.match(/collrow/) ? true : false;
			var t2 = target.className.match(/collrow/) ? true : false;
			var t3 = (t1 === t2);
			if (t3) {
				var h1 = $(target).cumulativeOffset()[1] + ($(target).getHeight() / 2);
				var h2 = Event.pointerY(e) + $('collection').cumulativeScrollOffset()[1];
				var lastel = null;
				var arr = this.currobj.parentNode.childNodes;
				for (var i = (arr.length - 1); i >= 0; i --) {
					if (arr[i] != this.currobj) {
						try {
							if (t1 && arr[i].className.match(/collrow/)) {
								lastel = arr[i];
								break;
							} else if (!t1 && arr[i].className.match(/albrow/)) {
								lastel = arr[i];
								break;
							}
						} catch (err) {
							// ...
						}
					}
				}
				
				if (h1 < h2 && lastel == target) {
					if (t1) {
						this.currobj.parentNode.appendChild($('rearange_helper'));
					} else {
						var arr = $$('#' + this.currobj.parentNode.id + ' div.collrow');
						if (arr.length) {
							this.currobj.parentNode.insertBefore($('rearange_helper'), arr[0]);
						} else {
							this.currobj.parentNode.appendChild($('rearange_helper'));
						}
					}
				} else {
					this.currobj.parentNode.insertBefore($('rearange_helper'), target);
				}
			}
		}
	},
	
	'StartDrag' : function(e) {
		if (!e) var e = window.event;
		Event.stop(e);
		var target = e.target != null ? e.target : e.srcElement;
		if (target.className == 'collswitch' || target.className == 'collmenu' || target.className == 'menuwrapperlink') {
			return false;
		}
		while (target.parentNode && !target.className.match(/collrow/) && !target.className.match(/albrow/)) {
			target = target.parentNode;
		}
		this.currobj = $(target);
		var treeid = this.currobj.getAttribute('treeid');
		if (treeid) {
			$('container' + treeid).hide();
		}
		
		this.currobj.parentNode.insertBefore($('rearange_helper'), this.currobj);
		$('rearange_helper').show();
		this.currobj.addClassName('ra_active');
		this.oldmousemove = document.onmousemove;
		this.oldmouseup = document.onmouseup;
		document.onmousemove = this.OnDrag.bind(this);
		document.onmouseup = this.EndDrag.bind(this);
	},
	
	'EndDrag' : function(e) {
		if (!e) var e = window.event;
		Event.stop(e);
		document.onmousemove = this.oldmousemove;
		document.onmouseup = this.oldmouseup;
		this.oldmousemove = '';
		this.oldmouseup = '';
		$('rearange_helper').parentNode.insertBefore(this.currobj, $('rearange_helper'));
		this.currobj.removeClassName('ra_active');
		this.currobj.setStyle({});
		$('rearange_helper').hide();
		
		var ids = []; 
		var chlds = this.currobj.parentNode.childNodes;
		var t1 = this.currobj.className.match(/collrow/) ? true : false;
		
		for (var i = 0; i < chlds.length; i ++) {
			try {
				var t2 = chlds[i].className.match(/collrow/) ? true : false;
				var t3 = (t1 === t2);
				if (t3) {
					if (t1) {
						var treeid = chlds[i].getAttribute('treeid');
						if (treeid) ids.push(treeid);
					} else {
						var albumid = chlds[i].getAttribute('albumid');
						if (albumid) ids.push(albumid);
					}
				}
			} catch (err) {
				// ...
			}
		}
		
		if (ids.length) {
			if (t1) {
				var lType = 1;
			} else {
				var lType = 2;
			}
			var treeid = this.currobj.parentNode.getAttribute('treeid');
			new Ajax.Updater('info', '/AjaxTreeRearange.php', {
				method: 'post',
				parameters: {'t': lType, 'ids': ids.toString(), 'cid': treeid},
				evalScripts: true
			});
		}
		
		this.currobj = null;
		return false;
	},
	
	'OnDrag' : function(e) {
		if (!e) var e = window.event;
		Event.stop(e);
		
		if (!this.currobj) {
			document.onmousemove = this.oldmousemove;
			this.oldmousemove = '';
			return false;
		}
		
		var target = e.target != null ? e.target : e.srcElement;
		var newleft = Event.pointerX(e) - $('collection').cumulativeOffset()[0] + 3;
		var newtop = Event.pointerY(e) - $('collection').cumulativeOffset()[1] - (this.currobj.getHeight() / 2);
		newtop = newtop + $('collection').cumulativeScrollOffset()[1];
		this.currobj.setStyle({top: newtop + "px", left: newleft + "px"});
		
		return false;
	}
};

function DisplayUserPanel(t, ibox) {
	var box = document.getElementById(ibox);
	d = getTooltipEl();
	di = document.getElementById("ttiframe");
	d.innerHTML = box.innerHTML;
	d.style.left = getOffset(t, "Left") + "px";
	d.style.top = getOffset(t, "Top") + "px";
	
	objLeft   = t.offsetLeft;
	objTop    = t.offsetTop;		
	objParent = t.offsetParent;

	while( objParent.tagName.toUpperCase() != "BODY" ) {
		objLeft  += objParent.offsetLeft;
		objTop   += objParent.offsetTop;
		objParent = objParent.offsetParent;
	}
	
	d.style.display = "block";
	di.style.display = "block";
	
	if (document.body.clientWidth < (objLeft + t.offsetWidth + d.offsetWidth)) {
		d.style.left = getOffset(t, "Left") - (d.offsetWidth - t.offsetWidth) + "px";
	}
	
	di.style.left = d.style.left;
	di.style.top = d.style.top;
	
	di.style.width = d.offsetWidth + 'px';
	di.style.height = d.offsetHeight + 'px';
}

function getTooltipEl() {
	d = document.getElementById("tooltipel");
	if (d) return d;

	di = document.createElement("IFRAME");
	di.id = "ttiframe";
	di.frameborder = 0;
	di.scrolling = "no";
	di.style.width = '250px';
	di.style.position = "absolute";
	di.style.border = "0px";
	di.style.zIndex = 90;
	document.body.appendChild(di);

	d = document.createElement("DIV");
	d.id = "tooltipel";
	d.className = 'infobox';
	d.style.zIndex = 100;
	document.body.appendChild(d);		
	return d;
}

function HideUserPanel(ibox) {
	d = getTooltipEl();
	di = document.getElementById("ttiframe");
	d.style.display = 'none';
	di.style.display = 'none';
}

function getOffset(el, which) {
	var amount = el["offset" + which];
	if (which=="Top")
		amount += el.offsetHeight;
	el = el.offsetParent;
	while (el != null) {
		amount += el["offset" + which];
		el = el.offsetParent;
	}
	return amount;
}

function submitMemberForm( pType ) {
	var frm = document.getElementById('membersform');
	if (!frm) return;
	var chkb = frm.getElementsByTagName('input');
	for (var i = 0; i < chkb.length; i ++) {
		if (chkb[i].name == 'tAction') {
			if( pType == 2 ) {
				chkb[i].value="membersmakenormal";
			}else if( pType == 3) {
				chkb[i].value="membersmakeadmin";
			}else if( pType == 4) {
				chkb[i].value="membersremove";
			}else if( pType == 5){
				chkb[i].value="membersblock";				
			}else if( pType == 6){
				chkb[i].value="membersunblock";				
			}else if( pType == 7){
				chkb[i].value="membersinvite";				
			}
			break;
		}
	}
	frm.submit();
}

function banners(zoneid) {
	var m3_u = (location.protocol=='https:'?'https://ads.pixto.bg/www/delivery/ajs.php':'http://ads.pixto.bg/www/delivery/ajs.php');
	var m3_r = Math.floor(Math.random()*99999999999);
	if (!document.MAX_used) document.MAX_used = ',';
	document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
	document.write ("?zoneid="+zoneid);
	document.write ('&amp;cb=' + m3_r);
	if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
	//~ document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
	document.write ('&amp;charset=UTF-8');
	document.write ("&amp;loc=" + escape(window.location));
	if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
	if (document.context) document.write ("&context=" + escape(document.context));
	if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
	document.write ("'><\/scr"+"ipt>");
}

function ShowLinksDiv(){
	var elem = $('photolinks');
	var elem_show = $('photolinks_show');
	if(elem) $('photolinks').style.display = 'block';
	if(elem_show) $('photolinks_show').hide();
}

function HideLinksDiv(){
	var elem = $('photolinks');
	var elem_show = $('photolinks_show');
	if(elem) $('photolinks').hide();
	if(elem_show) $('photolinks_show').style.display = 'block';
}

function RedirectCalendar(t, pMonth, pYear){
	var calendarvalue = document.getElementById("op_" + pMonth + "_" + pYear).value;
	window.location.href = calendarvalue;
}

function toggleSelect(el) {
	el.select();
}
