function decode_utf8( s ) { 
	return decodeURIComponent( escape( s ) ); 
}

function over(num) {		

	if (window.hold)
		return;
		
	window.hold = 1;
	window.zindex++;
		
	if (num == 1) {
		return;
	}
	
	if (num == 2) {
	
		$('.c2').animate({'left': '0px'},400,function(){
			$('.c1').css({'left':'120%'}).removeClass('c1').addClass('c10');		
			$(this).removeClass('c2').addClass('c1');
			$('.c10').css('z-index',window.zindex).animate({'left': '80%'},600,function(){
				$('.c3').addClass('c2').removeClass('c3');
				$('.c4').addClass('c3').removeClass('c4');
				$(this).addClass('c4').removeClass('c10');
				init_animations();
				window.hold = 0;
			});

		});
		
		$('.c3').animate({'left':'40%'},600,function(){});
		$('.c4').animate({'left':'60%'},800,function(){});
		
	} else if (num == 3) {		
	
		$('.c2').animate({'left': '-5%'},350);
		$('.c3').animate({'left': '0px'},400,function(){
			$('.c1').css({'left':'120%'}).removeClass('c1').addClass('c10');		
			$('.c2').css({'left':'140%'}).removeClass('c2').addClass('c20');		
			$(this).removeClass('c3').addClass('c1');
			$('.c10').css('z-index',window.zindex).animate({'left': '60%'},300,function(){
				$(this).addClass('c3').removeClass('c10');
			});
			window.zindex++;
			$('.c20').css('z-index',window.zindex).animate({'left': '80%'},600,function(){
				$('.c4').addClass('c2').removeClass('c4');
				$(this).addClass('c4').removeClass('c20');
				init_animations();
				window.hold = 0;
			});

		});
		
		$('.c4').animate({'left':'40%'},500,function(){});
		
	} else if (num == 4) {	
	
		$('.c1').animate({'left': '-15%'},200,function(){
			$(this).removeClass('c1').addClass('c2').css({'left':'120%'});
			$(this).animate({'left':'40%'},400,function(){
			});			
		});
		$('.c2').animate({'left': '-10%'},300,function(){
			$(this).removeClass('c2').addClass('c3').css({'left':'120%'});
			$(this).animate({'left':'60%'},400,function(){
			});
		});
		$('.c3').animate({'left': '-5%'},400,function(){
			$(this).removeClass('c3').addClass('c4').css({'left':'120%'});
			$(this).animate({'left':'80%'},400,function(){
			});
		});
		$('.c4').animate({'left': 0},500,function(){
			$(this).removeClass('c4').addClass('c1');
			window.zindex++;
			$('.c1').css('z-index',window.zindex++);
			window.zindex++;
			$('.c2').css('z-index',window.zindex++);
			window.zindex++;
			$('.c3').css('z-index',window.zindex++);
			window.zindex++;
			$('.c4').css('z-index',window.zindex++);
			window.setTimeout("unhold()",500);

		});
	
	}
	
}

function unhold() {
	window.hold = 0;
}

/*
function init_animations() {

	$('.c').hover(function() {
		classes = $(this).attr('class').split(' ');
		for (j=0; j<classes.length; j++) {
			if (classes[j].length == 2) {
				over(parseInt(classes[j].substr(1,1)));
			}
		}
	},function() {});
	
}

*/

function init_animations() {
	
	window.hold = 0;

	$('.c').hover(function() {
		
		if (window.hold || $(this).hasClass('active')) {
			return;
		}
		
		window.hold = 1;
		
		$('.c').removeClass('active');
		
		default_values = new Array();
		default_values[1] = 0;
		default_values[2] = 40;
		default_values[3] = 60;
		default_values[4] = 80;		
		
		shift_values = new Array();
		shift_values[1] = 0;
		shift_values[2] = 20;
		shift_values[3] = 40;
		shift_values[4] = 60;
				
		classes = $(this).attr('class').split(' ');
		for (j=0; j<classes.length; j++) {
			if (classes[j].length == 2) {
				val = parseInt(classes[j].substr(1,1));
				break;
			}
		}

		//alert(val);
		
		nval = shift_values[val] + '%';
		$(this).animate({'left':nval},300,function(){
			$('.c').removeClass('active');
			$(this).addClass('active');
			window.hold = 0;
		});
		
		for (j=2;j<5;j++) {
			if (j <= val) {
				nval = (j * 2 - 2) + '0%';
			} else {
				nval = (j * 2) + '0%';
			}
			$('.c' + j).animate({'left':nval},300);
		}
		
		
	},function() {});
	
}

