﻿/*
What it does:  This file is intended to be used for property id wizard only.
               It is conditionally included on the wizard page.
               This file will help us keep minimum functions within the wizard.asp page.

Referred by:   wizarda.asp
*/

function numbersOnly(numberfield) {
var checkOK = "0123456789";
var checkStr, i, j, ch;
var ValidNum = true;
var allNum = "";

	checkStr = numberfield.value;
  	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
    	if (j == checkOK.length){
      		ValidNum = false;
      		break;
    	}
    	allNum += ch;
  	}
  	if (!ValidNum) {
   		alert("Please enter numbers only in starting# field.\nYou can enter alphanumeric values in prefix or suffix fields by clicking on Advanced.");
   		numberfield.focus();
		numberfield.select();
   		return false;
	}
}

function roundNumber(ynum, ydec) {
	var xstr = "1";
	var xnum, xinter;
	for (k=0;k<ydec;k++) {
		xstr = xstr + "0";
	}
	xnum = parseFloat(xstr);
	xinter = Math.round(ynum*xnum);
	return (xinter/xnum);
}

function make_blank(val){
	return
}

/*		195		165	twips per char	
		435		585	strtstop charwidth
Digits	Code39	Code128
1		0630	0750
2		0825	0915
3		1020	1080	
4		1215	1245
5		1410	1410
6		1605	1575
7		1800	1740
8		1995	1905
9		2190	2070
10		2385	2235
*/

function check_valid_percent(obj, val) {
    if (val == "") {
        obj.value = "0";
    } else if (isNaN(val)) {
        bc_ShowMsgInvalidPercent(obj);
    }else {
       if ((parseFloat(val) < 0) || (parseFloat(val) > 100)) {
            bc_ShowMsgInvalidPercent(obj);
        }
    }
}

function bc_ShowMsgInvalidPercent(obj){
    alert("Please enter a valid percentage between 0 to 100 !");
    obj.focus();
    obj.select();
}

function numbersonly(myfield, e)
{
    var key;
    var keychar;

    if (window.event)
       key = window.event.keyCode;
    else if (e)
       key = e.which;
    else
       return true;

    keychar = String.fromCharCode(key);
    if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
       return true;
    else if ((("0123456789").indexOf(keychar) > -1))
       return true;
    else
       return false;
}

function change_group_text(grp, textval){
var iscodabar
iscodabar=false
	
	for(var k=1; k < num_divs; k++){
		if((div_contents[k] == 'label') || (div_contents[k] == 'plabel')){
			if(div_fields[k] && div_group[k] != grp) //Skip the group container here
			{
				if(belongtosamegroup(div_group[k],grp) == true)	{
					if (div_prompt[k].toUpperCase() == 'BARCODE'){
						if (div_font[k].toLowerCase()=='codabarlarge'){
							iscodabar=true
							div_text[k] = textval.split('*').join('')	//.split('A').join('').split('B').join('').split('C').join('').split('D').join('').split('E').join('').split('F').join('')
						}else{
							div_text[k] = '*' + textval + '*';
						}
					}else{
						div_text[k] = textval;
						if (iscodabar){
							div_text[k] = textval.split('*').join('').split('A').join('').split('B').join('').split('C').join('').split('D').join('').split('E').join('').split('F').join('')
						}
					}
				}
			}
		}
	}
}

