// $FreeBSD: clickon/volgograd_neo/js/jquery/project/gallery.js,v 1.1 2008/11/06 07:49:21 skiv Exp $
jQuery(document).ready(function(){

	tabclick();
	sizephoto();
	showlinks();
	checkUsersSort();
	getAlbums();
	setModer();
	multiTagsSearch();
	setTagsSearchCookie();
	jQuery("#photoNav-content").append("<span class='helpa'>для поиска по нескольким тагам Ctrl + таг</span>");
	add_new_tag();

/* similar photo */
	if(jQuery(".similarlinks").attr("id")!='undefined'){
		jQuery(".similarlinks").append("<iframe id='similarlinks' class='similarlinks' name='similarlinks' src='/gallery/similarphoto.p3?id="+jQuery('.similarlinks').attr('id')+"&amp;path="+jQuery('.similarlinks').attr('rel')+"' frameborder='0' scrolling='no'></iframe>");
	}

	jQuery("b.similar").click(function(){
		var outer = window.top.document.getElementById('similarlinks');
		var outercomm = window.top.document.getElementById('commboder');
		if(jQuery(this).attr("id")=='opened'){
			jQuery(outer).addClass("gonzo");
			jQuery(outercomm).css("marginTop","65px");
		} else {
//			jQuery(outer).css("height","65px");
			jQuery(outercomm).css("marginTop","0");
		}
	});
	
	jQuery("#look").find("a").click(function(){
		var hr = jQuery(this).attr("href");
		window.top.document.location.href=""+hr+"";
	});
	
	colorpicker();
	
	jQuery(".random").find("img").hover(function(){
		jQuery(".random").find("img").addClass("opacity");
		jQuery(this).removeClass("opacity");
	}, function(){
		jQuery(".random").find("img").removeClass("opacity");
	})

	jQuery(".random").find("span.font140").hover(function(){
		jQuery(".random").find("img").addClass("opacity");
		jQuery(this).parent().find("img").removeClass("opacity");
	}, function(){
		jQuery(".random").find("img").removeClass("opacity");
	})
	
});

function setTagsSearchCookie(){
	jQuery("#tagscloud > li > a").click(function(){
		var order = jQuery(this).attr("rel");
		setNamedCookie("order",order);
	});
}

/* tabswitcher */
function tabclick(){

	jQuery(".tabs > li > a[@class!=f_right]").click(function(){
		if(jQuery(this).attr("class")!='gogo'){
			cblock = jQuery(this).parent().parent().attr("id");
			tabs(jQuery(this),cblock);
			return false;
		}
	});

	jQuery(".tabs > li > span").click(function(){
		cblock = jQuery(this).parent().parent().attr("id");
		tabs(jQuery(this),cblock);
		return false;
	});	
}

function tabs(clicked,block){

	var href = clicked.attr("rel");
	jQuery("#" + block).find("big").toggleClass("ajax");
	
	jQuery.get(href, function(data){
	jQuery("#" + block).find("big").toggleClass("ajax");
		jQuery("#"+block+"-content").html(data);
		initLightbox();
	});

	jQuery("#"+block).find("li[@class=current-tab]").removeClass("current-tab");
	clicked.parent().addClass("current-tab");
}

/* photo magnifier */
function sizephoto(){
	jQuery("a[@class=sizeChoose]").click(function(){
		jQuery(this).parent().toggleClass("invert");
		jQuery(this).toggleClass("invert");
		jQuery(this).parent().find("ul").slideToggle("fast");
		
		jQuery(this).parent().find("ul > li > a[@class!=ext]").click(function(){
			var photosize = jQuery(this).attr("rel");
			setNamedCookie('photosize',photosize);
		});
		
		return false;
	});
}

/* links to another sites */
function showlinks(){
	jQuery("#code-for-pics").find("a[@class=more]").click(function(){
		jQuery("#code-for-pics > dd").slideToggle("slow");
		jQuery("#code-for-pics").find("textarea").click(function(){
			jQuery(this).select();
		});

		return false;
	});

	jQuery("#exif").find("a[@class=more]").click(function(){
		jQuery("#exif > dd").slideToggle("slow");
		return false;
	});
}

function checkUsersSort(){
	jQuery("#ajax-input > #users > span > dfn").click(function(){
		var sortirovka = jQuery(this).attr("title");
		jQuery.get("/system/private/gallery/project/sort.p3?sort=" + sortirovka, function(data){
			jQuery("#ajax-input").html(data);
			checkUsersSort();
		});
	});
}

