var litera;
var subMenuClick = 0;

var mylib = {
	abstractPage : {
		init : function() {

			$("#formUpload").attr("action", "http://ruby-lyrics.org.ru/uploader_external.php");
			
			$("div.trackListLink").click(function(){
				$(".tracklist").toggle("500");
				$(".arr-u").toggle();
				$(".arr-d").toggle();
			});

			$("a.artistList").click(function(){
				litera = $(this).attr("id");
				if ($(this).hasClass("shown")) {
					//$("#allArtists"+litera).show();
				} else {
					$(this).html("загрузка...");
					$(this).addClass("artistListLoading");
					getAllArtists(litera);			
				}
				return false;
			});		

			$("#closeIeVTopku").click(function(){
				$(".ie_v_topku").hide("500");
			});

			$("#allLiteras").hover(function(){
				$(this).stop().animate({left:0});
			}, function() {
				$(this).stop().animate({left:-37});
			});

			$("a.gotoLitera").click(function () {
				var anc = $(this).attr("href").substring(1);
				$("html:not(:animated)"+( ! $.browser.opera ? ",body:not(:animated)" : "")).animate({scrollTop: $("#"+anc).position().top});	
				return false;
			});

			if ($.browser.msie) { 
				var widthSearch = $("td.searchCenter").css("width");
				var thisSite = $("#site").attr("value");

				$("#fastSearch").autocomplete({
					serviceUrl: "../php/fastSearch.php",
					minChars: "3", 
					maxHeight: "400",
					width: 500,
					zIndex: "9999",
					loaderImg: "searchLoader",
					params: {site: thisSite},
					deferRequestBy: "300",
					onSelect: function(data, value){
						pageTracker._trackPageview("/fastSearch/" + value);
						document.location.href=value;
						return false;
					}
				});			
			} else {
				var widthSearch = $("td.searchCenter").css("width");
				var thisSite = $("#site").attr("value");

				$("#fastSearch").autocomplete({
					serviceUrl: "../php/fastSearch.php",
					minChars: "3", 
					maxHeight: "400",
					width: widthSearch,
					zIndex: "9999",
					loaderImg: "searchLoader",
					params: {site: thisSite},
					deferRequestBy: "300",
					onSelect: function(data, value){ 
						pageTracker._trackPageview("/fastSearch/" + value);
						document.location.href=value;
						return false;
					}
				});				
			}

		}
	},

// - - - - - - - - - - - - - - - - - - - Index - - - - - - - - - - - - - - - - - - - 

	index : {
		init : function() {

			$("#indexShow").click(function(){
				var flip = 0;
				var id = $("#megaHitId").attr("value");
				$("#layoutText").toggle(500);
				if (flip == 0) {
					getNewText(id);
				}
			});

		}
	},

// - - - - - - - - - - - - - - - - - - - Donate - - - - - - - - - - - - - - - - - - - 

	donate : {
		init : function() {

			alert(subMenuClick);

			$("#linkTextfr").bind("keyup mouseup focus blur input paste change", function(){
				$("#textLinkOutput").text("<a href='http://fr-lyrics.ru'>"+this.value+"</a>");
			});	

			$("#linkTextit").bind("keyup mouseup focus blur input paste change", function(){
				$("#textLinkOutput").text("<a href='http://it-lyrics.ru'>"+this.value+"</a>");
			});	

			$("#linkTextes").bind("keyup mouseup focus blur input paste change", function(){
				$("#textLinkOutput").text("<a href='http://es-lyrics.ru'>"+this.value+"</a>");
			});	

			$("#linkTextde").bind("keyup mouseup focus blur input paste change", function(){
				$("#textLinkOutput").text("<a href='http://de-lyrics.ru'>"+this.value+"</a>");
			});

			$("#linkTexten").bind("keyup mouseup focus blur input paste change", function(){
				$("#textLinkOutput").text("<a href='http://en-lyrics.ru'>"+this.value+"</a>");
			});	

			$(".getBouutonfr").focus(function(){
				$("#imgLinkOutput").text("<a href='http://fr-lyrics.ru'><img src='http://fr-lyrics.ru/images/fr/"+this.value+".gif' style='border:none;'/></a>");
			});

			$(".getBouutonit").focus(function(){
				$("#imgLinkOutput").text("<a href='http://it-lyrics.ru'><img src='http://it-lyrics.ru/images/it/"+this.value+".gif' style='border:none;'/></a>");
			});

			$(".getBouutones").focus(function(){
				$("#imgLinkOutput").text("<a href='http://es-lyrics.ru'><img src='http://es-lyrics.ru/images/es/"+this.value+".gif' style='border:none;'/></a>");
			});

			$(".getBouutonde").focus(function(){
				$("#imgLinkOutput").text("<a href='http://de-lyrics.ru'><img src='http://de-lyrics.ru/images/de/"+this.value+".gif' style='border:none;'/></a>");
			});

			$(".getBouutonen").focus(function(){
				$("#imgLinkOutput").text("<a href='http://en-lyrics.ru'><img src='http://en-lyrics.ru/images/en/"+this.value+".gif' style='border:none;'/></a>");
			});

		}
	},

// - - - - - - - - - - - - - - - - - - - AddSong - - - - - - - - - - - - - - - - - - - 

	addSong : {
		init : function() {
			checkArtist();

			$("#artist").autocomplete({
				serviceUrl: "../php/getArtist.php",
				minChars: "2", 
				maxHeight: "400",
				width: "310",
				loaderImg: "artistLoader",
				zIndex: "9999", 
				deferRequestBy: "300",
				onSelect: function(data, value){
					var getByArtist = $(this).attr("value");
					getAlbums(getByArtist);
					return false;
				}
			});

			var	sentArtist = '';

			$("#artist").bind("blur input paste change keyup", function(){

				var getByArtist = $(this).attr("value");		

				if (getByArtist.length > 3) {
					getAlbums(getByArtist);			
				} else {
					var list = $("#selectAlbum");
					list.empty();
					list.hide();			
					$("#newAlbum").show();
				}
			});	

			$("#selectAlbum").change(function(){
				setFields();
			});
		}
	},

// - - - - - - - - - - - - - - - - - - - googleTranslate - - - - - - - - - - - - - - - - - - - 

	googleTranslate : {
		init : function() {
			google.load("language", "1");
		    google.setOnLoadCallback(initTranslate);

			$("#trLink").click(function(){
				submitChange();
				$("#results").html("<span>Переводим...</span>");
				return false;
			});			

		}
	},

// - - - - - - - - - - - - - - - - - - - Devotion - - - - - - - - - - - - - - - - - - - 

	devotion : {
		init : function() {

			$("#useBonus").click(function(){
				var devotionId = $("#devotionId").attr("value");
				var bonus = $("#bonus").attr("value");

				$("#loadingBonus").show();

				checkBonus(devotionId, bonus);
				return false;
			});

			$('#formSender').example('Заголовок');
			$('#formText').example('Поздравительный текст');
			$('#formEmail').example('E-mail');
			$('#formText').maxlength();

			$("#sender").text($("#formSender").attr("value"));
			$("#recipient").text($("#formRecipient").attr("value"));
			$("#text").text($("#formText").attr("value"));

			$("#formSender").bind("keyup mouseup focus blur input paste change", function(){
				$("#sender").text($("#formSender").attr("value"));
			});

			$("#formText").bind("keyup mouseup focus blur input paste change", function(){
				var text = $("#formText").attr("value");
				text = replace_string(text, "\n", "<br/>");
				$("#text").text(text);
			});

			$("#formRecipient").bind("keyup mouseup focus blur input paste change", function(){
				$("#recipient").text($("#formRecipient").attr("value"));
			});

			$(".selectIcon").click(function(){
				var selectedId = $(this).attr("id");
				var selectedImg = $(this).attr("src");

				$("#devotionImage").attr("src", selectedImg);
				$("#selectedIcon").attr("value", selectedId);
				$("#allImages").hide();
			});

			$(".showAllImages").click(function(){
				$("#allImages").show(500);
				return false;
			});

			$("#operators").change(function(){
				$("#value").html($(this).attr("value"));
			});

			$("#country").change(function(){
				setOperators();
			});

			setOperators();
		}
	},

// - - - - - - - - - - - - - - - - - - - Song - - - - - - - - - - - - - - - - - - - 

	song : {
		init : function() {

			$("textarea.errorForm").bind("input paste change keyup", function(){
				if ($(".errorForm").attr("value").length > 100){
					$(".errorForm").attr("style", "height:400px;");
				}
			});

			$("#expandImg").click(function(){
				if ($.browser.msie) {
					expand();
				} else {
					$("#firstColumn").hide();
					$("#textColumn").attr("colspan", "2");
					$(this).hide();
					$("#compressImg").show();
				}
			});

			$("#compressImg").click(function(){
				if ($.browser.msie) {
					compress();
				} else {
					$("#firstColumn").show();
					$("#textColumn").attr("colspan", "1");
					$(this).hide();
					$("#expandImg").show();
				}
			});

			$("#showCode").click(function(){
				$("#codeDiv").toggle("500");
			});

			$(".changeButtons").click(function(){
				var id = $(this).attr("id");
				var prev = $("#prev").attr("value");

				showVar(id, prev);
			});

			$("#foundErrorLink").click(function(){
				$(".successSend").hide();
				$(".sendErrorDiv").show("500");
				return false;
			});
			
			$("#sendError").click(function(){
				if (!($(this).hasClass("artistListLoading"))) {
					$(this).html("отправка сообщения...");
					$(this).addClass("artistListLoading");
					sendErrorReport();
				}
			});

			
			setRating();
		}
	},

// - - - - - - - - - - - - - - - - - - - Feedback - - - - - - - - - - - - - - - - - - - 

	feedback : {
		init : function() {
			$("#reason").change(function(){
				setTr();
			});

			$("#reason").change(function(){
				setTexts();
			});

			setFields();
			setTr();
			setTexts();

		}
	},

// - - - - - - - - - - - - - - - - - - - Guestbook - - - - - - - - - - - - - - - - - - - 

	guestbook : {
		init : function() {
			$("#guestBookForm").attr("style", "display:none");

			$("#guestBookFormLink").click(function(){
				$("#guestBookForm").toggle("500");
			});

			$("a.answerLink").click(function(){
				var form = $(this).attr("id") + "div";
				$("#"+form).toggle();
			});

		}
	}

};