function change_color(pcolor, bkcolor, bkclrrgb, twocolortext){
    // 19042010 vj
    //alert("Abhay")
	if (xcatgid==127 || xcatgid==117){

		var t_size = 'D'
		if ((xcatgid==117) || (xcatgid==127 && xsubcatgid.toLowerCase()=='plioguard')) 
		{
			if (currobj.templateH.value*currobj.templateW.value == 0.75*1.5){
				t_size='A'
			}
			if (currobj.templateH.value*currobj.templateW.value == 0.75*2){
				t_size='B'
			}
			if (currobj.templateH.value*currobj.templateW.value == 1.25*2){
				t_size='C'
			}
	
			backgroundimage = "/xp2/clipart/"  + "prop" + bkcolor + t_size + ".jpg";	
			//Flash_Update_BackImage(backgroundimage);
		} 
		else if(xcatgid==127 && xsubcatgid.toLowerCase()=='bikeguard')
		{
			if (currobj.templateH.value*currobj.templateW.value == 1*1.5){
				t_size='A'
			}
			if (currobj.templateH.value*currobj.templateW.value == 1.25*2){
				t_size='B'
			}
			if (currobj.templateH.value*currobj.templateW.value == 1.5*3){
				t_size='C'
			}
	
			backgroundimage = "/xp2/clipart/"  + "bike" + bkcolor + t_size + ".jpg";	
			//Flash_Update_BackImage(backgroundimage);
		}
	}
	else
	// 19042010 vj
	{
	    var tlength = bkcolor.length + 5
	    var fileext=""
    	if (backgroundimage.length > 0) {
    	    fileext=backgroundimage.substring(backgroundimage.length-4, backgroundimage.length)
	        backgroundimage = backgroundimage.substring(0, backgroundimage.length-tlength)+'_'+bkcolor+fileext	//+'.gif'
	    }
	    //alert(backgroundimage)
        //Flash_Update_BackImage(backgroundimage);
    }
    
    if (xcatgid == 101 && xsubcatgid.toLowerCase()=='rssheets') {
        var xchanged = false
	    for (var k=1; k < num_divs; k++) {
		    if (div_contents[k]) {
			    if (div_contents[k].indexOf("image") >= 0) {
				    if (div_fields[k].toUpperCase() == 'OUTERIMAGE') {
                        var tlength = bkcolor.length + 5
	                    var fileext=div_text[k].substring(div_text[k].length-4, div_text[k].length)
	                    div_text[k] = div_text[k].substring(0, div_text[k].length-tlength)+'_'+bkcolor+fileext	//+'.gif'

					    placelogo_template(k, "none", div_text[k], 1)
					    xchanged = true
					    //break;
				    }
			    }
		    }
	    }
    }
    else {
		currobj.hcolorno3.value = pcolor;	
		currobj.hcolorno0.value = bkclrrgb
		//fill_color_RGB = bkclrrgb

    	if (typeof(twocolortext)!="undefined"){
			if (twocolortext=='1'){
				if (pcolor=="000000" && bkclrrgb=='f7d417'){
					currobj.hcolorno3.value = bkclrrgb;	
					currobj.hcolorno2.value = pcolor
					currobj.hcolorno0.value = bkclrrgb
				}else{
					currobj.hcolorno3.value = pcolor;	
					currobj.hcolorno2.value = bkclrrgb
					currobj.hcolorno0.value = bkclrrgb
				}
				fill_color_RGB = bkclrrgb
			}
		}
		fill_color_RGB = bkclrrgb
    }


	if (xcatgid==127){
		if (pcolor==bkclrrgb){
			currobj.hcolorno2.value = "FFFFFF";		//092209
		}else{
			currobj.hcolorno2.value = bkclrrgb;		//092209
		}
	}
	
	
    for(var i=1; i<num_divs; i++) {
	    if (div_color[i] == '3' || div_color[i] == '2' || div_color[i] == '0') {
		    div_color_hex[i] = "#"+	currobj["hcolorno"+div_color[i]].value

	    }
    }

    Flash_UpdateFlashObjects();
    
    j=getobjectno("LOGO")
    if(j != -1){
	    if (div_text[j].toLowerCase()!='addimage.gif'){
		    convert_logo_color(j, div_text[j], 0, false)
	    }
    }

    j=getobjectno("LOGOIMAGE")
    if(j != -1){
	    if (div_text[j].toLowerCase()!='addimage.gif'){
		    convert_logo_color(j, div_text[j], 0, false)
	    }
    }
	//alert('vipin')

}

