//==============================
// Автор: REZER
// http://rezer.net/ 
// Специально для iPhoto Lite
//==============================

//---------------------------------------------
//	Спойлер
//---------------------------------------------

function iPhotoSpoiler(){
	
	this.TableID = null;
	this.Table = null;
	this.TdElement = null;
	this.CountView = 5;
	this.CountTd = 0;
	this.ScroolCount = 0;
	this.MaxScrool = 0;
	this.ActiveTD = false;
	this.ImgSize = 100;
	
	this.Scrool = function( type ){
		
		this.ScroolCount = ( ( this.ScroolCount + type ) >= 0 ) ? this.ScroolCount + type : 0;
		if( this.ScroolCount > this.MaxScrool ) this.ScroolCount = this.MaxScrool;
		var Start = this.ScroolCount;
		var End = this.CountView + Start;
		
		for( var i = 0; i < this.CountTd; i++ )
			{
				if( i >= Start && i < End )
					{
						this.TdElement[ i ].style['display'] = "";
					}
						else
					{
						this.TdElement[ i ].style['display'] = "none";	
					}
			}
		
	}
	
	this.SelectTable = function(){
		this.Table = document.getElementById( this.TableID );
		this.TdElement = this.Table.getElementsByTagName( "td" );
		this.CountTd = this.TdElement.length;
		this.MaxScrool = this.CountTd - this.CountView;
	}
	
	this.ActiveCenter = function(){
		if( this.ActiveTD !== false )
			{
				var ToCenter = parseInt( this.CountView / 2 );
				this.ScroolCount = 0;
				this.Scrool( ( this.ActiveTD - ToCenter ) );
			}
	}
	
	this.TableSize = function(){
		
		var TableWidth = ( ( this.ImgSize + 10 ) * this.CountView );
		var ContentWidth = TableWidth + 50;
		
		document.getElementById( this.TableID + "_content" ).style['width'] = ContentWidth + "px";
		document.getElementById( this.TableID ).style['width'] = TableWidth + "px";
	}
	
	this.Start = function(){
		this.SelectTable();
		for( var i = 0; i < this.CountTd; i++ )
			{
				if( this.TdElement[ i ].getElementsByTagName( "img" )[0].className == "active" ) this.ActiveTD = i;
				if( i >= this.CountView )
					{
						this.TdElement[ i ].style['display'] = "none";
					}
			}
		
		this.TableSize();
		this.ActiveCenter();
	}
	
}

//---------------------------------------------
//	Комментарии
//---------------------------------------------

var iPhotoAnserCommentsID = new Array();
var TreeComWysiwyg = false;

// Цитирорование выделенного текста
function iPhotoQuoteSelectedText( name ) {
	
	if ( !document.getElementById( "addcomments_form" ) ) return false;
	var input = document.getElementById( "comments" );
	var finalhtml = "";
	
	if( dle_txt != "" )
		{
			input.value += dle_txt;
		}
			else
		{ 
			input.value += "[b]" + name + "[/b]," + "\n";
		}	
}

// Создание формы ответа на комментарий
function iPhotoAnswerComment( id ){

	if( !iPhotoAnserCommentsID[ id ] )
		{
			iPhotoCancelAnswer();			
			document.getElementById( "tree_comments_form-" + id ).innerHTML = form_test;
			iPhotoAnserCommentsID[ id ] = 1;
			document.getElementById( "addcomments_form" ).innerHTML = "";
			document.getElementById( "cancel_answer" ).style['display'] = "";
			document.getElementById( "cancel_answer" ).innerHTML = "<input type=\"button\" onclick=\"iPhotoAnswerComment( '" + id + "' ); return false;\" class=\"bbcodes\" value=\"Отменить\" /><input type=\"hidden\" name=\"answer_id\" value=\"" + id + "\">";
		}
			else
		{
			iPhotoAllCancelAnswer();
		}
}

// Отмена ответа на комментарий
function iPhotoAllCancelAnswer(){
	
	iPhotoCancelAnswer();
	document.getElementById( "addcomments_form" ).innerHTML = form_test;
	document.getElementById( "cancel_answer" ).style['display'] = "none";	
}

