var scroller;

window.addEvent('domready', function() {
	if($defined($('albumThumbs'))) {
		scroller = new Fx.Scroll('albumThumbs');

	    $('thumbsScrollUp').addEvent('click', function() {
	        scroller.start(0, $('albumThumbs').getScroll().y - $('albumThumbs').getSize().y - 4);
	    });

	    $('thumbsScrollDown').addEvent('click', function() {
	        scroller.start(0, $('albumThumbs').getScroll().y + $('albumThumbs').getSize().y + 4);
	    });

		if($$('#albumThumbs .thumb').length > 5) {
        	$('thumbsScrollUp').show('block');
        	$('thumbsScrollDown').show('block');
		}
	}
});



var load_txt = '<table border=0 cellpadding=4><tr><td><img src="http://pics.nashgorod.ru/i/is_load.gif"></td><td>Идет загрузка данных</td></tr></table>';

var ajax_adr = '/includes/ajax_scripts/photogal.php?mode=';
var spaceStr = /^\s+$/;

var new_div_idname = 'addDiv'; //используется в функ-ях displayMessage

window.onerror = function(msg, url, line) {
	 alert("Ошибка: " + msg + "\n" + url + ":" + line);
	 return true;
}
window.onerror = function() {return true;}

function select_all(element)
{
	element.focus();
	element.select();
}

function massSelectAll()
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.checked == true) {
            img.checked = false;
        } else {
            img.checked = true;
        }
        //img.set('checked') = true;
        //img.checked = true;
    });
}

function massDeleteCheckedFotos(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0 && confirm('Вы действительно хотите удалить выбранные фотографии?'))
    {
        hideUnusedMassDivs();
        options = {
            url: ajax_adr + 'massDeleteCheckedFotos',
            data: {'photoids':fotoids},
            onSuccess: function(result) {
                if(result['result']) {
                    get_user_foto_list(album_id);
                } else {
                    alert(result['info_msg']);
                }
            }
        };
        new Request.JSON(options).send();
    }
}

function massMoveCheckedFotos(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0 && confirm('Вы действительно хотите переместить выбранные фотографии?'))
    {
        hideUnusedMassDivs();
        toAlbumId = $('moveToAlbumId').options[$('moveToAlbumId').selectedIndex].value;
        
        options = {
            url: ajax_adr + 'massMoveCheckedFotos',
            data: {'photoids':fotoids, 'toAlbumId':toAlbumId},
            onSuccess: function(result) {
                if(result['result']) {
                     get_user_foto_list(album_id);
                } else {
                    alert('Ошибка');
                }
            }
        };
        new Request.JSON(options).send();
    }
}

function hideUnusedMassDivs()
{
    var divs = $$('div[id^=massPreviewLinks]');
    $each(divs, function(div, index){
        hide(div);
    });
    var divs = $$('div[id^=massPreviewHtml]');
    $each(divs, function(div, index){
        hide(div);
    });
}

function massPreviewLinksSmall(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0)
    {
        options = {
            url: ajax_adr + 'massPreviewLinksSmall',
            data: {'photoids':fotoids},
            onSuccess: function(result) {
                if(result['result']) {
                    hideUnusedMassDivs();
                    show('massPreviewLinks');
                    $('massPreviewLinksTextarea').value = result['html'];
                } else {
                    alert('Ошибка');
                }
            }
        };
        new Request.JSON(options).send();
    }
}

function massPreviewLinksBig(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0)
    {
        options = {
            url: ajax_adr + 'massPreviewLinksBig',
            data: {'photoids':fotoids},
            onSuccess: function(result) {
                if(result['result']) {
                    hideUnusedMassDivs();
                    show('massPreviewLinksBig');
                    $('massPreviewLinksTextareaBig').value = result['html'];
                } else {
                    alert('Ошибка');
                }
            }
        };
        new Request.JSON(options).send();
    }
}