function AssetTag_start(){
var barcodeindex

	if (document.preview.mnumsection) {	//barcode labels
		adjustNumbering()

	}else{

		if (document.preview.numbering_type) {
			var isseqnum=false
			if (document.preview.numbering_type.length>0){
				for (var i=0; i<document.preview.numbering_type.length;i++){
					if (document.preview.numbering_type[i].value=="1"){	//1-->Use Consecutive Number/Barcode below
						isseqnum=true
						break;
					}	
				}
			}else{
				if (document.preview.numbering_type.value=="1"){
					isseqnum=true
				}			
			}

			//xxxxxxxxxbarcodeindex = document.preview.numbering_type.length-1
			//xxxxxxxxxif (document.preview.numbering_type[barcodeindex].checked){
			if (isseqnum){
				if (document.preview.numbering_font){
					if (typeof(xDesignId)!="undefined"){
						if (xDesignId.indexOf('BC') >= 0)  {
							document.preview.numbering_font[1].selected = true
						}
					}
					changeSel(document.preview.numbering_font.options[document.preview.numbering_font.selectedIndex].value)
					change_numbering();
				}else{
					//Library bracodes
					var yindex=getobjectno('NUMBERING2')
					if (yindex!=-1){

						var num=div_text[yindex].split('*').join('')
						if (num.substring(0,1)==2){
							document.preview.lib_codepartA[0].selected = true
						}else if (num.substring(0,1)==3){
							document.preview.lib_codepartA[1].selected = true
						}else if (num.substring(0,1)==4){
							document.preview.lib_codepartA[2].selected = true
						}
							
						document.preview.lib_codepartB.value = num.substring(1,5)
						document.preview.lib_codepartCbegining.value = num.substring(5,13)

					}
				}
			}
		}
		
	}
}

function rewrite_group(ygrpid, ysizeflag, yshflag, ifnum, nowrapping) {
    //
}

function showHideLayers(divname,vis) {
    // example: showHideLayers('divname')
	xobj = document.all[divname].style;
	if (vis=='show') {
		xobj.visibility='visible';
		xobj.display='block';
	} else if (vis=='hide') {
		xobj.visibility='hidden';
		xobj.display='none';
	} else {
		if (xobj.visibility=='visible') {
			xobj.visibility='hidden';
			xobj.display='none';
		}
		else {
			xobj.visibility='visible';
			xobj.display='block';
		}
	}
}

function showHideLayersLib(divname,vis) {
// example: showHideLayers('divname')

	if (document.all[divname]){
		xobj = document.all[divname].style;
		if (vis=='show') {
			xobj.visibility='visible';
			xobj.display='block';
		} else if (vis=='hide') {
			xobj.visibility='hidden';
			xobj.display='none';
		} else {
			if (xobj.visibility=='visible') {
				xobj.visibility='hidden';
				xobj.display='none';
			}
			else {
				xobj.visibility='visible';
				xobj.display='block';
			}
		}
	}
}