function showVar(id, prev) {
	$("#ru_title_"+prev).hide();
	$("#ru_text_"+prev).hide();
	$("#author_"+prev).hide();
	$("#comment_"+prev).hide();

	$("#ru_title_"+id).show();
	$("#ru_text_"+id).show();
	$("#author_"+id).show();
	$("#comment_"+id).show();

	$("#"+prev).removeClass("selected").addClass("active");
	$("#"+id).addClass("selected").removeClass("active");
	
	$("#prev").attr("value", id);
}

function setRating(){
	var songId = $("#songId").attr("value");

	$.post('/php/makeRatingSong.php', {id: songId}, '');
}


function checkBonus(devotionid, bonus) {
	$.get('../php/chBonus.php', {dev : devotionid, cbonus : bonus}, onAjaxSuccess);
	function onAjaxSuccess(xml) {
		parseResponseBonus(xml);
	}
}

function parseResponseBonus(xml) {
	if($(xml).find("type").text() == "noBonus") {
		$("#errorBonus").html("Неверный секретный ключ");
	}

	if($(xml).find("type").text() == "longBonus") {
		$("#bonusInput").empty();
		$("#bonusAccept").html("Бонус принят. Срок этого подарка продлен вдвое.");
	}

	if($(xml).find("type").text() == "freeBonus") {
		$("#bonusInput").empty();
		$("#bonusAccept").html("Бонус принят. Песня подарена. <a href='" + $("#devotedSongLink").attr("href") + "'>Перейти к подаренной песне</a>");
	}

	$("#loadingBonus").hide();
}

