jQuery.extend({
	context: function (context) {
		var co = {
			callback: function (method) {
				if (typeof method == 'string') method = context[method];
				var cb = function () { method.apply(context, arguments); }
				return cb;
			}
		};
		return co;
	}
});
// новая версия
$("document").ready(
		function() {
			/* photos upload tabs */
			$("#photoalbum-upload-toggle-apiece").click(
				function() {
					$("#photoalbum-upload-toggle-archive").removeClass("active");
					$("#photoalbum-upload-toggle-video").removeClass("active");
					$(this).addClass("active");
					$("#photoalbum-upload-type-archive").hide();
					$("#photoalbum-upload-type-video").hide();
					$("#photoalbum-upload-type-apiece").show();
					return false;
				}
			);
			$("#photoalbum-upload-toggle-archive").click(
				function() {
					$("#photoalbum-upload-toggle-apiece").removeClass("active");
					$("#photoalbum-upload-toggle-video").removeClass("active");
					$(this).addClass("active");
					$("#photoalbum-upload-type-apiece").hide();
					$("#photoalbum-upload-type-video").hide();
					$("#photoalbum-upload-type-archive").show();
					return false;
				}
			);
			
			$("#photoalbum-upload-toggle-video").click(
				function() {
					$("#photoalbum-upload-toggle-apiece").removeClass("active");
					$("#photoalbum-upload-toggle-archive").removeClass("active");
					$(this).addClass("active");
					$("#photoalbum-upload-type-apiece").hide();
					$("#photoalbum-upload-type-archive").hide();
					$("#photoalbum-upload-type-video").show();
					return false;
				}
			);
			
			/* photoalbum photo list modify */
			$(".photoalbum-album-modify a").toggle(
				function() {
					$(this).parents(".photoalbum-album-modify").siblings(".photoalbum-album-modify-list").show();
				},
				function() {
					$(this).parents(".photoalbum-album-modify").siblings(".photoalbum-album-modify-list").hide();
				}
			);
			
			/* photoalbum photo detail modify */
			$(".photoalbum-photo-detail-modify a").toggle(
				function() {
					ul_list_left = $(this).parents(".photoalbum-photo-detail-modify").attr("offsetLeft");
					ul_list_width = $(this).parents(".photoalbum-photo-detail-modify").siblings(".photoalbum-photo-detail-modify-list").width();
					ul_list_offset_left =  ((ul_list_left + ul_list_width) <= 723) ? ul_list_left : ul_list_left - (ul_list_left + ul_list_width - 723);
					
					$(this).parents(".photoalbum-photo-detail-modify").siblings(".photoalbum-photo-detail-modify-list").css({
						'left': ul_list_offset_left + 'px'
					}).show();
				},
				function() {
					$(this).parents(".photoalbum-photo-detail-modify").siblings(".photoalbum-photo-detail-modify-list").hide();
				}
			);
			
			
			/* photoalbum photo detail scroll events */
			$(".photoalbum-photo-detail-siblings-scroll-left").click(
				function() {
					if ($("#currentLeftShowed").prev().size() > 0) {
						$("#currentLeftShowed").prev().attr("id", "currentLeftShowed").show().end().removeAttr("id");
						$("#currentRightShowed").prev().attr("id", "currentRightShowed").end().removeAttr("id").hide();
					}
				}
			);
			$(".photoalbum-photo-detail-siblings-scroll-right").click(
				function() {
					if ($("#currentRightShowed").next().size() > 0) {
						$("#currentRightShowed").next().attr("id", "currentRightShowed").show().end().removeAttr("id");
						$("#currentLeftShowed").next().attr("id", "currentLeftShowed").end().removeAttr("id").hide();
					}
				}
			);

		}
	);
