
// IE friendly array search

//Array.prototype.find = function(searchStr) {
//  var returnArray = false;
//  for (i=0; i<this.length; i++) {
//    if (typeof(searchStr) == 'function') {
//      if (searchStr.test(this[i])) {
//        if (!returnArray) { returnArray = [] }
//        returnArray.push(i);
//      }
//    } else {
//      if (this[i]===searchStr) {
//        if (!returnArray) { returnArray = [] }
//        returnArray.push(i);
//      }
//    }
//  }
//  return returnArray;
//}


$(document).ready(function(){

    function doLetters() {
    	
      var str = $("#EproductBody").val();
      var n = $("#EproductBody").val().length;
      var lettercount = 1;
      var letternum = 0;
      var letterIndex = 0;      
	  var word = [];
	  var j = '';
	  var path = '/files/letterpick/letters/thumbnails/';
      var dir = '';
      var letter = '';
      var thisLetter = '';

      var imgstr = '&nbsp;<div class="ransom-word"><table class="ransom-word"><tr>';

	  var arrLetters = new Array();
	  	arrLetters['A'] = new Array(1,2,5,7);
		arrLetters['B'] = new Array(9,12,4,1);
		arrLetters['C'] = new Array(1,6,7,12,17);
		arrLetters['D'] = new Array(1,6,5,8);
		arrLetters['E'] = new Array(1,8,7,11,2);
		arrLetters['F'] = new Array(1,3,8);
		arrLetters['G'] = new Array(1,4,5,2);
		arrLetters['H'] = new Array(3,12,6);
		arrLetters['I'] = new Array(1,2,3,4,10);
		arrLetters['J'] = new Array(4,8,13);
		arrLetters['K'] = new Array(1,2,3);
		arrLetters['L'] = new Array(1,2,5,8,9);
		arrLetters['M'] = new Array(5,6,7);
		arrLetters['N'] = new Array(4,5,8,9);
		arrLetters['O'] = new Array(6,7,11,15);
		arrLetters['P'] = new Array(10,11,6,3);
		arrLetters['Q'] = new Array(2,1,5);
		arrLetters['R'] = new Array(2,6,3,9,10);
		arrLetters['S'] = new Array(1,3,4,5,6);
		arrLetters['T'] = new Array(3,1,8,9,12,13);
		arrLetters['U'] = new Array(3,7,10,11);
		arrLetters['V'] = new Array(8,7,4);
		arrLetters['W'] = new Array(1,2,7);
		arrLetters['X'] = new Array(6,4,2);
		arrLetters['Y'] = new Array(4,7,10);
		arrLetters['Z'] = new Array(1,2,3);
		arrLetters['&'] = new Array(1,2);
		//arrLetters["'"] = new Array(2,3);		


      $("#output").empty();

      for(i=0; i < n; i++){

      	//if(s = str.charAt(i).match(/[\.\!&\?0-9,]/)) {
      	if(s = str.charAt(i).match(/[a-z&]/i)) {
      		
      		re = new RegExp('[' + str.charAt(i) + ']','ig');
      		
      		strword = word.toString();

			thisLetter = str.charAt(i).toUpperCase();
      		
			switch(thisLetter) {
			
				case "&":
			      	dir = 'Amp';
			      	break;

//				case "'":
//			      	dir = 'Apos';
//			      	break;

			    default:
			      	dir = thisLetter.toUpperCase();
			      	break;			      	
			}

			// check for previous use of letter within word
      		if(strword.length!=0) {

      			usedprev = strword.match(re);

	      		if(usedprev != null){
	      			letterIndex = usedprev.length -1 + 1;
	      		}
	      	}

			// make sure incremented letter index exists
			if(letterIndex >= arrLetters[thisLetter].length) {
				letterIndex = 0;
			}

			letternum = arrLetters[thisLetter][letterIndex];
			letter = dir + '_' + letternum + '.jpg';
	      	var fullpath = path + letter;
	      	imgstr += '<td><img class="ransom-letter" src="' + fullpath + '" height="60" /></td>';
	      	letternum = 1;
	      	letterIndex = 0;
			word.push(thisLetter);

      	} else if(str.charAt(i) == ' '){
      		//alert(word.toSource());
      		word = [];
      		imgstr += '</tr></table></div>' + '<div class="space">&nbsp;</div>' + '<div class="ransom-word"><table class="ransom-word"><tr>';
      		lettercount = 0;
      	} else if(s = str.charAt(i).match(/\n/)) {
      		imgstr += '</tr></table></div>' + '<div class="div-clear"></div>' + '<div class="ransom-word"><table class="ransom-word"><tr>';
      	} else {
      		imgstr += '<td class="punctuation">' + str.charAt(i) + '</td>';
		}
		lettercount++;
      	
//      	imgstr = '';
      }
      imgstr += '</tr></table>';
      $("#output").append(imgstr);

//      $("#output").append('</div>');
    
    }
    
    //countChecked();
//    $("#btn-create").click(doLetters);
    $("#EproductBody").keyup(doLetters);

    doLetters();

	if($("#EproductBody").val()==''){
		$("#EproductBody").val('Your text here');
	}
	doLetters();

});