function massPreviewHtmlSmall(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0)
    {
        options = {
            url: ajax_adr + 'massPreviewHtmlSmall',
            data: {'photoids':fotoids},
            onSuccess: function(result) {
                if(result['result']) {
                    hideUnusedMassDivs();
                    show('massPreviewHtml');
                    $('massPreviewHtmlTextarea').value = result['html'];
                } else {
                    alert('Ошибка');
                }
            }
        };
        new Request.JSON(options).send();
    }
}

function massPreviewHtmlBig(album_id)
{
    var imgs = $$('input[id^=checkbox]');
    var fotoids = [];
    $each(imgs, function(img, index){
        if (img.get('checked') == true) {
            fotoids.push(img.get('id').replace('checkbox',''));
        }
        
    });
    
    if (fotoids.length > 0)
    {
        options = {
            url: ajax_adr + 'massPreviewHtmlBig',
            data: {'photoids':fotoids},
            onSuccess: function(result) {
                if(result['result']) {
                    hideUnusedMassDivs();
                    show('massPreviewHtmlBig');
                    $('massPreviewHtmlTextareaBig').value = result['html'];
                } else {
                    alert('Ошибка');
                }
            }
        };
        new Request.JSON(options).send();
    }
}






function updatePhotoMain()
{
//	var curr_img = $$('img.active')[0].id;
	var curr_img = $$('#albumThumbs a.active img')[0].id;
	//var imgs = $('foto_cont').getElements('img');
    var imgs = $$('img[id^=contimg]');
    //contimg
    //var imgs = $$('a.myClass');;
	$each(imgs, function(img, index){
		if (img.id == curr_img)
		{
			if (imgs[index+1])
			{
				var photo_id = imgs[index+1].id;
			}
			else
			{
				var photo_id = imgs[0].id;	
			}
			
			updatePhoto(photo_id.replace('contimg',''));
			
			return;
		}
	});
}

function updatePhotoMainBackward()
{
//    var curr_img = $$('img.active')[0].id;
	var curr_img = $$('#albumThumbs a.active img')[0].id;

    var imgs = $$('img[id^=contimg]');
    $each(imgs, function(img, index){
        if (img.id == curr_img) {
            if (imgs[index-1]) {
                var photo_id = imgs[index-1].id;
            } else {
                var photo_id = imgs[imgs.length-1].id;    
            }
            
            updatePhoto(photo_id.replace('contimg',''));
            return;
        }
    });
}

