/**
* Impressionist
*
* Impressionist is a visual ide for impress.js. impress.js is a presentation tool based on the power of CSS3 transforms and transitions
* in modern browsers and inspired by the idea behind prezi.com.
*
* MIT Licensed.
*
* Impressionist Copyright 2012 Harish Sivaramakrishnan (@hsivaram)
*/
var isdisabled = false;
var rotateX = 0;
var rotateY = 0;
var rotateZ = 0;
var currentsliderotation = 0;
var display = 0;
//Set up UI
function setupUI()
{
//console.log("Setup UI "+screen.width+" "+screen.height);
$("#contextbar").css("visibility","hidden");
$("#subnav2").css("z-index", -10000);
$("#subnav").css("z-index", 10000);
$("#subnav").css("visibility", "visible");
$("#subnav2").css("visibility", "hidden");
$("#editorBox").bind("keyup", onKeyUp);
$("#urlinput").bind("blur", onURLEntered);
$("#urlinput").bind("keyup", onURLEntered);
$("#editorBox").bind("focusout", onFocusOut);
bindTextInputEvents();
}
//Bind events on text inputs. At the moment, the text editor and the
//picture wizard.
function bindTextInputEvents()
{
$("#contextbar").bind("mouseup", onContextMouseUp)
}
function onContextMouseUp(event)
{
console.log("context "+event.target.id);
}
//Hide the toasted editor
function onFocusOut(event)
{
var val = $("#editorBox").val();
if(val != "")
{
var keyed = $("#editorBox").val().replace(/\n/g, '
');
$(editedobject).html(keyed);
//$(editedobject).text(keyed);
}
$(editedobject).css("visibility", "visible");
hideEditorBox();
resetEditedObject();
}
//setup all the knobs that control the rotation params
//also bind the events to the depth and scale sliders.
function setupKnobs()
{
/*$("#knobit1").knob
(
{
"change":function(e)
{
skewx = e;
$(editedobject).css("-webkit-transform", "rotate("+rot+"deg) skew("+skewx+"deg, "+skewy+"deg)");
$(editedobject).attr("data-skewx", skewx);
$(editedobject).attr("data-skewy", skewy);
}
}
);
*/
$("#rotationxknob").knob
(
{
"change":function(e)
{
rotateX = e;
selectedorchslide.css("-webkit-transform", " rotate("+currentsliderotation+"deg) rotateX("+rotateX+"deg) rotateY("+e+"deg)");
selectedorchslide.attr("data-rotate-x", e);
}
}
);
$("#rotationyknob").knob
(
{
"change":function(e)
{
rotateY= e;
selectedorchslide.css("-webkit-transform", "rotate("+currentsliderotation+"deg) rotateX("+rotateX+"deg) rotateY("+e+"deg)");
selectedorchslide.attr("data-rotate-y", e);
}
}
);
/*
$("#knobit2").knob
(
{
"change":function(e)
{
skewy = e
$(editedobject).css("-webkit-transform", "rotate("+rot+"deg) skew("+skewx+"deg, "+skewy+"deg)");
$(editedobject).attr("data-skewx", skewx);
$(editedobject).attr("data-skewy", skewy);
}
}
);
*/
$("#slideknob").knob
(
{
"change":function(e)
{
currentsliderotation = e;
selectedorchslide.attr("data-rotate", e);
doExport();
selectedorchslide.css("-webkit-transform", "rotate("+e+"deg) rotateX("+rotateX+"deg) rotateY("+rotateY+"deg)");
}
}
);
$("#depthrange").bind("change", onDepthChange);
$("#scalerange").bind("change", onScaleChange);
}
//Depth change event handler
function onDepthChange(event)
{
var depth = parseInt(event.target.value)*-1;
selectedorchslide.attr("data-z", depth);
doExport();
}
//Scale change event handler
function onScaleChange(event)
{
var scale = parseInt(event.target.value);
selectedorchslide.attr("data-scale", scale);
doExport();
}
//Setup colorpicker.
function setupColorPicker(color)
{
$('#colorSelector').ColorPicker(
{
color: '#0000ff',
onShow: function (colpkr)
{
$(editedobject).css("z-index", 0)
$("#deleteBtn").css("z-index", 0)
//this.css("z-index", 200)
if(!isdisabled)
{
$(colpkr).fadeIn(500);
}
return false;
},
onHide: function (colpkr)
{
//$(editedobject).css("z-index", 20)
$("#deleteBtn").css("z-index", 40)
//this.css("z-index", 0)
$(colpkr).fadeOut(500);
return false;
},
onChange: function (hsb, hex, rgb)
{
if(!isdisabled)
{
colorboxopen = true;
currentAddObject = "";
$("#colorSelector").css('backgroundColor', '#' + hex);
$(editedobject).attr("data-selected-color", "#"+hex);
$(editedobject).css("color", "#"+hex);
}
}
});
}
function setFontStyle(value)
{
var dropdownlabel = "";
fontStyle = value;
if(fontStyle == "jumbo")
{
dropdownlabel = "Very Large"
}
else if(fontStyle == "largeheader")
{
dropdownlabel = "Large"
}
else if(fontStyle == "mediumheader")
{
dropdownlabel = "Medium"
}
else if(fontStyle == "smallheader")
{
dropdownlabel = "Small"
}
if(editedobject != "")
{
adjustObjectPositions(
$(editedobject)
.attr("data-font-size", value)
.attr("class","ui-draggable slideobject itemselected "+value)
);
$("#play").css("visibility", "hidden");
}
$("#fontstyledropdown").html(dropdownlabel+'');
}
function addUnorderedList()
{
console.log("adding ul : "+editor.getValue())
}
function setFont(font)
{
selectedFont = font;
currentSelectedFont = font;
$(editedobject).attr("data-font-face", currentSelectedFont)
$("#play").css("visibility", "hidden");
$("#fontdropdown").html(currentSelectedFont+'');
if(editedobject != "")
{
$(editedobject).css("font-family", selectedFont);
}
}
function toggleBold()
{
isBold = !isBold;
if(isBold)
{
$("#boldButton").addClass("menuButtonSelected");
$(editedobject).css("font-weight", "normal")
}
else
{
$("#boldButton").removeClass("menuButtonSelected");
$(editedobject).css("font-weight", "bold")
}
}
function toggleItalic()
{
isItalic = !isItalic;
if(isItalic)
{
$("#italicsButton").addClass("menuButtonSelected");
$(editedobject).css("font-style", "italic")
}
else
{
$("#italicsButton").removeClass("menuButtonSelected");
$(editedobject).css("font-style", "normal")
}
}
function toggleUnderline()
{
isUnderline = !isUnderline;
if(isUnderline)
{
$("#italicsButton").addClass("menuButtonSelected");
$(editedobject).css("text-decoration", "underline")
}
else
{
$("#italicsButton").removeClass("menuButtonSelected");
$(editedobject).css("text-decoration", "none")
}
}
function deleteObject()
{
if(editedobject!="")
{
var id = $(editedobject).attr("id");
var index = id.split("____object")[1];
removeItemFromObjectMap(index);
$(editedobject).remove();
$("#deleteBtn").css("left", -30000)
$("#contextbar").css("visibility", "hidden");
$("#play").css("visibility", "hidden");
}
}
function removeItemFromObjectMap(index)
{
for(var i=0; i 0)
{
for(var i=0; i