<!--

   // windows object
   var objWin1 = null;
   var objWin2 = null;
   var objWin3 = null;
   var objWin4 = null;    // help

   // BusinessCard variables
   var box_ul_xmargin = 58;  // logical value, about 2.0 mm
   var box_ul_ymargin = 58;
   var box_dr_xmargin = 58;
   var box_dr_ymargin = 58;
   var basic_fonty = 90;
   var basic_ls = 100;

   var boxlxsize = parseInt(3.5 * 720.0) + top.box_ul_xmargin + top.box_dr_xmargin;
   var boxlysize = parseInt(2.0 * 720.0) + top.box_ul_ymargin + top.box_dr_ymargin;

   var currentJob = 1;   // 0-nothing,1-BC card,2-envelope,3-letterhead,4-greeting card
                         // 5-calendar,6 - Label,7 - Postcard,8  - Signs
   var currentStyle = 0;   // pre-designed style, 0- no style
   var currentGreetingMultitext = 0;
   var currentReserveOrderID = 0
   var greetCardFold = 0;   // 0 - 2 fold, 1- 4 fold
   var greetCardCat = 0;

   var memberID = 0;     // for OCX
   var memberClass = 0;
   var memberLevel = 0;
   var memberEmail = '';
   var memberImage = 0;
   var memberCorpImage = 0;

   var BCOrderFlag = 0;
   var BCOrderCount = 0;
   var companyDesignID = 0;

   var selectedPicture = 0;
   var selectedPictureStart = 0;  // image start
   var selectedPictureTotal = 4;  // image total,vector 90
   var selectedPictureCat = 0;
   var selectedPictureBorder = 0;
   var selectedPictureBorderColor = 0;
   var selectedPictureShape = 0;
   var selectedPictureCategory = "CITH";  // category

   var glText_active1 = 255;  // 0 - active
   var glText_active2 = 65535;
   var glText_active3 = 65535;

   var glText_decboxFlag = 255;
   var glText_decboxSelect = 0;

   var glText_select1 = 0;  // 1-selected
   var glText_select2 = 0;
   var glText_select3 = 0;

   var glImg_imgactive1 = 65535;  // 3-image,3,horline,2-ver lines
   var glImg_imgactive2 = 65535;  // 3-image,3,horline,2-ver lines
   var glImg_imgselect = 0;

   var glText_calactive = 255;  // 3-calendar,5,reserved
   var glText_calselect = 0;

   var glTextStr;
   glTextStr = new Array();

   glTextStr[0] = "YourCompany";
   glTextStr[1] = "BestQuality";
   glTextStr[2] = "YourName";
   glTextStr[3] = "President";
   glTextStr[4] = "123 33rd St., #101 New York, NY 10001";
   glTextStr[5] = "212-345-5678";
   glTextStr[6] = "215-345-1234(Fax)";
   glTextStr[7] = "abc@goodie.net";

   for(i=8;i<50;i++) {
      glTextStr[i] = "";
   }

   glScreenImage = new Array();
   glPrinterImage = new Array();
   for(i=0;i<16;i++) {
      glScreenImage[i] = "";
	  glPrinterImage[i] = "";
   }

   var cal1Str = "201010";
   var cal2Str = "201010";
   var cal3Str = "201011";

   var BusinessCardStyle = 0;  // 0-plain,1-Illust,2-full color,3-line art,4-designers,5-company
   var BusinessCardCate = "00"; // 00-general,01-auto,02-restaurant

   var glTextParm;
   glTextParm = new Array();

   for(i=0;i<50;i++) {
      glTextParm[i] = "00000000000000000000000000000000000000000000000000000000";
   }


   var cal1XY = "00000000000000000000000000000000000000000000000000000000";
   var cal2XY = "00000000000000000000000000000000000000000000000000000000";
   var cal3XY = "00000000000000000000000000000000000000000000000000000000";

   var glImageLineParm;
   glImageLineParm = new Array();

   for(i=0;i<32;i++) {
      glImageLineParm[i] = "00000000000000000000000000000000000000000000000000000000";
   }


   var glDecboxStr;
   glDecboxStr = new Array();

   for(i=0;i<8;i++) {
      glDecboxStr[i] = "";
   }

   var glDecboxParm;
   glDecboxParm = new Array();

   for(i=0;i<8;i++) {
      glDecboxParm[i] = "000000000000000000000000000000000000000000000000000000000000000000";
   }

   function getCookie(name) {
      var cookieFound = false;
      var start = 0;
	  var end = 0;
	  var cookieString = document.cookie;
	  var i = 0;
	  while (i <= cookieString.length) {
	     start = i;
		 end = start + name.length;
		 if(cookieString.substring(start,end) == name) {
		    cookieFound = true;
			break;
	     }
		 i++;
	  }
	  if(cookieFound) {
	     start = end + 1;
		 end = cookieString.indexOf(";",start);
		 if(end < start) end = cookieString.length;
		 return unescape(cookieString.substring(start,end));
      }
	  return "xxxx";
   }

   function setCookie(name,value) {
	  var raw = escape(value);
	  var nameString = name + "=" + raw;
	  document.cookie = nameString;
   }

   function goHome() {
         top.right.location.href = "main.asp?id=" + top.memberID;
   }
   function goBusinessCard() {
         top.right.location.href = "bcmain.asp?id=" + top.memberID;
   }
   function goBCOrder() {
      if(top.BCOrderFlag == 0) return;
	  if(top.BCOrderCount > 1) {
          top.goBusinessCardSpec(200,0);
		  return;
      }
	  top.right.flash_bottom.location.href = "place_order.asp?id=" + top.memberID + "&comid=" + companyDesignID;
   }
   function goBusinessCardSpec(ord1,ord2) {  // 4-designers,5-company,6-char,7-cari
        if(parseInt(ord1) == 2) {     // full color
            top.right.location.href = "bcfullcolor.asp?v=" + ord2;
	    }
		if(parseInt(ord1) == 1) {     // premium
            top.right.location.href = "bcpremium.asp?v=" + ord2;
	    }
		if(parseInt(ord1) == 3) {     // line art
            top.right.location.href = "bclineart.asp?v=" + ord2;
	    }
		if(parseInt(ord1) == 4) {     // designer
            top.right.location.href = "bclineart.asp?v=" + ord2;
	    }
		if(parseInt(ord1) == 0) {     // classic
		    top.glScreenImage[2] = "";
	        top.glPrinterImage[2] = "";
	        top.right.location.href = "bctextstyle.asp?stp=1&v=" + ord2 + "&cc=01&mh=0&inum=0&pname=0000";
	    }
		if(parseInt(ord1) == 200) {     // donot touch
			str1 = "bcflash.asp?w=200&w1=1";
		    top.right.location.href = str1;
	    }
   }
   function goMydesign() {
         if(top.memberID <= 0) {
		     alert('LogIn First !!');
			 return;
		 }
         top.right.location.href = "mydesign.asp?id=" + top.memberID;
   }
   function goMyitems() {
         if(top.memberID <= 0) {
		     alert('LogIn First !!');
			 return;
		 }
         top.right.location.href = "myitems.asp?id=" + top.memberID;
   }
   function goMyphoto() {
         if(top.memberID <= 0) {
		     alert('LogIn First !!');
			 return;
		 }
         top.right.location.href = "mypicture.asp?id=" + top.memberID;
   }
   function goMycari() {
         if(top.memberID <= 0) {
		     alert('LogIn First !!');
			 return;
		 }
   }
   function goShopCart() {
         if(top.memberID <= 0) {
		     alert('Shopcart -- LogIn First !!');
			 return;
		 }
		 top.right.location.href = "shopcart.asp?id=" + top.memberID;
   }

   function goEstimate() {
         top.right.location.href = "estimate.asp?id=" + top.memberID;
   }

   function goLogout() {
       top.right.location.href = "logout.asp";
   }

   function goMembership() {
       top.right.location.href = "members.asp";
   }

   function goHelp(ord1) {
       top.right.location.href = "help.asp?c=" + ord1;
   }

   function goLogin(ord1) {
       top.right.location.href = "signin.asp?nx=" + ord1;
   }

   function get4Hex(name,st) {
      var ret = 0;
	  var tstr = "0x" + name.substring(st,st+4);
	  if(isNaN(tstr)) {
		 ret = 0;
	  }
	  else ret = eval(tstr);
	  if(ret > 32767) {
	     ret = 65536 - ret;
		 ret = ret * -1;
	  }
	  return ret;
   }

   function get3Hex(name,st) {
      var ret = 0;
	  var tstr = "0x" + name.substring(st,st+3);
	  ret = eval(tstr);
	  return ret;
   }

   function get2Hex(name,st) {
      var ret = 0;
	  var tstr = "0x" + name.substring(st,st+2);
	  if(isNaN(tstr)) {
		 ret = 0;
	  }
	  else ret = eval(tstr);
	  return ret;
   }

   function get1Hex(name,st) {
      var ret = 0;
	  var tstr = "0x" + name.substring(st,st+1);
	  ret = eval(tstr);
	  return ret;
      
   }

   function put4Hex(name,val,st) {
      var ret = parseInt(val);
	  var l;
	  var j;
	  var rString = "";
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l == 4) tstr = t1str;
	  else {
	     if(l > 4) tstr = t1str.substring(l-4,l);
		 else {
		    if(l == 1) tstr = "000" + t1str;
			if(l == 2) tstr = "00" + t1str;
			if(l == 3) tstr = "0" + t1str;
	     }
	  }
	  j = name.length;
	  rString = name.substring(0,st) + tstr + name.substring(st+4,j);
	  return rString;
   }

   function put3Hex(name,val,st) {
      var ret = parseInt(val);
	  var l;
	  var j;
	  var rString = "";
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l == 3) tstr = t1str;
	  else {
	     if(l > 3) tstr = t1str.substring(l-3,l);
		 else {
		    if(l == 1) tstr = "00" + t1str;
			else tstr = "0" + t1str;
	     }
	  }
	  j = name.length;
	  rString = name.substring(0,st) + tstr + name.substring(st+3,j);
	  return rString;
   }

   function put2Hex(name,val,st) {
      var ret = parseInt(val);
	  var l;
	  var j;
	  var rString = "";
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l == 2) tstr = t1str;
	  else {
	     if(l > 2) tstr = t1str.substring(l-2,l);
		 else {
			tstr = "0" + t1str;
	     }
	  }
	  j = name.length;
	  rString = name.substring(0,st) + tstr + name.substring(st+2,j);
	  return rString;
   }

   function put1Hex(name,val,st) {
      var ret = parseInt(val);
	  var l;
	  var j;
	  var rString = "";
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l == 1) tstr = t1str;
	  else {
	     tstr = t1str.substring(l-1,l);
	  }
	  j = name.length;
	  rString = name.substring(0,st) + tstr + name.substring(st+1,j);
	  return rString;
   }

   function make2Hex(val) {
      var ret = parseInt(val);
	  var l;
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l == 1) tstr = "0" + t1str;
	  else {
	     if(l > 2) tstr = t1str.substring(l-2,l);
		 else tstr = t1str;
	  }
	  return tstr;
   }

   function make4Hex(val) {
      var ret = parseInt(val);
	  if(ret < 0) ret = 65536 + ret;
	  var l;
	  var tstr = "";
	  var t1str;
	  t1str = ret.toString(16);
	  l = t1str.length;
	  if(l > 4) {
	     tstr = t1str.substring(l-4,l);
	  }
	  else {
	     if(l == 1) tstr = "000" + t1str;
		 if(l == 2) tstr = "00" + t1str;
		 if(l == 3) tstr = "0" + t1str;
		 if(l == 4) tstr = t1str;
	  }
	  return tstr;
   }

   // 0 - black 00 00 00 
   // 1 - white ff ff ff
   // 2 - red ff 00 00 
   // 3 - green 00 ff 00
   // 4 - blue 00 00 ff
   // 5 - yellow ff ff 00
   // 6 - cyan 00 ff ff
   // 7 - magenta ff 00 ff
   // 8 - aqua 00 FF FF
   // 9 - beige f5 f5 dc 
   // 10 - brown a5 2a 2a 
   // 11 - chocolate d2 69 1e 
   // 12 - crimson - dc 14 3c 
   // 13 - dark blue 00 00 8b
   // 14 - dark gray a9 a9 a9 
   // 15 - dark green 00 64 00 
   // 16 - dark red 8b 00 00 
   // 17 - floralwhite ff fa f0
   // 18 - forestgreen 22 8b 22 
   // 19 - ghostwhite f8 f8 ff
   // 20 - gold ff d7 00 
   // 21 - gray 80 80 80 
   // 22 - honeydew f0 ff f0 
   // 23 - hotpink ff 69 50 
   // 24 - indianred 14 5c 5c 
   // 25 - indigo 4b 00 1e 
   // 26 - ivory ff ff f0
   // 27 - khaki f0 1e 8c 
   // 28 - lawngreen 7c fc 00 
   // 29 - light blue ad d8 1e 
   // 30 - light gray d3 d3 d3
   // 31 - light pink ff b6 c1 
   // 32 - light yellow ff ff e0 
   // 33 - linen fa f0 1e 
   // 34 - maroon 80 00 00 
   // 35 - navy 00 00 80 
   // 36 - olive 80 80 00 
   // 37 - orange ff a5 00 
   // 38 - pink ff c0 14
   // 39 - plum dd a0 dd 
   // 40 - purple 80 00 80 
   // 41 - royal blue 41 69 e1
   // 42 - silver c0 c0 c0 
   // 43 - sky blue 87 14 eb 
   // 44 - snow white ff fa fa 
   // 45 - tan d2 50 8c 
   // 46 - tomato ff 63 47 
   // 47 - turquoise 40 e0 14 
   // 48 - violet ee 1e ee
   // 49 - wheat f5 de b3 
   // 50 - yellow green 9a 14 32

	function GetColorHexString(val) {
	   var colstr = "000000";
       switch (parseInt(val)) {
	      case 0 :
		     colstr = "000000";
			 break;
		  case 1 :
		     colstr = "FFFFFF";
			 break;
		  case 2 :
		     colstr = "FF0000";
			 break;
		  case 3 :
		     colstr = "00FF00";
			 break;
		  case 4 :
		     colstr = "0000FF";
			 break;
		  case 5 :
		     colstr = "FFFF00";
			 break;
		  case 6 :
		     colstr = "00FFFF";
			 break;
		  case 7 :
		     colstr = "FF00FF";
			 break;
		  case 8 :
		     colstr = "00FFFF";
			 break;
		  case 9 :
		     colstr = "F5F5DC";
			 break;
		  case 10 :
		     colstr = "A52A2A";
			 break;
		  case 11 :
		     colstr = "D2691E";
			 break;
		  case 12 :
		     colstr = "DC143C";
			 break;
		  case 13 :
		     colstr = "00008B";
			 break;
		  case 14 :
		     colstr = "A9A9A9";
			 break;
		  case 15 :
		     colstr = "006400";
			 break;
		  case 16 :
		     colstr = "8B0000";
			 break;
		  case 17 :
		     colstr = "FFFAF0";
			 break;
		  case 18 :
		     colstr = "228B22";
			 break;
		  case 19 :
		     colstr = "F8F8FF";
			 break;
		  case 20 :
		     colstr = "FFD700";
			 break;
		  case 21 :
		     colstr = "808080";
			 break;
		  case 22 :
		     colstr = "F0FFF0";
			 break;
		  case 23 :
		     colstr = "FF6950";
			 break;
		  case 24 :
		     colstr = "145C5C";
			 break;
		  case 25 :
		     colstr = "4B001E";
			 break;
		  case 26 :
		     colstr = "FFFFF0";
			 break;
		  case 27 :
		     colstr = "F01E8C";
			 break;
		  case 28 :
		     colstr = "7CFC00";
			 break;
		  case 29 :
		     colstr = "ADD81E";
			 break;
		  case 30 :
		     colstr = "D3D3D3";
			 break;
		  case 31 :
		     colstr = "FFB6C1";
			 break;
		  case 32 :
		     colstr = "FFFFE0";
			 break;
		  case 33 :
		     colstr = "FAF01E";
			 break;
		  case 34 :
		     colstr = "800000";
			 break;
		  case 35 :
		     colstr = "000080";
			 break;
		  case 36 :
		     colstr = "808000";
			 break;
		  case 37 :
		     colstr = "FFA500";
			 break;
		  case 38 :
		     colstr = "FFC014";
			 break;
		  case 39 :
		     colstr = "DDA0DD";
			 break;
		  case 40 :
		     colstr = "800080";
			 break;
		  case 41 :
		     colstr = "4169E1";
			 break;
		  case 42 :
		     colstr = "C0C0C0";
			 break;
		  case 43 :
		     colstr = "8714EB";
			 break;
		  case 44 :
		     colstr = "FFFAFA";
			 break;
 		  case 45 :
		     colstr = "D2508C";
			 break;
		  case 46 :
		     colstr = "FF6347";
			 break;
 		  case 47 :
		     colstr = "40E014";
			 break;
		  case 48 :
		     colstr = "EE1EEE";
			 break;
		  case 49 :
		     colstr = "F5DEB3";
			 break;
		  case 50 :
		     colstr = "9A1432";
			 break;
		  default :
		     colstr = "000000";
			 break;
	  }
	  return colstr;
   }

   function getFontColor(cStr) {
      var tstr = "";
	  var i = get2Hex(cStr,18);
	  tstr = GetColorHexString(i);
      return tstr;
   }

   function getGraphicColor(order) {
      var tstr = "";
	  tstr = getSelectedXYImgString(order);
	  var i = get2Hex(tstr,30);
	  tstr = GetColorHexString(i);
      return tstr;
   }

   function getTextString(order) {
      var str1;
      str1 = getSelectedString(order) ;
	  if(order <= 16) {
	     if((glText_active1 & (32768 >> (order - 1))) != 0) str1 = "";
		 return str1;
	  }
	  if(order <= 32) {
	     if((glText_active2 & (32768 >> (order - 17))) != 0) str1 = "";
		 return str1;
	  }
	  if(order <= 48) {
	     if((glText_active3 & (32768 >> (order - 33))) != 0) str1 = "";
		 return str1;
	  }
	  return str1;
   }

   function getSelectedString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 100)) return str1;
	  str1 = glTextStr[parseInt(order)-1];
	  return str1;
   }

   function getSelectedCalString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 4)) return str1;
      switch(parseInt(order)) {
	     case 1 :
            str1 = cal1Str;
			break;
		 case 2 :
		    str1 = cal2Str;
			break;
		 case 3 :
		    str1 = cal3Str;
			break;

	     default :
            str1 = cal1Str;
		    break;
      }
	  return str1;
   }

   function getSelectedXYString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 100)) return str1;
	  str1 = glTextParm[parseInt(order)-1];
	  return str1;
   }

   function getSelectedDecboxXYString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 9)) return str1;
	  str1 = glDecboxParm[parseInt(order)-1];
	  return str1;
   }

   function putSelectedDecboxXYString(order,str) {
	  if((order <= 0) || (order >= 9)) return ;
	  glDecboxParm[parseInt(order)-1] = str;
   }

   function getSelectedXYImgString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 33)) return str1;
	  str1 = glImageLineParm[parseInt(order)-1];
	  return str1;
   }

   function getSelectedXYCalString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 9)) return str1;
      switch(parseInt(order)) {
	     case 1 :
            str1 = cal1XY;
			yes = 1;
			break;
		 case 2 :
		    str1 = cal2XY;
			yes = 1;
			break;
		 case 3 :
		    str1 = cal3XY;
			yes = 1;
			break;
      }
	  return str1;
   }

   function getSelectedDecboxString(order) {
      var str1;
	  str1 = "";
	  if((order <= 0) || (order >= 9)) return str1;
	  str1 = glDecboxStr[parseInt(order)-1];
	  return str1;
   }

   function putSelectedDecboxString(order,str) {
 	  if((order <= 0) || (order >= 9)) return ;
	  glDecboxStr[parseInt(order)-1] = str;
   }

   function putSelectedString(order,val) {
      if((order <= 0) || (order >= 100)) return ;
	  glTextStr[parseInt(order)-1] = val;
   }
   
   function putSelectedCalString(order,val) {
      if((order <= 0) || (order >= 4)) return;
      switch(parseInt(order)) {
	     case 1 :
            cal1Str = val;
			break;
		 case 2 :
		    cal2Str = val;
			break;
		 case 3 :
		    cal3Str = val;
			break;

		 default :
            cal1Str = val;
			break;
      }
   }
   
   function putSelectedXYString(order,val) {
      if((order <= 0) || (order >= 100)) return;
	  glTextParm[parseInt(order)-1] = val;
   }
   
   function putSelectedXYImgString(order,val) {
      if((order <= 0) || (order >= 33)) return;
	  glImageLineParm[parseInt(order)-1] = val;
   }

   function putSelectedXYCalString(order,val) {
      if((order <= 0) || (order >= 9)) return;
      switch(parseInt(order)) {
	     case 1 :
            cal1XY = val;
			yes = 1;
			break;
		 case 2 :
		    cal2XY = val;
			yes = 1;
			break;
		 case 3 :
		    cal3XY = val;
			yes = 1;
			break;
      }
   }

   function getCalString(cStr) {
      var tstr = "";
	  var i;
      if(cStr == "") {
	     tstr = "2010.1";
		 return tstr;
      }
	  i = cStr.length;
	  if(i < 6) {
	     tstr = "2010.1";
		 return tstr;
	  }
	  tstr = cStr.substring(0,4) + "." + cStr.substring(4,6);
	  return tstr;
   }

   function putBoxPosSize(order,x,y,xsize,ysize) {
      var str1,str2;
	  if((order <= 0) || (order >= 100)) return;
	  str1 = getSelectedXYString(order);
	  str2 = put4Hex(str1,x,0);
	  str2 = put4Hex(str2,y,4);
	  str2 = put4Hex(str2,xsize,8);
	  str2 = put4Hex(str2,ysize,12);
	  putSelectedXYString(order,str2);
   }

   function putBoxPosSizeImage(order,x,y,xsize,ysize) {
      var str1,str2;
	  if((order <= 0) || (order >= 33)) return;
	  str1 = getSelectedXYImgString(order);
	  str2 = put4Hex(str1,x,0);
	  str2 = put4Hex(str2,y,4);
	  str2 = put4Hex(str2,xsize,8);
	  str2 = put4Hex(str2,ysize,12);
	  putSelectedXYImgString(order,str2);
   }

   function putImageCategory(order,imgstr) {
      var str1;
	  var j;
	  var rString;
	  if((order <= 0) || (order > 16)) return;
	  var len = imgstr.length;
	  if(len != 4) return;
	  str1 = getSelectedXYImgString(order);
	  j = str1.length;
	  rString = str1.substring(0,24) + imgstr + str1.substring(28,j);
	  putSelectedXYImgString(order,rString);
   }

   function getImageCategory(order) {
      var str1,str2;
	  var rString,ord;
	  rString = "CITH";
	  ord = parseInt(order);
	  if((ord <= 0) || (ord >= 17)) return rString;
	  str1 = getSelectedXYImgString(ord);
	  str2 = str1.substring(24,28);
	  var len = str2.length;
	  if(len != 4) return rString;
	  if(str2 == "0000") return rString;
	  return str2;
   }

   function putBoxPosSizeCal(order,x,y,xsize,ysize) {
      var str1,str2;
	  if((order <= 0) || (order >= 9)) return;
	  str1 = getSelectedXYCalString(order);
	  str2 = put4Hex(str1,x,0);
	  str2 = put4Hex(str2,y,4);
	  str2 = put4Hex(str2,xsize,8);
	  str2 = put4Hex(str2,ysize,12);
	  putSelectedXYCalString(order,str2);
   }

   function putCalStyleFont(order,style,font) {
      var str1,str2;
	  if((order <= 0) || (order >= 9)) return;
	  str1 = getSelectedXYCalString(order);
	  str2 = put2Hex(str1,style,28);
	  str2 = put2Hex(str2,font,16);
	  putSelectedXYCalString(order,str2);
   }

   function putCalFontColor(order,order1,red,green,blue) {
      var str1,str2;
	  var off;
	  if((order < 0) || (order >= 3)) return;
	  str1 = getSelectedXYCalString(order);
	  off = 6 * order1 + 30;
	  str2 = put2Hex(str1,red,off);
	  str2 = put2Hex(str2,green,off+2);
	  str2 = put2Hex(str2,blue,off+4);
	  putSelectedXYCalString(order,str2);
   }

   function putBoxImageNumber(order,inum) {
      var str1,str2;
	  var ord;
	  ord = parseInt(order);
	  if((ord <= 0) || (ord >= 33)) return;
	  str1 = getSelectedXYImgString(ord);
	  str2 = put4Hex(str1,inum,20);
	  putSelectedXYImgString(ord,str2);
   }

   function getBoxImageNumber(order) {
      var str1,str2;
	  var ord;
	  ord = parseInt(order);
	  if((ord <= 0) || (order >= 33)) return 0;
	  str1 = getSelectedXYImgString(ord);
	  str2 = get4Hex(str1,20);
      return str2;
   }

   function putBoxFontVals(order,fonts,fontsize,fontcolor) {
      var str1,str2;
	  if((order <= 0) || (order >= 100)) return;
	  str1 = getSelectedXYString(order);
	  str2 = put2Hex(str1,fonts,16);
	  str2 = put2Hex(str2,fontcolor,18);
	  str2 = put4Hex(str2,fontsize,20);
	  str2 = put4Hex(str2,fontsize,24);
	  putSelectedXYString(order,str2);
   }

   function putTextFontColor(order,fonts,fontcolor) {
      var str1,str2;
	  if((order <= 0) || (order >= 100)) return;
	  str1 = getSelectedXYString(order);
	  str2 = put2Hex(str1,fonts,16);
	  str2 = put2Hex(str2,fontcolor,18);
	  putSelectedXYString(order,str2);
   }

   function putBoxGraphicVals(order,which,wid,color) {
      var str1,str2;
	  if((order <= 0) || (order >= 33)) return;
	  str1 = getSelectedXYImgString(order);
	  str2 = put2Hex(str1,which,16);
	  str2 = put2Hex(str2,wid,28);
	  str2 = put2Hex(str2,color,30);
	  putSelectedXYImgString(order,str2);
   }

   function putBoxImageBorder(order,bwid,bcol,bshape) {
      var str1,str2;
	  if((order <= 0) || (order >= 33)) return;
	  str1 = getSelectedXYImgString(order);
	  str2 = put2Hex(str1,bwid,28);
	  str2 = put2Hex(str2,bcol,30);
	  str2 = put2Hex(str2,bshape,32);
	  putSelectedXYImgString(order,str2);
   }

   function getBoxImageBorder(str1) {
      var j;
	  j = get2Hex(str1,32);
	  return j;
   }

   function putBoxAlignVals(order,al) {
      var str1,str2;
	  if((order <= 0) || (order >= 100)) return;
	  str1 = getSelectedXYString(order);
	  str2 = put2Hex(str1,al,28);
	  putSelectedXYString(order,str2);
   }

   function closeAllSubWindows() {
      if(navigationVal != 0) return;      
      if(objWin1 != null) {
		 objWin1.close();
		 objWin1 = null;
      }
	  if(objWin2 != null) {
		 objWin2.close();
		 objWin2 = null;
      }
	  if(objWin3 != null) {
		 objWin3.close();
		 objWin3 = null;
      }
	  if(objWin4 != null) {
		 objWin4.close();
		 objWin4 = null;
      }
    }

   function OpenSelectImage() {
      closeAllSubWindows();
      objWin2 = window.open("openimg.asp","new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=yes,location=no,directories=no,status=no," +
		    "menubar=no,width=700,height=500,top=10,left=10");
      // objWinTimer = window.setTimeout("closeWindow()",60000);
   }

   function OpenMyImage(url) {
      closeAllSubWindows();
      objWin15 = window.open(url,"new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=yes,location=no,directories=no,status=no," +
		    "menubar=no,width=400,height=300,top=100,left=100");
      // objWinTimer = window.setTimeout("closeWindow()",60000);
   }

   function helpShow() {
      closeAllSubWindows();
      objWin4 = window.open("help.asp","new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=yes,location=no,directories=no,status=no," +
		    "menubar=no,width=550,height=400,top=100,left=80");
   }

   function fontShow() {
      closeAllSubWindows();
      objWin4 = window.open("fontsample.asp","new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=yes,location=no,directories=no,status=no," +
		    "menubar=no,width=550,height=600,top=10,left=10");
   }

   function ArtworkShow(str1) {
      closeAllSubWindows();
      objWin4 = window.open(str1,"new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=yes,location=no,directories=no,status=no," +
		    "menubar=no,width=550,height=600,top=10,left=10");
   }

   function checkIDShow(userid) {
      closeAllSubWindows();
	  var str1 = "checkusr.asp?u=" + userid;
      objWin5 = window.open(str1,"new_win","resizable=yes," +
    	    "scrollbars=yes,toolbar=no,location=no,directories=no,status=no," +
		    "menubar=no,width=550,height=400,top=100,left=80");
   }

   function closeWindow1() {
     objWin1.close();
   }

   function currentJobAssign(x,y,dx,dy) {

		 boxlxsize = parseInt(parseFloat(dx) * 720.0);
         boxlysize = parseInt(parseFloat(dy) * 720.0);
   }

   function initCardDesign() {
      var x,y,sx,sy;
	  x = 80;
	  y = (boxlysize - 240) / 2 - 200;
	  sx = boxlxsize - 160;
	  sy = 140;          // 14 point
      putBoxPosSize(1,x,y,sx,sy);    // order, x,y,xsize,ysize
	  putBoxFontVals(1,0,sy,10);         // order,fonts,fontsize,fontcolor
	  putBoxAlignVals(1,1);
	  	  
	  y += sy;
	  sy = 100;           // 10 point
	  putBoxPosSize(2,x,y,sx,sy);
	  putBoxFontVals(2,0,sy,4);
	  putBoxAlignVals(2,1);

      sy = 110;    // 10 point,name
	  y = 50;
	  putBoxPosSize(3,x,y,sx,sy);
	  putBoxFontVals(3,0,sy,0);
	  putBoxAlignVals(3,2);

      y += sy;
      sy = 90;     // 9 point, pos
	  putBoxPosSize(4,x,y,sx,sy);
	  putBoxFontVals(4,10,sy,0);
	  putBoxAlignVals(4,2);

	  y = boxlysize - box_ul_ymargin - box_dr_ymargin - 90 * 4 - 80;  // 8 point from bottom
      sy = 90;
	  putBoxPosSize(5,x,y,sx,sy);
	  putBoxFontVals(5,0,sy,0);
	  putBoxAlignVals(5,0);
	  y += sy;
      putBoxPosSize(6,x,y,sx,sy);
	  putBoxFontVals(6,0,sy,0);
	  putBoxAlignVals(6,0);
	  y += sy;
      putBoxPosSize(7,x,y,sx,sy);
	  putBoxFontVals(7,0,sy,0);
	  putBoxAlignVals(7,0);
	  y += sy;
	  putBoxPosSize(8,x,y,sx,sy);
	  putBoxFontVals(8,0,sy,0);
	  putBoxAlignVals(8,0);

	  putBoxPosSize(9,x,80,sx,sy);
	  putBoxPosSize(10,x,80,sx,sy);
	  putBoxPosSize(11,x,80,sx,sy);
	  putBoxPosSize(12,x,80,sx,sy);
	  putBoxPosSize(13,x,80,sx,sy);
	  putBoxPosSize(14,x,80,sx,sy);
	  putBoxPosSize(15,x,80,sx,sy);
	  putBoxPosSize(16,x,80,sx,sy);
	  putBoxPosSize(17,x,80,sx,sy);
	  putBoxPosSize(18,x,80,sx,sy);

	  glTextStr[0] = "YourCompany";
      glTextStr[1] = "BestQuality";
      glTextStr[2] = "YourName";
      glTextStr[5] = "212-345-5678";
      glTextStr[6] = "Fax : 215-345-1234";
      glTextStr[4] = "123 33rd St., #101 Phila, PA 19105";
      glTextStr[7] = "abc@abc.net";
      glTextStr[3] = "President";

	  for(i=8;i<50;i++) {
	     glTextStr[i] = "";
	  }


	  putBoxPosSizeImage(1,80,80,240,240);
	  putBoxImageNumber(1,2);
	  putBoxPosSizeImage(4,80,270,boxlxsize-160,10);
	  //putBoxGraphicVals(order,which,wid,color);
	  putBoxGraphicVals(4,2,10,4);

	  glImg_imgactive1 = 65535;
	  glImg_imgactive2 = 65535 - (1 << 15);
	  glImg_imgselect = 0;

	  glText_active1 = 255;  // 0 - active
      glText_active2 = 65535;
      glText_active3 = 65535;

      glText_decboxFlag = 255;
      glText_decboxSelect = 0;

      glText_select1 = 0;  // 1-selected
      glText_select2 = 0;
      glText_select3 = 0;
   }

   //     CALENDAR : 0000-x,0000-y,0000-xsize,0000-ysize,00-font face,00-font color,0000-font xsize,0000-font ysize
   //         00-style,000000-rgb sunday,000000-rgb sat,000000-rgb regular
   // 
   function initCalendarDesign(selCalendar) {
      var x,y,sx,sy,ry;

	  var selItem = parseInt(selCalendar);

	  if((selItem >= 1) && (selItem <= 4)) ;
	  else selItem = 1;

	  if(selItem == 1) {
	    x = 80;
	    y = 80;
	    sx = boxlxsize - 160;
	    sy = boxlysize * 2 / 5 - 80;
	    putBoxPosSizeImage(1,x,y,sx,sy);
	    putBoxImageNumber(1,1);

        ry = sy + y;

	    y = ry + 10;
	    sy = 600;
	    putBoxPosSize(1,x,y,sx,sy);
	    putBoxFontVals(1,2,sy-200,2);
	    putBoxAlignVals(1,1);

	    putBoxPosSize(2,x,y,sx,sy);
	    putBoxFontVals(2,0,sy-400,0);
	    putBoxAlignVals(2,0);

	    putBoxPosSize(3,x,y,sx,sy);
	    putBoxFontVals(3,0,sy-400,0);
	    putBoxAlignVals(3,2);

	    ry = sy + y;

	    x = 80;
	    y = ry + 10;
	    sx = boxlxsize - 160;
	    sy = boxlysize / 2 - 900;          // 

	    putBoxPosSizeCal(1,x,y,sx,sy);
	    putCalStyleFont(1,0,0);   // style = 0
        putCalFontColor(1,0,255,0,0);  // sunday=red
	    putCalFontColor(1,1,0,0,255);  // saturday=blue
	    putCalFontColor(1,2,192,192,192);  // regular

	    ry = sy + y;

	    x = 80;
	    y = ry;
	    sx = boxlxsize - 160;
	    sy = 10; 

	    putBoxPosSizeImage(4,x,y,sx,sy);
	    putBoxGraphicVals(4,2,5,4);

	    ry = sy + y;

	    x = 80;
	    y = ry + 10;
	    sx = boxlxsize - 160;
	    sy = 300;

	    putBoxPosSize(4,x,y,sx,sy);
	    putBoxFontVals(4,30,sy,4);
	    putBoxAlignVals(4,1);

        y = y + 340;
	    putBoxPosSize(5,x,y,sx,sy-100);
	    putBoxFontVals(5,0,sy-180,0);
	    putBoxAlignVals(5,1);

	    y = y + 200;
	    putBoxPosSize(6,x,y,sx,sy-140);
	    putBoxFontVals(6,0,sy-140,0);
	    putBoxAlignVals(6,1);

        y = boxlysize - 90;
		x = 80;
		sx = boxlysize - 160;
		sy = 80;
	    putBoxPosSize(7,x,y,sx,sy);
	    putBoxFontVals(7,0,sy,0);
	    putBoxAlignVals(7,0);
      }

	  if(selItem == 2) {
	    x = 80;
	    y = 80;
	    sx = boxlxsize - 160;
		sy = 0;
        ry = sy + y;

	    y = ry + 10;
	    sy = 800;
	    putBoxPosSize(1,x,y,sx,sy);
	    putBoxFontVals(1,2,sy-200,2);
	    putBoxAlignVals(1,1);

	    putBoxPosSize(2,x,y,sx,sy);
	    putBoxFontVals(2,0,sy-400,0);
	    putBoxAlignVals(2,0);

	    putBoxPosSize(3,x,y,sx,sy);
	    putBoxFontVals(3,0,sy-400,0);
	    putBoxAlignVals(3,2);

	    ry = sy + y;

		x = 80;
	    y = ry + 10;

		sx = boxlxsize - 160;
	    sy = boxlysize - 3000;
	    putBoxPosSizeImage(1,x,y,sx,sy);

	    putBoxImageNumber(1,1);

	    x = 80;
	    y = y + sy  + 80;
	    sx = boxlxsize - 160;
	    sy = 360;          // 

	    putBoxPosSizeCal(1,x,y,sx,sy);
	    putCalStyleFont(1,1,10);   // style = 1,wide hor,font=times italic
        putCalFontColor(1,0,255,0,0);  // sunday=red
	    putCalFontColor(1,1,0,0,255);  // saturday=blue
	    putCalFontColor(1,2,192,192,192);  // regular

	    ry = sy + y;

	    x = 80;
	    y = ry + 80;
	    sx = boxlxsize - 160;
	    sy = 10; 

	    putBoxPosSizeImage(4,x,y,sx,sy);
	    putBoxGraphicVals(4,2,5,4);

	    ry = sy + y;

	    x = 80;
	    y = ry + 80;
	    sx = boxlxsize - 160;
	    sy = 480;

	    putBoxPosSize(4,x,y,sx,sy);
	    putBoxFontVals(4,11,sy-180,4);
	    putBoxAlignVals(4,1);

        y = y + 480;
	    putBoxPosSize(5,x,y,sx,240);
	    putBoxFontVals(5,0,180,0);
	    putBoxAlignVals(5,1);

	    y = y + 240;
	    putBoxPosSize(6,x,y,sx,360);
	    putBoxFontVals(6,0,240,0);
	    putBoxAlignVals(6,1);

		
		y = boxlysize - 90;
		x = 80;
		sx = boxlysize - 160;
		sy = 80;
	    putBoxPosSize(7,x,y,sx,sy);
	    putBoxFontVals(7,0,sy,0);
	    putBoxAlignVals(7,0);
      }

	  if(selItem == 4) {
	    x = 980;
	    y = 80;
	    sx = boxlxsize - 1060;
		sy = 0;
        ry = sy + y;

	    y = ry + 10;
	    sy = 800;
	    putBoxPosSize(1,x,y,sx,sy);
	    putBoxFontVals(1,2,sy-200,2);
	    putBoxAlignVals(1,0);

	    putBoxPosSize(2,x,y,sx,sy);
	    putBoxFontVals(2,0,sy-400,0);
	    putBoxAlignVals(2,0);

	    putBoxPosSize(3,x,y,sx,sy);
	    putBoxFontVals(3,0,sy-400,0);
	    putBoxAlignVals(3,2);

	    ry = sy + y;

		//x = 80;
	    y = ry + 10;

		// sx = boxlxsize - 160;
	    sy = boxlysize - 2800;
	    putBoxPosSizeImage(1,x,y,sx,sy);

	    putBoxImageNumber(1,1);

	    //x = 80;
	    //y = y + sy - 360;
	    //sx = 480;
	    //sy = boxlysize - 1080;          // 

	    putBoxPosSizeCal(1,0,800,360,boxlysize - 2160);
	    putCalStyleFont(1,2,0);   // style = 2,wide ver,font=avan md
        putCalFontColor(1,0,255,0,0);  // sunday=red
	    putCalFontColor(1,1,0,0,255);  // saturday=blue
	    putCalFontColor(1,2,192,192,192);  // regular

	    ry = sy + y;

	    x = 980;
	    y = ry + 180;
	    //sx = boxlxsize - 160;
	    sy = 10; 

	    putBoxPosSizeImage(4,x,y,sx,sy);
	    putBoxGraphicVals(4,2,5,4);

	    ry = sy + y;

	    //x = 80;
	    y = ry + 10;
	    //sx = boxlxsize - 160;
	    sy = 480;

	    putBoxPosSize(4,x,y,sx,sy);
	    putBoxFontVals(4,30,sy-240,10);
	    putBoxAlignVals(4,1);

        y = y + 480;
	    putBoxPosSize(5,x,y,sx,240);
	    putBoxFontVals(5,0,160,0);
	    putBoxAlignVals(5,1);

	    y = y + 240;
	    putBoxPosSize(6,x,y,sx,360);
	    putBoxFontVals(6,0,200,0);
	    putBoxAlignVals(6,1);

		y = boxlysize - 90;
		x = 80;
		sx = boxlysize - 160;
		sy = 80;
	    putBoxPosSize(7,x,y,sx,sy);
	    putBoxFontVals(7,0,sy,0);
	    putBoxAlignVals(7,0);
      }

	  if(selItem == 3) {
	    x = 80;
	    y = 80;
	    sx = boxlxsize - 1160;
		sy = 0;
        ry = sy + y;

	    y = ry + 10;
	    sy = 800;
	    putBoxPosSize(1,x,y,sx,sy);
	    putBoxFontVals(1,2,sy-200,2);
	    putBoxAlignVals(1,0);

	    putBoxPosSize(2,x,y,sx,sy);
	    putBoxFontVals(2,0,sy-400,0);
	    putBoxAlignVals(2,0);

	    putBoxPosSize(3,x,y,sx,sy);
	    putBoxFontVals(3,0,sy-400,0);
	    putBoxAlignVals(3,2);

	    ry = sy + y;

		//x = 80;
	    y = ry + 10;

		// sx = boxlxsize - 160;
	    sy = boxlysize - 2800;
	    putBoxPosSizeImage(1,x,y,sx,sy);

	    putBoxImageNumber(1,1);

	    //x = 80;
	    //y = y + sy - 360;
	    //sx = 480;
	    //sy = boxlysize - 1080;          // 

	    putBoxPosSizeCal(1,boxlxsize-980,800,360,boxlysize - 2160);
	    putCalStyleFont(1,2,0);   // style = 2,wide ver,font=avan md
        putCalFontColor(1,0,255,0,0);  // sunday=red
	    putCalFontColor(1,1,0,0,255);  // saturday=blue
	    putCalFontColor(1,2,192,192,192);  // regular

	    ry = sy + y;

	    x = 80;
	    y = ry + 180;
	    //sx = boxlxsize - 160;
	    sy = 10; 

	    putBoxPosSizeImage(4,x,y,sx,sy);
	    putBoxGraphicVals(4,2,5,4);

	    ry = sy + y;

	    //x = 80;
	    y = ry + 10;
	    //sx = boxlxsize - 160;
	    sy = 480;

	    putBoxPosSize(4,x,y,sx,sy);
	    putBoxFontVals(4,16,sy-240,20);
	    putBoxAlignVals(4,1);

        y = y + 480;
	    putBoxPosSize(5,x,y,sx,240);
	    putBoxFontVals(5,0,160,0);
	    putBoxAlignVals(5,1);

	    y = y + 240;
	    putBoxPosSize(6,x,y,sx,360);
	    putBoxFontVals(6,0,200,0);
	    putBoxAlignVals(6,1);

		y = boxlysize - 90;
		x = 80;
		sx = boxlysize - 160;
		sy = 80;
	    putBoxPosSize(7,x,y,sx,sy);
	    putBoxFontVals(7,0,sy,0);
	    putBoxAlignVals(7,0);
      }

	  glTextStr[0] = "Month";
      glTextStr[1] = "Month";
      glTextStr[2] = "Year";
	  glTextStr[3] = "My Family";
      glTextStr[4] = "123 33rd St., New York, NY 10001";
      glTextStr[5] = "212-345-5678";

      glTextStr[6] = "www.108usa.com";
      glTextStr[7] = "";

	  for(i=8;i<50;i++) {
	      glTextStr[i] = "";
	  }
	  
	  glImg_imgactive1 = 65535 - (1 << 15);
	  glImg_imgactive2 = 65535 - (1 << 15);
	  glImg_imgselect = 0;

	  if(selItem > 2) {
	     glText_active1 = 65535 - (1 << 15) - (1 << 13) - (1 << 12) - (1 << 11) - (1 << 10) - (1 << 9);  // 0 - active
	  }
	  else {
	     glText_active1 = 65535 - (1 << 15) - (1 << 14) - (1 << 13) - (1 << 12) - (1 << 11) - (1 << 10) - (1 << 9);  // 0 - active
	  }
      glText_active2 = 65535;
      glText_active3 = 65535;

      glText_decboxFlag = 255;
      glText_decboxSelect = 0;

      glText_select1 = 0;  // 1-selected
      glText_select2 = 0;
      glText_select3 = 0;

	  glText_calactive = 255 - 128;  // 3-calendar,5,reserved
      glText_calselect = 0;
   }

   function getCalendarStart(order) {
      var str1,str2;
	  var y,m;
	  var ret = 0;
	  str1 = getSelectedCalString(parseInt(order));
	  str2 = str1.substring(0,4);
      y = eval(str2);
	  if((y == 2009) || (y == 2010)) ;
	  else return ret;
      str2 = str1.substring(4,6);
      m = eval(str2);
	  if((m >= 1) && (m <= 12)) ;
	  else return ret;
	  if(y == 2009) {
	     switch (m) {
		    case 1 :
			    ret = 4;
				break;
			case 2 :
			    ret = 0;
				break;
		    case 3 :
			    ret = 0;
				break;
		    case 4 :
			    ret = 3;
				break;
			case 5 :
			    ret = 5;
				break;
			case 6 :
			    ret = 1;
				break;
			case 7 :
			    ret = 3;
				break;
			case 8 :
			    ret = 6;
				break;
		    case 9 :
			    ret = 2;
				break;
		    case 10 :
			    ret = 4;
				break;
			case 11 :
			    ret = 0;
				break;
			case 12 :
			    ret = 2;
				break;
		 }
		 glTextStr[2] = "2009";
	  }
	  if(y == 2010) {
  	     switch (m) {
		    case 1 :
			    ret = 5;
				break;
			case 2 :
			    ret = 1;
				break;
		    case 3 :
			    ret = 1;
				break;
		    case 4 :
			    ret = 4;
				break;
			case 5 :
			    ret = 6;
				break;
			case 6 :
			    ret = 2;
				break;
			case 7 :
			    ret = 4;
				break;
			case 8 :
			    ret = 0;
				break;
		    case 9 :
			    ret = 3;
				break;
		    case 10 :
			    ret = 5;
				break;
			case 11 :
			    ret = 1;
				break;
			case 12 :
			    ret = 3;
				break;
		 }
		 glTextStr[2] = "2010";
	  }
	  switch (m) {
		    case 1 :
				glTextStr[0] = "January";
                glTextStr[1] = "1";
				break;
			case 2 :
				glTextStr[0] = "February";
                glTextStr[1] = "2";
				break;
		    case 3 :
				glTextStr[0] = "March";
                glTextStr[1] = "3";
				break;
		    case 4 :
				glTextStr[0] = "April";
                glTextStr[1] = "4";
				break;
			case 5 :
				glTextStr[0] = "May";
                glTextStr[1] = "5";
				break;
			case 6 :
				glTextStr[0] = "June";
                glTextStr[1] = "6";
				break;
			case 7 :
				glTextStr[0] = "July";
                glTextStr[1] = "7";
				break;
			case 8 :
				glTextStr[0] = "August";
                glTextStr[1] = "8";
				break;
		    case 9 :
				glTextStr[0] = "September";
                glTextStr[1] = "9";
				break;
		    case 10 :
				glTextStr[0] = "October";
                glTextStr[1] = "10";
				break;
			case 11 :
				glTextStr[0] = "November";
                glTextStr[1] = "11";
				break;
			case 12 :
				glTextStr[0] = "December";
                glTextStr[1] = "12";
				break;
	  }
	  return ret;
   }

   function getCalendarDays(order) {
      var str1,str2;
	  var y,m;
	  var ret = 31;
	  str1 = getSelectedCalString(parseInt(order));
	  str2 = str1.substring(0,4);
      y = eval(str2);
	  if((y == 2009) || (y == 2010)) ;
	  else return ret;
      str2 = str1.substring(4,6);
      m = eval(str2);
	  if((m >= 1) && (m <= 12)) ;
	  else return ret;
	  if(y == 2009) {
	     switch (m) {
		    case 1 :
			    ret = 31;
				break;
			case 2 :
			    ret = 28;
				break;
		    case 3 :
			    ret = 31;
				break;
		    case 4 :
			    ret = 30;
				break;
			case 5 :
			    ret = 31;
				break;
			case 6 :
			    ret = 30;
				break;
			case 7 :
			    ret = 31;
				break;
			case 8 :
			    ret = 31;
				break;
		    case 9 :
			    ret = 30;
				break;
		    case 10 :
			    ret = 31;
				break;
			case 11 :
			    ret = 30;
				break;
			case 12 :
			    ret = 31;
				break;
		 }
	  }
	  if(y == 2010) {
	     switch (m) {
		    case 1 :
			    ret = 31;
				break;
			case 2 :
			    ret = 28;
				break;
		    case 3 :
			    ret = 31;
				break;
		    case 4 :
			    ret = 30;
				break;
			case 5 :
			    ret = 31;
				break;
			case 6 :
			    ret = 30;
				break;
			case 7 :
			    ret = 31;
				break;
			case 8 :
			    ret = 31;
				break;
		    case 9 :
			    ret = 30;
				break;
		    case 10 :
			    ret = 31;
				break;
			case 11 :
			    ret = 30;
				break;
			case 12 :
			    ret = 31;
				break;
		 }
	  }
	  return ret;
   }

   function getCalendarHolidays(order) {
      var str1,str2,str3;
	  var y,m;
	  var hol;
	  hol = 0;
	  str3 = "00000000";
	  str1 = getSelectedCalString(parseInt(order));
	  str2 = str1.substring(0,4);
      y = eval(str2);
	  if((y == 2009) || (y == 2010)) ;
	  else return str3;
      str2 = str1.substring(4,6);
      m = eval(str2);
	  if((m >= 1) && (m <= 12)) ;
	  else return str3;
	  if(y == 2009) {
	     switch (m) {
		    case 1 :
			    hol = hol | 1;
				break;
			case 2 :
				break;
		    case 3 :
				break;
		    case 4 :
				break;
			case 5 :
			    hol = hol | (1 << 24);
				break;
			case 6 :
				break;
			case 7 :
			    hol = hol | (1 << 3);
				break;
			case 8 :
				break;
		    case 9 :
			    hol = hol | (1 << 6);
				break;
		    case 10 :
				break;
			case 11 :
			    hol = hol | (1 << 25);
				break;
			case 12 :
			    hol = hol | (1 << 24);
				break;
		 }
	  }
	  if(y == 2010) {
	     switch (m) {
		    case 1 :
			    hol = hol | 1;
				break;
			case 2 :
				break;
		    case 3 :
				break;
		    case 4 :
				break;
			case 5 :
			    hol = hol | (1 << 30);
				break;
			case 6 :
				break;
			case 7 :
			    hol = hol | (1 << 3);
				break;
			case 8 :
				break;
		    case 9 :
			    hol = hol | (1 << 5);
				break;
		    case 10 :
				break;
			case 11 :
			    hol = hol | (1 << 24);
				break;
			case 12 :
			    hol = hol | (1 << 24);
				break;
		 }
	  }
	  str3 = "";
      m = (hol >> 24) & 255;
	  str3 = str3 + make2Hex(m);

	  m = (hol >> 16) & 255;
	  str3 = str3 + make2Hex(m);

	  m = (hol >> 8) & 255;
	  str3 = str3 + make2Hex(m);

	  m = hol & 255;
	  str3 = str3 + make2Hex(m);

	  return str3;
   }

   // designx,y,designmx,my,pagex,y,pagemx,my,betweenx,y  4bytes each
   function getOver1Str(ss1,leftmar,topmar) {
       var tstr;
	   var s1 = parseInt(ss1);
	   var lm = parseFloat(leftmar);
	   var tm = parseFloat(topmar);
	   tstr = "";
	   var x,y,mx,my;
	   x = boxlxsize;
	   y = boxlysize;
	   tstr = tstr + make4Hex(x) + make4Hex(y);
	   tstr = tstr + make4Hex(0) + make4Hex(0);   // no margin
	   x = 8.5 * 720.0;       // 8.5 inch
	   x = parseInt(x);
	   y = 11.0 * 720.0;
	   y = parseInt(y);
	   mx = lm / 25.4 * 720.0;
	   mx = parseInt(mx);
	   my = tm / 25.4 * 720.0;
	   my = parseInt(my);
	   // my = my * -1;   // not design
	   if(s1 == 2) {   // legal
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 14.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 3) {   // 11 x 17
	      x = 11.0 * 720.0;       // 11 x 17 inch
	      x = parseInt(x);
	      y = 17.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 4) {   // a4
	      x = 8.5 * 720.0;       
	      x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 5) {   // a3
	      x = 8.5 * 720.0;       // 11 x 17 inch
	      x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 6) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 7) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 8) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 100) {   // as it is
		  x = boxlxsize;
	      y = boxlysize;
	   }
	   tstr = tstr + make4Hex(x) + make4Hex(y);
	   tstr = tstr + make4Hex(mx) + make4Hex(my);   // margin
	   tstr = tstr + make4Hex(0) + make4Hex(0);   // between margin
	   return tstr;
   }

		// yesno 2 byte,designx * col, designy * row, maginx,marginy,paperx,papery
   function getOver4Str(ss1,leftmar,topmar,s3) {
       var tstr;
	   var s1 = parseInt(ss1);
	   var lm = parseFloat(leftmar);
	   var tm = parseFloat(topmar);
	   tstr = "";
	   var mx,my,dx,dy,dd;
	   dx = boxlxsize;
	   dy = boxlysize;
	   mx = lm / 25.4 * 720.0;
	   mx = parseInt(mx);
	   my = tm / 25.4 * 720.0;
	   my = parseInt(my);
       //my = my * -1;
	   var howmany,row,col;
	   howmany = 1;
	   row = 1;
	   col = 1;
       if(s1 == 6) {
	      howmany = 10;
	      row = 5;
	      col = 2;
	   }
	   if(s1 == 7) {
	      howmany = 10;
	      row = 5;
	      col = 2;
	   }
	   if(s1 == 8) {
	      howmany = 4;
	      row = 2;
	      col = 2;
	   }

       var x,y;
	   x = 8.5 * 720.0;       // 8.5 inch
	   x = parseInt(x);
	   y = 11.0 * 720.0;
	   y = parseInt(y);
	   if(s1 == 2) {   // legal
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 14.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 3) {   // 11 x 17
	      x = 11.0 * 720.0;       // 11 x 17 inch
	      x = parseInt(x);
	      y = 17.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 4) {   // a4
	      x = 8.5 * 720.0;       
	      x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 5) {   // a3
	      x = 8.5 * 720.0;       // 11 x 17 inch
	      x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 6) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 7) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 8) {   // letter
	      x = 8.5 * 720.0;       
		  x = parseInt(x);
	      y = 11.0 * 720.0;
	      y = parseInt(y);
	   }
	   if(s1 == 100) {   // as it is
		  x = boxlxsize;
	      y = boxlysize;
	   }

	   dx = dx * col;
	   dy = dy * row;

	   if(currentJob == 1) {
	      if((s1 == 6) || (s1 == 7)) {
		     if(currentStyle > 100) {
			     dd = dy;
				 dy = dx;
				 dx = dd;
				 dx = boxlysize * col;
	             dy = boxlxsize * row;
			 }
		  }
	   }

	   if(currentJob == 4) {
	      switch (currentStyle) {
		      case 1 :
		      case 3 :
			  case 4 :   // landscape
				 break;
  			  case 2 :   // portrait
			     dd = dy;
				 dy = dx;
				 dx = dd;
				 break;
			  case 5 :   // 2 fold
			  case 6 :   // 2 fold
			  case 7 :   // 2 fold
			  case 8 :   // 2 fold
			     dd = dy;
				 dy = dx;
				 dx = dd;
				 break;
			  case 9 :   // 4 fold
			  case 10 :   // 4 fold
				break;
			  case 11 :   // 4 fold,repeat
				break;
			  case 12 :   // 4 fold,repeat
			     dd = dy;
				 dy = dx;
				 dx = dd;
				 break;
		  }
	   }

	   if(s3 == true) tstr = tstr + make2Hex(1);
	   else tstr = tstr + make2Hex(0);
	   tstr = tstr + make4Hex(dx) + make4Hex(dy);
	   tstr = tstr + make4Hex(mx) + make4Hex(my);   // margin
	   tstr = tstr + make4Hex(x) + make4Hex(y);   // paper
	   return tstr;
   }

   // start,howmany,row,col  2bytes each
   function getOver2Str(ss1,jobs,sno) {
       var tstr;
	   var job = parseInt(jobs);
	   var style = parseInt(sno);
	   var s1 = parseInt(ss1);
	   tstr = "";
	   var start,howmany,row,col;
	   start = 0;
	   howmany = 1;
	   row = 1;
	   col = 1;
       if(s1 == 6) {
	      howmany = 10;
	      row = 5;
	      col = 2;
	   }
	   if(s1 == 7) {
	      howmany = 10;
	      row = 5;
	      col = 2;
	   }
	   if(s1 == 8) {
	      howmany = 4;
	      row = 2;
	      col = 2;
	   }
	   if((job == 4) && (style >= 5) && (style <= 8)) {  // 2 fold
	      howmany = 1;
		  row = 1;
		  col = 1;
	   }
	   if((job == 4) && (style >= 9) && (style <= 10)) {
	      howmany = 2;
		  row = 2;
		  col = 1;
	   }
	   if((job == 4) && (style >= 11) && (style <= 12)) {
	      howmany = 4;
		  row = 2;
		  col = 2;
	   }
	   if((job == 4) && (style >= 1) && (style <= 4)) {
	      howmany = 1;
		  row = 1;
		  col = 1;
	   }
	   if((job == 4) && (style >= 55) && (style <= 58)) {   // 4 fold
	      howmany = 1;
		  row = 1;
		  col = 1;
	   }
	   tstr = tstr + make2Hex(start) + make2Hex(howmany);   //
	   tstr = tstr + make2Hex(row) + make2Hex(col);   //  
	   return tstr;
   }

            // over3 str
			// 1 byte each for box
	        //    1 - active bit-if set skip,
	        //    1 - swap bit-if set swap x,y
	        //    2 - rotate 90 degree, if 2 - 180 degreee rotate
   function getOver3Str(ss1,jobs,sno) {
       var tstr;
	   var job = parseInt(jobs);
	   var s1 = parseInt(ss1);
	   var style = parseInt(sno);
       var howmany;
	   var i1,j;

	   howmany = 1;
	   if((job == 4) && (style >= 5) && (style <= 8)) {  // 2 fold
	      tstr = "";
		  j = 80;
		  for(i1=0;i1<2;i1++) {
		     tstr = tstr + make2Hex(j);
		  }
	      tstr = tstr + "000000";
	      return tstr;
	   }
	   if((job == 4) && (style >= 9) && (style <= 10)) {
	      tstr = "";
		  j = 0;
          tstr = tstr + make2Hex(j);
		  j = 128;
		  tstr = tstr + make2Hex(j);
	      tstr = tstr + "000000";
	      return tstr;
	   }
	   if((job == 4) && (style >= 1) && (style <= 4)) {
	      tstr = "";
		  if(style == 2) j = 80;
		  else j = 0;
          tstr = tstr + make2Hex(j);
		  j = 128;
		  tstr = tstr + make2Hex(j);
	      tstr = tstr + "000000";
	      return tstr;
	   }
	   if((job == 4) && (style >= 55) && (style <= 58)) {   // 4 fold
	      tstr = "";
		  j = 0;
          tstr = tstr + make2Hex(j);
		  j = 0;
		  tstr = tstr + make2Hex(j);
	      tstr = tstr + "000000";
	      return tstr;
	   }
	   if((job == 4) && (style >= 11) && (style <= 12)) {   // repeat
	      tstr = "";
		  if(style == 11) j = 0;
		  else j = 80;
		  for(i1=0;i1<4;i1++) {
		     tstr = tstr + make2Hex(j);
		  }
	      tstr = tstr + "000000";
	      return tstr;
	   }
       if(s1 == 6) {
	      howmany = 10;
	   }
	   if(s1 == 7) {
	      howmany = 10;
	   }
	   if(s1 == 8) {
	      howmany = 4;
	   }

       if(howmany <= 1) {
	      tstr = "";
	      tstr = "00000000000000000000000000000000000000000000000000000000000000000000";
	      return tstr;
	   }
	   if((howmany == 10) && (style <= 100)) {
	      tstr = "";
	      tstr = "00000000000000000000000000000000000000000000000000000000000000000000";
	      return tstr;
	   }
	   if((howmany == 10) && (style > 100)) {   // landscape
	      tstr = "";
		  j = 80;
		  for(i1=0;i1<10;i1++) {
		     tstr = tstr + make2Hex(j);
		  }
	      tstr = tstr + "000000";
	      return tstr;
	   }
	   if((howmany == 4) && (style <= 2)) {
	      tstr = "";
		  j = 128;
	      tstr = tstr + make2Hex(j);
		  j = 80;
	      tstr = tstr + make2Hex(j);
		  j = 128;
	      tstr = tstr + make2Hex(j);
		  j = 80;
	      tstr = tstr + make2Hex(j);
	      
		  tstr = tstr + "000000";
	      return tstr;
	   }
	   if((howmany == 4) && (style >= 3)) {   // landscape
	      tstr = "";
		  j = 128;
	      tstr = tstr + make2Hex(j);
		  j = 0;
	      tstr = tstr + make2Hex(j);
		  j = 128;
	      tstr = tstr + make2Hex(j);
		  j = 0;
	      tstr = tstr + make2Hex(j);
	      
		  tstr = tstr + "000000";
	      return tstr;
	   }
   }

			 // graphic === x,y,framexsize,ysize,4 each class,width 2 each
	         //  class 0-rect, 1-rect fill,2-line diagnal,3-line diagnal,4-ellipse,5-ellipse fill
			 // image === framex,y,framexsize,ysize ,borderwid(logical),r,g,b,bordershape(1-ellipse)
   function getImageGraphStr(order,ind) {
       var tstr,str1;
	   var i;
	   var iind = parseInt(ind);
	   tstr = "";
	   if((order <= 0) || (order > 32)) return tstr;
	   var stx,sty,szx,szy,what,wid;
	   if((order >= 1) && (order <= 16)) {   // image
	                       // framex,y,framexsize,ysize
		  if((glImg_imgactive1 & (32768 >> (order - 1))) != 0) return tstr;
	      wid = 10;
	      what = 0;
		  str1 = getSelectedXYImgString(order);
		  if(iind > 0) return str1;    // asis 
	      stx = get4Hex(str1,0);
	      sty = get4Hex(str1,4);
	      szx = get4Hex(str1,8);
	      szy = get4Hex(str1,12);
	      tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	      tstr = tstr + make4Hex(szx) + make4Hex(szy);   //
 		  
		  i = get2Hex(str1,28);   // border width
		  tstr = tstr + make2Hex(i);
		  
		  i = get2Hex(str1,30);   // border color
		  tstr = tstr + GetColorHexString(i); 
		  
		  i = get2Hex(str1,32);   // border shape
		  tstr = tstr + make2Hex(i);  
		  
    	  return tstr;
	   }
	   if(order >= 17) {   // graphic
	      if((glImg_imgactive2 & (32768 >> (order - 17))) != 0) return tstr;
	      wid = 10;
	      what = 1;   // fill
		  str1 = getSelectedXYImgString(order);
		  if(iind > 0) return str1;    // asis
	      stx = get4Hex(str1,0);
	      sty = get4Hex(str1,4);
	      szx = get4Hex(str1,8);
	      szy = get4Hex(str1,12);
	      tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	      tstr = tstr + make4Hex(szx) + make4Hex(szy);   //
	      tstr = tstr + make2Hex(what) + make2Hex(wid);  
	      return tstr;
	   }
   }

   function getImageGraphStrParm(order) {    // image size, scale size ex) 1800 1800
       var tstr;
	   tstr = "";
	   if((order <= 0) || (order > 32)) return tstr;
	   var stx,sty;
	   if((order >= 1) && (order <= 16)) {    // image
	     stx = 1800;   // for ps style
	     sty = 1800;
	     tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	     return tstr;
	   }
	   if(order >= 17) {    // graphic
	     tstr = tstr + getGraphicColor(order);   //   black color
	     return tstr;
	   }
   }

   function getTextParm(val) {
       var tstr;
	   var stx,sty,szx,szy;
	   var fontx,fonty;
       var fontface,fontcolor;
	   var align = get2Hex(val,28);
	   var wsp = 0;
	   var csp = 0;
	   var out = 0;
	   var vert = 0;
	   var rot = 0;
	   var layer = 0;
	   fontface = get2Hex(val,16);
	   fontcolor = get2Hex(val,18);
	   tstr = "";
	   stx = get4Hex(val,0);
	   sty = get4Hex(val,4);
	   szx = get4Hex(val,8);
	   szy = get4Hex(val,12);
	   fontx = get4Hex(val,20);
	   fonty = get4Hex(val,24);
	   vert = get2Hex(val,38);
	   layer = get2Hex(val,40);
	   rot = get2Hex(val,42);
	   tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	   tstr = tstr + make4Hex(szx) + make4Hex(szy);   //
	   tstr = tstr + make4Hex(fontx) + make4Hex(fonty);
	   tstr = tstr + make2Hex(align) + make2Hex(wsp); 
	   tstr = tstr + make2Hex(csp) + make2Hex(out); 
	   tstr = tstr + make2Hex(fontface) + GetColorHexString(fontcolor);
	   tstr = tstr + make2Hex(vert) + make2Hex(rot) + make2Hex(layer);
	   return tstr;
   }

   function getTextParmSave(val) {
       var tstr;
	   var stx,sty,szx,szy;
	   var fontx,fonty;
       var fontface,fontcolor;
	   var align = get2Hex(val,28);
	   var wsp = get2Hex(val,30);
	   var csp = get2Hex(val,32);
	   var out = get2Hex(val,34);
	   var leading = get2Hex(val,36);
	   var vert = 0;
	   var rot = 0;
	   var layer = 0;
	   fontface = get2Hex(val,16);
	   fontcolor = get2Hex(val,18);
	   stx = get4Hex(val,0);
	   sty = get4Hex(val,4);
	   szx = get4Hex(val,8);
	   szy = get4Hex(val,12);
	   fontx = get4Hex(val,20);
	   fonty = get4Hex(val,24);
	   vert = get2Hex(val,38);
	   layer = get2Hex(val,40);
	   rot = get2Hex(val,42);
	   tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	   tstr = tstr + make4Hex(szx) + make4Hex(szy);   //
	   tstr = tstr + make2Hex(fontface) + make2Hex(fontcolor);
	   tstr = tstr + make4Hex(fontx) + make4Hex(fonty);
	   tstr = tstr + make2Hex(align) + make2Hex(wsp); 
	   tstr = tstr + make2Hex(csp) + make2Hex(out); 
	   tstr = tstr + make2Hex(leading);
	   tstr = tstr + make2Hex(vert) + make2Hex(layer) + make2Hex(rot);
	   return tstr;
   }

   // framex,y,framexsize,ysize,fontx,y 4 each, align,word space,char space outline, 2 each
	        // 2 byte (guguri,shad-body,out,man-body,out),2 byte(path),2 byte(x dif), 2 byte(y dif)
	        // 2 byte (path degree),6 byte(color),6 byte(color),6 byte(color),6 byte(color),6 (color)
	        // *** outline (1 / 72 is unit)
	        // *** dif (128 char size, if greater than 128, minus value)
			// *** path degree (128 bit-along path, 45 * number)
	        // path (0-xline,1-yline,2-upper left, diag,3-upperright diag,4-upper circle5-down circle
 
   // calendar
   // style,start,days=2 bytes, stx,sty,sizex,sizey=4 bytes, scol,satcol,regcol=6 bytes     
   function getCalendarParm(val,order) {
       var tstr,style,start,days,red,green,blue,font;
	   var stx,sty,szx,szy;
	   tstr = "";
	   stx = get4Hex(val,0);
	   sty = get4Hex(val,4);
	   szx = get4Hex(val,8);
	   szy = get4Hex(val,12);
	   font = get2Hex(val,16);
	   style = get2Hex(val,28);
	   start = getCalendarStart(order);
	   days = getCalendarDays(order);
	   red = get2Hex(val,30);
	   green = get2Hex(val,32);
	   blue = get2Hex(val,34);
	   tstr = tstr + make2Hex(style) + make2Hex(start) + make2Hex(days);   //
	   tstr = tstr + make4Hex(stx) + make4Hex(sty);   //
	   tstr = tstr + make4Hex(szx) + make4Hex(szy);   //
	   tstr = tstr + make2Hex(red) + make2Hex(green) + make2Hex(blue);
	   red = get2Hex(val,36);
	   green = get2Hex(val,38);
	   blue = get2Hex(val,40);
	   tstr = tstr + make2Hex(red) + make2Hex(green) + make2Hex(blue);
	   red = get2Hex(val,42);
	   green = get2Hex(val,44);
	   blue = get2Hex(val,46);
	   tstr = tstr + make2Hex(red) + make2Hex(green) + make2Hex(blue);

	   tstr = tstr + make2Hex(font);

 	   return tstr;
   }

   var navigationVal = 0;    // if = 0, explorer
   var acrobarInstalled = 0;   // if 1, installed

   function checkPlugIns() {
      var i,i1;
	  var tot = navigator.plugins.length;
	  for(i1=0;i1<tot;i1++) {
	     // alert(navigator.plugins[i1].name);
	  }
   }
   

   	     //top.glTextParm[0] = top.put2Hex(top.companyXY,1,10);  
		 //redraw_showFrame();
		 //parent.carddgPara.document.carddgParms.companyXY.value = top.companyXY;
	     // parent.carddgShow.location = parent.carddgShow.location;
		 // str1 = parent.carddgPara.document.carddgParms.company.value;
		 //str1 = "123456789";
	     //var str2 = str1.substring(0,3);
	     // will be "123"
	     //str2 = str1.substring(1,4);
	     //var f = 12.345;
	     //var f = 0.345;
	     //var k = parseInt(f);
	     // parent.carddgPara.document.carddgParms.company.value = glTextStr[0];
	     // parent.carddgPara.document.carddgParms.companyXY.value = companyXY;
     
		if(navigator.appName.charAt(0) == "N") {
		   navigationVal = 1;
		}
		else {
		   navigationVal = 0;
		}
        checkPlugIns();
		initCardDesign();

   // XY =  bytes
   //     TEXT : 0000-x,0000-y,0000-xsize,0000-ysize,00-font face,00-font color,  // 20
   //        0000-font xsize,0000-font ysize  // 8
   //	     00-align,00-wsp,00-csp,00-out,00-leading, 00-others  // 12
   //     dec text(00-align,00-wsp,00-csp,00-out,00-which,00-path,00-degree,00-xdif,00-ydif,00-col1,col2,col3,col4,col5
   //     IMAGE,LINES : 0000-x,0000-y,0000-xsize,0000-ysize,00-which(image-1,hor-2,ver-3),00-graphic class, // 20
   //       ****     Old(00-width,00-color,00-flag,0000-img number) ****
   //         0000-img number,0000-img category,  // 8
   //         00-width,00-color,00-image shape,00,00,00-reserved  // 12
   //     CALENDAR : 0000-x,0000-y,0000-xsize,0000-ysize,00-font face,00-font color,0000-font xsize,0000-font ysize
   //         00-style(0-reg,1-wide hor,2-wide ver),000000-rgb sunday,000000-rgb sat,000000-rgb regular
   //     
   //     Design MDB
   //       (indicate 0) stx,sty,szx,szy,fontface,fontcolor,fontx,fonty,align,wsp,csp,out  (last ,)
   //         
   //         
   //       (indicate 1) fromtop(1-from bottom,2-divide),linecnt,linespace (last ,)
   //                     divide=2,dividecnt,(start*100+size),(last,)
   //       (indicate 2) string text   ex)2,This is sample.    (last blank)
   //       (indicate 3) decwhich,path,degree,xdif,ydif,col1,col2,col3,col4,col5  (last ,)
   //                    ex) 3,8,8,1,10,10,2,3,4,5,6,
   //       (indicate 4) dividex,sx + 1000, szx + 2000
   //                    ex) 4,2,1003,2004,   (last ,) 
   //       (indicate 5) insert text, order (first line 0) (last blank)
   //                    ex) 5,0   (first line)
   //       (indicate 6) insert image (last blank)
   //                    ex) 6,1     (second image)
   //       (indicate 7) insert line graphic (last blank)
   //                    ex) 7,0
   //       (indicate 8) insert dec text (last blank)
   //                    ex) 8,0
   //       (indicate 9) insert mul text (last blank)
   //                    ex) 9,0
   //       (indicate 10) insert calendar text (last blank)
   //                    ex) A,0
   //       (indicate 11) insert image category
   //                    ex) B,DOGH
   //       (indicate 12) Dummy
   //                    ex) C,0
//-->
