// Copyright (c) Design Matrix, 2009-2010, all rights reserved.
// http://www.designmatrix.com
var curcolor = "FFFFFF"; var thisurl = document.URL.replace(/\?.*/, ''); if (document.URL.search(/&color=(......)&/) != -1) { thiscolor = document.URL.replace(/.*&color=(......)&.*/, '$1'); curcolor = thiscolor; } function printLink() { var newurl = thisurl +'?image=' +image +'&color=' +curcolor +'&coord='; document.getElementById('link').href = newurl; } function restart() { var newurl = thisurl +'?restart=' +startimage; location.href = newurl; } function splitColor() { Rcurhex = curcolor.substr (0,2); Gcurhex = curcolor.substr (2,2); Bcurhex = curcolor.substr (4,2); Rcurdec = h2d(Rcurhex); Gcurdec = h2d(Gcurhex); Bcurdec = h2d(Bcurhex); } splitColor(); var id; var e; function mixcolor(e, id) { offset_parent = (document.getElementById(id).offsetParent.offsetLeft);  offset_colorpick = document.getElementById(id).offsetLeft;  offset_x = e.offsetX > -1 ? e.offsetX : e.pageX + offset_parent - offset_colorpick; mixdec = offset_x; mixhex = d2h(offset_x).toUpperCase(); switch (id) { case 'Rpick': colordecmix = 'rgb(' +mixdec +',' +Gcurdec +',' +Bcurdec +')';  colordecave =  (.3 * mixdec + .6 * Gcurdec + .1 * Bcurdec); colorhexmix = mixhex +Gcurhex +Bcurhex ; break; case 'Gpick': colordecmix = 'rgb(' +Rcurdec +',' +mixdec +',' +Bcurdec +')';  colordecave =  (.3 * Rcurdec + .6 * mixdec + .1 * Bcurdec); colorhexmix = Rcurhex +mixhex +Bcurhex ; break; case 'Bpick': colordecmix = 'rgb(' +Rcurdec +',' +Gcurdec +',' +mixdec +')';  colordecave =  (.3 * Rcurdec + .6 * Gcurdec + .1 * mixdec); colorhexmix = Rcurhex +Gcurhex +mixhex ; break; default: alert ("mixcolor: no 'id'"); break; } complement = "000000"; if (colordecave < 128) complement = "FFFFFF"; document.getElementById('RGBnew').style.background = '#' +colorhexmix; document.getElementById('RGBnew').style.color = '#' +complement; document.getElementById('RGBnew').innerHTML = colorhexmix; } function setcolor(e, id) { curcolor = colorhexmix; splitColor(); mixColorReset (); } function mixColorReset () { complement = "000000"; colordecave =  (.3 * Rcurdec + .6 * Gcurdec + .1 * Bcurdec); if (colordecave < 128) complement = "FFFFFF"; document.getElementById('RGBcur').style.background = '#' +curcolor; document.getElementById('RGBcur').innerHTML = curcolor; document.getElementById('RGBcur').style.color = '#' +complement; document.getElementById('RGBnew').style.background = '#' +curcolor; document.getElementById('RGBnew').innerHTML = curcolor; document.getElementById('RGBnew').style.color = '#' +complement; document.getElementById('Rslider').style.left = Rcurdec +'px'; document.getElementById('Gslider').style.left = Gcurdec +'px'; document.getElementById('Bslider').style.left = Bcurdec +'px'; colorselect = document.getElementById('colorselect'); colorselect.value = ""; } function d2h(d) { h = d.toString(16); if(h.length==1) return "0"+h; else return h; } function h2d(h){ return parseInt(h,16); } function floodfill(e, id) { offset_parentX = (document.getElementById(id).offsetParent.offsetLeft);  offset_imageX = document.getElementById(id).offsetLeft;  offset_X = e.offsetX > -1 ? e.offsetX : e.pageX + offset_parentX - offset_imageX; offset_parentY = (document.getElementById(id).offsetParent.offsetTop);  offset_imageY = document.getElementById(id).offsetTop;  offset_Y = e.offsetY > -1 ? e.offsetY : e.pageY + offset_parentY - offset_imageY; coord = offset_X +"," +offset_Y; param = '?image=' +image +'&color=' +curcolor +'&coord=' +coord; makeRequest("floodfill.php" + param, handleResults); } function floodfillRestart() { random = Math.random(); param = '?restart=' +startimage +'&new=' +random; makeRequest("floodfill.php" + param, handleResults); } function handleResults(data) { responseText = data; responseArr = responseText.split('='); if (responseArr[0] == 'image') { image = responseArr[1]; } random = Math.random(); workimage = workdir +'/' +image; document.getElementById('workimage').src = workimage +'?' +random;  }