function showLibNumber(){
//lib_barcode	dd-->codabarlarge, Code39OneRedA
//lib_codepartA	dd-->2,3,4
//lib_codepartB, lib_codepartCbegining, lib_codepartCending
//lib_codepartD	dd-->0,10,43

var val

	//update barcode font on template
	//Show barcode

	val = currobj.lib_barcode.options[currobj.lib_barcode.selectedIndex].value
	for(var k=1; k < num_divs; k++)	{
		if(div_fields[k]){
			div_hidden[k] = false;
			FlashShowHideObject(k);
			if(div_prompt[k] == 'BARCODE'){
				if (val.toUpperCase() == "CODE39ONEREDA"){
					div_font[k] = "Code39OneRedA"
				}
				else if (val.toUpperCase() == "SSCode39"){
					div_font[k] = "SSCode39"
				}
				else if (val.toUpperCase() == "SSCode39-75"){
					div_font[k] = "SSCode39-75"
				}
				else if (val.toUpperCase() == "SSCode39-50"){
					div_font[k] = "SSCode39-50"
				}				
				else if (val.toUpperCase() == "CODABARLARGE"){
					div_font[k] = "codabarlarge"
				}
				document.preview.barcodefont.value = div_font[k];
			}
		}
		if(div_contents[k] == 'prectangle'){				
			//xdom = getRS(zz_bgnestref, zz_document, zz_all, joinParam(zz_div, k), zz_style)
			//showtheobject(xdom);
			div_hidden[k] = true;
            FlashShowHideObject(k);
		}
	}
	
	var grpindex
	
	grpindex=getobjectno('GROUPNUMBERING')
	//writeLabel(grpindex)

	grpindex=getobjectno('GROUPBARCODE')
	if (grpindex!=-1){
		//writeLabel(grpindex)
	}

    var maxNumsallowed, finalNum;


	var yindex=getobjectno('GROUPNUMBERING')
	
	//maxNumsallowed=6

	//Allow upto 3 character prefix or suffix

	finalNum = '';
	finalNum = finalNum + currobj.lib_codepartA.options[currobj.lib_codepartA.selectedIndex].value;
	finalNum = finalNum + currobj.lib_codepartB.value + currobj.lib_codepartCbegining.value;

	if (currobj.lib_codepartD.options[currobj.lib_codepartD.selectedIndex].value==0){
		//do not add check digit
		//finalNum = finalNum + '0'	//check digit auto generated
	}else{
		// generate check digit based on mod 10 or mod 43
		finalNum = finalNum + '0'	//check digit auto generated
	}

	if (currobj.lib_barcode.options[currobj.lib_barcode.selectedIndex].value.toLowerCase()=='codabarlarge'){
		//start stop for codabarlarge only
		finalNum = 'A'+finalNum + 'A'	//check digit auto generated
	}


//	finalNum = finalNum + '4'	//check digit auto generated
//	finalNum = 'A'+finalNum + 'A'	//check digit auto generated
//	A 3 3191 00010 5864 A
//	if (finalNum.length > maxNumsallowed){
//		alert('Total length of the prefix, digits and suffix should not exceed '+maxNumsallowed)
//	}

	var grpindex
		
	grpindex=getobjectno('GROUPNUMBERING')
	change_group_text(div_group[grpindex],finalNum)
	Change_GroupNumbering(grpindex)

	grpindex=getobjectno('GROUPNUMBERING2')
	if (grpindex!=-1){
		change_group_text(div_group[grpindex],finalNum)
		Change_GroupNumbering(grpindex)
	}

	var yindex
	yindex=getobjectno('NUMCOPY1')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}

	var yindex
	yindex=getobjectno('NUMCOPY2')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}

	var yindex
	yindex=getobjectno('NUMCOPY3')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}

    /*
	grpindex=getobjectno('GROUPBARCODE')
	if (grpindex!=-1){
		change_group_text(div_group[grpindex],finalNum)
		writeLabel(grpindex)
	}

	var yindex
	yindex=getobjectno('NUMCOPY1')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}
	yindex=getobjectno('NUMCOPY2')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}
	yindex=getobjectno('NUMCOPY3')
	if (yindex!=-1){
		changeText(finalNum, yindex)
	}
*/

	grpindex=getobjectno('GROUPNUMBERING')
	if (grpindex==-1){
		grpindex=getobjectno('GROUPBARCODE')
	}
	if ( grpindex!=-1){
		//set varname varvalues for barcode object
		for(var k=1; k < num_divs; k++){
			if((div_contents[k] == 'label') || (div_contents[k] == 'plabel')){
				if(div_fields[k] && div_group[k] != div_group[grpindex]) {
					if(belongtosamegroup(div_group[k], div_group[grpindex]) == true)	{
						if (div_font[k].toLowerCase().indexOf('code39') >= 0  || div_font[k].toLowerCase() == 'codabarlarge') {
							var x_varnames, x_varvalues
	    
							x_varnames=''
							x_varvalues=''

							x_varnames = x_varnames + "bcType;"
							if (div_font[k].toLowerCase().indexOf('code39')>=0) {
								x_varvalues = x_varvalues + "CODE-39;"
							}else if (div_font[k].toLowerCase().indexOf('codebar2')>=0) {
								x_varvalues = x_varvalues + "CODEBAR-2;"
							}

							x_varnames = x_varnames + "libcodepartA;"
							x_varvalues = x_varvalues + document.getElementById("lib_codepartA").value + ";"

							x_varnames = x_varnames + "libcodepartB;"
							x_varvalues = x_varvalues + document.getElementById("lib_codepartB").value + ";"

							x_varnames = x_varnames + "lib_codepartCbegining;"
							x_varvalues = x_varvalues + document.getElementById("lib_codepartCbegining").value + ";"

							if (document.getElementById("lib_codepartCending")){
								x_varnames = x_varnames + "lib_codepartCending;"
								x_varvalues = x_varvalues + document.getElementById("lib_codepartCending").value + ";"
							}
							
							x_varnames = x_varnames + "lib_codepartD;"
							x_varvalues = x_varvalues + document.getElementById("lib_codepartD").value + ";"
							
							div_varnames[k] = x_varnames
							div_varvalues[k] = x_varvalues
			//alert(x_varnames+'\n'+x_varvalues)
						}
					}
				}
			}
		}
	}
	//set varname varvalues for barcode object
}