function HideBlock( sBlockId ) {
	jQuery('#' + sBlockId).hide();
}
function ShowBlock( sBlockId ) {
	jQuery(".action_photo").hide();
	jQuery('#' + sBlockId).show();
	jQuery(".photoalbum-photo-detail-modify a").click();
}
function ShowMarkerBlock( sBlockId ) {
	jQuery(".action_photo").hide();
	jQuery('#' + sBlockId).show();
}
function ShowEditBlock() {
	jQuery('.prod_info').hide();
	ShowBlock( 'edit_photo' );
}
function CloseEditBlock() {
	HideBlock( 'edit_photo' );
	jQuery('.prod_info').show();
}
function SavePhotoInfo() {
	var desc = jQuery('#photo_desc').val();
	jQuery('.photoalbum-photo-detail-description').html( nl2br( desc ) );
	jQuery('.photoalbum-photo-detail-header').text( jQuery('#photo_name').val() );
	CloseEditBlock();
}
function nl2br (str, is_xhtml) {
    // Converts newlines to HTML line breaks  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/nl2br    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Philip Peterson
    // +   improved by: Onno Marsman
    // +   improved by: Atli Þór
    // +   bugfixed by: Onno Marsman    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Maximusya
    // *     example 1: nl2br('Kevin\nvan\nZonneveld');    // *     returns 1: 'Kevin\nvan\nZonneveld'
    // *     example 2: nl2br("\nOne\nTwo\n\nThree\n", false);
    // *     returns 2: '<br>\nOne<br>\nTwo<br>\n<br>\nThree<br>\n'
    // *     example 3: nl2br("\nOne\nTwo\n\nThree\n", true);
    // *     returns 3: '\nOne\nTwo\n\nThree\n'    
	var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
 
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}
function SetIcon( icon_id ) {
	jQuery('.album_icon').addClass('not_active');
	jQuery('img.mark').removeClass('mark').addClass('unmark');
	jQuery('#im_' + icon_id).removeClass('not_active');
	jQuery('#dim_' + icon_id).removeClass('unmark');
	jQuery('#dim_' + icon_id).addClass('mark');
	jQuery('#icon_id').val(icon_id);
}
function setUserID(sss) {
	//alert(sss);
}
function add_upload_block() {
	var allowadd = jQuery('input[name="AllowFileCount"]').val() * 1;
	var alreadyadd = jQuery('input[name="FileCount"]').val() * 1;
	var nextblock = alreadyadd + 1;
	if ( nextblock == allowadd ) {
		jQuery('.b-f-add_photo_block_button').hide();
		jQuery('#upload_block_' + nextblock).show();
		jQuery('input[name="FileCount"]').val( nextblock );
	} else {
		jQuery('#upload_block_' + nextblock).show();
		jQuery('input[name="FileCount"]').val( nextblock );
	}
}

function markUser( form_id ) {
	var user = jQuery( '#' + form_id + ' input[name="USER"]' ).val();
	var id = jQuery( '#' + form_id + ' input[name="ID"]' ).val();
	var mode = jQuery( '#' + form_id + ' input[name="mode"]' ).val();
	jQuery( '#' + form_id + ' input[name="OK"]' ).attr('disabled', true);
	$.post("/actions/mark_user.php", { mode: mode, ID: id, USER: user },
			  function(data){
				jQuery( '#' + form_id + ' input[name="OK"]' ).attr('disabled', false);
			  	if( data.bOk != undefined ) {
			  		if( data.bOk == true ) {
			  			var color = 'green';
			  			var users = '';
					  	for( id in data.Users ) {
					  		var value = data.Users[id];
					  		if( users != '' ) {
					  			users = users + ',';
					  		}
					  		if( value.bAllowedSwitchStatus ) {
					  			var username = '<strong>' + value.USER_NAME + '</strong>';
					  		} else {
					  			var username = value.USER_NAME;
					  		}
					  		users = users + ' <a href="/personal/'+ value.USER_ID +'/">' + username + '</a>';
					  		if( value.bAllowedSwitchStatus ) {
					  			users = users + ' (<strong>Это&nbsp;Вы!</strong> <a onclick="return confirm(\'Это точно не вы?\');" href="?action=delete_marker&amp;id=' +value.ID+ '"><strong>Нет, это не я!</strong></a>)';
					  		}
					  		
					  		if( value.bAllowedSwitchStatus == false && value.bAllowedDeleteMark ) {
					  			users = users + ' (<a onclick="return confirm(\'Вы уверены что его нет на этом фото?\');"  href="?action=delete_marker&amp;id='+ value.ID +'"><img width="11" height="11" style="vertical-align: middle;" src="/images/dsn/icon_cross2.gif" alt=""></a>)';
					  		}
					  	}
					  	jQuery('.b-photo_captions').html('<p><strong>На этой фотографии:</strong> ' + users + '</p>');
			  		} else {
			  			var color = 'red';
			  		}
			  		jQuery('.marker_messages').html('<p style="color:' + color + '">' + data.sMessage + '</p>');
			  	} else {
			  		jQuery('.marker_messages').html('');
			  	}
			  	jQuery( '#' + form_id + ' input[name="USER"]' ).val('');
			  	window.scrollTo(0, 280);
			  }, "json");
}