function init_ajax_home() {
	
	$('dl.faces dt strong.fc-violet').click(function(){
		
		$('body').css('cursor','progress');
		$(this).css('cursor','progress');
		
		$.get('?',null, function(data) {
			
			$('dl.faces').html(data);
			$('body').css('cursor','default');
			$('dl.faces dt strong.fc-violet').css('cursor','pointer');
			init_ajax_home();
			
		});
		return false;
	});
	
}

function filter_articles(tag) {

	window.tag = tag;
	parts = window.location.href.split('#');
	parts[1] = window.tag;
	window.location.href = parts.join('#');
	$('.article').each(function(){
		$(this).hide();
		$(this).find('a.article-tag').each(function(){
			if ($(this).html() == window.tag) {
				$(this).parent().parent().show();
			}
		});
	});	
	
	$('.article-tags div strong').hide();
	$('a.reset-tags').show();
	
	$('.article-tags a').removeClass('active');
	
	$('.article-tags a').each(function(){
		if ($(this).html() == window.tag) {
			$(this).addClass('active');
		}
	});
	
	$('span.descr a.article-tag').each(function(){
		if ($(this).html() == window.tag) {
			$(this).addClass('active');
		} else {
			$(this).removeClass('active');
		}
	});

	
}

function loaded_photo(img) {

	img = document.getElementById('main_pic');
	
	alt = img.alt;	
	window.loaded_photo_obj = img;

	var shift_top = parseInt(img.height / 2) - 29;
	
	$('.photobox dl dt').animate({'height': img.height + 'px'},500);
	$('.preview-arrow,.next-arrow').css({'top': shift_top + 'px'});
	
	$('#main_pic').animate({'opacity':'1'},500,function(){
		alt = window.loaded_photo_obj.alt;
		$('#photobox-description').html(alt);
		if (window.over_photobox) {
			if (!window.photo_first)
				//$('.preview-arrow').fadeIn(200);
				$('.preview-arrow').show();//fadeIn(200);
			if (!window.photo_last)			
				$('.next-arrow').show();//.fadeIn(200);	
		}
	});
		
}

function try_load_photo() {

	if (document.getElementById('main_pic').complete) {
		loaded_photo(null);
	} else {
		window.setTimeout("try_load_photo()",1000);
	}

}