//changebackground=1 if background color is to be changed.
function changeLibTagColor(textRGB, backRGB, changebackground){
    var xdom;

	if (changebackground=='1'){
		fill_color_RGB = backRGB
		currobj.hcolorno0.value = backRGB
	}else{
		currobj.hcolorno3.value = backRGB
	}

	currobj.hcolorno2.value = textRGB
	//currobj.hcolorname2.value = iColorName

	for(var i=1; i<num_divs; i++) {
		if (div_color[i] == '2' || div_color[i] == '3') {
			div_color_hex[i] = "#"+	currobj["hcolorno"+div_color[i]].value
		}

		if (div_bgcolor[i] == '2' || div_bgcolor[i] == '3') {
			div_bgcolor_hex[i]= "#"+ currobj["hcolorno"+div_bgcolor[i]].value
		}
		
	}

    Flash_UpdateFlashObjects()

}

//************For barcode labels(BCNumberingSection) & AssetTags (Numbering3Section)**************
function adjustNumbering(){
    var obj = document.preview;
    var maxNumsallowed, finalNum;
    var code39MinW=435+15, code39Twipsperchar=195
    var code128MinW=585+15, code128Twipsperchar=165


	var yindex=getobjectno('GROUPNUMBERING')
	
	if (yindex!=-1){
		var barcodeAreaW=(div_w[yindex]*2*scaling_x)/xcurrzoomper
		var ndigits39 = roundNumber( (barcodeAreaW-code39MinW) /code39Twipsperchar, 0)
		var ndigits128 = roundNumber( (barcodeAreaW-code128MinW)/code128Twipsperchar, 0)

		//window.status=barcodeAreaW+'   '+ndigits39 + '  '+ndigits128

		if (obj.numbering_font.value=='number'){       //Number
			maxNumsallowed=8
		}else if (obj.numbering_font.value=='code39'){ //Barcode 3 of 9
			maxNumsallowed=ndigits39+2+2	//add 2 extra chars 011910
		}else if (obj.numbering_font.value=='code128'){ //Barcode128
			maxNumsallowed=ndigits128+2+2	//add 2 extra chars 011910
		}
	}

	//Allow upto 3 character prefix or suffix
	obj.numbering_prefix.maxLength = 3
	obj.numbering_suffix.maxLength = 3

	if (obj.numbering_numdigits.value > maxNumsallowed){
		obj.numbering_numdigits.value = maxNumsallowed;
		obj.numbering_start.maxLength = maxNumsallowed;
		alert('The maximum number of digits can be '+maxNumsallowed+' for starting #')
	}else{
		obj.numbering_start.maxLength = obj.numbering_numdigits.value;
		obj.numbering_start.value = obj.numbering_start.value.substring(0, obj.numbering_numdigits.value)
	}

	padding = 1;
	if (obj.numbering_padding[0].checked ==true){
		padding = 0;
	}
	finalNum = makefinalNumber()
	//IST-14052010-VJ
	//finalNum = document.preview.numbering_prefix.value + finalNum + document.preview.numbering_suffix.value;
	grpindex=getobjectno('SUFFIX1')		//colored barcode labels LB-3327, LB-3328
	if (grpindex!=-1){
		finalNum = document.preview.numbering_prefix.value + makefinalNumber() + div_text[grpindex];
	}
	
	if (finalNum.length > maxNumsallowed){
		alert('Total length of the prefix, digits and suffix should not exceed '+maxNumsallowed)
		obj.numbering_start.value = obj.numbering_start.value.substring(0, obj.numbering_numdigits.value)
		finalNum = makefinalNumber()
	}


    var val

	if (document.preview.numbering_type.length>0){
		for (var i=0; i<document.preview.numbering_type.length;i++){
			if (document.preview.numbering_type[i].checked){
				val=document.preview.numbering_type[i].value
				break;
			}
		}
	}

	if (val=='none'){
		//hidetheobject(GetElement('numbering').style);change_num_type(2);
		showHideLayersLib('numbering','hide');
	}else if (val=='custom'){
		//showtheobject(GetElement('numbering').style);change_num_type(4);
		showHideLayersLib('numbering','hide');
	}else if (val=='identical'){
		//showtheobject(GetElement('numbering').style);change_num_type(5);
		showHideLayersLib('numbering','show');
	}else if (val=='sequential'){
		//showtheobject(GetElement('numbering').style);change_num_type(1);
		showHideLayersLib('numbering','show');
	}
	
    var InvalidChars = false;
	if (val == 'sequential' || val == 'custom' || val == 'identical'){
		var numfont=document.preview.numbering_font.options[document.preview.numbering_font.selectedIndex].value
		//hides and shows fullnum/Barcode text

		if(numfont == 'number'){			//Show full no
			for(var k=1; k < num_divs; k++)	{
				if(div_fields[k]){
					//don't convert to ucase before compare
					//IST-14052010-VJ - if added
					if((div_prompt[k]== 'BARCODE') || (div_prompt[k] == 'HMREADNO') || (div_prompt[k].substring(0,6) == 'FULLNO')){
					    if((div_prompt[k]== 'BARCODE') || (div_prompt[k] == 'HMREADNO')){
						    div_hidden[k] = true;
						    //vj 09042010
						    FlashShowHideObject(k);
					    }else{
						    div_hidden[k] = false;
						    //vj 09042010
						    FlashShowHideObject(k);
					    }
                    }
				}
				//if(div_contents[k] == 'prectangle'){
				//	xdom = getRS(zz_bgnestref, zz_document, zz_all, joinParam(zz_div, k), zz_style)
				//	showtheobject(xdom);
				//}
			}
		}else{			//Show barcode
			for(var k=1; k < num_divs; k++)	{
				if(div_fields[k]){
				    //IST-14052010-VJ - if added
				    if((div_prompt[k]== 'BARCODE') || (div_prompt[k] == 'HMREADNO') || (div_prompt[k].substring(0,6) == 'FULLNO')){
					    if(div_prompt[k].substring(0,6) == 'FULLNO'){
						    div_hidden[k] = true;
						    //vj 09042010
						    FlashShowHideObject(k);
					    }else{
						    div_hidden[k] = false;
						    //vj 09042010
						    FlashShowHideObject(k);
						    if(div_prompt[k] == 'BARCODE'){
							    if (numfont == 'code39'){
								    div_font[k] = code39fontname  //"Code39OneRedA"
							    }else if (numfont == 'code128'){
								    div_font[k] = "Code128RedA"
							    }else if (numfont == 'codabar'){
								    div_font[k] = "codabarlarge"
							    }
							    document.preview.barcodefont.value = div_font[k];
							    if (CheckForInvalidBarCodeCharacters(k, finalNum)) {
							        InvalidChars = true
							    }
						    }
                        }
                        
					}
				}
				//if(div_contents[k] == 'prectangle'){				
				//	xdom = getRS(zz_bgnestref, zz_document, zz_all, joinParam(zz_div, k), zz_style)
				//	showtheobject(xdom);
				//}
			}
		}
	}else if(val == 'none'){
		for(var k=1; k < num_divs; k++){
			if(div_fields[k]){
				if((div_prompt[k] == 'FULLNO') || (div_prompt[k] == 'BARCODE') || (div_prompt[k] == 'HMREADNO'))
					div_hidden[k] = true;
					//vj 09042010
					FlashShowHideObject(k);
			}
			//if(div_contents[k] == 'prectangle')	{
			//	xdom = getRS(zz_bgnestref, zz_document, zz_all, joinParam(zz_div, k), zz_style)
			//	showtheobject(xdom);
			//}
		}
	}

	if (!InvalidChars) {
	    var grpindex
    		
	    grpindex=getobjectno('GROUPNUMBERING')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }

	    grpindex=getobjectno('GROUPNUMBERING2')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }
	    grpindex=getobjectno('GROUPNUMBERING3')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }
	    grpindex=getobjectno('GROUPNUMBERING4')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }

	    grpindex=getobjectno('GROUPBARCODE')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }

	    grpindex=getobjectno('GROUPCOPY1')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }
	    grpindex=getobjectno('GROUPCOPY2')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }
	    grpindex=getobjectno('GROUPCOPY3')
	    if (grpindex!=-1){
		    change_group_text(div_group[grpindex],finalNum)
		    Change_GroupNumbering(grpindex)
	    }

	    obj.numbering_final.value = finalNum;

	    var yindex
	    yindex=getobjectno('NUMCOPY1')
	    if (yindex!=-1){
		    changeText(finalNum, yindex)
	    }
	    yindex=getobjectno('NUMCOPY2')
	    if (yindex!=-1){
		    changeText(finalNum, yindex)
	    }
	    yindex=getobjectno('NUMCOPY3')
	    if (yindex!=-1){
		    changeText(finalNum, yindex)
	    }

	    //grpindex=getobjectno('GROUPNUMBERING')
	    //if (grpindex==-1){
	    //	grpindex=getobjectno('GROUPBARCODE')
	    //}
	}

}

