
function stopError() { return true; }
window.onerror = stopError;

if (!MSG1) { var MSG1=""; }
if (!MSG2) { var MSG2=""; }
if (!MSG3) { var MSG3=""; }
if (!MSG4) { var MSG4=""; }
if (!MSG5) { var MSG5=""; }
if (!MSG6) { var MSG6=""; }

var MSG = ""+MSG1+MSG2+MSG3+MSG4+MSG5+MSG6+"";
if (TAG == null) { var TAG="0"; }
TAG = TAG.toString();

for (var j=1;j<=5;j++) {
  var jx = j.toString();
  part1 = eval('MSG'+jx);
  var part1 = eval('document.tag'+TAG+'L'+jx+'="'+part1+'"');
}

var js_images = false;
browserN = navigator.appName;
browserV = parseInt(navigator.appVersion);

if ((browserN == "Netscape" && browserV >= 3) || 
    (browserN == "Microsoft Internet Explorer" && 
     browserV >= 4)) { js_images = true; }

var charList="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var charXtra="-'&/.,:()*@";
charList = charList + charXtra;
var tagStuff="";

var topimg = "dogtags/t3-5a.jpg";
var botimg = "dogtags/b3-5a.jpg";
var lftimg = "dogtags/l3-5a.jpg";
var rghimg = "dogtags/r3-6a.jpg";

 var chrHeight =  13;
 var chrWidth  =  09;
 var midWidth  =  16 * chrWidth;
 var midHeight =  06 * chrHeight;
 var topHeight =  13;
 var lftWidth  =  23;
 var rghWidth  =  11;
 var botHeight =  13;

 var topWidth  = lftWidth + midWidth + rghWidth;
 var botWidth  = lftWidth + midWidth + rghWidth;
 var lftHeight = midHeight;
 var rghHeight = midHeight;
 var allHeight = midHeight + topHeight + botHeight;

 chrHeight = chrHeight.toString();
 chrWidth  = chrWidth.toString();
 midWidth  = midWidth.toString();
 midHeight = midHeight.toString(); 
 topWidth  = topWidth.toString();
 botWidth  = botWidth.toString();
 midHeight = midHeight.toString();
 topHeight = topHeight.toString();
 lftWidth  = lftWidth.toString();
 rghWidth  = rghWidth.toString();
 botHeight = botHeight.toString();
 lftHeight = lftHeight.toString();
 rghHeight = rghHeight.toString();
 allHeight = allHeight.toString();

var charArray = new Array ();

function showTag(n) {
  tagNum = n.toString();
  for (var j = 1; j < 7; j++) {
    var jx = j.toString();
    var part1 = eval('document.tag'+tagNum+'L'+jx+'.value');
    showLine(tagNum,jx,part1);
  }
}


function showLine(n,l,t) {
  if (t == null) { t=""; }
  tagNum  = n.toString();
  var lineNum = l.toString();
  var inText  = t.toString();
  inText = inText.toUpperCase();
  inText = inText + "                ";
  inText = inText.substring(i, 15);
  var currChar=" ";
  var currJpg="sp";
  var charNum="1";
  for (var i = 0; i < inText.length; i++) {
    currChar = inText.substring(i, i+1);
    currChar = currChar.toString();
    currChar = currChar.toUpperCase();
    if (validChar(currChar)) { 
      currJpg = jpgRef(currChar);
    } else {
	  currJpg = jpgRef("sp");
    }
    cIndex = charList.indexOf(currChar);
    charNum = i+1;
    charNum = charNum.toString();
    if (charNum.length<2) { charNum="0" + charNum; }
    var part1 = 'tag'+tagNum+'line'+lineNum+'chr'+charNum+'.src';
    currJpg = currJpg.toLowerCase();

    var part2 = 'dogtags/'+currJpg+'.jpg';
    eval ('document.'+part1+'="'+part2+'"');
  }
  eval ('var part3 ="tag'+tagNum+'L'+lineNum+'"');
  eval ('document.frmGenerator'+part3+'="'+inText+'"');

  //if the tag is standard populate the second tag image
  if(document.frmGenerator.type.value == "DTST" ){
		CopyLine(1,l,t);  
  }
}

//this function is a copy of showline() but only used for standard tag 
//where both tags have the same text
function CopyLine(n,l,t) {
  if (t == null) { t=""; }
  tagNum  = n.toString();
  var lineNum = l.toString();
  var inText  = t.toString();
  inText = inText.toUpperCase();
  inText = inText + "                ";
  inText = inText.substring(i, 15);
  var currChar=" ";
  var currJpg="sp";
  var charNum="1";
  for (var i = 0; i < inText.length; i++) {
    currChar = inText.substring(i, i+1);
    currChar = currChar.toString();
    currChar = currChar.toUpperCase();
    if (validChar(currChar)) { 
      currJpg = jpgRef(currChar);
    } else {
      currJpg = jpgRef("sp");
    }
    cIndex = charList.indexOf(currChar);
    charNum = i+1;
    charNum = charNum.toString();
    if (charNum.length<2) { charNum="0" + charNum; }

    var part1 = 'tag'+tagNum+'line'+lineNum+'chr'+charNum+'.src';

    currJpg = currJpg.toLowerCase();

    var part2 = 'dogtags/'+currJpg+'.jpg';
    eval ('document.'+part1+'="'+part2+'"');
  }
  eval ('var part3 ="tag'+tagNum+'L'+lineNum+'"');
  eval ('document.'+part3+'="'+inText+'"');
}