function updatePhoto(photo_id,photo)
{
   	//alert(photo_id);
	/*
	var img_ed_class = $$('img.cont_foto_curr');
	if (img_ed_class[0]) {
		img_ed_class[0].removeClass('cont_foto_curr');
	}
	$('contimg' + photo_id).addClass('cont_foto_curr');
	*/
	$$('#albumThumbs a.active').removeClass('active');
	$('contimg' + photo_id).getParent('a').addClass('active');

	// scroller
	if(scroller) scroller.start(0, $('albumThumbs').getElement('a.active').getPosition($('albumThumbs')).y - 180);

//	$('foto_500').fade('0.3');


	options = {
		url: ajax_adr + 'get_photo_info',
		data: {'photo_id':photo_id},
		onSuccess: function(result) {
			if(result['result']) {
				$('foto_name').innerHTML = (result['title'] == null) ? '' : result['title'];
				$('foto_descr').innerHTML = (result['descr'] == null) ? '' : result['descr'];
//				$('foto_500').src = result['foto_500'];

				preload = new Image();
				preload.src = result['foto_500'];
				preload.onload = function() {
					$('currentPhoto').src = result['foto_500'];
					$('currentPhoto').width = result['width'];
					$('currentPhoto').height = result['height'];
					$('currentPhoto').fade('1');
				}

//				$('add_img_links').innerHTML = result['addlinks'];
				$('photoSizes').innerHTML = result['addlinks'];


				$('tags').innerHTML = result['tags'];
				$('link_1').value = result['foto_500'];
				$('link_2').value = '[img]' + result['foto_500'] + '[/img]';
				$('link_3').value = '[url=' + result['foto_500'] + '][img]' + result['pic_name'].replace('orig','80') + '[/img][/url]';
//				$('comments_txt').innerHTML = result['comments'];
				$('photoCommentsList').innerHTML = result['comments']['comments'];
				$('comments_num').set('html', result['comments']['comments_num']);
				//hide(new_div_idname);
				//$('foto_500').fade('show');
//				$('foto_500').fade('1');
				$('currentPhoto').fade('1');
//                $('photogal-raiting').innerHTML = result['vote_html'];
                $('photoVote').innerHTML = result['vote_html'];

                if (result['views_count']) {
                    $('views_count').innerHTML = result['views_count'];
                }


                if($defined($('photo_id'))) $('photo_id').value = photo_id;

//                hide('cooment_form');
                //show('comment-form-link');

                if (result['comments']) {
                	$('photoCommentsWrap').show();
//                    show('foto_comments');
                } else {
                	$('photoCommentsWrap').hide();
//                    hide('foto_comments');
                }

				$('photoCommentsWrap').show();
                //show('foto_comments');
			}
			else
			{
//				$('foto_500').fade('show');
				$('currentPhoto').fade('show');

				//hide(new_div_idname);
				alert('Ошибка.');
			}
		},
		onRequest: function() {
       		$('currentPhoto').fade('0.3');
		}
	};
	new Request.JSON(options).send();
	
	return false;
}

function deleteComment(photo_id,cid)
{
	if (confirm('Действительно хотите удалить?'))
	{
		options = {
			url: ajax_adr + 'delete_comment',
			data: {'photo_id':photo_id,'cid':cid},
			onSuccess: function(result) {
				if(result['result'])
				{
					get_foto_comments();
					ngrjQ('#comments_num').html(parseInt(ngrjQ('#comments_num').html()) - 1);
					//alert('Комментарий удален.');
				}
				else
				{
					alert('Ошибка. Этот комментарий удалить нельзя.');
				}
			}
		};
		new Request.JSON(options).send();
	}
	return false;
}

function rcap()
{
	var n = Math.round(Math.random()*100);
	document.getElementById('rnd_n').src = '/includes/rnd_image.php?n=' + n;
}

function hide(element) {
	//$(element).style.display = 'none';
	//return element;
    if (element != null) {
        $(element).style.display = 'none';      
    }
	return false;
}

function show(element) {
	$(element).style.display = '';
	return element;
}

function displayMessage(error_txt,autohide) 
{
	var error_txt = error_txt || load_txt; // если не определена, то берем по дефолту
	var autohide = autohide || false; // если не определена, то берем по дефолту
	
	if ($(new_div_idname))
	{
		$(new_div_idname).dispose();
	}
	
	var add_div = document.createElement("div");
	add_div.id = new_div_idname;
	document.body.appendChild(add_div);
	
	add_div = $(new_div_idname);
	
	add_div.innerHTML = "<div style=padding:10px>" + error_txt;
	
	if (!autohide) { //имеет смысл выводить ссылку "закрыть" только если див не самозакрывается 
		add_div.innerHTML = add_div.innerHTML + "<div align=center><a href=\"#\" onclick=\"return hide('addDiv')\">ЗАКРЫТЬ</a><br><br></div>";
	}
	
	add_div.innerHTML = add_div.innerHTML + "</div>";
	
	$(add_div).addClass('info_mess');
	
	pos_center(new_div_idname);
	
	if (autohide && autohide != 'justshow') setTimeout(function(){hide(new_div_idname)},3000); //если после показа сообщения нужно автоматом скрыт сообщение - скроем
}