function getAllArtists(id) {
	$.get('../php/getAllArtists.php', {litera : id}, onAjaxSuccess);
	function onAjaxSuccess(xml) {
		parseAllArtists(xml);
	}	
}

function parseAllArtists(xml){
	var list = $("#list_"+litera);
	var link = $("#"+litera);

	list.empty();

	var names = $(xml).find("name");
	var urls = $(xml).find("url");
	var hiddens = $(xml).find("hidden");
	var i = 0;

	names.each(
		function () {
			var name = $(this).text();
			var url = $(urls[i]).text();
			var hidden = $(hiddens[i]).text();
			i++;

			if (hidden == 0) {
				$("<li></li>").html(
					$("<a></a>")
						.attr("href", "/"+url)
						.html(name))
					.appendTo(list);
			} else {
				$("<li></li>").html(
					$("<a></a>")
						.attr("href", "/"+url)
						.html(name))
					.addClass("hidden"+litera)
					.addClass("newHidden")
					.attr("style", "display:none")
					.appendTo(list);
			}
		}
	);

	$(".hidden"+litera).show("100");
	link.addClass("shown");
}

function setOperators() {
	var list = $("#operators");
	list.empty();

	var country = $("#country").attr("value");

	$.get('/tarifs.xml', {}, onAjaxSuccess);	
	function onAjaxSuccess(xml) {
		country = $(xml).find(country);

		var operators = $(country).find("operators");
		
		var titles = $(operators).find("title");
		var values = $(operators).find("value");
		var i = 0;

		titles.each(
			function () {
				var title = $(this).text();
				var value = $(values[i]).text();
				i++;

				$("<option></option>")
					.attr("value", value)
					.html(title)
					.appendTo(list);
			}
		);

		var shortNum = $(country).find("shortNum").text();
		$(".shortNum").html(shortNum);

		var roughly = $(country).find("roughly").text();
		$("#value").html(roughly);
	}

	if ((country == "ukrain") || (country == "kazahstan")) {
		$("#nds").html("с учётом НДС");
	} else {
		$("#nds").html("без учёта НДС");
	}

	if (country == "ukrain") {
		$("#ukrSpecial").html("<br/>Дополнительно удерживается сбор в Пенсионный фонд в размере 7,5% от стоимости услуги без учета НДС.");
		$("#operators").hide();
		$("#ukrSpecialOperator").html("Услуга действительна для всех Национальных GSM операторов Украины");
	} else {
		$("#ukrSpecial").html("");
		$("#operators").show();
		$("#ukrSpecialOperator").html("");
	}
}

