var image = new Image();
/*
image.onLoad = showImg;
image.onError = showErrorImg;
*/


function getPuzzle( year, month, day ) {
   var date = new Date();
   var oneDayInMs = 1000*60*60*24;
   var dow = date.getDay();

   if( year && month && day ) {
       date = new Date( year, month-1, day );
   }

   if( !year ) { 
       year = date.getYear(); 
   }
   if( year < 1900 ) { year += 1900; }

   if( !month ) { 
       month = date.getMonth();
       month += 1;
   }

   if( !day ) { 
       day = date.getDate(); 
       dow = date.getDay();

       while( dow!=1 && dow!=3 && dow!=5 ) {
	   var time = date.getTime() - oneDayInMs;
	   date = new Date( time );
	   dow = date.getDay();
	   //	   console.log( dow );
       }
   }

   //   date = new Date( year, month-1, day-1 );

   year = date.getYear();
   month = date.getMonth();
   day = date.getDate();
   dow = date.getDay();

   if( year < 1900 ) { year += 1900; }

   month = month + 1;
   month = ""+month;  // make month a string
   if( month.length < 2 ) {
       month = "0"+month;
   }
   //   day = day + 1;
   day = ""+day;
   if( day.length < 2 ) {
       day = "0"+day;
   }

   //   console.log( year+" "+month+" "+day+" "+dow );


   var months = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
   var days = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

   var typeTitle = "Nurikabe: ";
   var title = typeTitle +days[dow]+ " " +day+ "-" +months[month-1]+ "-" +year;
   var imgLoc = "/nurikabe/png/" + 
                year + "/" + month + "/" + year + "-" + month + "-" + day +
	        ".png";

   var titleObj = document.getElementById( "titleString" );
   if( titleObj ) {
      titleObj.innerHTML = title;
   }

   var puzzleImage = document.getElementById( "puzzleImage" );
   puzzleImage.src = imgLoc;
}

function showImg() {
   var puzzleImage = document.getElementById( "puzzleImage" );
   puzzleImage.src = image.src;
}


function showErrorImg() {
   var puzzleImage = document.getElementById( "puzzleImage" );
   puzzleImage.src = "/nurikabe/img/nopuzzle.png";
}
   

function toggleSolutionImage() {
   var img = document.getElementById( "puzzleImage" );
   var but = document.getElementById( "solnButton" );
   var loc = img.src.split('.');
   var last = loc.pop();
   var spl = loc.join('.').split('_');
   if( spl.length > 1 ) {
      img.src = spl[0]+"."+last;
      but.innerHTML = "Show solution";
   }
   else {
      img.src = spl[0]+"_solution."+last;
      but.innerHTML = "Hide solution";
   }
}

function getPdf( year, month, day ) {
    var img = document.getElementById( "puzzleImage" );
    var pdfLoc;
    if( day && day > 0 ) {
	pdfLoc = '/nurikabe/pdf/'+year+'/'+month+'/'+year+'-'+month+'-'+day+'.pdf';
    }
    else {
	var loc = img.src.split('/');
	var last = loc[loc.length-1].split('.')[0];

	pdfLoc = '/nurikabe/pdf/'+loc[loc.length-3]+'/'+loc[loc.length-2]+'/'+last+'.pdf';
	//	console.log(pdfLoc);
    }

    window.open( pdfLoc );
}

