var lastTextInputId=""; var JsonPictosData; $( function() { $( "#shareInput" ).autocomplete({ source: "inc/_listUserNames.php", minLength: 2, select: function( event, ui ) { addUserToShare(ui.item.id, ui.item.value); $(this).val(""); return false; } }); $("#listMaps").tabs(); $("#pawns").tabs(); $("#listTiles").tabs(); $(".ui-tabs-anchor").on("click",function(){ $("#searchPawns").val(""); searchItem(".pawnItemContener",""); }); console.log("start"); $("#defaultRules").change(function(event) { var defRuleTitle=$(this).find(":selected").attr("data-default-rule-title"); var defRuleDesc=$(this).find(":selected").attr("data-default-rule-description"); addRulesToList(defRuleTitle,defRuleDesc,"-1"); $(this).val("-1"); }); displaySpinner(); $.getJSON( "./pictos.json", function( data ) { JsonPictosData=data; continueLoading(); }); if (window.matchMedia('(max-width: 950px)').matches) { $( "#main" ).accordion({ active: false, collapsible: true, autoHeight: 'false', header:'.descriptionHeader, #objectivesTitle, #gemsHeroesHeader, #gemsOlHeader, #specialRulesTitle' }); /*$('.descriptionHeaderPart3').on('click', function(e) { $('.descriptionBody').hide(); $('.descriptionHeaderPart3').removeClass('openedHeader'); $(this).addClass('openedHeader'); var idToOpen=$(this).attr('data-targetToOpen'); console.log(idToOpen+" "+$("#"+idToOpen).css('display')); if($("#"+idToOpen).css('display') == 'block') $("#"+idToOpen).hide(); else $("#"+idToOpen).show(); return false; });*/ } $("#isHurt").click(function(event){ console.log("test click ishurt"); $(".hurtItem").toggle($(this).is(':checked')); }); } ); function autoSave() { saveMission(null,false); setTimeout(function(){ autoSave();}, 60000); } function continueLoading() { console.log(JsonPictosData); $("#mandatorySelect").change(function(){ addMandatory(); }); $("#playersNbr").change(function(){ setNumberOfHeroes($("#playersNbr").val()); }); $("#leadersHealtButton").click(function(event) { var id=$("#leadersHealthSelect").val(); var img=$(".pawnsItem[pawn-id="+id+"]").attr("pawn-img"); var name=$(".pawnsItem[pawn-id="+id+"]").attr("pawn-name"); addLeaderHealth(id,img,1,name); }); $(".SaveButton").click(function(event) { saveMission(null,true); }); $(".DisplayButton").click(function(event) { pdfPage=window.open("", '_blank'); pdfPage.document.write('scripts_edit_pdf_loading'); saveMission(function(){ pdfPage.location.href="pdfFile.php?MissionId="+$("#MissionId").val(); },true); }); $(".SaveCopyButton").click(function(event) { pdfPage=window.open("", '_blank'); pdfPage.document.write('scripts_edit_copy_loading'); copyMission(); }); $(".DownloadButton").click(function(event) { pdfPage=window.open("", '_blank'); pdfPage.document.write('scripts_edit_pdf_loading'); saveMission(function(){ pdfPage.location.href="pdfFile.php?download=1&MissionId="+$("#MissionId").val(); },true); }); $(".PublishButton").click(function(event) { saveMission(false); }); $("#searchPawns").keyup(function(event) { searchItem(".pawnItemContener",$("#searchPawns").val()); }); $("#searchTiles").keyup(function(event) { searchItem(".tilesBoxItem",$("#searchTiles").val()); }); //$('#pawnsContener, #tileContener').perfectScrollbar(); griddraggReset(); $(".pawnsItem,.tilesBoxItem" ).draggable({ appendTo: 'body',revert: true, helper: "clone" }); $("#containment-wrapper").droppable({ drop: function( event, ui ) { var draggableId = $(ui.draggable).attr("id"); console.log($("#"+draggableId).attr("pawn-color")); if($("#"+draggableId).hasClass( "pawnsItem" )) { var newId=draggableId+"_"+counter; /*$(this).append("
"+$("#"+draggableId).html()+"
"); $("#"+newId).css("top",round25(event.pageY)-25); $("#"+newId).css("left",round25(event.pageX)-25);*/ var wrapperPos=$("#mapImg").position(); var posTop=round10(event.pageY)-10-wrapperPos.top; var posLeft=round10(event.pageX)-10-wrapperPos.left; addPawn($("#mapImg"),$("#"+draggableId).attr("pawn-id"),$("#"+draggableId).attr("pawn-img"),posTop,posLeft,$("#"+draggableId).attr("pawn-width"),$("#"+draggableId).attr("pawn-height"),$("#"+draggableId).attr("pawn-color"),$("#"+draggableId).attr("pawn-rotation"),0); /*var touch = event.touches[0]; var touchx = touch.pageX; var touchy = touch.pageY;*/ console.log(posTop+"x"+posLeft+" "+event.pageY+"x"+event.pageX); griddraggReset("#containment-wrapper"); counter++; } } }); $("#river").droppable({ drop: function( event, ui ) { var draggableId = $(ui.draggable).attr("id"); var pawnId=draggableId.replace("tilesBox_","pawns_"); if($("#"+draggableId).hasClass( "tilesBoxItem" )) { var newId=draggableId+"_"+counter; var newPawnId=pawnId+"_"+counter; var isHurtBool=false; if($("#isHurt").is(':checked')) isHurtBool=true; //console.log($("#isHurt").is(':checked')+" "+isHurtBool); addTile(this,$("#"+draggableId).attr("tile-id"),$("#"+draggableId).attr("tile-img"),$("#"+draggableId).attr("tile-type"),$("#"+draggableId).attr("item-name"),$("#"+draggableId).attr("tile-color"),false, isHurtBool); var wrapperPos=$("#containment-wrapper").position(); var posTop=wrapperPos.top; var posLeft=wrapperPos.left; //addPawn($("#containment-wrapper"),pawnId,newPawnId,posTop,posLeft); griddraggReset("river"); counter++; } } }); $("#rulesListUl, #eventsListUl").sortable({handle:".mHandle"}); $("#river").sortable({axis: "x"}); $("#river").disableSelection(); $( ":text, textarea" ).focus(function(event) { lastTextInputId=$(this).attr("id"); console.log(lastTextInputId); }); console.log("test"); finalLoad(); $(".darkClass").hide(); //setTimeout(function(){ autoSave();}, 60000); } function addMandatory() { mandatoryId=$("#mandatorySelect").val(); if(mandatoryId!=-1) { mandatoryName=$("#mandatorySelect option[value='"+$("#mandatorySelect").val()+"']").text(); $("#scenarioMandatory").append("
  • "+mandatoryName+"
  • "); } $("#mandatorySelect").val('-1'); } function getMandatory() { var tabMandatory=[] $("#scenarioMandatory li").each(function(index){ var mandatoryObject=new Object(); mandatoryObject.mandatoryId=$(this).attr("data-mandatory-id"); mandatoryObject.mandatoryName=$(this).attr("data-mandatory-name"); tabMandatory.push(mandatoryObject); }); return tabMandatory; } function addUserToShare(id,pseudo) { var addToShare=true; $("#sharedUserList li").each(function(index, el) { if($(this).attr('data-user-share-id')==id) { addToShare=false; } }); if(addToShare) { var shareUser="
  • "+pseudo+"
  • "; $("#sharedUserList").append(shareUser); } } function getJsonText() { var totalJsonObj=new Object(); totalJsonObj.signature=$("#signature").val(); totalJsonObj.language=$("#scenarioLanguage").val(); totalJsonObj.playersNbr=$("#playersNbr").val(); totalJsonObj.difficulty=$("#difficulty").val(); totalJsonObj.title=$("#title").val().replace(/"/g, '\\"'); totalJsonObj.mandatory=getMandatory(); totalJsonObj.displayed=$("#displayed").val(); totalJsonObj.description=tinyMCE.get('descriptionTextarea').getContent(); //totalJsonObj.description=totalJsonObj.description.replaceAll("\n","
    "); totalJsonObj.heroesObjectives=tinyMCE.get('heroesObjectives').getContent(); totalJsonObj.overlordObjectives=tinyMCE.get('overlordObjectives').getContent(); totalJsonObj.map={Id:$("#containment-wrapper").attr("current-map-id"),Img:$("#containment-wrapper").attr("current-map-img")}; totalJsonObj.startingPlayer=$("#startingPlayer").val(); totalJsonObj.heroGemFatigue=$("#heroGemFatigue").val(); overLordGems1={overlordGemDispo: $("#overlordGemDispo_1").val(), overlordGemFatigue: $("#overlordGemFatigue_1").val(), overlordGemRecup: $("#overlordGemRecup_1").val()}; overLordGems2={overlordGemDispo: $("#overlordGemDispo_2").val(), overlordGemFatigue: $("#overlordGemFatigue_2").val(), overlordGemRecup: $("#overlordGemRecup_2").val()}; totalJsonObj.overLordGems=[overLordGems1,overLordGems2]; totalJsonObj.pawns=getPawnsList(); totalJsonObj.river=getRiverList(); totalJsonObj.leaders=[]; $(".leadersItem").each(function(index){ var leaderItem=new Object(); leaderItem.name=$(this).attr("leader-name"); leaderItem.id=$(this).attr("leader-id"); leaderItem.img=$(this).attr("leader-img"); leaderItem.health=$("#leaderHealth_"+leaderItem.id).val(); leaderItem.note=$('#leaderNote_'+leaderItem.id).val().replace(/"/g, '\\"'); var equipment=[]; var spells=[]; for(var j=0;j<4;j++) { var equipmentObject=new Object(); equipmentObject.name=$("#leader_equipment_"+leaderItem.id+" .equip_"+j+" option[value='"+$("#leader_equipment_"+leaderItem.id+" .equip_"+j).val()+"']").text(); equipmentObject.id=$("#leader_equipment_"+leaderItem.id+" .equip_"+j).val(); equipment.push(equipmentObject); var spellObject=new Object(); spellObject.name=$("#leader_equipment_"+leaderItem.id+" .spell_"+j+" option[value='"+$("#leader_equipment_"+leaderItem.id+" .spell_"+j).val()+"']").text(); spellObject.id=$("#leader_equipment_"+leaderItem.id+" .spell_"+j).val(); spells.push(spellObject); } leaderItem.equipment=equipment; leaderItem.spells=spells; totalJsonObj.leaders.push(leaderItem); }); totalJsonObj.heroes=[]; var tabHeroesNbr=$("#playersNbr").val().split("-"); var i=0; while(i<10) { var hero=new Object(); hero.id=$("#hero_"+i).val(); hero.name=$("#hero_"+i+" option[value='"+$("#hero_"+i).val()+"']").text(); if($('#heroNote_'+i).length) hero.note=$('#heroNote_'+i).val().replace(/"/g, '\\"'); var equipment=[]; var spells=[]; for(var j=0;j<4;j++) { var equipmentObject=new Object(); equipmentObject.name=$("#heroSelector_"+i+" .equip_"+j+" option[value='"+$("#heroSelector_"+i+" .equip_"+j).val()+"']").text(); equipmentObject.id=$("#heroSelector_"+i+" .equip_"+j).val(); equipment.push(equipmentObject); var spellObject=new Object(); spellObject.name=$("#heroSelector_"+i+" .spell_"+j+" option[value='"+$("#heroSelector_"+i+" .spell_"+j).val()+"']").text(); console.log("****************************************************spellName "+spellObject.name); spellObject.id=$("#heroSelector_"+i+" .spell_"+j).val(); spells.push(spellObject); } hero.equipment=equipment; hero.spells=spells; totalJsonObj.heroes.push(hero); i++; } totalJsonObj.events=[]; $("#eventsListUl li.eventsLi").each(function(index){ var eventItem=new Object(); //console.log("event : "+$(this).children("div.mHandle").children("span.eventTitle").html()); eventItem.title=$(this).children("div.mHandle").children("span.eventTitle").html(); eventItem.description=$(this).children("div.mHandle").children("span.eventDesc").html(); totalJsonObj.events.push(eventItem); }); totalJsonObj.rules=[]; $("#rulesListUl li.rulesLi").each(function(index){ var ruleItem=new Object(); ruleItem.title=$(this).children("div.mHandle").children("span.ruleTitle").html(); ruleItem.description=$(this).children("div.mHandle").children("span.ruleDesc").html(); totalJsonObj.rules.push(ruleItem); }); totalJsonObj.shareWith=[]; $("#sharedUserList li").each(function(index){ var shareWithItem=new Object(); shareWithItem.Id=$(this).attr('data-user-share-id'); shareWithItem.Pseudo=$(this).attr('data-user-share-pseudo'); totalJsonObj.shareWith.push(shareWithItem); }); var jsonString=JSON.stringify(totalJsonObj, null, 2); return jsonString; } function copyMission() { $(".darkClass").show(); var callBack2=function(){ var jsonString=getJsonText(); var data={CopyId:$("#MissionId").val(),JsonText:jsonString}; var random=Math.random() * (0 - 10000000) + 10000000; var jqxhr = $.post( "msaver.php?rand="+random, data) .done(function(data) { if(data.indexOf("ERROR") >= 0) { if(data.indexOf("NOUSERID") >= 0) { displayLogin(null,function(){saveMission(null,true);}); } else { alert("Error!"); console.log(data); $(".darkClass").hide(); } } else { console.log( "save finished" ); console.log(data); pdfPage.location.href="edit.php?MissionId="+data; $(".darkClass").hide(); } }) .fail(function() { console.log( "save error" ); }) .always(function() { console.log( "save finished (always???)" ); }); }; if($("#MissionId").val()=="") { saveMission(callBack2,true); } else { callBack2(); } }