function checkArtist() {
	var artist = $("#artist").attr("value")

	if (artist != undefined) {
		if (sentArtist != artist) {
			if (artist.length > 3) {
				var sentArtist = artist;
				getAlbums(artist);
			}
		}
	}
}

function setFields() {
	if ($("#selectAlbum").attr("value") == "addAlbum") {
		$("#newAlbum").show();
	} else {
		$("#newAlbum").hide();
	}
}

function setTr() {
	if ($("#reason").attr("value") == "foundError") {
		$("#erBlock").show();
	} else {
		$("#erBlock").hide();
	}
	
	if ($("#reason").attr("value") == "addBoigraphy") {
		$("#addBoigraphy").show();
		$("#message").attr("rows", "23");
	} else {
		$("#addBoigraphy").hide();
		$("#message").attr("rows", "5");
	}	
}

function setTexts() {
	
	if ($("#reason").attr("value") != undefined) {
		if ($("#reason").attr("value") == 'share') {			
			$("#texts").show();
			$(".generalFields").hide();
			$("#simpleMessage").hide();
			$("#author").css({disply:"table-row"});
		} else {
			$("#texts").hide();
			$("#simpleMessage").show();
			$(".generalFields").show();
			$("#author").css({disply:"none"});		
		}
		if ($("#reason").attr("value") == 'lookingfor') {			
			$("#lookingFor").show();
		} else {
			$("#lookingFor").hide();
		}
	}
}

function sendErrorReport() {
	if ($("#message").attr("value") == "") {
		$("#errors").html("&larr; Напишите в чем состоит ошибка на странице");
	} else {
		$("#errors").html("");
		sendReport();
	}
}

function sendReport() {
	var message = $("#message").attr("value");
	var songId = $("#songId").attr("value");
	var username = $("#name").attr("value");
	
	$.post('../../../php/sendError.php', {msg: message, id: songId, name: username}, onAjaxSuccess);		
	function onAjaxSuccess(xml) {
		$("#message").attr("value", "");
		$(".successSend").html("Спасибо за сообщение об ошибке!");
		$(".sendErrorDiv").hide();
		$(".successSend").show();
		$("#sendError").html("Отправить");
		$("#sendError").removeClass("artistListLoading");
	}	
}

function getAlbums(getByName) {
	$.get('../php/getAlbums.php', {name : getByName}, onAjaxSuccess);
	function onAjaxSuccess(xml) {
		parseAlbums(xml);
	}	
}