$(document).ready(function(){
	
	window.zindex = 126;
	
	$('.preview-close strong').click(function(){
		$('.preview-close').animate({height: '128px'},500,function(){
			$('.preview-close').hide();
			$('.preview-close').css('height','25px');
			$('.preview-open').fadeIn(500);
		})
		$.get('?hide_hint_home=0');
		return false;
	});
	
	$('.preview-open a.close').click(function(){
		$('.preview-open').css('height','128px');
		$('.preview-open h2, .preview-open ul').fadeOut(500);
		$('.preview-open').animate({a:'b'},550,function(){
			$('.preview-open').animate({height: '20px'},500,function(){
				$('.preview-open').hide();
				$('.preview-close').fadeIn(200);
				$('.preview-open').css('height','128px');
				$('.preview-open h2, .preview-open ul').show();
			});
		});
		$.get('?hide_hint_home=1');
		return false;
	});
	
	$('a.article-tag').click(function(){
		filter_articles($(this).html());
		return false;
	});
	
	$('a.reset-tags').click(function(){		
		$('span.descr a.article-tag').removeClass('active');
		$('.article').show();
		$('.article-tags div strong').show();
		$(this).hide();
		$('.article-tags a').removeClass('active');
		parts = window.location.href.split('#');
		parts[1] = "-";
		window.location.href = parts.join("#");
		return false;
	});

	$('a.developers').click(function(){
		$('.pop-up-developers').fadeIn(300);		
		return false;
	});
	
	$('.pop-up-developers a.close').click(function(){
		$('.pop-up-developers').fadeOut(300);
		return false;
	});
	
	$('.photo-previews a').click(function(){
		
		$('.photo-previews a').removeClass('active');
		if ($(this).hasClass('first')) {
			$(this).removeClass('first');
			window.photo_first = 1;
		} else {
			window.photo_first = 0;
		}
		if ($(this).hasClass('last')) {
			$(this).removeClass('last');
			window.photo_last = 1;
		} else {
			window.photo_last = 0;
		}
		
		url = $(this).attr('class');
		
		if (window.photo_last) {
			$(this).addClass('last');
		}
		if (window.photo_first) {
			$(this).addClass('first');
		}
		
		window.parts = $('#main_pic').attr('src').split('/');
		window.parts[parts.length-1] = url.replace('-','.').replace(' ','');
		
		//alert('>> ' + window.parts.join('/'));
		//return;
		
		alt = $(this).find('img').attr('alt');
		if (typeof alt == 'undefined')
			alt = '';

		//$('.preview-arrow,.next-arrow').fadeOut(300);
		$('.preview-arrow,.next-arrow').hide();//fadeOut(300);
		$('#main_pic').animate({'opacity':'0.01'},500,function(){
		//*
			if (navigator.userAgent.indexOf ("Opera") == -1) {
				$('#main_pic').attr('src','about:blank');
			}
			$('#main_pic').attr('src',window.parts.join('/'));
			if (navigator.userAgent.indexOf ("Opera") != -1) {
				try_load_photo();
			}
		//	*/
		});
		
		$('#main_pic').attr('alt',alt);
		$('#main_pic').attr('title',alt);

		$(this).addClass('active');
		
		return false;
		
	});
	
	$('.next-arrow').click(function(){
		window.arrow_clicked = 0;
		$('.photo-previews a').each(function(index){
			if (!window.arrow_clicked && $(this).hasClass('active')) {
				ind = index + 1;
				$('.photo-previews a:eq(' + ind + ')').click();
				window.arrow_clicked = 1;
			}
		});
		return false;
	});
	
	$('.preview-arrow').click(function(){
		window.arrow_clicked = 0;
		$('.photo-previews a').each(function(index){
			if (!window.arrow_clicked && $(this).hasClass('active')) {
				ind = index - 1;
				$('.photo-previews a:eq(' + ind + ')').click();
				window.arrow_clicked = 1;
			}
		});
		return false;
	});
	
	$('#over-pic').hover(function(){
		if (window.over_photobox) {
			return;
		}
		window.over_photobox = 1;
		if (!window.photo_first)
			$('.preview-arrow').show();//fadeIn(200);
		if (!window.photo_last)			
			$('.next-arrow').show();//fadeIn(200);		
	},function() {
		if (window.over_photobox) {
			if (!window.photo_first)
				$('.preview-arrow').hide();//fadeOut(200);
			if (!window.photo_last)			
				$('.next-arrow').hide();//fadeOut(200);		
			window.setTimeout("window.over_photobox = 0;",200);
		}
	});
	
	//$('a.enter').click(function(){
	//	$('.ent').slideToggle(300);
	//	return false;
	//});
	//
	//$('.pop-up-enter a.close').click(function(){
	//	$(this).parent().slideToggle(300);
	//	return false;
	//});
	
	//$('a.forgot').click(function(){
	//	$('.rem').fadeIn(300);
	//	return false;
	//});
	
	//$('a.oh-yeah').click(function(){
	//	$('.rem').fadeOut(300);
	//	return false;
	//});

	//$('a.login').click(function(){
	//	$('.ent .error').hide();
	//	$.post($('#login_path')[0].value, {'login': $('input.login')[0].value,'pass':$('input.password')[0].value,'login_page':'1'}, function(data) {
	//		if (data == 'failed') {
	//			$('.ent .error').fadeIn(300);
	//			window.setTimeout("$('.ent .error').fadeOut(800);",1500);
	//			//alert('!');
	//		} else {
	//			$('.admin-pop-up').html(data);
	//			//$('.pop-up-enter').fadeOut(300);
	//			$('.pop-up-enter').animate({'opacity':'0.01'},500,function(){
	//				$('.pop-up-enter').hide();
	//				$('.admin-pop-up').fadeIn(500);
	//			});
	//			if (typeof window.reload_on_login != 'undefined') {
	//				document.location.reload();
	//			}
	//			
	//		}
	//	});
	//	return false;
	//});
	
	$('a.recover').click(function(){
		$('.rem .error').hide();
		$.post('?', {'pass_recovery_email': $('input.email')[0].value}, function(data) {
			if (data == 'failed') {
				$('.rem .error').fadeIn(300);
				window.setTimeout("$('.rem .error').fadeOut(800);",1500);
				//alert('!');
			} else {
				$('.rem .recovered').fadeIn(300);
				window.setTimeout("$('.rem .recovered').fadeOut(800);",5000);
			}
		});
		return false;
	});
	
	$('a.change-password').click(function(){
		$('input.pass1')[0].value = '';
		$('input.pass2')[0].value = '';
		$('.login-pop-up').fadeIn(300);
		return false;
	});
	
	$('a.do-change').click(function(){

		$('.row small').html("");
		if (typeof $('input.pass2')[0].value == 'undefined' || typeof $('input.pass1')[0].value == 'undefined' || $('input.pass1')[0].value.length < 4) {
			window.alert('Введены слишком короткие значения.');
			return;
		}
		if ($('input.pass1')[0].value != $('input.pass2')[0].value) {
			window.alert('Пароли не совпадают.');
			return;
		}		
		$.post('?', {'change_password': $('input.pass1')[0].value}, function(data) {
			$('.row small').html(data);
			window.setTimeout("$('.login-pop-up').fadeOut(300);",1500);
		});
		return false;
		
	});
	
	$('a.no-change').click(function(){
		$('.login-pop-up').fadeOut(300);
		return false;
	});
	
	$('a.change-avatar').click(function(){
		$('.avatar-pop-up').fadeIn(300);
		return false;
	});

	$('a.no-change-avatar').click(function(){
		$('.avatar-pop-up').fadeOut(300);
		return false;
	});
	
	$('a.do-change-avatar').click(function(){
		$.post('?', {'new_avatar_name': window.new_avatar_server_name}, function(data) {
			parts = $('.profile-avatar')[0].src.split('/');
			parts[7] = data;
			newsrc = parts.join('/') + '/' + Math.random();
			newsrc = newsrc.replace('/style/images/','/files/users/');
			$('.profile-avatar').attr('src',newsrc);
			$('.avatar.new').hide();
			$('.avatar-pop-up').fadeOut(300);
		})
//		$('.avatar-pop-up').fadeIn(300);
		return false;
	});
	
	$('.thumbs-list-backoffice .th-video, .thumbs-list-backoffice .th').hover(function(){
		if (!$(this).hasClass('active')) {
			$(this).addClass('hover');
		}
	},function(){
		$(this).removeClass('hover');
	});
	
	$('.th a.remove').click(function(){

		classes = $(this).attr('class').split(' ');
		if (classes[0] == 'remove') {
			prts = classes[1].split('-');
			id = prts[1];
		} else {
			prts = classes[0].split('-');
			id = prts[1];
		}

		back_delete_photo(id);
		
		return false;

	});
	
	$('a.delete-current-video').click(function(){
		
		back_delete_video(window.current_video_id);
		return false;
		
	});
	
	$('.thumbs-list-backoffice .th-video a.remove').click(function(){
		
		classes = $(this).attr('class').split(' ');
		if (classes[0] == 'remove') {
			prts = classes[1].split('-');
			id = prts[1];
		} else {
			prts = classes[0].split('-');
			id = prts[1];
		}
		back_delete_video(id);
		return false;
		
	});

	$('a.delete-current-photo').click(function(){

		classes = $('.th.active a.remove').attr('class').split(' ');
		if (classes[0] == 'remove') {
			prts = classes[1].split('-');
			id = prts[1];
		} else {
			prts = classes[0].split('-');
			id = prts[1];
		}

		back_delete_photo(id);
		return false;

	});

	$('.plus-photo a').click(function(){
		$('.add-photo .add-block.dnone:eq(0)').removeClass('dnone');
		back_update_more_blocks_qty();
		return false;
	});
	
	im1 = new Image();
	im1.src = '../style/images/prog_foto.gif';
	im2 = new Image();
	im2.src = '../style/images/prog_video.gif';
	
	$('.add-photo a.add-button-but').click(function(){
		if (parseInt($('#qty_choosen_files').html()) != 0) {
			$('a.add-button-but').css('background','url(../style/images/prog_foto.gif)');
			$('ul.add-button li:eq(1)').html('<span>Загрузка на сервер...</span>');
			document.forms['add_pics'].submit();
		}
		return false;
	});
	
	$('a.add-button-but-video').click(function(){
		if (parseInt($('#qty_choosen_files').html()) != 0) {
			$('a.add-button-but').css('background','url(../style/images/prog_foto.gif)');
			$('ul.add-button li:eq(1)').html('<span>Загрузка на сервер...</span>');
			document.forms['add-video'].submit();
		}
		return false;
	});
	
	
	$('.thumbs-list-backoffice .th').click(function(){
		
		if ($(this).hasClass('active')) {
			return;
		}
		$('.thumbs-list-backoffice .th').removeClass('active');
		$('.photobox-backoffice dl dt img').attr('src',$(this).find('img').attr('src').replace('60x60xM','550x0xIH'))
		$(this).removeClass('hover');
		$(this).addClass('active');
		
		alt = $(this).find('img').attr('alt');
		if (typeof alt == 'undefined')
			alt = ' ';
		parts = $('.left.d-link.js-d-link').html().split('<br');
		parts[0] = alt;
		$('.left.d-link.js-d-link').html(parts.join('<br'));
		
		//alert(alt);
		//[0].value
		$('#new_description')[0].value = alt;
		//alert('> ' + $('#new_descrition')[0].innerText);
		back_edit_bind_photo();
		return false;
	});
	
	$('.add-photo .hint a').click(function(){
		$(this).parent().find('img').fadeIn(300).click(function(){
			$(this).fadeOut(300);
		});
		return false;
	});
	
	$('a.do-upload').click(function(){
		document.forms['home_photo'].submit();
		return false;
	});
	
	$('a.do-upload-new-pic').click(function(){
		document.forms['new_video_pic'].submit();
		return false;
	});
	
	$('a.change-home-photo').click(function() {
		$('.change-photo-link').hide();
		$('.change-photo-browse').show();
		return false;
	});
	
	$('a.no-change-home-photo').click(function() {
		$('.change-photo-browse').hide();
		$('.change-photo-link').show();
		return false;
	});
	
	$('a.no-change-new-pic').click(function(){
		$('.edit-file-row').hide();
		$('dl dd .left').show();
		return false;
	});
	
	/*
	document.getElementById('main_pic') = img;
	.onLoad = "loaded_photo(document.getElementById('main_pic'))";
	*/
	
	back_edit_bind();
	back_edit_bind_photo();
	
	window.clicked_edit_description = 0;
	window.arrow_clicked = 0;
	window.over_photobox = 0;
	window.photo_last = 0;
	window.photo_first = 1;
	window.hold = 0;
	init_animations();
	init_ajax_home();
	
	window.back_loaded_photos = 0;
	
	window.old_new_ava = "xxx";
	
	back_update_more_blocks_qty();
	
	
});

