//==============================
// Автор: 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\" />";
		}
	
	var ajax = new dle_ajax();
	ajax.setVar( "com_page", page );
	ajax.setVar( "photo_id", photo_id );
	ajax.setVar( "link_tpl", link_tpl );
	ajax.requestFile = "/engine/ajax/iphoto/com-navigation.php";
	ajax.method = 'POST';
	ajax.execute = true;
	ajax.onCompletion = function(){
		window.location = "#comment";
	}
	ajax.element = "iphoto_comments";
	ajax.sendAJAX();
	
}

// Добавлеение комментария
function iPhotoAddComments(){

	var form = document.forms['AddiPhotoComment'];
    var ajax = new dle_ajax();
	
	ajax.onShow( "" );
	
	for( var i=0; i < form.elements.length; i++ )
		{
			var ElementForm = form.elements[i];
			switch( ElementForm.type ){
				
				case "checkbox": {
					if( ElementForm.checked == true )
						{
							ajax.setVar( ElementForm.name, ajax.encodeVAR( ElementForm.value ) );
						}
					break
				}
				
				default: {
					ajax.setVar( ElementForm.name, ajax.encodeVAR( ElementForm.value ) );
					break
				}
			}
		}

	ajax.requestFile = dle_root + "engine/ajax/iphoto/addcomments.php";
	ajax.method = "POST";
	ajax.execute = true;
	if( form.answer_id )
		{
			ajax.element = "tree_comments_form-" + form.answer_id.value;
			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;
			ajax.element = Element.id;
		}
		
	ajax.onCompletion = function(){
		
		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();
			}
		
	}
	
	ajax.sendAJAX();
}

// Удаление комментариев
function iPhotoDelCom( id, photo_id ){
	
	var Quest = confirm( "Вы действительно желаете удалить данный комментарий?" );
	if( Quest )
		{
			document.getElementById( "comm-id-" + id ).innerHTML = "Происходит удаление, дождитесь ответа...";	
			var ajax = new dle_ajax();
			ajax.setVar( "id", id );
			ajax.setVar( "photo_id", photo_id );
			ajax.requestFile = "/engine/ajax/iphoto/com-del.php";
			ajax.method = "POST";
			ajax.execute = true;
			ajax.element = "comm-id-" + id;
			ajax.sendAJAX();	
		}	
}

// Редактирование комментариев
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 = "Загрузка, дождитесь ответа...";	
	var ajax = new dle_ajax();
	ajax.setVar( "id", id );
	ajax.requestFile = "/engine/ajax/iphoto/com-edit.php";
	ajax.method = "POST";
	ajax.execute = true;
	ajax.element = "comm-id-" + id;
	ajax.onCompletion = function(){
		fombj = document.forms['AddiPhotoComment'];
	}
	ajax.sendAJAX();
}

// Сохранение редактирования комментария
function iPhotoSaveEditCom( id, photo_id ){
	
	var Comment = document.getElementById( "dleeditcomments" + id ).value;
		
	document.getElementById( "comm-id-" + id ).innerHTML = "Сохранение, дождитесь ответа...";	
	var ajax = new dle_ajax();
	ajax.setVar( "id", id );
	ajax.setVar( "comments", ajax.encodeVAR( Comment ) );
	ajax.setVar( "save", 1 );
	ajax.requestFile = "/engine/ajax/iphoto/com-edit.php";
	ajax.method = "POST";
	ajax.execute = true;
	ajax.element = "comm-id-" + id;
	ajax.sendAJAX();
}

// Отмена редактирования комментария
function CanceiPhotoEditCom( id ){
	document.getElementById( "comm-id-" + id ).innerHTML = iPhotoCasheComEdit[ id ];
	iPhotoCasheComEdit[ id ] = "";
}

//---------------------------------------------
//	Другие функции
//---------------------------------------------

// AJAX навигация по блогу
function iPhotoAjaxNvigation( url, type ){
	
	var ajax = new dle_ajax();
	
	if( type == "AllAlbums" )
		{
			document.getElementById( "status-nav-iphoto" ).innerHTML = "<img src=\"/templates/" + dle_skin + "/iphoto/style/status.gif\" alt=\"Загрузка\" border=\"0\" />";
			ajax.onCompletion = function(){
				window.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;
				}
			
			ajax.onCompletion = function(){
				window.location = "#iPhotoMainPhoto";
			}
		}
	
	ajax.requestFile = dle_root + "engine/ajax/iphoto/navigation.ajax.php";
	ajax.method = "GET";
	ajax.execute = true;
	ajax.element = "dle-content";
	ajax.sendAJAX( url );
}

// Рейтинг фотографии
function iPhotoPhotoRating( num, id ){
	
	var ajax = new dle_ajax();
	ajax.setVar( "num", num );
	ajax.setVar( "id", id );
	ajax.requestFile = dle_root + "engine/ajax/iphoto/rating.photo.php";
	ajax.method = "POST";
	ajax.execute = true;
	ajax.element = "iPhotoRating-" + id;
	ajax.sendAJAX();
}

// Обновление капчи
function iPhotoReCaptcha(){
	var rndval = new Date().getTime(); 
	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;\" />";
}