//vj - new function write to change group numbering
function Change_GroupNumbering(yindex){		
	var grpnonum = 0;
    grpnonum = yindex;
	if(grpnonum != 0) {
		for (var i=grpnonum+1;i<=grpnonum+GetGroupLength(grpnonum);i++) {
			var fontname = div_font[i];
			var font_Size = Number(div_size[i]) * getzoomper() * Getfontmultiplier(div_font[i])
			var fontindex = GetFontIndex(i)
			if(div_hidden[i] == false || div_hidden[i] == "false") {
		        flash_sign.Update_FlashNumbering(div_text,i,font_Size,fontindex);
            }
		}
		endLen = grpnonum+GetGroupLength(grpnonum)+1;
		flash_sign.Adjust_Group_Align(grpnonum,endLen)	
	}
}

function CheckForInvalidBarCodeCharacters(yindex, ytext) {
    var xfont = div_font[yindex].toLowerCase()
    var xtext = ytext.split('*').join('')
    var xretval = false
    var xinvalidchars = ""
    //alert(xtext + " ... " + xfont)
    //alert(code39set)
    //alert(code128set)
    
    if (xfont.indexOf('code39') >= 0) {
        for (var t=0; t<xtext.length; t++) {
            //alert(xtext.substring(t, t+1))
            if (code39set.indexOf(xtext.substring(t, t+1)) < 0) {
                xinvalidchars = xinvalidchars + xtext.substring(t, t+1) + '\n'
                xretval = true
            }
        }
        if (xinvalidchars.length > 0) {
            alert("Following are invalid charcters for Barcode 3 of 9 symbology:\n" + xinvalidchars + "\nPlease remove these from the barcode text. Please note that lower case characters are not valid for barcode 3 of 9. Change the lower case characters to upper case ones.\n\nHere is a list of valid charcters:\n" + code39set)
        }
        return xretval;
    }
    else if (xfont.indexOf('code128') >= 0) {
        for (var t=0; t<xtext.length; t++) {
            //alert(xtext.substring(t, t+1))
            if (code128set.indexOf(xtext.substring(t, t+1)) < 0) {
                xinvalidchars = xinvalidchars + xtext.substring(t, t+1) + '\n'
                xretval = true
            }
        }
        if (xinvalidchars.length > 0) {
            alert("Following are invalid charcters for Barcode 128 symbology:\n" + xinvalidchars + "\nPlease remove these from the barcode text.\n\nHere is a list of valid charcters:\n" + code128set)
        }
        return xretval;
    }
    else {
        return false;
    }
}