function back_edit_bind() {

	$('a.edit_txt').click(function(){

		if (window.clicked_edit_description) {
			return false;
		}
		window.clicked_edit_description = 1;
		$('.left.d-link.js-d-link').hide();
		$('.photobox-backoffice dl dd .edit-txt-row').fadeIn(300);
		$('a.no-change-description').click(function(){
			$('.photobox-backoffice dl dd .edit-txt-row').hide();
			$('.left.d-link.js-d-link').fadeIn(300);
			window.clicked_edit_description = 0;
			return false;
		});
		$('a.do-change-description').click(function(){
			$.post('?', {'update_video_descripiton': $('#new_description')[0].value,'id':window.current_video_id}, function(data) {
				parts = $('.left.d-link.js-d-link').html().split('<br');
				parts[0] = data;
				$('.left.d-link.js-d-link').html(parts.join('<br'));
				$('.photobox-backoffice dl dd .edit-txt-row').hide();
				$('.left.d-link.js-d-link').fadeIn(300);
				window.clicked_edit_description = 0;
				back_edit_bind();
			});
			return false;
		});
		return false;
	});

	$('a.edit_video_pic').click(function(){		
		$('.edit-file-row').show();
		$('.left.d-link.js-d-link').hide();
		return false;		
	});
	
}