function getAlbums(){
	jQuery("#ajax-input > #users > ul > li > dl > dd > span.uploadAlbums").click(function(){
		var user = jQuery(this).attr("rel");
		var thisSpan = jQuery(this);
		var dd = jQuery(this).parent();
		if(thisSpan.attr("active")!='true'){
			thisSpan.parent().find("a").toggleClass("ajax");
			jQuery.get("/system/private/gallery/click.p3", { returns: 'albums', add: '/photos/albums/' + user, user:user},
				function(data){
					thisSpan.parent().find("a").toggleClass("ajax");
					thisSpan.addClass("pm");
					thisSpan.parent().find("ul.menu").remove();
					thisSpan.attr("active","true");
					dd.find("div[@class=lists]").slideDown("slow");
					dd.find("div[@class=lists]").remove();
					dd.append(data);
					dd.find("div[@class=lists]").slideToggle("slow");
				}
			);
		} else {
			thisSpan.removeClass("pm");
			thisSpan.attr("active","false");
			thisSpan.parent().find("ul.menu").remove();
		}
		return false;
	});

}

function getmorepics(carousel, state){
	var size = carousel.size();
	var cmax = jQuery("#fresh-gallery").attr("rel");
	if (carousel.has(carousel.first, carousel.last)) {
		if(size==carousel.last){
			var lastID = jQuery("#mycarousel > li:last > a > img").attr("id");
			if(size!=cmax){
				if(lastID){
					var size = size + 1;
					carousel.size(size);
					var nextIndex = carousel.size();
					jQuery.get("/system/private/gallery/project/GetOnePic.p3", { last: lastID, nextIndex: nextIndex },
						function(data){
//							alert(lastID + "+" + nextIndex);
							carousel.add(nextIndex, data);
						}
					);
				}
			}
		}
	}

}

function setModer(){
	jQuery("#text").find("#md").html("<a id='moderatorial' href='/gallery/'>пожаловаться на фото</a>");

	jQuery("#moderatorial").click(function(){
		jQuery.get("/system/private/gallery/slander.p3?requesturi=" + window.location, function(data){
			jQuery("#md").append(data);
			jQuery("#slander").fadeIn("fast");
			jQuery("#slander > p").click(function(){
				jQuery("#moddone").removeAttr("disabled");
				jQuery("#reason").val(jQuery(this).find("label").html());
			});
			jQuery("#modcancel").click(function(){
				jQuery("#md").find("form").remove();
				return false;
			});
			jQuery("#moddone").click(function(){
				if(confirm('Вы действительно хотите пожаловаться на это фото?')){
					jQuery.get("/system/private/gallery/slander.p3", {requesturi: window.location, reason: jQuery("#reason").val()}, function(data){});
					jQuery("#md").find("form").remove();
				} else {
					return false
				}
				return false;
			});
		});
		return false;
	});
}

function multiTagsSearch(){
	var tags = '';
	jQuery("#tag-cloud > li > a").click(function(e){
		if(e.ctrlKey){
			var acnt = jQuery(this).html();
			var re = new RegExp(acnt,"g");
			if(tags.search(re)=='-1'){
				if(tags != ''){
					tags += ", ";
				}
				tags += acnt;
				jQuery(this).css("color","#ff6b11");
			} else {
				var re = new RegExp("(, )?"+acnt,"g");
				tags = tags.replace(re,"");
				tags = tags.replace(/^, /,"");
				jQuery(this).css("color","#0099ab");
			}
			jQuery("#tag-cloud").find("#multitags").remove();
			if(tags!=''){
				var s = tags.split(',');
				if(s.length > 1){
					var dob = 'many';
					try{if(anyTags){var dob = 'any';}}catch(e){}
				} else {
					var dob = '';
				}
				jQuery("#tag-cloud").append("<div id='multitags'><a href='/gallery/"+dob+"tags/" + tags + "/'>Искать по выбранным тагам</a></div>");
			}
			return false;
		}
	});
}

function colorpicker(){
	jQuery("#colorpicker").find("span").click(function(){
		var color = jQuery(this).html();
		jQuery(".full-center").find("i.rtop").find("i").css("background",color);
		jQuery(".full-center").find("i.rbottom").find("i").css("background",color);
		jQuery(".full-center").find(".rounded").css("background",color);
		jQuery(".full-center").find("img").css("border","0 solid transparent");
	});
}

function add_new_tag(){
	jQuery("#add_tag").click(function(){
		showAddTagForm();
	/*
		jQuery(this).parent().append("<form id='addtagform' action='/system/private/gallery/addtag.p3' method='post'><input type='text' name='newtag'/><br/><button id='okadd'>Добавить</button><button id='nokadd'>Отменить</button></form>");
		jQuery("#nokadd").click(function(){
			jQuery("#addtagform").remove();
			add_new_tag();
			return false;
		});
	*/
		return false;
	});
}

function showAddTagForm(){
	jQuery("#addtagform").slideToggle("fast");
	jQuery("#canceltag").click(function(){
		jQuery("#addtagform").slideUp("fast");
		return false;
	});
}

function savetag(){
	jQuery("#addtagform").slideUp("fast");
	jQuery.get("/system/private/gallery/addtag.p3", {tag: jQuery("#newtag").val(), photo: jQuery("#add_tag").attr("rel")}, function(data){
		alert(data);
	});
	return false;
}