function makefinalNumber(){
var padding, num, finalNum

	padding = 1;
	if (document.preview.numbering_padding[0].checked ==true){
		padding = 0;
	}
	
	num = document.preview.numbering_start.value;
	if (padding == 0) {
		var str = new String();
		for(var j =1; j<= (document.preview.numbering_numdigits.value - document.preview.numbering_start.value.length); j++)	{
			str = str + '0';
		}
		num = str + document.preview.numbering_start.value;
	}
	finalNum = document.preview.numbering_prefix.value + num + document.preview.numbering_suffix.value;
	return finalNum
}

//--------for 2D barcode numbering
function set2Dnumbering(){
var padding, num, finalNum, obj = document.preview;;

	padding = 1;
	if (obj.numbering_padding.checked){
		padding = 0;
	}

	obj.numbering_start.maxLength=obj.numbering_numdigits.value

	num = obj.numbering_start.value;
	if (padding == 0) {
		var str = new String();
		for(var j =1; j<= (obj.numbering_numdigits.value - obj.numbering_start.value.length); j++)	{
			str = str + '0';
		}
		num = str + obj.numbering_start.value;
	}

	finalNum = obj.numbering_prefix.value + num + obj.numbering_suffix.value;
	
	var yindex=getobjectno(flag_TwoDBarcodeField)
	if (yindex!=-1){
		div_text[yindex]=finalNum
		changeText(finalNum, yindex)
	}

	var tindex=getobjectno('NUMCOPY1')
	if (tindex!=-1){
		div_text[tindex]=finalNum
		changeText(finalNum, tindex)
	}
	var tindex=getobjectno('2DBARCODE')
	if (yindex == tindex){
		copydatatofield(tindex)
	}
}

function copydatatofield(tindex){
var yindex
	yindex=-1
	yindex=getobjectno('DATAMATRIX')
	if (yindex != -1){
		div_text[yindex] = div_text[tindex]
		div_font[yindex] = div_font[tindex]
		div_size[yindex] = div_size[tindex]
		div_style[yindex] =div_style[tindex]
		div_color[yindex] = div_color[tindex]
		div_align[yindex] = div_align[tindex]
		div_leading[yindex] = div_leading[tindex]
		div_color_hex[yindex] = div_color_hex[tindex]
		div_valign[yindex] = div_valign[tindex]
		changeText(div_text[yindex], yindex)
	}
}