function pos_center(id_elem)
{
	if (document.getElementById && !document.all) // Detect FF
	{
		var IpopTop = (window.innerHeight - $(id_elem).offsetHeight)/2;
		var IpopLeft = (window.innerWidth - $(id_elem).offsetWidth)/2;
		$(id_elem).style.left = IpopLeft + window.pageXOffset;
		$(id_elem).style.top = IpopTop + window.pageYOffset;
	}
	else // Just assume otherwise (IE) at this stage.
	{
		var IpopTop = (document.body.clientHeight - $(id_elem).offsetHeight)/2;
		var IpopLeft = (document.body.clientWidth - $(id_elem).offsetWidth)/2;
		$(id_elem).style.left = IpopLeft + document.body.scrollLeft;
		$(id_elem).style.top = IpopTop + document.body.scrollTop;
	}
	$(id_elem).style.visibility = "visible";
}


function hideshow(element) {
	var vis = $(element).style.display;
	$(element).style.display = (vis == 'none') ? '' : 'none';
 }

function addComment()
{
	//if ($('comment').value == '' || spaceStr.test($('comment').value))
	if(tinyMCE.activeEditor.getContent().clean() == '')
	{
		$('comment').value = '';
		$('comment').focus();
		alert('Введите комментарий.');	
		return false;
	}
	
	//displayMessage();
	options = {
		url: ajax_adr + 'add_comment',
//		data: $('commentform'),
//		data: $('photoCommentForm'),
		data: { 'photo_id': $('photo_id').value, 'comment': tinyMCE.activeEditor.getContent() },
		onSuccess: function(result) {
			//hide(new_div_idname);
			if(result['result'])
			{
				tinyMCE.activeEditor.setContent('');
				//$('comment').value = '';
				//$('rnd').value = '';
				//$('comment').focus();
				//rcap();
				//alert('Комментарий добавлен.');
//				toggle('cooment_form');
                get_foto_comments();
               	$('photoCommentsWrap').show();
				ngrjQ('#comments_num').html(parseInt(ngrjQ('#comments_num').html()) + 1);
//                show('foto_comments');
			}
		}
	};
	new Request.JSON(options).send();
}

function get_foto_comments()
{
	options = {
		url: ajax_adr + 'get_foto_comments',
		data: {'photo_id':$('photo_id').value},
		onSuccess: function(result) {
			if(result['result'])
			{
//				$('comments_txt').innerHTML = result['comments'];
				$('photoCommentsList').innerHTML = result['comments'];

			}
			else
			{
				alert('Ошибка. ' + result['error']);
			}
		}
	};
	new Request.JSON(options).send();
}


/* ------------------------------------------------------------------------- */
function ratingHover(id, name)
{
    for (var i = 1; i <= 5; i++) {
        star=document.getElementById(name + i);
        if (i <= id) {
            star.src = "http://pics.nashgorod.ru/photogalico/star_orange.gif";
        } else {
            star.src = "http://pics.nashgorod.ru/photogalico/star_grey.gif";
        }
    }
}

function ratingUnHover()
{
    for (var i = 1; i <= 5; i++) {
        star = document.getElementById('star' + i);
        star.src = "http://pics.nashgorod.ru/photogalico/star_grey.gif";
    }
}

function rateMe(photo_id, vote)
{
    var ajax_adr = '/includes/ajax_scripts/photogal.php?mode=';
    
//    $('photogal-raiting').fade('0');

    options = {
        url: ajax_adr + 'rate_photo',
        data: {'photo_id':photo_id, 'vote':vote},
        onSuccess: function(result) {
            if(result['result']) {
//                $('photogal-raiting').set('html', result['html']);
                $('photoVote').set('html', result['html']);
                $('rateStars').set('html', 'Спасибо, ваш голос принят.');
//                $('photogal-raiting').fade('1');
                $('photoVote').set('html', result['html']);
            } else {
//                $('photogal-raiting').innerHTML = '';
                $('photoVote').set('html', result['html']);
            }
        }
    };
    new Request.JSON(options).send();
    
    return false;
}
/* ------------------------------------------------------------------------- */
