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();
}
}