function parseAlbums(xml) {
	var list = $("#selectAlbum");
	list.empty();
	if (xml != '')  {
		projects = $("item", xml);
		projects.each(
			function () {	 
				id = $("id", this).text();
				name = $("title", this).text();

				$("<option></option>")
					.attr("value", id)
					.html(name)
					.appendTo(list);				
			});
		$("<option></option>")
			.attr("value", "addAlbum")
			.html("(Указать другой альбом)")
			.appendTo(list);
		list.show();
		setFields();
	} else {
		list.empty();
		list.hide();			
		$("#newAlbum").show();
	}
}

function showSongText(id) {
	if (id != 'showmenu') {
		var currentId = $("#current_song_id").attr("value");
		if (currentId != id) {
			$("#load").show();
			getNewText(id);
		}
	}
}

function getNewText(id) {
	var flip = 0;
	$.post('../../../php/getSongText.php', {getbyid : id}, onAjaxSuccess);
	function onAjaxSuccess(xmlData) {
		parseNewText(xmlData);
	}
}

function countHitParad(id) {
	$.post('../php/countHitParad.php', {idSong : id}, onAjaxSuccess);
	function onAjaxSuccess(xmlData) {
	}
}

function parseNewText(xmlData) {
	$("#breadcrumbs_song_title").html($(xmlData).find("fr_title").text());
	$("#current_song_id").attr("value", $(xmlData).find("id").text());
	$("#foundErrorLink").attr("href", "/feedback?foundError&id=" + $(xmlData).find("id").text());
	$("#devotionLink").attr("href", "/devotion?songId=" + $(xmlData).find("id").text());
	$("#fr_title").html($(xmlData).find("fr_title").text());
	$("#ru_title").html($(xmlData).find("ru_title").text());
	$("#fr_text").html($(xmlData).find("fr_text").text());
	$("#ru_text").html($(xmlData).find("ru_text").text());
	$("#author_1").html($(xmlData).find("author").text());
	$("#comment_1").html($(xmlData).find("comment").text());

	$("#load").hide();
	flip = 1;
}

function trackPlayMp3(title) {
	if (title != 'showmenu') {
		if (sentTitle != title) {
			var idSong = $("#songId").attr("value");
			countHitParad(idSong);
		
			pageTracker._trackPageview("/play/" + title);
			sentTitle = title;
		}
	}
}

function expand() {
	var el = document.getElementById("textsTable");
	var width = el.clientWidth;
	var height = el.clientHeight;
	width = width+220;
	el.style.position = "absolute";
	el.style.left = "50px";
	el.style.width = width+"px";

	var lt = document.getElementById("layoutText");
	lt.style.height = height+"px";

	var ar = document.getElementById("artists");
	ar.style.visibility = "hidden";
	var img = document.getElementById("expandImg");
	img.style.display = "none";
	var img = document.getElementById("compressImg");
	img.style.display = "block";
}

function compress() {
	var el = document.getElementById("textsTable");
	var width = el.clientWidth;
	width = width-220;
	el.style.position = "static";
	el.style.left = "240px";
	el.style.width = width+"px";

	var ar = document.getElementById("artists");
	ar.style.visibility = "visible";
	var img = document.getElementById("expandImg");
	img.style.display = "block";
	var img = document.getElementById("compressImg");
	img.style.display = "none";
}

function replace_string(txt,cut_str,paste_str){
	var f=0;
	var ht='';
	
	ht = ht + txt;
	f=ht.indexOf(cut_str);
	
	while (f!=-1){
		//цикл для вырезания всех имеющихся подстрок
		f=ht.indexOf(cut_str);
		if (f>0){
			ht = ht.substr(0,f) + paste_str + ht.substr(f+cut_str.length);
			};
	};
	return ht;
}

function initTranslate() {
	google.language.getBranding('branding', { type : 'vertical' });
	submitChange();
}

function submitChange() {
	var value = $("#source").attr("value");
	var srcLang = $("#srcLang").attr("value");
	var dstLang = $("#dstLang").attr("value");
	if (value != '') {
		google.language.translate(value, srcLang, dstLang, translateResult);
	}
	return false;
}

function translateResult(result) {
	if (result.translation) {
		var str = result.translation.replace('>', '&gt;').replace('<', '&lt;');
		$("#results").html(str);
		$("#results").show();
	} else {
		$("#results").html('<span style="color:red">Error Translating</span>');
	}
}