function validChar(inChar) {
  var inChar = inChar.toString();
  inChar = inChar.toUpperCase();
  var cindex = charList.indexOf(inChar);
  if (cindex>=0) { return true; }
  return false;
}

function jpgRef(c) { 
  var inChar = c.toString();
  inChar = inChar.toUpperCase();
  if (inChar == " ")  { return "sp";     } 
  if (inChar == "_")  { return "under";  } 
  if (inChar == "-")  { return "dash";   } 
  if (inChar == "\"") { return "quote";  }
  if (inChar == "\(") { return "lparen"; }
  if (inChar == "\)") { return "rparen"; }
  if (inChar == "\^") { return "up";     }
  if (inChar == "\<") { return "lkarot"; }
  if (inChar == "\>") { return "rkarot"; }
  if (inChar == "\*") { return "star";   }
  if (inChar == "\?") { return "ques";   }
  if (inChar == "\#") { return "hash";   }
  if (inChar == "\'") { return "apos";   } 
  if (inChar == "\&") { return "amp";    } 
  if (inChar == "\@") { return "at";     } 
  if (inChar == "\!") { return "bang";   } 
  if (inChar == "\%") { return "percent";} 
  if (inChar == "\$") { return "dollar"; } 
  if (inChar == "\/") { return "slash";  } 
  if (inChar == "\:") { return "colon";  } 
  if (inChar == "\;") { return "semi";   } 
  if (inChar == "\+") { return "plus";   } 
  if (inChar == "\=") { return "equal";  } 
  if (inChar == "\.") { return "dot";    } 
  if (inChar == "\,") { return "comma";  } 
  if (validChar(inChar)) { return inChar.toLowerCase(); }
  return "sp";
}

function loadImages() {
  var currChar = "_";
  for (var i = 0; i < charList.length; i++) {
    charArray[i] = new Image ();  
    currChar = charList.substring(i, i+1); 
    currChar = currChar.toString();   
    currChar = currChar.toLowerCase(); 
//    eval ('charArray[i].src="' + 'http://members.iinet.net.au/~tristyan/dogtags/' + jpgRef(currChar) + '.jpg"');
      eval ('charArray[i].src="' + './dogtags/' + jpgRef(currChar) + '.jpg"');
  }
}

function loadLines(i) {
  var ix = i.toString();
  var jx = 0;
  for (var j = 1; j < 7; j++) {
    jx = j.toString();
    if (TAG == ix) {
     eval('document.tag'+ix+'L'+jx+'.value=TAG'+jx);
    } else {
     eval('document.tag'+ix+'L'+jx+'.value=tag'+ix+'L'+jx+'.this.value');
    }
  }
}

function runTime() {
  loadImages();
  if (TAG == null) { 
    TAG = "0";
  }
  loadLines(TAG);        
}

function tagImage(n) {
  var tn = n.toString();
  var tagStuff = "\n<table border=0 cellpadding=0 cellspacing=0 align=center \n";
  tagStuff += " width=" + topWidth + " height=" + allHeight + "><tr><td \n";
  tagStuff += " width=" + topWidth + " height=" + allHeight + "><table  \n";
  tagStuff += "border=0 cellpadding=0 cellspacing=0 align=center \n";
  tagStuff += " width=" + topWidth + " height=" + allHeight + "><tr><td colspan=3 \n";
  tagStuff += " width=" + topWidth + " height=" + topHeight + "><img src=" + topimg + " \n";
  tagStuff += " width=" + topWidth + " height=" + topHeight + "></td></tr><tr><td \n";
  tagStuff += " width=" + lftWidth + " height=" + lftHeight + "><img src=" + lftimg + " \n";
  tagStuff += " width=" + lftWidth + " height=" + lftHeight + "></td><td \n";
  tagStuff += " width=" + midWidth + " height=" + midHeight + "><table ";
  tagStuff += " width=" + midWidth + " height=" + midHeight + " \n";
  tagStuff += " border=0 cellpadding=0 cellspacing=0>\n";
  for (var l=1;l<=5;l++) { 
    var ln = l.toString();
    tagStuff += "<tr width=" + midWidth + " height=" + chrHeight + "><td \n";
    tagStuff += "    width=" + midWidth + " height=" + chrHeight + "\n";
    for (var c=1;c<=15;c++) {
       cn = c.toString();
       if (cn.length<2) { cn="0" + cn; }
 //    tagStuff += "><img border=0 src=http://members.iinet.net.au/~tristyan/dogtags/_.jpg ";
       tagStuff += "><img border=0 src=dogtags/_.jpg ";
       tagStuff += " width=" + chrWidth + " height=" + chrHeight;
       tagStuff += " name=tag" + tn + "line" + ln + "chr" + cn + "\n";
    }
    tagStuff += "></td></tr>\n";
  }
  tagStuff += "</table></td><td \n";
  tagStuff += " width=" + rghWidth + " height=" + rghHeight + "><img src=" + rghimg + " \n";
  tagStuff += " width=" + rghWidth + " height=" + rghHeight + "></td></tr><tr><td colspan=3 \n";
  tagStuff += " width=" + botWidth + " height=" + botHeight + "><img src=" + botimg + " \n";
  tagStuff += " width=" + botWidth + " height=" + botHeight + "></td></tr></table></td></tr></table>\n";

  return tagStuff;
}