function back_edit_bind_photo() {

	$('a.edit_txt_photo').click(function(){

		if (window.clicked_edit_description) {
			return false;
		}
		window.clicked_edit_description = 0;
		$('.left.d-link.js-d-link').hide();
		$('.photobox-backoffice dl dd .row').fadeIn(300);
		$('a.no-change-description').click(function(){
			$('.photobox-backoffice dl dd .row').hide();
			$('.left.d-link.js-d-link').fadeIn(300);
			window.clicked_edit_description = 0;
		});
		$('a.do-change-description').click(function(){
			parts = $('.photobox-backoffice dl dt img').attr('src').split('/');
			parts2 = parts[parts.length - 1].split('.');
			id = parts2[0];
			//alert(id);
			$.post('?', {'update_photo_descripiton': $('#new_description')[0].value,'id':id}, function(data) {
				parts = $('.left.d-link.js-d-link').html().split('<br');
				parts[0] = data;
				$('.left.d-link.js-d-link').html(parts.join('<br'));
				$('.photobox-backoffice dl dd .row').hide();
				$('.left.d-link.js-d-link').fadeIn(300);
				window.clicked_edit_description = 0;
				back_edit_bind_photo();
			});
			return false;
		});
		return false;
	});

}

function back_file_selected(element) {

	if (element.value != '') {
		$('#qty_choosen_files').html(parseInt($('#qty_choosen_files').html()) + 1);
	} else {
		$('#qty_choosen_files').html(parseInt($('#qty_choosen_files').html()) - 1);
	}

}

