var Uploader=function(){var fileCancelHandler=function(id){var file=this.getFile(id);var totalPlace=$("#upload-queue #upload-queue-total");var total=parseInt(totalPlace.html());if(!total){total=0}total--;if(!total){$("#upload-queue").fadeOut("fast")}totalPlace.html(total);$("#"+file.id+file.size).slideDown("fast",function(){if(!$.browser.msie){$(this.parentNode).remove()}else{$(this).remove()}});delete (this.customSettings.queue[file.id]);switch(file.filestatus){case SWFUpload.FILE_STATUS.IN_PROGRESS:case SWFUpload.FILE_STATUS.ERROR:case SWFUpload.FILE_STATUS.COMPLETE:case SWFUpload.FILE_STATUS.CANCELLED:var currentPlace=$("#upload-queue #upload-queue-current");var current=parseInt(currentPlace.html());if(!current){current=0}currentPlace.html(current-1);break}this.cancelUpload(file.id,false)};var fileQueuedHandler=function(file){$("#upload-queue").show("fast");var totalPlace=$("#upload-queue #upload-queue-total");var total=parseInt(totalPlace.html());if(!total){total=0}totalPlace.html(total+1);this.customSettings.queue[file.id]=file.id;var list=$("#upload-queue ol");var element="";if(!$.browser.msie){element+="<nobr>"}element+='<li id="'+file.id+file.size+'" class="clear">						<span class="file">'+file.name+'</span>						<div class="state">							<span class="progress"><span class="segment"></span></span>							<span class="percent"></span>							<span class="cancel">отменить</span>						</div>					</li>';if(!$.browser.msie){element+="</nobr>"}list.append(element);var self=this;$("#"+file.id+file.size+" span.cancel").bind("click",function(){fileCancelHandler.call(self,file.index)})};var fileDialogCompleteHandler=function(){for(track in this.customSettings.queue){this.refreshCookies();this.addPostParam("gallery",$("#gallery-id-field").val());this.addPostParam("artist",$("#gallery-artist-field").val());this.addPostParam("name",$("#gallery-name-field").val());if(window.uploadTimer){clearTimeout(uploadTimer)}this.startUpload(track);delete (this.customSettings.queue[track])}};var uploadStartHandler=function(file){this.refreshCookies();$("#"+file.id+file.size+" span.progress").css("display","inline-block");$("#"+file.id+file.size+" span.percent").css("display","inline-block");var currentPlace=$("#upload-queue #upload-queue-current");var current=parseInt(currentPlace.html());if(!current){current=0}currentPlace.html(current+1)};var uploadProgressHandler=function(file,complete,bytes){var percent=Math.ceil(file.percentUploaded);$("#"+file.id+file.size+" span.progress span.segment").css("width",percent+"%");$("#"+file.id+file.size+" span.percent").html(percent+"%")};var uploadCompleteHandler=function(file){$("#"+file.id+file.size+" span.progress").hide("fast");$("#"+file.id+file.size+" span.percent").hide("fast");for(track in this.customSettings.queue){this.refreshCookies();this.startUpload(track);delete (this.customSettings.queue[track])}};var uploadHider=function(){$("#upload-queue").fadeOut("fast",function(){$("#upload-queue #upload-queue-current").empty();$("#upload-queue #upload-queue-total").empty();$("#upload-queue ol").empty()});return false};var uploadSuccessHandler=function(file,data,response){var result=eval("("+data+")");$("#"+file.id+file.size).addClass("saved");var state=$("#"+file.id+file.size+" div.state");state.empty();state.html(result.message);if(result.handler&&result.handler.length>0){var handler;if(result.handler.indexOf(".")==-1){handler=window[result.handler]}else{var stack=result.handler.split(".");handler=window[stack[0]][stack[1]]}if(result.data){handler.call(this,result.data)}else{handler.call(this)}}};var uploadErrorHandler=function(file,error,message){switch(error){case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:$("#"+file.id+file.size).addClass("error");var state=$("#"+file.id+file.size+" div.state");state.empty();state.html("Ошибка HTTP протокола");break;case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:$("#"+file.id+file.size).addClass("error");var state=$("#"+file.id+file.size+" div.state");state.empty();state.html("Соединение было разорвано");break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:$("#"+file.id+file.size).addClass("error");var state=$("#"+file.id+file.size+" div.state");state.empty();state.html("Ограничение безопасности не позволяет закачать файл");break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:$("#"+file.id+file.size).addClass("error");var state=$("#"+file.id+file.size+" div.state");state.empty();state.html("Закачка завершилась неудачей");break;case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:break;case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:break;case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:break}};var fileQueueErrorHandler=function(file,error,message){switch(error){case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:showError("Очередь переполнена. Невозможно добавить файл "+file.name+".");break;case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:showError("Файл "+file.name+" имеет слишком большой размер.");break;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:showError("Файл "+file.name+" пуст.");break;case SWFUpload.QUEUE_ERROR.NVALID_FILETYPE:showError("Файл "+file.name+" имеет неверный формат.");break}};var queueHeaderClickHandler=function(){var hide=$("#upload-queue-header i.hide");var unhide=$("#upload-queue-header i.unhide");hide.removeClass("hide");hide.addClass("unhide");unhide.removeClass("unhide");unhide.addClass("hide");$("#upload-queue div.list").slideToggle("fast")};var swfuploadLoadedHandler=function(){$("#upload-queue-header").unbind("click");$("#upload-queue-header").bind("click",queueHeaderClickHandler);$("#upload-queue-header i.close").unbind("click");$("#upload-queue-header i.close").bind("click",uploadHider);var self=this;this.addPostParam("JSESSIONID",getCookie("JSESSIONID"));this.addPostParam("SPRING_SECURITY_REMEMBER_ME_COOKIE",getCookie("SPRING_SECURITY_REMEMBER_ME_COOKIE"));setInterval(function(){for(var i in SWFUpload.instances){if(SWFUpload.instances[i]===self){try{SWFUpload.instances[i].setButtonDisabled(false)}catch(e){SWFUpload.instances[i].destroy()}}}},500)};var getUploaderSettings=function(button_placeholder_id,url,postName,type,typeDescription,button_image_url,button_width,button_height){var settings={flash_url:"/swf/swfupload.swf",upload_url:url+";jsessionid="+getCookie("JSESSIONID"),file_size_limit:"150 MB",file_types:type,file_types_description:typeDescription,file_upload_limit:100,file_queue_limit:0,file_post_name:postName,post_params:{},debug:false,moving_average_history_size:40,button_placeholder_id:button_placeholder_id,button_image_url:button_image_url,button_text_left_padding:0,button_text_top_padding:0,button_width:button_width,button_height:button_height,button_action:SWFUpload.BUTTON_ACTION.SELECT_FILES,button_disabled:true,button_cursor:SWFUpload.CURSOR.HAND,button_window_mode:SWFUpload.WINDOW_MODE.OPAQUE,swfupload_loaded_handler:swfuploadLoadedHandler,file_dialog_start_handler:function(){},file_queued_handler:fileQueuedHandler,file_queue_error_handler:fileQueueErrorHandler,file_dialog_complete_handler:fileDialogCompleteHandler,upload_start_handler:uploadStartHandler,upload_progress_handler:uploadProgressHandler,upload_error_handler:uploadErrorHandler,upload_success_handler:uploadSuccessHandler,upload_complete_handler:uploadCompleteHandler,queue_complete_handler:function(){},debug_handler:function(){},swfupload_pre_load_handler:function(){},swfupload_load_failed_handler:function(){},custom_settings:{queue:{}}};return settings};new SWFUpload(getUploaderSettings("player-upload-swf","/music/add","track","*.mp3","Mp3 Files","http://dev.static.tune.ru/images/ico2/upload.png","32","50"));new SWFUpload(getUploaderSettings("photo-upload-swf","/photos/add","photo","*.jpg; *.jpeg; *.png; *.gif; *.tiff; *.tif;","Image Files","http://dev.static.tune.ru/images/ico2/upload-photo.png","100","18"))};Player=function(){var player=null;var playlist=null;var controls=null;var volume=100;var authMessage='Чтобы слушать музыку у нас на сайте, Вам необходимо <a href="/registration" onclick="navigate(this.href); return false;">зарегистрироваться</a>. Это займет всего минутку Вашего времени. А если Вы уже зарегистрированы, то просто войдите на сайт.';var Playlist=function(){var self=this;var trackData=null;var timeLeft=undefined;var playing=false;var title=document.title;var progressInterval=null;var captionInterval=null;var titleInterval=null;var captionDirection=0;var volumeSlider=$("#player-volume div")[0];var volumeBar=$("#player-volume")[0];var timelinePicker=$("#player-timeline-picker");var timelinePlayed=$("#player-timeline-played");var timelineLoaded=$("#player-timeline-loaded");var timelineWidth=195;var currentTime=$("#player-current-time");var drop=function(id,nextTrackId,loading){player.drop(id,nextTrackId);$(loading).remove()};var createTimeString=function(time){var timeString="";var seconds=time%60;var minutes=Math.floor(time/60)%60;var hours=Math.floor((time/(60*24))%(24));var days=Math.floor(time/(60*60*24));if(seconds<10){seconds="0"+seconds}timeString=seconds;if(minutes){timeString=minutes+":"+timeString}if(hours){timeString=hours+":"+timeString}if(days){timeString=days+":"+timeString}return timeString};var setTimeLeft=function(){timeLeft--;var progress=Math.floor(((trackData.length-timeLeft)/trackData.length)*100);progress=Math.floor((timelineWidth*progress/100));if(!timelinePicker.attr("slide")){timelinePicker.css("left",progress+"px")}timelinePlayed.css("width",progress+"px");currentTime.html(createTimeString(timeLeft))};var renumber=function(){var i=1;$("#player-list div.tracks p span.number").each(function(){$(this).html(i+++".")})};this.setPosition=function(position,progress){timeLeft=trackData.length-position;progress=Math.floor((timelineWidth*progress/100));if(!timelinePicker.attr("slide")){timelinePicker.css("left",progress+"px")}timelinePlayed.css("width",progress+"px");currentTime.html(createTimeString(timeLeft))};this.setIsBuffering=function(value){if(!value){progressInterval=setInterval(setTimeLeft,1000)}else{clearInterval(progressInterval);progressInterval=null}};this.startCaption=function(){var scrollCaption=$("#player-current-caption")[0];if(titleInterval===null){titleInterval=setInterval(function(){if(trackData!=null){var trackTitle=trackData.artistsString+" - "+trackData.name;if(document.title==trackTitle){document.title=title}else{title=document.title;document.title=trackTitle}}},8000)}if(scrollCaption.scrollWidth>scrollCaption.offsetWidth){captionInterval=setInterval(function(){switch(captionDirection){case 0:scrollCaption.scrollLeft++;if(scrollCaption.scrollLeft+scrollCaption.offsetWidth==scrollCaption.scrollWidth){captionDirection=1}break;case 1:scrollCaption.scrollLeft--;if(scrollCaption.scrollLeft==0){captionDirection=0}break}},200)}};this.stopCaption=function(){clearInterval(captionInterval);clearInterval(titleInterval);titleInterval=null;document.title=title;$("#player-current-caption")[0].scrollLeft=0};this.pauseCaption=function(){clearInterval(captionInterval)};this.addDroppable=function(element){var droppable=document.createElement("p");droppable.className="droppable";$(droppable).droppable({addClasses:false,accept:".drag",tolerance:"touch",over:function(event,ui){$(this).addClass("blank");ui.draggable.draggable("option","refreshPositions",true);setTimeout(function(){ui.draggable.draggable("option","refreshPositions",false)},100)},out:function(event,ui){$(this).removeClass("blank")},drop:function(event,ui){$(this).removeClass("blank");var loading=document.createElement("p");loading.className="loading";loading.innerHTML="Загрузка списка...";$("#player-list div.tracks p.empty").empty().removeClass("empty");$(this).before(loading);var nextTrackId=undefined;if(this.nextSibling){nextTrackId=parseInt($(this.nextSibling).attr("id").replace("player-track-",""))}drop($(ui.draggable).attr("rel"),nextTrackId,loading)}});if(element){$(element).before(droppable)}else{$("#player-list div.tracks").append(droppable)}};this.setState=function(state){switch(state){case 0:clearInterval(progressInterval);progressInterval=null;playing=false;controls.setPlayingState(false);$("#player-current-time").html(createTimeString(trackData.length));timeLeft=trackData.length;if(!timelinePicker.attr("slide")){timelinePicker.css("left","0px")}timelinePlayed.css("width","0px");timelineLoaded.css("width","0px");playlist.stopCaption();break;case 1:playing=true;controls.setPlayingState(true);playlist.stopCaption();playlist.startCaption();break;case 2:clearInterval(progressInterval);progressInterval=null;playing=false;controls.setPlayingState(false);playlist.pauseCaption();break}};this.selectTrack=function(data){trackData=data;timeLeft=data.length;$("#player-list div.tracks p.playing").removeClass("playing");$("#player-track-"+data.id).addClass("playing");$("#player-current-cover").attr("href",data.url);$("#player-current-cover div").html((data.cover!="null")?'<img src="'+data.cover+'" />':"");if(data.artist&&data.artist!="null"&&data.artist.name&&data.artist.name.length){$("#player-current-artists").attr("href",data.artist.url);$("#player-current-artists").html(data.artist.name)}else{$("#player-current-artists").removeAttr("href");$("#player-current-artists").html(data.artist_name);if(!data.artist_name||data.artist_name=="null"||data.artist_name.length==0){$("#player-current-artists").html("Неизвестный исполнитель")}}if((!data.artist||data.artist=="null"||!data.artist.name||!data.artist.name.length)&&(!data.artist_name||data.artist_name=="null"||data.artist_name.length==0)){trackData.artistsString="Неизвестный исполнитель"}else{if(data.artist&&data.artist!="null"&&data.artist.name&&data.artist.name.length){trackData.artistsString=data.artist.name}else{trackData.artistsString=data.artist_name}}$("#player-current-name").attr("href",data.url);$("#player-current-name").html(data.name);$("#player-current-time").html(createTimeString(data.length));var favorites=$("#player-current-favorites");favorites.attr("className",data.is_in_favourites?"afavorites":"favorites");favorites.attr("title",data.is_in_favourites?"Убрать из избранного":"Добавить в избранное");favorites.attr("rel",data.id);$("#player-current-stars b").html(data.star.toString());$("#player-current-stars i.plus").attr("rel",data.id);$("#player-current-stars i.minus").attr("rel",data.id);if(data.has_video){$("#player-current-video").show();$("#player-current-video").bind("click",function(){Navigation.redirect(data.url+":video")})}else{$("#player-current-video").hide();$("#player-current-video").unbind("click")}if(data.has_lyrics){$("#player-current-lyrics").show();$("#player-current-lyrics").bind("click",function(){Navigation.redirect(data.url+"[tab-lyrics]")})}else{$("#player-current-lyrics").hide();$("#player-current-lyrics").unbind("click")}$("#player-track-"+data.id)[0].scrollIntoView(false)};this.setMediaLoaded=function(loaded,total){var progress=Math.floor((loaded/total)*100);progress=Math.floor((timelineWidth*progress/100));timelineLoaded.css("width",progress+"px")};this.setPlaylist=function(id,name,url,owner,count){$("#player-list-name a").attr("href",url);$("#player-list-name a").html(name);$("#player-list-dialog-save-new-name").val(name);$("#player-list-count").html(count);if(id){$("#player-list-name").slideDown("fast")}if(!$("#player-list-dialog-save-form input[name='id']").length){var element=document.createElement("input");$(element).attr({type:"hidden",name:"id",value:id});$("#player-list-dialog-save-form").append(element)}$("#player-list-dialog-save-form input[name='id']").val(id);$("#player-list-dialog-save-new")[0].checked="";$("#player-list-dialog-save-new-box").show()};this.setVolume=function(percent){if(volume!=percent){volumeSlider.style.width=percent+"%";volumeBar.title="Громкость: "+percent+"%";volume=percent}};this.setOrder=function(value){var order=parseInt(value);if(order<0||order>3){order=0}$("#player-list div.behaviour select option[value='"+order+"']").attr("selected","selected")};this.setIsChanged=function(value){if(value){$("#player-list-name").addClass("changed")}else{$("#player-list-name").removeClass("changed")}};this.addTrack=function(data,nextTrackId,count){$("#player-list div.tracks p.empty").empty().removeClass("empty");$("#player-list-count").html(count);var nextElement=$("#player-track-"+nextTrackId)[0];var element=document.createElement("p");element.className="sortable";element.id="player-track-"+data.id;if(data.artist&&data.artist!="null"&&data.artist.name&&data.artist.name.length){var artistsString=data.artist.name}else{var artistsString=data.artist_name}if(!artistsString.length){artistsString="Неизвестный исполнитель"}$(element).html('							<span class="number"></span>								<span class="name">'+artistsString+" - <b>"+data.name+'</b></span>								<span class="time">'+createTimeString(data.length)+'</span>								<span class="action">									<i class="delete" title="Убрать трек из списка"></i>								</span>						');if(nextElement){if($(nextElement).hasClass("sortable")){nextElement=nextElement.previousSibling}$(nextElement).before(element)}else{$("#player-list div.tracks p:last").before(element)}playlist.addDroppable(element);renumber();$("#player div.nomusic").hide();$("#player div.controls").show();$("#player div.playitem").show()};this.removeTrack=function(trackId,count){$("#player-list-count").html(count);var deletable=$("#player-track-"+trackId)[0];if($(deletable.previousSibling).hasClass("droppable")){deletable.parentNode.removeChild(deletable.previousSibling)}deletable.parentNode.removeChild(deletable);renumber()};this.moveTrack=function(trackId,nextTrackId){var element=$("#player-track-"+trackId)[0];var droppable=element.previousSibling;$(element).remove();$(droppable).remove();if(nextTrackId){var nextElement=$("#player-track-"+nextTrackId)[0];if($(nextElement).hasClass("sortable")){nextElement=nextElement.previousSibling}$(nextElement).before(element)}else{$("#player-list div.tracks p:last").before(element)}playlist.addDroppable(element);renumber()};this.clear=function(){trackData=null;timeLeft=undefined;$("#player-list-name a").attr("href","");$("#player-list-name a").html("");$("#player-list-count").html(0);$("#player-list-name").slideUp("fast");$("#player-list div.tracks").empty();$("#player-list-dialog-save-form input[name='playlist']").remove();$("#player-list-dialog-save").slideUp("fast");self.addDroppable();$("#player-list div.tracks p.droppable").html('Плейлист пуст. Добавьте <a href="/music">музыки</a><br/>Перетащите любой трек со страницы').addClass("empty");$("#player div.nomusic").show();$("#player div.controls").hide();$("#player div.playitem").hide()};this.getTrackData=function(){return trackData};self.clear()};var Controls=function(){var self=this;var volumeSlider=$("#player-volume div")[0];var volumeBar=$("#player-volume")[0];var progressBar=$("#player-timeline")[0];var progressPicker=$("#player-timeline-picker");var listDialogSave=$("#player-list-dialog-save");var listDialogLoad=$("#player-list-dialog-load");volumeSlider.style.width=volume+"%";volumeBar.title="Громкость: "+volume+"%";var checkResult=function(result){var success=true;if(result.errors&&result.errors.length>0){for(var i=0,length=result.errors.length;i<length;i++){showError(result.errors[i].message);success=false}}if(result.message&&result.message.length){showMessage(result.message)}if(result.needLogin){showError("Сначала необходимо войти");success=false}return success};$("#player-list-button-toggle").dropdown("#player-list","#player");$("#player-current-favorites.favorites").live("click",function(){$.post("/tracks/favourite",{id:$(this).attr("rel")},function(data){var result=eval("("+data+")");if(checkResult(result)){$("#player-current-favorites").removeClass("favorites").addClass("afavorites");$("#player-current-favorites").attr("title","Убрать из избранного")}})});$("#player-current-favorites.afavorites").live("click",function(){$.post("/tracks/unfavourite",{id:$(this).attr("rel")},function(data){var result=eval("("+data+")");if(checkResult(result)){$("#player-current-favorites").removeClass("afavorites").addClass("favorites");$("#player-current-favorites").attr("title","Добавить в избранное")}})});$("#player-current-html").dropdown("#player-html");$("#player-current-html").live("click",function(){var html='<object width="336" height="36"><param name="movie" value="http://tune.ru/swf/tuner.swf"></param><param name="wmode" value="opaque"></param><param name="allowFullScreen" value="false"></param><param name="allowscriptaccess" value="always"></param><param name="flashvars" value="mediaId='+playlist.getTrackData().id+'&mediaType=track"></param><embed src="http://tune.ru/swf/tuner.swf" type="application/x-shockwave-flash" flashvars="mediaId='+playlist.getTrackData().id+'&mediaType=track" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="336" height="36"></embed></object>';$("#player-html textarea").val(html);$("#player-html-preview").html(html)});var changeStar=function(data){var rating=$("#player-current-stars");rating.children("b").removeClass("positive");rating.children("b").removeClass("negative");rating.children("b").html(data.star+"");if(data.star>0){rating.children("strong").addClass("positive")}else{if(data.star<0){rating.children("strong").addClass("negative")}}var stars=Number($("#panel-in-info-stars").text());if(!isNaN(stars)){stars--;$("#panel-in-info-stars").text(stars)}};$("#player-current-stars i.plus").live("click",function(){$.post("/stars/plus",{id:$(this).attr("rel"),mode:"TRACK"},function(data){var result=eval("("+data+")");if(checkResult(result)){changeStar(result.data)}})});$("#player-current-stars i.minus").live("click",function(){$.post("/stars/plus",{id:$(this).attr("rel"),mode:"TRACK"},function(data){var result=eval("("+data+")");if(checkResult(result)){changeStar(result.data)}})});$.ui.plugin.add("draggable","scroll",{start:function(e,ui){var o=$(this);var i=$(this).data("draggable");var j=0;o.draggable("option","scrollSensitivity",o.draggable("option","scrollSensitivity")||20);o.draggable("option","scrollSpeed",o.draggable("option","scrollSpeed")||20);i.overflows=[];if(typeof(o.draggable("option","scroll"))=="string"){var selectors=o.draggable("option","scroll").split(",");for(j=0;selectors[j];j++){i.overflows.push({overflowY:$(selectors[j]),overflowX:$(selectors[j])})}}else{i.overflows[0]={overflowY:function(el){do{if(/auto|scroll/.test(el.css("overflow"))||(/auto|scroll/).test(el.css("overflow-y"))){return el}el=el.parent()}while(el[0].parentNode);return $(document)}(this),overflowX:function(el){do{if(/auto|scroll/.test(el.css("overflow"))||(/auto|scroll/).test(el.css("overflow-x"))){return el}el=el.parent()}while(el[0].parentNode);return $(document)}(this)}}for(j=0;i.overflows[j];j++){if(i.overflows[j].overflowY[0]!=document&&i.overflows[j].overflowY[0].tagName!="HTML"){i.overflows[j].overflowYOffset=i.overflows[j].overflowY.offset()}if(i.overflows[j].overflowX[0]!=document&&i.overflows[j].overflowX[0].tagName!="HTML"){i.overflows[j].overflowXOffset=i.overflows[j].overflowX.offset()}}},drag:function(e,ui){var o=$(this);var scrollSensitivity=o.draggable("option","scrollSensitivity");var scrollSpeed=o.draggable("option","scrollSpeed");var i=$(this).data("draggable");var j=0;for(j=0;i.overflows[j];j++){if(i.overflows[j].overflowY[0]!=document&&i.overflows[j].overflowY[0].tagName!="HTML"){if((i.overflows[j].overflowYOffset.top+i.overflows[j].overflowY[0].offsetHeight)-e.pageY<scrollSensitivity){i.overflows[j].overflowY[0].scrollTop=i.overflows[j].overflowY[0].scrollTop+scrollSpeed}if(e.pageY-i.overflows[j].overflowYOffset.top<scrollSensitivity){i.overflows[j].overflowY[0].scrollTop=i.overflows[j].overflowY[0].scrollTop-scrollSpeed}}else{if(e.pageY-$(document).scrollTop()<scrollSensitivity){$(document).scrollTop($(document).scrollTop()-scrollSpeed)}if($(window).height()-(e.pageY-$(document).scrollTop())<scrollSensitivity){$(document).scrollTop($(document).scrollTop()+scrollSpeed)}}if(i.overflows[j].overflowX[0]!=document&&i.overflows[j].overflowX[0].tagName!="HTML"){if((i.overflows[j].overflowXOffset.left+i.overflows[j].overflowX[0].offsetWidth)-e.pageX<scrollSensitivity){i.overflows[j].overflowX[0].scrollLeft=i.overflows[j].overflowX[0].scrollLeft+scrollSpeed}if(e.pageX-i.overflows[j].overflowXOffset.left<scrollSensitivity){i.overflows[j].overflowX[0].scrollLeft=i.overflows[j].overflowX[0].scrollLeft-scrollSpeed}}else{if(e.pageX-$(document).scrollLeft()<scrollSensitivity){$(document).scrollLeft($(document).scrollLeft()-scrollSpeed)}if($(window).width()-(e.pageX-$(document).scrollLeft())<scrollSensitivity){$(document).scrollLeft($(document).scrollLeft()+scrollSpeed)}}}}});$("#player-list div.tracks").sortable({update:function(event,ui){if($(this).sortable("option","isDeleted")!==true){var track=ui.item[0];playlist.addDroppable(track);if(track.nextSibling){if($(track.nextSibling).hasClass("sortable")){player.moveTrack(parseInt($(track).attr("id").replace("player-track-","")),parseInt($(track.nextSibling).attr("id").replace("player-track-","")))}else{if($(track.nextSibling.nextSibling).hasClass("sortable")){player.moveTrack(parseInt($(track).attr("id").replace("player-track-","")),parseInt($(track.nextSibling.nextSibling).attr("id").replace("player-track-","")))}else{player.moveTrack(parseInt($(track).attr("id").replace("player-track-","")),undefined)}}}else{player.moveTrack(parseInt($(track).attr("id").replace("player-track-","")),undefined)}var droppable=track.previousSibling.previousSibling;if($(droppable).hasClass("droppable")){droppable.parentNode.removeChild(droppable);$(track).after(droppable)}}else{$(this).sortable("option","isDeleted",false)}},out:function(event,ui){$(this).sortable("option","isOut",true);$(this).sortable("option","revert",false);if($(this).sortable("option","isActive")){ui.item.addClass("deletable")}},over:function(event,ui){$(this).sortable("option","isOut",false);$(this).sortable("option","revert",true);ui.item.removeClass("deletable")},activate:function(){$(this).sortable("option","isActive",true)},deactivate:function(){$(this).sortable("option","isActive",false)},start:function(event,ui){$(ui.item[0].previousSibling).remove();$("#player-list").addClass("drag-waiting")},stop:function(){$("#player-list").removeClass("drag-waiting")},beforeStop:function(event,ui){if($(this).sortable("option","isOut")){$(this).sortable("option","isDeleted",true);player.removeTrack(parseInt($(ui.item[0]).attr("id").replace("player-track-","")))}},revert:false,distance:5,placeholder:"blank",items:".sortable"});$("#player-button-stop").bind("click",function(){player.stopMusic()});$("#player-button-play").bind("click",function(){if($("#panel-in-info-id").length>0){player.playMusic()}else{showLogin(authMessage)}});$("#player-button-play-nomusic").bind("click",function(){if($("#panel-in-info-id").length>0){player.playMusic()}else{showLogin(authMessage)}});$("#player-button-prev").bind("click",function(){player.prev()});$("#player-button-next").bind("click",function(){player.next()});$("#player-list-button-clear").bind("click",function(){player.clear()});$("#player-list-dialog-save-cancel").bind("click",function(){listDialogSave.slideUp("fast")});$("#player-list-dialog-load p.close span").bind("click",function(){listDialogLoad.slideUp("fast")});$("#player-list-button-load").bind("click",function(){if(listDialogLoad.is(":visible")){listDialogLoad.slideUp("fast")}else{listDialogSave.slideUp("fast");loadingStart();dax("/playlists/load",{anticache:true,method:"post",cb:formResult})}});$("#player-list-button-save").bind("click",function(){if($("#panel-in-info-id").length>0){if(player.getCount()>0){if(listDialogSave.is(":visible")){listDialogSave.slideUp("fast")}else{listDialogLoad.slideUp("fast");$("#player-list-dialog-save-count").html(player.getCount());$("#player-list-dialog-save-form input[name='id']").remove();var user=null;if($("#panel-in-info-id").length>0){user=$("#panel-in-info-id").val()}if(player.getId()&&user==player.getOwner()){var element=document.createElement("input");$(element).attr({type:"hidden",name:"id",value:player.getId()});$("#player-list-dialog-save-new-name").val(player.getName());$("#player-list-dialog-save-form").append(element);$("#player-list-dialog-save-new").removeAttr("checked");$("#player-list-dialog-save-new-box").show()}else{if(player.getName()==undefined||player.getName()==null){$("#player-list-dialog-save-new-name").val("Плейлист от "+$("#panel-in-info-name").text())}else{$("#player-list-dialog-save-new-name").val(player.getName())}$("#player-list-dialog-save-new-box").hide();$("#player-list-dialog-save-new").attr("checked","checked")}$("#player-list-dialog-save-new-name").select();listDialogSave.slideDown("fast")}}else{showError("Сначала нужно добавить музыку")}}else{showError("Сначала необходимо войти")}});$("#player-list div.behaviour select").bind("change",function(){player.setOrder(this.value)});var setPlayingState=function(value){var playerButtonPlay=$("#player-button-play");if(value){playerButtonPlay.addClass("player-button-pause");playerButtonPlay.attr({title:"Пауза"});playerButtonPlay.unbind("click");playerButtonPlay.bind("click",function(){player.pause()})}else{playerButtonPlay.removeClass("player-button-pause");playerButtonPlay.attr({title:"Играть"});playerButtonPlay.unbind("click");playerButtonPlay.bind("click",function(){if($("#panel-in-info-id").length>0){player.playMusic()}else{showLogin(authMessage)}})}};var volumeSet=function(event){var volumePosition=$(volumeBar).offset();volumePosition=volumePosition.left;var offset=event.pageX-volumePosition;var percent=Math.ceil(100*offset/volumeBar.offsetWidth);if(percent>97){percent=100}else{if(percent<4){percent=0}}player.setVolume(percent)};var volumePress=function(e){$(document).bind("mousemove",volumeSet);$(document).bind("mouseup",volumeUnpress);document.body.style.cursor="pointer";$(document).disableTextSelect();e.preventDefault()};var volumeUnpress=function(){$(document).unbind("mousemove",volumeSet);document.body.style.cursor=""};$("#player-volume").bind("click",volumeSet);$("#player-volume").bind("mousedown",volumePress);var progressSet=function(event){var progressPosition=$(progressBar).offset();progressPosition=progressPosition.left;var offset=event.pageX-progressPosition;var percent=Math.ceil(100*offset/progressBar.offsetWidth);player.setPosition(percent);$(document).unbind("mousemove",progressSlide);$(document).unbind("mouseup",progressSet);progressPicker.removeAttr("slide");document.body.style.cursor="";$(document).enableTextSelect();return false};var progressSlide=function(event){var progressPosition=$(progressBar).offset();progressPosition=progressPosition.left;var offset=event.pageX-progressPosition;if(offset<0){offset=0}if(offset>progressBar.offsetWidth){offset=progressBar.offsetWidth}progressPicker.css("left",offset+"px");progressPicker.attr("slide","slide")};var progressPress=function(){$(document).bind("mousemove",progressSlide);$(document).bind("mouseup",progressSet);document.body.style.cursor="pointer";$(document).disableTextSelect();return false};$("#player-timeline").bind("mousedown",progressPress);progressPicker.bind("mousedown",progressPress);$("#player-list div.tracks").bind("click",function(e){var element=e.srcElement||e.target;var tag=element.tagName.toLowerCase();switch(tag){case"b":element=element.parentNode;case"span":element=element.parentNode;case"p":player.selectTrack(parseInt($(element).attr("id").replace("player-track-","")));break;case"i":element=element.parentNode.parentNode;player.removeTrack(parseInt($(element).attr("id").replace("player-track-","")));break;default:break}});return{setPlayingState:setPlayingState}};var play=function(element){if($("#panel-in-info-id").length>0){if(typeof element=="string"){player.load(element,undefined,true)}else{var rel=$(element).attr("rel");player.load(rel,undefined,true)}}else{showLogin(authMessage)}};var savePlaylist=function(data){player.setPlaylist(data.id,data.name,data.url,data.person)};var init=function(){player=$("#player-swf")[0];controls=new Controls();new Uploader()};var flashvars={};var params={};params.allowscriptaccess="always";var attributes={};attributes.type="application/x-shockwave-flash";attributes.id="player-swf";attributes.name="player";swfobject.embedSWF("/swf/player.swf?1","player-swf","1","1","9","/swf/expressInstall.swf",flashvars,params,attributes);playlist=new Playlist();$("#player-list-dialog-save-form").bind("submit",function(){loadingStart();$("#player-list-dialog-save-form input[name='tracks']").remove();var tracks=player.getPlaylist();for(var i=0,length=tracks.length;i<length;i++){var element=document.createElement("input");$(element).attr({type:"hidden",name:"tracks",value:tracks[i]});$("#player-list-dialog-save-form").append(element)}});var debug=function(msg){console.log(msg)};var loadPlaylists=function(data){$("#player-list-dialog-load-content").empty();var list=document.createElement("ul");$(list).addClass("playlists");for(var i=0,length=data.playlists.length;i<length;i++){$(list).append('<li><span rel="playlist_'+data.playlists[i].id+'" class="play"><i class="icon"/>'+data.playlists[i].name+" ("+data.playlists[i].tracks_count+")</span></li>")}$("#player-list-dialog-load-content").append(list);$("#player-list-dialog-load").slideDown("fast")};return{debug:debug,play:play,addTrack:playlist.addTrack,moveTrack:playlist.moveTrack,removeTrack:playlist.removeTrack,setIsBuffering:playlist.setIsBuffering,loadingStart:loadingStart,loadingEnd:loadingEnd,setVolume:playlist.setVolume,setMediaLoaded:playlist.setMediaLoaded,setPosition:playlist.setPosition,selectTrack:playlist.selectTrack,setOrder:playlist.setOrder,setState:playlist.setState,setPlaylist:playlist.setPlaylist,getPin:playlist.getPin,clear:playlist.clear,setIsChanged:playlist.setIsChanged,init:init,savePlaylist:savePlaylist,loadPlaylists:loadPlaylists}}();$("#panel-in-status-auto").live("click",function(){if($(this).is(":checked")){$("#panel-in-status").attr("disabled","disabled")}else{$("#panel-in-status").removeAttr("disabled")}});$("em.play-thumbover").live("click",function(){Player.play(this.parentNode)});$("span.play").live("click",function(){Player.play(this)});$("i.play-icon, span.play-icon-grey").live("click",function(){Player.play(this)});var lockPage=function(){$("#background").show()};var unlockPage=function(){$("#background").hide()};var showLogin=function(b){lockPage();$("#log-in").show();var a=SRAX.parseAxHash(SRAX.getHash()).ajax;if(!a){a="/"}if(typeof a=="string"){$("#log-in-redirect").attr("value",a)}else{$("#log-in-redirect").attr("value","")}if(b&&typeof(b)=="string"){$("#login-error").html(b+"<br /><br />")}return false};var hideLogin=function(){unlockPage();$("#log-in").hide();return false};$("#panel-out-login").live("click",showLogin);$("#log-in-close").live("click",hideLogin);$("#background").live("click",hideLogin);var htmlArea=function(objects,hasImages,hasVideos){var image={css:"image",text:"Вставить изображение",action:function(button){$(".editor-image-upload").remove();$("body").append('<div class="editor-image-upload">									<span title="Закрыть" class="close">×</span>										<form id="editor-image-upload-form" enctype="multipart/form-data" method="post" ax:nohistory="true" action="/blogs/image">											<table class="forms">												<tr>													<td class="label">Файл:</td><td class="input"><input type="file" name="image" /></td>												</tr>												<tr>													<td></td><td class="input"><input type="checkbox" name="save_original_image" id="save_original_image" value="1" style="margin: 0;" /> <label for="save_original_image">поставить ссылку на оригинал</a></td>												</tr>												<tr>													<td></td>													<td>														<input type="submit" value="Вставить" />&#0160;&#0160;<input type="button" id="editor-image-upload-button-clancel" value="Отмена" />													</td>												</tr>											</table>										</form>									</div>');var editor=this;$(".editor-image-upload .close, #editor-image-upload-button-clancel").bind("click",function(){$(".editor-image-upload").remove()});$(".editor-image-upload form").bind("submit",function(){new SRAX.Uploader(this,loadingStart,function(data){if(data=="true"){return}loadingEnd();$(".editor-image-upload").hide();var response="";if(data.responseText){response=data.responseText}else{response=data}if(response.substring(0,1)=="{"){var result=eval("("+response+")");if(result.data.url&&result.data.url.length){if(result.data.original&&result.data.original.length){editor.pasteHTML('<a href="'+result.data.original+'" target="_blank"><img src="'+result.data.url+'" /></a>')}else{editor.pasteHTML('<img src="'+result.data.url+'" />')}}else{showError("Изображение имеет неверный формат")}}})})}};var video={css:"video",text:"Вставить видео",action:function(button){var editor=this;var url=prompt("Укажите ссылку на видео:","http://");if(url&&url.length&&url!="http://"){loadingStart();dax("/blogs/video",{anticache:true,method:"post",params:"video="+escape(url),cb:function(data){loadingEnd();var response="";if(data.responseText){response=data.responseText}else{response=data}if(response.substring(0,1)=="{"){var result=eval("("+response+")");if(result.data.video&&result.data.video.length&&result.data.video!="null"){editor.pasteHTML(result.data.video)}else{showError("Вставка видео из указанного источника не поддерживается")}}}})}}};var toolbar=[];if(hasImages&&hasVideos){toolbar=[["bold","italic","underline"],["p","h3","h4","h5","h6"],["link","unlink",image,video,"horizontalrule"],["orderedlist","unorderedlist"],["cut","copy","paste"],["html"]]}else{if(hasImages){toolbar=[["bold","italic","underline"],["p","h3","h4","h5","h6"],["link","unlink",image,"horizontalrule"],["orderedlist","unorderedlist"],["cut","copy","paste"],["html"]]}else{if(hasVideos){toolbar=[["bold","italic","underline"],["p","h3","h4","h5","h6"],["link","unlink",video,"horizontalrule"],["orderedlist","unorderedlist"],["cut","copy","paste"],["html"]]}else{toolbar=[["bold","italic","underline"],["p","h3","h4","h5","h6"],["link","unlink","horizontalrule"],["orderedlist","unorderedlist"],["cut","copy","paste"],["html"]]}}}setTimeout(function(){objects.htmlarea({toolbar:toolbar,toolbarText:$.extend({},jHtmlArea.defaultOptions.toolbarText,{bold:"Жирный",italic:"Курсив",underline:"Подчёркнутый",p:"Новый абзац",h3:"Заголовок 3",h4:"Заголовок 4",h5:"Заголовок 5",h6:"Заголовок 6",link:"Вставить ссылку",unlink:"Удалить ссылку",horizontalrule:"Горизонтальная черта",orderedlist:"Нумерованный список",unorderedlist:"Простой список",cut:"Вырезать",copy:"Копировать",paste:"Вставить",html:"Исходный код"})})},1000)};var createDragObject=function(){var b=document.createElement("p");var c=null;if($(this).hasClass("musicalbum-card")){c="draggable-album"}if($(this).hasClass("musicartist-card")){c="draggable-artist"}if($(this).hasClass("playlist-card")){c="draggable-playlist"}if($(this).hasClass("track-card")){c="draggable-track"}b.className=c;var a=$(this).find(".artist").text();var d=$(this).find(".title").text();if(a.length){b.innerHTML+='<span class="artist">'+a+"</span> - "}if(d.length){b.innerHTML+='<span class="title">'+d+"</span>"}return b};$(document).bind("mouseup",function(){$(document).enableTextSelect()});$(".drag").live("mouseover",function(){if(!$(this).data("init")){$(this).data("init",true);$(this).bind("mousedown",function(){$(document).disableTextSelect()});$(this).draggable({zIndex:60,appendTo:"body",helper:createDragObject,containment:"document",revertDuration:500,revert:"invalid",distance:5,cursorAt:{left:177,top:10},cursor:"pointer",addClasses:false,refreshPositions:false,start:function(){$("#player-list").show();$("#player-list").addClass("drag-waiting")},stop:function(){$("#player-list").removeClass("drag-waiting")},scroll:"#player-list div.tracks"})}});if(window.location.href.indexOf("tune.ru/")!=-1||window.location.href.indexOf("212.24.38.176")!=-1){(function(a){a.Model2Blocks.ajax={main:"main",person:"person"};a.Filter.add({url:"*",id:"ajax",anticache:true,callback:formResult});a.linkEqual[":ax:ajax:/"]=":";a.linkEqual["[~q~]"]=";";a.linkEqual[":anchor:ajax:"]="@";a.directLink();var b=function(c){var d=a.replaceLinkEqual(a.getHash(),1);indexOfAnchor=d.indexOf(":anchor:");if(indexOfAnchor>-1){d=d.substring(0,indexOfAnchor)}var e=a.replaceLinkEqual(d);if(a.getHash()!=e){a.setHash(e)}};a.Filter.on("beforewrap",function(e){var d=e.el;if(d.nodeName=="A"&&!d.anch){var f=a.parseUri(d.href),c=f.anchor;if(c){d.onclick=function(){var j;if(d.options){j=d.options.id;var g=a.Html.thread[j],i=a.delHost(a.parseUri(d.href).path);if(g&&i==a.delHost(a.parseUri(g.history.currentUrl()).path)){}else{if(i!=a.delHost(a.parseUri(a.replaceLinkEqual(location.href,1)).path)){return}}}else{j=e.layer==document?null:e.layer.id}var h=e.ops?!e.ops.nohistory:1;return anchor2target(c,h,j)};d.anch=1}if(d.addEventListener){d.addEventListener("click",function(){b(d)},false)}else{if(d.attachEvent){d.attachEvent("onclick",function(){b(d)})}}}})})(FLAX)}$(".search-listen-form-play").live("click",function(){loadingStart();dax("/music/listen",{anticache:true,method:"post",form:"search-listen-form",cb:function(b){loadingEnd();var a="";if(b.responseText){a=b.responseText}else{a=b}Player.play(a)}})});$("#panel-in-cabinet-link").dropdown("#panel-in-cabinet-menu");SRAX.Html.onall("load",function(a){$("#main").show();if(pageTracker){pageTracker._trackPageview(a.url)}$("#panel-in-cabinet-link").dropdown("#panel-in-cabinet-menu")});SRAX.Html.onall("beforerequest",function(a){if(a.options.method!="post"){$("#myartist-style").remove()}});function navigate(a){loadingStart();hax(a,{id:"ajax",anticache:true,cb:formResult})}function refresh(){var a=SRAX.parseAxHash(SRAX.getHash()).ajax;if(!a){a="/"}loadingStart();hax(a,{id:"ajax",anticache:true,nohistory:true,cb:formResult})}var refreshKeyHandler=function(c){var b=c||window.event;var a;if(window.event){a=window.event.keyCode}else{if(c){a=c.which}}if((a==116)||(a==82&&b.ctrlKey)){if(b.preventDefault){b.preventDefault()}if(document.all&&window.event&&!b.preventDefault){b.cancelBubble=true;b.returnValue=false;b.keyCode=0}refresh();return false}else{return true}};if($.browser.msie){document.onkeydown=refreshKeyHandler}else{$(document).bind("keydown",refreshKeyHandler)}$("i.refresh").live("click",refresh);$("#order-select").live("change",function(){setCookie($(this.parentNode.parentNode.parentNode).attr("rel")+"_order",this.value);refresh()});$("#filter-select").live("change",function(){setCookie($(this.parentNode.parentNode.parentNode).attr("rel")+"_filter",this.value);$(this).find("option").each(function(){location.hash=location.hash.replace("&"+$(this).attr("value"),"");location.hash=location.hash.replace($(this).attr("value")+"&","")});refresh()});$("#genres-link").dropdown("#genres-menu");$("#mood-link").dropdown("#mood-menu");$("#dance-link").dropdown("#dance-menu");$("#image-delete, .image-delete").live("click",function(){loadingStart();var a=$(this).attr("alt");dax($(this).attr("ref"),{anticache:true,params:"id="+$(this).attr("rel"),method:"post",cb:function(b){loadingEnd();$("#"+a+"image-place").remove();$("#"+a+"image-field").show()}})});$("#mood-spectrum").bind("click",function(b){var d=$(this).offset();var a=Math.round(b.pageX-d.left);var c=Math.round(b.pageY-d.top);$("#mood-point").css({left:a-10,top:c-10});loadingStart();dax("/music/listen",{anticache:true,params:"mode=MOOD&x="+a+"&y="+c,method:"post",cb:function(f){loadingEnd();var e="";if(f.responseText){e=f.responseText}else{e=f}Player.play(e)}});return false});$("#dance-spectrum").bind("click",function(b){var d=$(this).offset();var a=Math.round(b.pageX-d.left);var c=Math.round(b.pageY-d.top);$("#dance-point").css({left:a-10,top:c-10});loadingStart();dax("/music/listen",{anticache:true,params:"mode=DANCE&x="+a+"&y="+c,method:"post",cb:function(f){loadingEnd();var e="";if(f.responseText){e=f.responseText}else{e=f}Player.play(e)}});return false});$("#genres-menu li").bind("click",function(){$("#genres-menu").slideUp("fast");loadingStart();dax("/music/listen",{anticache:true,params:"mode=GENRE&genre="+parseInt($(this).attr("rel")),method:"post",cb:function(b){loadingEnd();var a="";if(b.responseText){a=b.responseText}else{a=b}Player.play(a)}})});$("#mood-point").draggable({containment:"parent",stop:function(){loadingStart();dax("/music/listen",{anticache:true,params:"mode=MOOD&x="+parseInt($(this).css("left"))+"&y="+(parseInt($(this).css("top"))+10),method:"post",cb:function(b){loadingEnd();var a="";if(b.responseText){a=b.responseText}else{a=b}Player.play(a)}});return false}});$("#dance-point").draggable({containment:"parent",stop:function(){loadingStart();dax("/music/listen",{anticache:true,params:"mode=DANCE&x="+parseInt($(this).css("left"))+"&y="+(parseInt($(this).css("top"))+10),method:"post",cb:function(b){loadingEnd();var a="";if(b.responseText){a=b.responseText}else{a=b}Player.play(a)}});return false}});var wrapLinks=function(){var b=function(c){if((c.href.substring(0,14).toLowerCase()=="http://tune.ru"||c.href.substring(0,18).toLowerCase()=="http://www.tune.ru"||c.href.substring(0,7).toLowerCase()!="http://")){return true}else{return false}};if(b(this)){var a=this.href;a=a.replace("http://tune.ru","");a=a.replace("http://www.tune.ru","");if(a.length==0){a="/"}hax(a,{id:"ajax"});return false}else{$(this).attr("target","_blank")}};$("#upload-queue a").live("click",wrapLinks);$("#chat a").live("click",wrapLinks);Comment=function(){var b=function(e,f){switch(e){case 0:return"("+f+")";break;case 1:return"["+f+"]";break;case 2:return"{"+f+"}";break}};var a=function(e){if(e&&e.length){return'<i class="icon" style="background:url('+e+') 0 0 no-repeat;"/>'}else{return'<i class="icon"/>'}};var d=function(f){var e='<li class="clear" style="padding-left: '+f.comment.shift+'px;" id="comment'+f.comment.id+'"><i class="isreply"/><div class="info"><a class="user" href="'+f.comment.person.url+'">'+a(f.comment.person.avatar_mini)+f.comment.person.name+" "+b(f.comment.person.gender,f.comment.person.level)+'</a><span class="date">'+f.comment.date+'</span><span class="reply"><span class="link-dashed">Ответить</span></span></div><div class="text">'+Base64.decode(f.comment.text)+'</div><div style="display: none;" id="reply'+f.comment.id+'" class="reply"><form method="post" action="/comments/add" ax:nohistory="true"><i class="isreply"/><p class="info"><a class="user" href="'+f.person.url+'">'+a(f.person.avatar_mini)+f.person.name+" "+b(f.person.gender,f.person.level)+'</a></p><input type="hidden" value="'+f.comment.object+'" name="object"/><input type="hidden" value="'+f.comment.type+'" name="type"/><input type="hidden" value="'+f.parent+'" name="parent"/><textarea name="text"/><input type="submit" value="Написать" class="publish"/></form></div></li>';if(f.previous){$("#comment"+f.previous).after(e)}else{$("#comments-layer ul").html(e);$("#comments-layer").show()}$("#comments form").each(function(){this.reset()});$("#comments div.reply").hide("fast");$("#comments-add").show("fast")};$("#comments span.reply").live("click",function(){if($(this.parentNode.parentNode).find("div.reply").is(":visible")){$("#comments div.reply").hide("fast");$("#comments-add").show("fast")}else{$("#comments div.reply").hide("fast");$("#comments-add").hide("fast");$(this.parentNode.parentNode).find("div.reply").show("fast")}});var c=function(e){$("#comment"+e.id).html('<i class="isreply"></i><p class="info"><span class="deleted">'+e.text+"</span></p>")};return{hide:c,insert:d}}();Favourites=function(){var a=function(b){if($(".infobar-favourite[rel='"+b.id+"']").is(":visible")){$(".infobar-favourite[rel='"+b.id+"']").hide();$(".infobar-unfavourite[rel='"+b.id+"']").show()}else{$(".infobar-unfavourite[rel = '"+b.id+"']").hide();$(".infobar-favourite[rel = '"+b.id+"']").show()}};return{switchButtons:a}}();Star=function(){var a=function(b){$("#panel-in-info-stars").html(b.stars);var c=$("#infobar-star-"+b.mode+""+b.id+" strong");c.html(b.star);if(b.star>0){c.removeClass("negative").addClass("positive")}else{if(b.star<0){c.removeClass("positive").addClass("negative")}else{c.removeClass("positive").removeClass("negative")}}};return{update:a}}();Message=function(){var q;var f=30000;var c=null;var i=function(s){if($("#chat dl dt[ref='"+s+"']").length){return true}else{return false}};var e=function(){if($("#chat dl").is(":visible")){$("#chat-header i").removeClass("hide").addClass("show")}else{$("#chat-header i").removeClass("show").addClass("hide")}$("#chat dl").slideToggle()};var n=function(s){if($("#chat dl dd[ref='"+s+"']").is(":visible")){$("#chat dl dd[ref='"+s+"']").slideToggle("fast")}else{$("#chat dl dd:visible").slideToggle("fast");$("#chat dl dd[ref='"+s+"']").slideToggle("fast");$("#chat dl dt[ref='"+s+"']").removeClass("new");if($("#chat dl dd[ref='"+s+"'] div.messages-list div:last").length){$("#chat dl dd[ref='"+s+"'] div.messages-list div:last")[0].scrollIntoView(false)}if(!$("#chat dl dt.new").length){$("#chat-header").removeClass("new")}}};var g=function(v,t,s,u){if(!$("#chat").is(":visible")){$("#chat").slideToggle("fast");o();f=12000;l();u=true}if(!$("#chat dl").is(":visible")){e()}if(i(t)){if(u){if(!$("#chat dl dd[ref='"+t+"']").is(":visible")){n(t)}}}else{if(u){if($("#chat dl dd:visible").length){n($("#chat dl dd:visible").attr("ref"))}}$("#chat dl").append('			<dt rel="'+v+'" ref="'+t+'">				<i class="icon close" title="Закрыть"></i>				<i class="icon history" title="История переписки"></i>				'+s+'			</dt>			<dd rel="'+v+'" ref="'+t+'">				<div class="messages-list">				</div>				<form method="post" action="/messages/send">					<input type="hidden" name="recipient" value="'+t+'">					<input type="hidden" name="session" value="'+v+'" />					<textarea name="text"></textarea>				</form>			</dd>			');if(!u&&$("#chat dl dd:visible").length){$("#chat dl dd[ref='"+t+"']").hide()}}$("#chat dl dd[ref='"+t+"'] form textarea").focus()};var k=function(x,u,t,y,s,v){if(s){t="Я"}if($("#chat dl dd[ref='"+u+"']").attr("rel")!=x){$("#chat dl dd[ref='"+u+"']").attr("rel",x);$("#chat dl dt[ref='"+u+"']").attr("rel",x);$("#chat dl dd[ref='"+u+"'] form input[name='session']").val(x)}var w="";switch(v){case 0:w='<div class="message"><b>'+t+":</b> "+y+"</div>";break;case 1:w='<div class="message important">'+y+"</div>";break;case 2:w='					<div class="message important"><b>'+t+'</b> предлагает вам дружбу						<div class="actions clear" id="chat-message-'+x+'-actions">							<form action="/people/friendship/take" method="post" ax:nohistory="true">								<input type="hidden" name="recipient" value="'+u+'" />								<input type="hidden" name="session" value="'+x+'" />								<input type="submit" value="Принять" />							</form>							<form action="/people/friendship/refuse" method="post" ax:nohistory="true">								<input type="hidden" name="recipient" value="'+u+'" />								<input type="hidden" name="session" value="'+x+'" />								<input type="submit" value="Отказать" />							</form>						</div>					</div>					';break;case 3:w='					<div class="message important">Вы подружились с <b>'+t+"</b></div>					";break;case 4:w='					<div class="message important"><b>'+t+"</b> не хочет дружить с Вами</div>					";break;case 5:w='					<div class="message important">Ваша дружба с <b>'+t+"</b> разорвана</div>					";break}$("#chat dl dd[ref='"+u+"'] div.messages-list").append(w);if(v==2){$("#chat-message-"+x+"-actions form").each(function(){$(this).bind("submit",function(){dax($(this).attr("action"),{anticache:true,method:"post",form:this,cb:formResult});return false})})}if(!$("#chat dl dd[ref='"+u+"']").is(":visible")&&!s){$("#chat dl dt[ref='"+u+"']").addClass("new");$("#chat-header").addClass("new")}else{$("#chat dl dd[ref='"+u+"'] div.messages-list div:last")[0].scrollIntoView(false)}};var a=function(s){$("#chat dl dt[ref='"+s+"']").remove();$("#chat dl dd[ref='"+s+"']").remove();if(!$("#chat dl dt").length){$("#chat").slideToggle("fast");o();f=30000;l()}};var b=function(u){var t;for(var s=0;s<u.messages.length;s++){t=u.messages[s];if(!i(t.session)){g(t.session,t.person,t.name,false)}k(t.session,t.person,t.name,t.text,false,t.type)}if(u.messages.length&&c!=null){c.beep("/swf/beep.mp3")}};var p=function(){if($("#panel-in-info-id").length>0){dax("/messages/check",{anticache:true,method:"post",cb:formResult})}};var l=function(){q=setInterval(p,f)};var o=function(){clearInterval(q)};var d=function(s){k(s.message.session,s.message.person,s.message.name,s.message.text,true,0)};$("#chat-header").live("click",e);$("#chat dl dt i.close").live("click",function(){a($(this.parentNode).attr("ref"));return false});$("#chat dl dt i.history").live("click",function(){if($(this.parentNode).attr("rel")=="0"){showError("Ещё нет истории для этой переписки")}else{navigate("/messages/"+($(this.parentNode).attr("rel")))}return false});$("#chat dl dt").live("click",function(){n($(this).attr("ref"))});$("#chat dd form textarea").live("keydown",function(s){if(s.keyCode==13){dax("/messages/send",{anticache:true,method:"post",form:this.parentNode,cb:formResult});$(this).val("");return false}});var m={};var r={};r.allowscriptaccess="always";var h={};h.type="application/x-shockwave-flash";h.id="beeper-swf";h.name="beeper";swfobject.embedSWF("/swf/beeper.swf","beeper-swf","1","1","9","/swf/expressInstall.swf",m,r,h);l();var j=function(){c=$("#beeper-swf")[0]};return{initBeeper:j,addMessages:b,createSession:g,startMessenger:l,stopMessenger:o,send:d}}();People=function(){var b=function(){$(".infobar-friendship-request").hide();$(".waitfrendate").show()};var a=function(d){$("#chat-message-"+d.session+"-actions").remove();$("#message-"+d.session+"-actions").remove()};var c=function(){$(".infobar-friendship-break").hide();$(".infobar-friendship-request").show()};return{friendshipWaiting:b,hideActions:a,friendshipBreak:c}}();Photo=function(){var changeGallery=function(){if($("#gallery-id-field").val()==0){$("#gallery-name").show()}else{$("#gallery-name").hide()}};var hider=function(e){var target=e.srcElement||e.target;if($("#upload-photo")[0]!=target&&!$.ui.contains($("#upload-photo")[0],target)){hideUpload()}};var showUpload=function(artistId,artistName){$(document).bind("click",hider);if(typeof(artistId)=="number"){$("#gallery-id").hide();$("#gallery-name").hide();$("#gallery-artist-field").val(artistId);$("#gallery-artist").html(artistName+" &mdash; ")}else{$("#gallery-artist-field").val("");$("#gallery-id").show();$("#gallery-name").show();$("#gallery-artist").html("");updateGalleries()}$("#upload-photo").show();return false};var hideUpload=function(){updateGalleries();$("#upload-photo").hide();$(document).unbind("click",hider)};var updateGalleries=function(){if($("#gallery-artist-field").val()&&$("#gallery-artist-field").val()!=""){}else{$.post("/gallery/galleries",{},function(data){var result=eval("("+data+")");var selectedId=$("#gallery-id-field").val();$("#gallery-id-field").empty();$("#gallery-id-field").append('<option value="0">-- создать новый --</option>');var html="";var selected="";for(var i=0;i<result.length;i++){if(result[i].id==selectedId){selected='selected="selected"'}else{selected=""}html='<option value="'+result[i].id+'" '+selected+' ">'+result[i].name+"</option>";$("#gallery-id-field").append(html)}changeGallery()})}};$("#gallery-id-field").bind("change",changeGallery);$("#upload-photo span.close").bind("click",hideUpload);$(".show-upload-button").live("click",showUpload);return{updateGalleries:updateGalleries,showUpload:showUpload,hideUpload:hideUpload}}();Map=function(){var a=null;var o=function(u,s,q,r){var t=new google.maps.LatLng(s,q);if(a==null||a.getDiv()!=document.getElementById(u)){if(a!=null){a.getDiv().innerHTML=""}a=null;var p={zoom:parseInt(r),center:t,disableDefaultUI:true,navigationControl:true,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:false};a=new google.maps.Map(document.getElementById(u),p)}else{j();a.setCenter(t);a.setZoom(parseInt(r))}};var n=function(r,p,q){if(a!=null){var s=new google.maps.LatLng(r,p);a.setCenter(s);if(q){a.setZoom(parseInt(q))}}};var g=function(p){if(a!=null&&p!=null&&typeof(p)=="function"){google.maps.event.clearListeners(a,"click");google.maps.event.addListener(a,"click",function(q){p.call(a,q)})}};var i=function(p){if(a!=null&&p!=null&&typeof(p)=="function"){google.maps.event.clearListeners(a,"dragend");google.maps.event.addListener(a,"dragend",function(){p.call(a)})}};var j=function(){if(a!=null){google.maps.event.clearInstanceListeners(a);e()}};var c=new google.maps.MarkerImage("http://static.tune.ru/images/ico/marker.png",new google.maps.Size(18,30),null,new google.maps.Point(8,28));var h=new google.maps.MarkerImage("http://static.tune.ru/images/ico/marker-lighten.png",new google.maps.Size(18,30),null,new google.maps.Point(8,28));var f={};var d=function(p){p.setIcon(h)};var b=function(p){p.setIcon(c)};var e=function(){for(var p in f){google.maps.event.clearInstanceListeners(f[p]);f[p].setMap(null);delete (f[p])}f={}};var l=function(q,y,v,x,z,w,u,p,s){if(a!=null){var r=new google.maps.LatLng(v,x);var t=new google.maps.Marker({position:r,map:a,flat:true,title:y,icon:c,draggable:z,zIndex:1});google.maps.event.addListener(t,"mouseover",function(){t.setZIndex(2);t.setIcon(h)});google.maps.event.addListener(t,"mouseout",function(){t.setZIndex(1);t.setIcon(c)});if(w!=null&&typeof(w)=="function"){google.maps.event.addListener(t,"click",function(){w.call(t,q)})}if(s!=null&&typeof(s)=="function"){google.maps.event.addListener(t,"dragend",function(){s.call(t,q)})}if(u!=null&&typeof(u)=="function"){google.maps.event.addListener(t,"mouseover",function(){u.call(t,q)})}if(p!=null&&typeof(p)=="function"){google.maps.event.addListener(t,"mouseout",function(){p.call(t,q)})}f[q]=t;return t}else{return null}};var k=function(){return a};var m=function(){if(a!=null){a.getDiv().innerHtml=""}a=null};return{init:o,destroy:m,getMap:k,addMarker:l,markerOver:d,markerOut:b,clearMarkers:e,setOnDragEnd:i,setOnClick:g,setCenter:n}}();Artists=function(){var c=function(){$(".infobar-antifan-enable").show();$(".infobar-antifan-disable").hide();$(".infobar-fan-enable").show();$(".infobar-fan-disable").hide()};var b=function(){$(".infobar-antifan-enable").hide();$(".infobar-antifan-disable").hide();$(".infobar-fan-enable").hide();$(".infobar-fan-disable").show()};var a=function(){$(".infobar-antifan-enable").hide();$(".infobar-antifan-disable").show();$(".infobar-fan-enable").hide();$(".infobar-fan-disable").hide()};return{relNeutral:c,relFan:b,relAntifan:a}}();Coins=function(){var d=function(f){var e=$("#panel-in-info-coins").html();e=e-f;if(e<0){e=0}$("#panel-in-info-coins").html(e);$("#coins").html(e)};var b=function(f){if(f>0){var e=$("#panel-in-info-coins").html();if(isNaN(e)){e=0}e=e+f;if(e<0){e=0}$("#panel-in-info-coins").html(e);$("#coins").html(e)}};var a=function(e){d(e.cost);if($("#transfer-form").length){$("#transfer-form")[0].reset()}};var c=function(e){d(e.cost);$("#vip-title").html("VIP-режим: включен до "+e.vipTill);$("#vip-button-title").html("Продлить VIP-режим")};return{vipSuccess:c,transferSuccess:a,coinsDec:d,coinsInc:b}}();var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(c){var a="";var k,h,f,j,g,e,d;var b=0;c=Base64._utf8_encode(c);while(b<c.length){k=c.charCodeAt(b++);h=c.charCodeAt(b++);f=c.charCodeAt(b++);j=k>>2;g=((k&3)<<4)|(h>>4);e=((h&15)<<2)|(f>>6);d=f&63;if(isNaN(h)){e=d=64}else{if(isNaN(f)){d=64}}a=a+this._keyStr.charAt(j)+this._keyStr.charAt(g)+this._keyStr.charAt(e)+this._keyStr.charAt(d)}return a},decode:function(c){var a="";var k,h,f;var j,g,e,d;var b=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(b<c.length){j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}}a=Base64._utf8_decode(a);return a},_utf8_encode:function(b){b=b.replace(/\r\n/g,"\n");var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=String.fromCharCode(d)}else{if((d>127)&&(d<2048)){a+=String.fromCharCode((d>>6)|192);a+=String.fromCharCode((d&63)|128)}else{a+=String.fromCharCode((d>>12)|224);a+=String.fromCharCode(((d>>6)&63)|128);a+=String.fromCharCode((d&63)|128)}}}return a},_utf8_decode:function(a){var b="";var d=0;var e=c1=c2=0;while(d<a.length){e=a.charCodeAt(d);if(e<128){b+=String.fromCharCode(e);d++}else{if((e>191)&&(e<224)){c2=a.charCodeAt(d+1);b+=String.fromCharCode(((e&31)<<6)|(c2&63));d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);b+=String.fromCharCode(((e&15)<<12)|((c2&63)<<6)|(c3&63));d+=3}}}return b}};