function tagForms(n) {
  var tn = n.toString();
  var siz=15;
  var tagStuff = "\n<table cellpadding=0 border=0 cellspacing=0><tr><td \n";
  tagStuff    += " align=center><font size=2 face=courier color=000000><nobr>\n";
  for (var lin=1;lin<=5;lin++) { 
     siz = siz.toString();
    var ln = lin.toString();
    tagStuff  += " "+ln+"\&nbsp\;<input type=text name=tag"+tn+"L"+ln+" size=15";
 //   tagStuff  += " maxlength="+siz+" onblur=showLine("+tn+","+ln+",value)>";
   tagStuff  += " maxlength="+siz+" onkeyup=showLine("+tn+","+ln+",value)>";
    if (lin < 5) { tagStuff += "<br>\n"; }
  }
  tagStuff += "</nobr></td>\n</tr></table>\n";
  return tagStuff;
}

function tagForms_OZ(n,siz,linMax,boxWidth) {
  var tn = n.toString();
//  var siz=10;
  var tagStuff = "\n<table cellpadding=0 border=0 cellspacing=0><tr><td \n";
  tagStuff    += " align=center><font size=2 face=courier color=000000><nobr>\n";
  for (var lin=1;lin<=linMax;lin++) { 
     siz = siz.toString();
    var ln = lin.toString();
    tagStuff  += " "+ln+"\&nbsp\;<input type=text name='tag"+tn+"L"+ln+"' size=15";

 //   tagStuff  += " maxlength="+siz+" onblur=showLine("+tn+","+ln+",value)>";
   tagStuff  += " maxlength="+siz+" onkeyup=showLine("+tn+","+ln+",value) style='width:"+boxWidth+"px'>";
    if (lin < linMax) { tagStuff += "<br>\n"; }
  }
  tagStuff += "</nobr></td>\n</tr></table>\n";
  return tagStuff;
}

function tagForms_jumbo(n,maxsiz,linMax,boxWidth,tagsize) {
  var tn = n.toString();
  var tagStuff = "\n<table cellpadding=0 border=0 cellspacing=0><tr><td \n";
  tagStuff    += " align=center><font size=2 face=courier color=000000><nobr>\n";
  for (var lin=1;lin<=linMax;lin++) { 
  	siz = maxsiz;
	if (tagsize == "lge"){
		switch(lin){
			case 1:
				siz= "12";
				break;
			case 7:
				siz= "12";
				break;
			case 2:
				siz="13";
				break;
			case 6:
				siz="13";
				break;
		}
	}
	else{
		switch(lin){
			case 1:
				siz= "18";
				break;
			case 8:
				siz= "18";
				break;
			case 2:
				siz="19";
				break;
			case 7:
				siz="19";
				break;
		}		
	}
    siz = siz.toString();
    var ln = lin.toString();
    tagStuff  += " "+ln+"\&nbsp\;<input type=text name='tag"+tn+"L"+ln+"' size=15";
   tagStuff  += " maxlength="+siz+" onkeyup=showLine("+tn+","+ln+",value) style='width:"+boxWidth+"px'>";
    if (lin < linMax) { tagStuff += "<br>\n"; }
  }
  tagStuff += "</nobr></td>\n</tr></table>\n";
  return tagStuff;
}


function tagForms_mini(n,maxsiz,linMax,boxWidth) {
  var tn = n.toString();
  var tagStuff = "\n<table cellpadding=0 border=0 cellspacing=0><tr><td \n";
  tagStuff    += " align=center><font size=2 face=courier color=000000><nobr>\n";
  for (var lin=1;lin<=linMax;lin++) { 
  	siz = maxsiz;
	if (linMax == 4){
		switch(lin){
			case 1:
				siz= "10";
				break;
			case 4:
				siz= "10";
				break;
		}
	}
    siz = siz.toString();
    var ln = lin.toString();
    tagStuff  += " "+ln+"\&nbsp\;<input type=text name='tag"+tn+"L"+ln+"' size=15";
   tagStuff  += " maxlength="+siz+" onkeyup=showLine("+tn+","+ln+",value) style='width:"+boxWidth+"px'>";
    if (lin < linMax) { tagStuff += "<br>\n"; }
  }
  tagStuff += "</nobr></td>\n</tr></table>\n";
  return tagStuff;
}

function tagSubmit(n) {
  var tn = n.toString();
  tagStuff += '<font face="arial" size="1"><br><font size="2">\n<input type="submit" value="Submit Tag '+tn+' Info">\n</font></font>\n';
  return tagStuff;
}


