";
contextMenu.style.left = findPosX(firedobj);
contextMenu.style.top = findPosY(firedobj);
contextMenu.style.display = "";
}
hideContextMenu;
return false;
}
/* ----------------- Context Menu ------------------ */
/* ------------------- ns adjucent fix ------------------- */
if (typeof HTMLElement != "undefined" && !HTMLElement.prototype.insertAdjacentElement) {
HTMLElement.prototype.insertAdjacentElement = function(where, parsedNode) {
switch (where) {
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode, this);
break;
case 'afterBegin':
this.insertBefore(parsedNode, this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling) this.parentNode.insertBefore(parsedNode, this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function(where, htmlStr) {
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where, parsedHTML);
}
HTMLElement.prototype.insertAdjacentText = function(where, txtStr) {
var parsedText = document.createTextNode(txtStr);
this.insertAdjacentElement(where, parsedText);
}
}
/* ----------------- ns adjucent fix end ------------------ */
var ie = document.all;
var ns6 = document.getElementById && !document.all;
var dragapproved = false;
var z,
x,
y;
var makerReady = false;
var dmsProps = new Array();
var dmsLayerIndex = new Array();
var tItemCounter = 10000;
var loadInterrupCount = 0;
var show_color_flag = false;
//images
var m_banner = "http://www.dollmakerscript.com/public/banners/banner_4.gif";
var m_wait = "http://www.dollmakerscript.com/public/animated_hourglass_small.gif";
var m_bg = "http://www.dollmakerscript.com/public/doll-background.gif";
if (!isdefined(window, "dms_color1")) dms_color1 = "orange";
if (!isdefined(window, "dms_color2")) dms_color2 = "#FFD530";
if (!isdefined(window, "dms_color3")) dms_color3 = "#862C00";
if (!isdefined(window, "dms_color4")) dms_color4 = "black";
if (!isdefined(window, "dms_text_embed")) dms_text_embed = "";
if (!isdefined(window, "dms_text_popup")) dms_text_popup = "Maker is ready";
if (!isdefined(window, "dms_im_src")) dms_im_src = 'images/image.jpg';
if (!isdefined(window, "dms_width")) dms_width = 150;
if (!isdefined(window, "dms_height")) dms_height = 200;
if (!isdefined(window, "dms_background")) dms_background = false;
if (!isdefined(window, "dms_text_embed_disable")) dms_text_embed_disable = false;
if (!isdefined(window, "dms_drag_disable")) dms_drag_disable = false;
if (!isdefined(window, "dms_hide_build")) dms_hide_build = false;
if (!isdefined(window, "dms_file_type")) dms_file_type = "gif";
if (!isdefined(window, "dms_build_here_src")) dms_build_here_src = "images/build-doll-here.gif";
if (!isdefined(window, "dms_debug")) var dms_debug = false;
if (!isdefined(window, "dms_build_written")) var dms_build_written = false;
function isdefined(object, variable) {
return (typeof(eval(object)[variable]) != "undefined");
}
function initMaker() {
if (typeof(document.body.style.filter) != "undefined") {
if (document.styleSheets) {
/*
for ( i = 0; i < document.styleSheets.length; i++ ){
var mysheet=document.styleSheets[i];
var myrules=mysheet.cssRules? mysheet.cssRules: mysheet.rules;
for (i=0; i";
document.getElementById("build_area_div").insertAdjacentHTML("beforeEnd", innerHtml);
}
//if (!(isdefined(window, "dms_skip_ready_alert") && dms_skip_ready_alert==true)) alert(unescape(dms_text_popup));
makerReady = true;
}
function move(e) {
if (dragapproved) {
z.style.left = ns6 ? temp1 + e.clientX - x: temp1 + event.clientX - x;
z.style.top = ns6 ? temp2 + e.clientY - y: temp2 + event.clientY - y;
return false;
}
}
function drags(e) {
if (!ie && !ns6) return;
if (dms_drag_disable) return;
var firedobj = ns6 ? e.target: event.srcElement;
var topelement = ns6 ? "HTML": "BODY";
if (firedobj.className != "swatch2" && firedobj.className != "swatch") hide_color();
if ((firedobj.id == "deleteObjectLNK") || (firedobj.id == "bringToTopObjectLNK")) {
return true;
}
while (firedobj.tagName != topelement && firedobj.className != "drag") {
firedobj = ns6 ? firedobj.parentNode: firedobj.parentElement;
}
if (firedobj.className == "drag") {
//if dragged - add to dmsProps
dmsProps[firedobj.id] = firedobj;
dragapproved = true;
z = firedobj;
temp1 = parseInt(z.style.left + 0);
temp2 = parseInt(z.style.top + 0);
x = ns6 ? e.clientX: event.clientX;
y = ns6 ? e.clientY: event.clientY;
document.onmousemove = move;
return false;
}
hideContextMenu();
}
function move_top(e) {
if (!ie && !ns6) return;
var firedobj = ns6 ? e.target: event.srcElement;
var topelement = ns6 ? "HTML": "BODY";
if (!makerReady && firedobj.tagName == "IMG") {
loadInterrupCount++;
if (loadInterrupCount >= 3) {
//alert('Trying to initialize the maker now...\nYou will not be able to drag any items that are currently not loaded');
initMaker();
return;
}
//alert('Please wait until the maker is completely loaded or press to skip load. #' + loadInterrupCount);
return;
}
while (firedobj.tagName != topelement && firedobj.className != "drag") {
firedobj = ns6 ? firedobj.parentNode: firedobj.parentElement;
}
if (firedobj.className == "drag") {
processItem = false;
//create duplicate of the items
//if we have local build area - use it, otherwise try to use top (top frame area)
if (document.getElementById("build_area_div")) {
var z_id = "img_" + ++tItemCounter;
var innerHtml = "";
document.getElementById("build_area_div").insertAdjacentHTML("beforeEnd", innerHtml);
firedobj = document.getElementById(z_id);
mPosX = findPosX(document.getElementById("build_area"));
mPosY = findPosY(document.getElementById("build_area"));
mPosX = mPosX + (document.getElementById("build_area").width - firedobj.width) / 2;
mPosY = mPosY + (document.getElementById("build_area").height - firedobj.height) / 2;
dmsProps[z_id] = firedobj;
dmsLayerIndex[z_id] = tItemCounter;
processItem = true;
} else {
if (top.document.getElementById("build_area_div")) {
var z_id = "img_" + ++top.tItemCounter;
var innerHtml = "";
top.document.getElementById("build_area_div").insertAdjacentHTML("beforeEnd", innerHtml);
firedobj = top.document.getElementById(z_id);
mPosX = findPosX(top.document.getElementById("build_area"));
mPosY = findPosY(top.document.getElementById("build_area"));
mPosX = mPosX + (top.document.getElementById("build_area").width - firedobj.width) / 2;
mPosY = mPosY + (top.document.getElementById("build_area").height - firedobj.height) / 2;
top.dmsProps[z_id] = firedobj;
top.dmsLayerIndex[z_id] = top.tItemCounter;
processItem = true;
}
}
if (processItem) {
z = firedobj;
z.style.left = mPosX - findPosX(z);
z.style.top = mPosY - findPosY(z);
//document.getElementById('preview_div').innerHTML='';
document.getElementById("preview_div").style.display = 'none';
}
return false;
}
}
function changeWidth(wSelector) {
if (document.getElementById("build_area") && wSelector) {
document.getElementById("build_area").width = wSelector.options[wSelector.selectedIndex].value;
}
return true;
}
function changeHeight(hSelector) {
if (document.getElementById("build_area") && hSelector) {
document.getElementById("build_area").height = hSelector.options[hSelector.selectedIndex].value;
}
return true;
}
function findPosX(obj) {
var curleft = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curleft += obj.offsetLeft;
obj = obj.offsetParent;
}
} else if (obj.x){ curleft += obj.x;}
return curleft;
}
function findPosY(obj) {
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop;
obj = obj.offsetParent;
}
} else if (obj.y) curtop += obj.y;
return curtop;
}
function _PrepSubmit() {
if (!document.getElementById("build_area")) {
alert('Could not process the request.\nMake sure you have build_area image defined.');
return false;
}
//populate
document.dmMain.auto_url.value = top.location;
//collect items info
var item_counter = 0;
var dmsString = "";
//add build area - always first element
dmArea = document.getElementById("build_area");
dmsString += "" + dmArea.src + "**" + findPosX(dmArea) + "**" + findPosY(dmArea);
for (im in dmsProps) {
if (dmsProps[im] != 0) {
item_counter++;
dmsString += "##" + dmsLayerIndex[dmsProps[im].id] + "**" + dmsProps[im].src + "**" + findPosX(dmsProps[im]) + "**" + findPosY(dmsProps[im]);
}
}
document.dmMain.dmsString.value = dmsString;
var url_p = '';
var fontPath = 'fonts/' + document.getElementById('font').value + '';
var color = document.getElementById('color').value;
var font_size = document.getElementById('size').value;
var textData = document.getElementById('txt').value;
var border = document.getElementById('bdrcolor').value;
var angle = document.getElementById('rotate').value;
var t = document.form.glittertype.length;
for (var i = 0; i < t; i++) {
if (document.form.glittertype[i].checked) {
var glitter = document.form.glittertype[i].value
}
}
url_p = 'bc=' + color.replace('#', '') + '&fontname=' + fontPath + '&fontsize=' + font_size + '&text=' + encodeURIComponent(textData) + '&border=' + border.replace('#', '') + '&angle=' + angle + '&glitter=' + glitter;
var p = '?' + url_p + '&dmsString=' + encodeURIComponent(document.getElementById('dmsString').value) + '';
window.location = 'make.php' + p
return false;
}
document.onmousedown = drags;
document.onmouseup = new Function("dragapproved=false");
//drop styles
document.write("");
if (document.images) {
//preload some images for the popup window
im_pop_wait = new Image;
im_pop_bg = new Image;
im_pop_banner = new Image;
im_pop_wait.src = m_wait;
im_pop_bg = m_bg;
im_pop_banner.src = m_banner;
}
//create build area
if (!dms_hide_build && !dms_build_written) document.write("
");
//get presets
var cWidth = dms_width;
var cHeight = dms_height;
var cWidthSet = false;
var cHeightSet = false;
var buildWidthHTML = "
");
document.write("
");
document.write("
");
wt();
document.write("
");
document.write("
");
document.write("");
dms_build_written = true;
}
function show_color() {
if (!show_color_flag) {
//position the window
document.getElementById("cwindow").style.left = findPosX(document.getElementById("save_button"));
document.getElementById("cwindow").style.top = findPosY(document.getElementById("save_button"));
document.getElementById("cwindow").style.display = '';
show_color_flag = true;
}
}
function hide_color() {
if (!dms_hide_build) document.getElementById("cwindow").style.display = 'none';
show_color_flag = false;
}
function set_bg(v) {
document.dmMain.dms_BgColor.value = v;
document.getElementById("build_area").src = 'images/spacer.gif';
document.getElementById("build_area_div").style.backgroundColor = v;
hide_color();
}
/* get field value */
function gf() {
if (document.forms.form1) {
var e = document.forms.form1.elements.field;
if (e != undefined) {
for (var i = 0; i < e.length; i++) {
if (e[i].checked) {
return e[i].value;
}
}
}
}
/* we need this so this function becomes reusable
* with ChooseColor.gxp
*/
var r = document.images;
for (var i = 0; i < r.length; i++) {
if (r[i].id == "build_area") {
return r[i].id;
}
}
}
/* set field helper for onchange events */
function sf_oc(f, v) {
if (f == "build_area") {
set_bg(v);
} else {
sf(f, v);
}
}
/* set field valid value */
var sf_vv = /#[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]/i;
/* set field value */
function sf(f, v) {
if (!sf_vv.test(v)) {
document.getElementById(f).value = "";
createAdvancedScript();
return false;
}
document.getElementById(f).value = v;
createAdvancedScript();
}
/* write swatch */
function ws(c, s, z) {
var v = "#" + toHex(c);
document.write("
");
}
/* write palette table */
function wt() {
for (var r = 255; r >= 0; r -= 51) {
document.write("
");
for (var g = 255; g >= 0; g -= 51) {
for (var b = 255; b >= 0; b -= 51) {
ws([r, g, b], 1, "swatch");
}
}
document.write("
");
}
document.write("
");
for (var l = 255; l >= 0; l -= 51) {
ws([l, l, l], 6, "swatch2");
}
document.write("
");
}
function toColor(h) {
return [parseInt(h.substring(0, 2), 16), parseInt(h.substring(2, 4), 16), parseInt(h.substring(4, 6), 16)];
}
function toHex(c) {
var r,
g,
b;
r = c[0].toString(16);
if (c[0] < 0x10) {
r = "0" + r;
}
g = c[1].toString(16);
if (c[1] < 0x10) {
g = "0" + g;
}
b = c[2].toString(16);
if (c[2] < 0x10) {
b = "0" + b;
}
return (r + g + b).toUpperCase();
}
/* set field helper for keydown events */
function sf_ok(f, v) {
if (window.event) {
if (event.keyCode == 13) {
sf_oc(f, v); // simulate onchange
event.cancelBubble = true;
}
}
}
/* focus field */
function ff(f) {
var v = document.forms.form1.elements;
var e = v.field;
for (var i = 0; i < e.length; i++) {
if (e[i].value == f) {
e[i].checked = true;
v[f].focus();
break;
}
}
}