
var pnlInfo;var dlgEdit;var dlgDelete;function init()
{pnlInfo=new YAHOO.widget.Panel("pnlInfo",{modal:false,close:true,visible:true,draggable:true,fixedcenter:true,constraintoviewport:true});var pnlInfoListeners=new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){pnlInfo.hide();}});pnlInfo.cfg.queueProperty("keylisteners",pnlInfoListeners);pnlInfo.render();pnlInfo.hide();dlgEdit=new YAHOO.widget.Dialog("dlgEdit",{modal:false,close:true,visible:false,draggable:true,fixedcenter:true,constraintoviewport:true,width:300});var dlgEditListeners=new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){dlgEdit.hide();}});dlgEdit.cfg.queueProperty("keylisteners",dlgEditListeners);dlgEdit.cfg.queueProperty("buttons",[{text:'Update',handler:update},{text:'Cancel',handler:function(){dlgEdit.hide();}}]);dlgEdit.render();dlgDelete=new YAHOO.widget.Dialog("dlgDelete",{modal:true,close:true,visible:false,draggable:true,fixedcenter:true,constraintoviewport:true,width:200});var dlgDeleteListeners=new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){dlgDelete.hide();}});dlgDelete.cfg.queueProperty("keylisteners",dlgDeleteListeners);dlgDelete.cfg.queueProperty("buttons",[{text:'Delete',handler:deletePicture},{text:'Cancel',handler:function(){dlgDelete.hide();}}]);dlgDelete.render();var thumbs=YAHOO.util.Dom.getElementsByClassName('lnkpzzl');YAHOO.util.Event.addListener(thumbs,'mouseover',swapthumb);YAHOO.util.Event.addListener(thumbs,'mouseout',swapthumb);}
function swapthumb()
{var id=this.id.substr(4);var type=this.id.substr(3,1)
var img=document.getElementById('img'+type+id);var tmp=img.src;img.src=swap[id].src;swap[id].src=tmp;}
function requestDelete(e)
{dlgEdit.hide();pnlInfo.hide();if(e)YAHOO.util.Event.preventDefault(e);var id=document.getElementById('hdnImgId').value;document.getElementById('hdnDelId').value=id;document.getElementById('imgDelete').src=YAHOO.Scramble.baseurl+'img.aspx?s=t&id='+id;dlgDelete.show();}
function deletePicture()
{var id=document.getElementById('hdnDelId').value;var callback={success:deleteSuccess,failure:deleteFailure,argument:[id]};YAHOO.util.Connect.setForm('frmDelete');var request=YAHOO.util.Connect.asyncRequest('POST',YAHOO.Scramble.baseurl+'scramble_server.aspx?do=di',callback,null)
dlgDelete.hide();}
function deleteSuccess(o)
{if(checkComError(o.responseXML))return false;var id=o.argument[0];imgs[id]=null;swap[id]=null;var divr=document.getElementById('r'+id);var divt=document.getElementById('t'+id);var divv=document.getElementById('v'+id);if(divr)divr.parentNode.removeChild(divr);if(divt)divt.parentNode.removeChild(divt);if(divv)divv.parentNode.removeChild(divv);}
function deleteFailure(o)
{alert('Failed to delete picture: '+o.status+'\n'+o.statusText);}
function update()
{var id=document.getElementById('hdnImgId').value;var sec=document.getElementById('hdnImgSec').value;var img={id:id,cap:'',sharing:''}
var selSharing=document.getElementById('selSharing');img.sharing=selSharing[selSharing.selectedIndex].value;img.cap=document.getElementById('txtCap').value;var callback={success:updateSuccess,failure:updateFailure,argument:[img]};YAHOO.util.Connect.setForm('frmEditImg');var request=YAHOO.util.Connect.asyncRequest('POST',YAHOO.Scramble.baseurl+'scramble_server.aspx?do=ui',callback,null)
dlgEdit.hide();}
function updateSuccess(o)
{if(checkComError(o.responseXML))return false;var imgUpdate=o.argument[0];var img=imgs[imgUpdate.id];img.cap=imgUpdate.cap;img.sharing=imgUpdate.sharing;var capr=document.getElementById('imgr'+img.id);var capt=document.getElementById('imgt'+img.id);var capv=document.getElementById('imgv'+img.id);var shrr=document.getElementById('shrr'+img.id);var shrt=document.getElementById('shrt'+img.id);var shrv=document.getElementById('shrv'+img.id);if(capr)capr.setAttribute('alt',img.cap);if(capt)capt.setAttribute('alt',img.cap);if(capv)capv.setAttribute('alt',img.cap);if(shrr)shrr.innerHTML=img.sharing;if(shrt)shrt.innerHTML=img.sharing;if(shrv)shrv.innerHTML=img.sharing;}
function updateFailure(o)
{alert('Failed to update picture data: '+o.status+'\n'+o.statusText);}
function thumbInfo(e,id)
{pnlInfo.hide();if(e)YAHOO.util.Event.preventDefault(e);var img=imgs[id];dlgEdit.setHeader(img.file)
document.getElementById('hdnImgId').value=id;document.getElementById('imgEdit').src=YAHOO.Scramble.baseurl+'img.aspx?s=t&id='+img.id;document.getElementById('uploaddt').innerHTML='Uploaded '+img.date;document.getElementById('txtCap').value=img.cap;if(img.sharing=='public')document.getElementById('optPublic').selected=true;if(img.sharing=='friends')document.getElementById('optFriends').selected=true;if(img.sharing=='private')document.getElementById('optPrivate').selected=true;dlgEdit.show();}
function getStats(e,id)
{if(e)YAHOO.util.Event.preventDefault(e);var img=imgs[id];pnlInfo.setHeader('Puzzle Stats')
var tds=document.getElementById('tbdInfo').getElementsByTagName('td');for(var i=0;i<tds.length;i++)
{tds[i].innerHTML='-';}
var callback={success:getStatsSuccess,failure:getStatsFailure,argument:[id]};var request=YAHOO.util.Connect.asyncRequest('GET',YAHOO.Scramble.baseurl+'scramble_server.aspx?do=getPuzzleStats&i='+id,callback,null);pnlInfo.show();}
function getStatsSuccess(o)
{if(checkComError(o.responseXML))return false;var xml=o.responseXML.documentElement;var xmlStats=xml.childNodes[0];for(var i=0;i<xmlStats.childNodes.length;i++)
{var xmlLine=xmlStats.childNodes[i];var tl=xmlLine.attributes.getNamedItem('Tiles').value;var sk=xmlLine.attributes.getNamedItem('ImageShortKey').value;var st=xmlLine.attributes.getNamedItem('Starts').value;var ns=xmlLine.attributes.getNamedItem('TotalSolved').value;var nu=xmlLine.attributes.getNamedItem('TotalUnsolved').value;var ams=xmlLine.attributes.getNamedItem('AverageSolvedMoves').value;var ats=xmlLine.attributes.getNamedItem('AverageSolvedTime').value;var lm=xmlLine.attributes.getNamedItem('LowestSolvedMoves').value;var lt=xmlLine.attributes.getNamedItem('LowestSolvedTime').value;var rt=xmlLine.attributes.getNamedItem('Votes').value;var ra=xmlLine.attributes.getNamedItem('Rating').value;if(tl>0)
{document.getElementById('d'+tl+'a').innerHTML=formatTime(ats)+' / '+ams;document.getElementById('d'+tl+'f').innerHTML=formatTime(lt)+' / '+lm;document.getElementById('d'+tl+'t').innerHTML=st;}}
document.getElementById('statlink').innerHTML=YAHOO.Scramble.baseurl+'?'+sk;document.getElementById('rta').style["width"]=ra*14+"px";ra=parseInt(ra*1000)/1000;document.getElementById('st_r').innerHTML=' '+ra+' ('+rt+' votes)';}
function getStatsFailure(o)
{alert('Failed to get picture stats: '+o.status+'\n'+o.statusText);}
YAHOO.util.Event.onDOMReady(init);