// Убирание формы ответа на комментарий
function iPhotoCancelAnswer(){

	var com_search = document.getElementById( "dle-content" );
	var com_answer = com_search.getElementsByTagName( "div" );
	var count_com = com_answer.length;
	for( var i = 0; i < count_com; i++ )
		{
			if( com_answer[ i ] != null )
				{
					if( /tree_comments_form-[0-9]/i.exec( com_answer[ i ].id ) != null )
						{
							com_answer[ i ].innerHTML = "";
							var answer_id = com_answer[ i ].id.match( /[0-9]{1,50}/ );
							iPhotoAnserCommentsID[ answer_id[ 0 ] ] = 0;
							delete( answer_id );
						}
				}
		}
}

// Навигация по комментариям
function iPhotoComPage( page, photo_id, link_tpl ){
	
	iPhotoAllCancelAnswer();
	if( document.getElementById( "status-nav-com" ) != null )
		{
			document.getElementById( "status-nav-com" ).innerHTML = "<img src=\"/templates/" + dle_skin + "/iphoto/style/horizont-ajax.gif\" border=\"0\" alt=\"Загрузка\" align=\"absmiddle\" />";
		}
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/com-navigation.php",
		data: "com_page=" + page + "&photo_id=" + photo_id+ "&link_tpl=" + link_tpl,
		success: function( data ){
			$( "#iphoto_comments" ).html( data );
			window.location = "#comment";
		},
		dataType: "html",
		type: "POST"
	});
}

// Добавлеение комментария
function iPhotoAddComments(){

	var Url = "";
	var form = document.forms['AddiPhotoComment'];
    ShowLoading( "" );
	
	for( var i = 0; i < form.elements.length; i++ )
		{
			var ElementForm = form.elements[i];
			switch( ElementForm.type ){
				
				case "checkbox": {
					if( ElementForm.checked == true )
						{
							Url += "&" + ElementForm.name + "=" + ElementForm.value;
						}
					break
				}
				
				default: {
					Url += "&" + ElementForm.name + "=" + ElementForm.value;
					break
				}
			}
		}
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/addcomments.php",
		data: Url,
		success: function( data ){
			
			HideLoading( "" );
			if( form.answer_id )
				{
					$( "#tree_comments_form-" + form.answer_id.value ).html( data );
					document.getElementById( "button_answer_to_" + form.answer_id.value ).innerHTML = "";
				}
					else
				{
					var new_id = Math.floor( Math.random() * ( 100 - 5 + 1 ) ) + 5;
					var Element = document.createElement( "div" );
					document.getElementById( "iPhotoCommentsList" ).appendChild( Element );
					Element.id = "new_comment_" + new_id;
					$( "#" + Element.id ).html( data );
				}
				
			if( document.getElementById( "iPhotoNotComment" ) != null )
				{
					var DelElement = document.getElementById( "iPhotoNotComment" );
					DelElement.parentNode.removeChild( DelElement );
				}
			
			if( form.answer_id )
				{
					var ObjCom = document.getElementById( "tree_comments_form-" + form.answer_id.value );
					ObjCom.id = "tree_comments_result-" + form.answer_id.value;
					iPhotoAllCancelAnswer();
				}			
		},
		dataType: "html",
		type: "POST"
	});
}

// Удаление комментариев
function iPhotoDelCom( id, photo_id ){
	
	var Quest = confirm( "Вы действительно желаете удалить данный комментарий?" );
	if( Quest )
		{
			document.getElementById( "comm-id-" + id ).innerHTML = "Происходит удаление, дождитесь ответа...";
			
			$.ajax({
				url: dle_root + "engine/ajax/iphoto/com-del.php",
				data: "id=" + id + "&photo_id=" + photo_id,
				success: function( data ){
					$( "#comm-id-" + id ).html( data );
				},
				dataType: "html",
				type: "POST"
			});	
		}	
}