function back_delete_video(id) {
	
	if (window.confirm('Видео будет удалено!')) {
		prts = location.href.split('?');
		prts[1] = 'del_id=' + id;
		location.href = prts.join('?');
		return false;
	}
	
}

function back_update_more_blocks_qty(){
	
	if ($('.add-photo .add-block.dnone').length) {
		$('#more_blocks_qty').html($('.add-photo .add-block.dnone').length);
	} else {
		$('.plus-photo').hide();
	}
	
}


function back_delete_photo(id) {
	
	//if (window.back_loaded_photos == 0 || window.confirm('Удаление фото приведет к потере загруженных файлов (вы загрузили ' + ajax_loaded_photos + ' фото). Для сохранения файлов выберите отмену действия и используйте клавишу "Добавить фото".')) {
		
		
	if (window.confirm('Фото будет удалено!')) {
		prts = location.href.split('?');
		prts[1] = 'del_id=' + id;
		location.href = prts.join('?');
		return false;
	}
	//} 
	
}

function ajaxFileUpload(){

	if ($('#new_ava')[0].value == window.old_new_ava) {
		return false;
	} else {
		window.old_new_ava = $('#new_ava')[0].value;
	}
	$.ajaxFileUpload({
		url:'?',
		secureuri:false,
		fileElementId:'new_ava',
		dataType: 'html',
		success: function (data, status)
		{
			nsrc = $('.avatar.new img').attr('src').split('/');
			nsrc[7] = data;
			delete(nsrc[8]);
			//alert(nsrc.length - 1);
			window.new_avatar_server_name = data;
			$('.avatar.new img').attr('src',nsrc.join('/'));
			//alert('>>>' + nsrc.join('/'));
			$('.avatar.new').fadeIn(300);
			//alert(data);
		},
		error: function (data, status, e)
		{
			alert(e);
		}
	}
	)

	return false;

}