// Редактирование комментариев
var iPhotoCasheComEdit = new Array();
function iPhotoEditCom( id, photo_id ){
	
	if( !iPhotoCasheComEdit[ id ] ) iPhotoCasheComEdit[ id ] = document.getElementById( "comm-id-" + id ).innerHTML;
	document.getElementById( "comm-id-" + id ).innerHTML = "Загрузка, дождитесь ответа...";	
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/com-edit.php",
		data: "id=" + id,
		success: function( data ){
			$( "#comm-id-" + id ).html( data );
			fombj = document.forms['AddiPhotoComment'];
		},
		dataType: "html",
		type: "POST"
	});
}

// Сохранение редактирования комментария
function iPhotoSaveEditCom( id, photo_id ){
	
	var Comment = document.getElementById( "dleeditcomments" + id ).value;
	document.getElementById( "comm-id-" + id ).innerHTML = "Сохранение, дождитесь ответа...";
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/com-edit.php",
		data: "id=" + id + "&comments=" + Comment + "&save=1",
		success: function( data ){
			$( "#comm-id-" + id ).html( data );
		},
		dataType: "html",
		type: "POST"
	});
}

// Отмена редактирования комментария
function CanceiPhotoEditCom( id ){
	document.getElementById( "comm-id-" + id ).innerHTML = iPhotoCasheComEdit[ id ];
	iPhotoCasheComEdit[ id ] = "";
}

//---------------------------------------------
//	Другие функции
//---------------------------------------------

// AJAX навигация по блогу
function iPhotoAjaxNvigation( url, type ){
	
	var Location = "";
	if( type == "AllAlbums" )
		{
			document.getElementById( "status-nav-iphoto" ).innerHTML = "<img src=\"/templates/" + dle_skin + "/iphoto/style/status.gif\" alt=\"Загрузка\" border=\"0\" />";
			Location = "#AlbumsList";
		}
	else if( type == "PhotoOnSpoiler" )
		{
			var SpoilerHeight = document.getElementById( "iPhotoSpoiler_content" ).clientHeight;
			if( SpoilerHeight > 0 )
				{
					SpoilerHeight = SpoilerHeight + 2;
					var ImgTop = ( ( SpoilerHeight - 16 ) / 2 );
					var ImgLeft = ( ( document.getElementById( "iPhotoSpoiler_content" ).clientWidth ) / 2 );
					var InnerImg = "<img src=\"/templates/" + dle_skin + "/iphoto/style/load.gif\" alt=\"Загрузка\" border=\"0\" style=\"margin: " + ImgTop + "px 0px 0px 0px;\" />";
					var AddBg = "<div class=\"spoiler_ajax_bg\"><div class=\"spoiler_ajax_bg_block\" style=\"height: " + SpoilerHeight + "px;\">" + InnerImg + "</div></div>";
					var MiniCartContent = document.getElementById( "iPhotoSpoiler_content" ).innerHTML;
					document.getElementById( "iPhotoSpoiler_content" ).innerHTML = AddBg + MiniCartContent;
				}
			
			Location = "#iPhotoMainPhoto";
		}
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/navigation.ajax.php",
		data: url,
		success: function( data ){
			$( "#dle-content" ).html( data );
			if( Location ) window.location = Location;
		},
		dataType: "html",
		type: "GET"
	});
}

// Рейтинг фотографии
function iPhotoPhotoRating( num, id ){
	
	$.ajax({
		url: dle_root + "engine/ajax/iphoto/rating.photo.php",
		data: "num=" + num + "&id=" + id,
		success: function( data ){
			$( "#iPhotoRating-" + id ).html( data );
		},
		dataType: "html",
		type: "POST"
	});
}

// Обновление капчи
function iPhotoReCaptcha(){
	var rndval = new Date().getTime(); 
	if( document.getElementById( "dle-captcha") != null ) document.getElementById( "dle-captcha").innerHTML = "<img src=\"/engine/modules/antibot.php?rndval=" + rndval + "\" border=\"0\" width=\"120\" height=\"50\" onclick=\"iPhotoReCaptcha(); return false;\" style=\"cursor: pointer;\" />";
}
