//Common data & functions ---------------------------------------------------------------------------------------------
//
var fields = new Array('MACPS', 'PCPS', 'PCTT', 'OT', 'OTCom', 'OTStd', 'OTPro');

function count_type(field,type) {
    if (document.getElementById(field).checked == true) {
        ++count_tp[type];
    }
    else {
        --count_tp[type];
    }
    //alert(count_tp[type]);
    document.getElementById(type+'count').value = count_tp[type];
    //alert(document.getElementById(type+'count').value);
}
//
//---------------------------------------------------------------------------------------------------------------------
//Price calculator for CPS (ACME FONTS,ALIAS,ARCHIVE TYPE,CLUBTYPE,DARREN SCOTT,FATHOM,G-TYPE,HAMBURGERFONTS,HEINEMANN,
//IDENTIKAL CORPORATION,IMAGE DADDY,NORTHERN BLOCK,OGENTROOST,SHINN TYPE,UNDT,VIRUS)-----------------------------------
function price_calc_cps(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                prsum = chkvalues * PrCodes['CPS_'+usrmax];
								unitpr = chkone * PrCodes['CPS_'+usrmax];
								document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                //chkvalues=0;
                            }
                            break;
                        }
                    }
                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for Thinkdust---------------------------------------------------------------------------------------
function price_calc_THD(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                //document.getElementById(fields[z]+'ch'+id).value = chkone * PrCodes['THDUST_'+usrmax];
                                prsum = chkvalues * PrCodes['THDUST_'+usrmax];
                                unitpr = chkone * PrCodes['THDUST_'+usrmax];
                                document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                //chkvalues=0;
                            }
                            break;
                        }
                    }
                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for Cubo Fonts---------------------------------------------------------------------------------------
function price_calc_CUB(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;

    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                //document.getElementById(fields[z]+'ch'+id).value = chkone * PrCodes['THDUST_'+usrmax];
                                prsum = chkvalues * PrCodes['CUB_'+usrmax];
                                unitpr = chkone * PrCodes['CUB_'+usrmax];
                                document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                //chkvalues=0;
                            }
                            break;
                        }
                    }
                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        }
        else notchecked = 1;
    }
}
//Price calculator for URW++ and ProFonts---------------------------------------------------------------------------------------
function price_calc_urwpro(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;

    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    //alert(name);
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                //document.getElementById(fields[z]+'ch'+id).value = chkone * PrCodes['THDUST_'+usrmax];
                                prsum = chkvalues * PrCodes['URWPRO_'+usrmax];
                                unitpr = chkone * PrCodes['URWPRO_'+usrmax];
                                document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                //alert(PrCodes['ITF_'+usrmax]);
                                //chkvalues=0;
                            }
                            break;
                        }
                    }
                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for ITF---------------------------------------------------------------------------------------
function price_calc_itf(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    //alert(name);
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                //document.getElementById(fields[z]+'ch'+id).value = chkone * PrCodes['THDUST_'+usrmax];
                                prsum = chkvalues * PrCodes['ITF_'+usrmax];
                                unitpr = chkone * PrCodes['ITF_'+usrmax];
                                document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                //alert(PrCodes['ITF_'+usrmax]);
                                //chkvalues=0;
                            }
                            break;
                        }
                    }
                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for Porchez----------------------------------------------------------------------------------------
function price_calc_PTF(id, platform, vcd) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    var a = prdc.split('PTF');
                    
                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {                 
                                prsum = prsum -(-PrCodes['PTF_'+usrmax]);
                                unitpr = PrCodes['PTF_'+usrmax];
                                document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);								
                            }
                            break;
                        }
                    }

                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for Linotype----------------------------------------------------------------------------------------
function price_calc_LIN(id, platform, vcd) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('contactTable'+id).style.display = '';
        submit = 0;
    }
    else {
        if (document.getElementById('priceTable'+id).style.display == 'none') {
            document.getElementById('priceTable'+id).style.display = '';
            document.getElementById('contactTable'+id).style.display = 'none';
            submit = 1;
        }
        for (z = 0; z < fields.length; ++z) {
            if (document.getElementById(fields[z]+'ch'+id) !== null) {
                if (document.getElementById(fields[z]+'ch'+id).checked) {
                    notchecked = 0;
                    name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                    parts = name.split('_');
                    prdc = parts[1];
                    chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                    var chkone = document.getElementById(fields[z]+'ch'+id).value;

                    var a = prdc.split('LINWEB');
                    
                    for (i=0; i<MLD['max_users'].length; ++i) {
                        if (users <= MLD['max_users'][i]) {
                            usrmax = MLD['max_users'][i];
                            if (usrmax > 0) {
                                if (vcd == 1) {
                                    if (users > 5) {
                                        prsum = (chkvalues/5) * PrCodes['LINVCD_'+usrmax];
                                		unitpr = (chkone/5) * PrCodes['LINVCD_'+usrmax];
										//alert('1 '+unitpr);
                                		document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                    }
                                    else {
                                        prsum = chkvalues;
										//alert('2 '+unitpr);
                                		document.getElementById(fields[z]+'_'+id).value = chkone;
                                    }
                                    //alert(PrCodes['LINVCD_'+usrmax]);
                                    //alert(chkvalues);
                                }
                                else {                                    
                                    prsum = prsum -(-PrCodes[prdc+'_'+usrmax]);
                                	unitpr = PrCodes[prdc+'_'+usrmax];
									//alert('3 '+unitpr+' '+chkone);
                                	document.getElementById(fields[z]+'_'+id).value = unitpr.toFixed(2);
                                }
                            }
                            break;
                        }
                    }

                    prsum = prsum.toFixed(2);
                    document.getElementById('price'+id).value = prsum;
                    document.getElementById('uprice'+id).value = prsum;
                    document.getElementById('priceTable'+id).style.display = '';
                    //chkvalues = 0;
                }
            }
        }
        if (notchecked == 1) {
            document.getElementById('price'+id).value = '';
            document.getElementById('priceTable'+id).style.display = 'none';
        } 
        else notchecked = 1;
    }
}
//Price calculator for Font Bureau----------------------------------------------------------------------------------------
function price_calc_FON(id, field) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;    
    var isfbr = 1;
    var pr=0;

    if (field) count_type(field,'fb');
	var j = id;
    //for (var j=0; j<100; ++j) {
        if (document.getElementById('price'+j) != null) {
            users = document.getElementById('users'+j).value;                           
            notchecked = 1;
            for (z = 0; z < fields.length; ++z) {  
                if (document.getElementById(fields[z]+'ch'+j) !== null) {
                    if (document.getElementById(fields[z]+'ch'+j).checked) {
                        notchecked = 0;
                        var fbfonts = new Array(2,5,16,19,22,25,28,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,500);
                        //fbc = count_tp['fb'];
                        fbc = 1;
                        //fbc = document.getElementById('fbcount').value;

                        for (i=0; i<MLD['max_users'].length; ++i) {
                            if (users <= MLD['max_users'][i]) {
                                usrmax = MLD['max_users'][i];
                                if (usrmax > 0) {
                                    prm1 = PrCodes['FBRU_'+usrmax];
                                    //alert(prm1);
                                }
                                break;
                            }
                        }
                        for (i=0; i<fbfonts.length; ++i) {
                            if (fbc <= fbfonts[i]) {
                                fmax = fbfonts[i];
                                if (usrmax > 0) {
                                    //document.getElementById(fields[z]+'ch'+id).value = PrCodes['FBRF_'+fmax] * prm1;
                                    prm2 = PrCodes['FBRF_'+fmax];
                                	unitpr = prm1 * prm2;
	                               	document.getElementById(fields[z]+'_'+id).value = (prsum+pr+unitpr).toFixed(2);
                                    //alert(prsum+pr+unitpr);
                                }
                                break;
                            }
                        }
                        pr += prm1 * prm2;
                    }
                }
            }
            prsum += pr; pr=0;
            if (prsum > 0) {
                prsum = prsum.toFixed(2);
                document.getElementById('price'+j).value = prsum;
                document.getElementById('uprice'+j).value = prsum;
                document.getElementById('priceTable'+id).style.display = '';
				prsum = 0;
            } 
            if (notchecked == 1) document.getElementById('price'+j).value = '';
        }
    //}
    if (notchecked == 1 && isfbr == 0) {
        document.getElementById('price'+id).value = '';
        document.getElementById('priceTable'+id).style.display = 'none';
    } else notchecked = 1;
}
//Price calculator for Bitstream----------------------------------------------------------------------------------------
function price_calc_BIT(id, field) {
    var style_x_cpu;
    var percent;
    var suggested = new Array();
    var reseller = new Array();
    var roundup = new Array();
    var sxc = new Array();
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;    
    var isfbr = 1;
    var pr=0;
    var sum;
    var skip;
    var endpris;
    var onepris;
	var notchecked = 1;

    var s_multiplier = [[0,0,0,0,0],[0.93,0.95,0.96,0.97,0.98],[0.88,0.9,0.92,0.94,0.96],[0.88,0.9,0.92,0.94,0.96],[0.68,0.7,0.85,0.9,0.95],[0.63,0.65,0.8,0.9,0.95],[0.6,0.6,0.85,0.9,0.95],[0.6,0.6,0.8,0.85,0.95],[0.73,0.75,0.85,0.9,0.95,0.95],[0.75,0.75,0.9,0.92,0.95,1.0218699],[0.8,0.8,0.95,0.95,0.96,1.1],[0.85,0.85,0.95,0.96,0.97,1.1],[0.9,0.9,0.96,0.97,0.98,1.1],[0.95,0.95,0.96,0.97,0.98,1.13],[0.95,0.95,0.96,0.97,0.98,0.96],[0.95,0.95,0.96,0.97,0.98,0.95],[0.95,0.95,0.96,0.97,0.98,1.1],[0.95,0.95,0.96,0.97,0.98,1.1]];

    var licences = new Array ('1-5','10-25','30-50','55-125','130-250','255-500','505-1000','1005-2000','2005-2500','2505-3000','3005-10000');
    var outlines = new Array (5,25,50,100,250,500,1000,2000,2500,3000,3500,4000,5000,6000,7500,10000,12100,10000000);
    var sug_retail = new Array (1,0.95,0.935,0.91,0.885,0.75,0.6,0.45,0.4,0.304,0.302,0.3,0.2975,0.295,0.28,0.27,0.27,0.338);
    var res_cost = new Array (0.6,0.57,0.561,0.546,0.531,0.45,0.36,0.27,0.24,0.182,0.181,0.18,0.179,0.177,0.168,0.162,0.162,0.203);
    var weights = new Object ();
        weights['sug_text'] = new Array (7500,12000,16000,20000,5000);
        weights['res_text'] = new Array (4500,7200,9600,12000,3000);
        weights['sug_nfc'] = new Array (8750,14500,19000,24000,6000);
        weights['res_nfc'] = new Array (5250,8700,11400,14400,3600);    
    
    var bsc = 0;

    users = document.getElementById('users'+id).value;

    for (z = 0; z < fields.length; ++z) { 
        if (document.getElementById(fields[z]+'ch'+id) !== null) {
                
        if (document.getElementById(fields[z]+'ch'+id).checked) {
						onepris = document.getElementById(fields[z]+'ch'+id).value;
		bsc = 1;

    notchecked = 0;
    style_x_cpu = users * bsc;

    for (i=0; i<outlines.length; ++i) {
        //CPU * styles
        if (i == 0) {
            if (style_x_cpu < 1) sxc[i] = 0;
            else sxc[i] = 5;
        }
        else {
            if (style_x_cpu < outlines[i-1]) sxc[i] = 0
            else {
                if (style_x_cpu > outlines[i]) sxc[i] = outlines[i] - outlines[i-1];
                else sxc[i] = style_x_cpu - outlines[i-1];
            }
        }
        //if (sxc[i] > 0) alert('sxc: '+sxc[i]);
        //Round up
        if (sxc[i] > 0) {
            roundup[i] = sxc[i]/5;
        }
        else roundup[i] = 0;

        //if (roundup[i] > 0) alert('roundup: '+roundup[i]);
        //Suggested retail
        if (i == 0) {
            if (roundup[i] > 0) {
                //alert(onepris+' '+sug_retail[i]);
                suggested[i] = onepris * sug_retail[i];
            }
            else {
                suggested[i] = 0;
            }
        }
        else {
            if (roundup[i] > 0) {
                if (onepris > 110) {
                    percent = sug_retail[i] * s_multiplier[i][0];
                }
                else if (onepris > 98) {
                    percent = sug_retail[i] * s_multiplier[i][1];
                }
                else if (onepris > 86) {
                    percent = sug_retail[i] * s_multiplier[i][2];
                }
                else if (onepris > 74) {
                    percent = sug_retail[i] * s_multiplier[i][3];
                }
                else if (onepris > 49) {
                    //alert(sug_retail[i]+' '+s_multiplier[i][4]);
                    percent = sug_retail[i] * s_multiplier[i][4];
                }
                else {
                    if (i >= 8) {
                        if (onepris > 28.5) {
                            percent = sug_retail[i] * s_multiplier[i][5]; 
                        }
                    }
                    else {
                        percent = sug_retail[i];
                    }
                }
                //alert(onepris+' '+roundup[i]+' '+percent);
                suggested[i] = onepris * roundup[i] * percent;
            }
            else {
                suggested[i] = 0;
            }                    
        }
        //if (suggested[i] > 0) alert('suggested: '+suggested[i]);
    }
            
    for (var x=0; x<suggested.length; ++x) prsum = prsum - (-suggested[x]);

    //Cap calculation
    if (onepris < 25) {
        if (bsc < 5) {
            //Is the price > than the weights (1-4 styles)
            for (var m=0; m<4; ++m) {
                if (prsum > weights['sug_text'][m] && bsc == m-(-1)) {
                    endpris = weights['sug_text'][m];
                }
                else {
                    endpris = prsum;
                }
            }
        }
        else {
            //More than 4 styles
            if (prsum > bsc * weights['sug_text'][4]) {
                endpris = bsc * weights['sug_text'][4];
            }
            else {
                endpris = prsum;
            }
        }
    }
    else if (onepris >= 25 && onepris < 31) {
        if (bsc < 5) {
            //Is the price > than the weights (1-4 styles)
            if (prsum > weights['sug_nfc'][0] && bsc == 1) {
                endpris = weights['sug_nfc'][0];
            }
            else if (prsum > weights['sug_nfc'][1] && bsc == 2) {
                endpris = weights['sug_nfc'][1];
            }
            else if (prsum > weights['sug_nfc'][2] && bsc == 3) {
                endpris = weights['sug_nfc'][2];
            }
            else if (prsum > weights['sug_nfc'][3] && bsc == 4) {
                endpris = weights['sug_nfc'][3];
            }            
            else {
                endpris = prsum;
            }            
        }
        else {
            //More than 4 styles
            if (prsum > bsc * weights['sug_nfc'][4]) {
                endpris = bsc * weights['sug_nfc'][4];
            }
            else {
                endpris = prsum;
            }
        }                    
    }
    else {
        endpris = prsum;
    }


    if (endpris > 0) {
        endpris = Math.ceil(endpris);
        endpris = endpris.toFixed(2);

        //document.getElementById('seltotaldiv').style.display = 'inline';
        document.getElementById('priceTable'+id).style.display = '';
        document.getElementById('price'+id).value = endpris;
        document.getElementById('uprice'+id).value = endpris;
        prsum = 0;
    } 
    else {
        //document.getElementById('seltotaldiv').style.display = 'none';
        document.getElementById('priceTable'+id).style.display = 'none';
        document.getElementById('price'+id).value = '';
    }

	document.getElementById(fields[z]+'_'+id).value = endpris;
}
}
}
if (notchecked == 1) {
    document.getElementById('price'+id).value = '';
    document.getElementById('priceTable'+id).style.display = 'none';
} 
else notchecked = 1
}
//Price calculator for Scangraphic and Elsner & Flake----------------------------------------------------------------------------------------
function price_calc_sgef(id, usr) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;
    usrfield.style.border = '1px solid #C30000';
    usrfield.focus();

    reg = /^[0-9]{0,3}$/;

    if (users.length > 0) {
        if (users > 0 && reg.test(users)) {
            if (users > MLD['max_users'][MLD['max_users'].length-1]-0) {
                document.getElementById('priceTable'+id).style.display = 'none';
                document.getElementById('contactTable'+id).style.display = '';
                submit = 0;
            }
            else {
                if (document.getElementById('priceTable'+id).style.display == 'none') {
                    document.getElementById('priceTable'+id).style.display = '';
                    document.getElementById('contactTable'+id).style.display = 'none';
                    submit = 1;
                }
                for (var z = 0; z < fields.length; ++z) {
                    if (document.getElementById(fields[z]+'ch'+id) !== null) {
                        if (document.getElementById(fields[z]+'ch'+id).checked) {
                            notchecked = 0;
                            name = document.getElementById(fields[z]+'ch'+id).getAttribute('name');
                            parts = name.split('_');
                            prdc = parts[1];
                            chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                            var chkone = document.getElementById(fields[z]+'ch'+id).value;

                            var a = prdc.split('SGEF');

                            for (i=0; i<MLD['max_users'].length; ++i) {
                                if (users <= MLD['max_users'][i]) {
                                    usrmax = MLD['max_users'][i];
                                    if (usrmax > 0) {                                            
                                        if (usrmax > 5) {
											prsum = prsum-(-(chkone -(-(PrCodes['SGEF_'+usrmax] * users))));
											document.getElementById(fields[z]+'_'+id).value = (chkone -(-(PrCodes['SGEF_'+usrmax] * users))).toFixed(2);
										}	
                                        else {
											prsum = prsum-(-chkone);
											document.getElementById(fields[z]+'_'+id).value = chkone;
										}
                                    }
                                    break;
                                }
                            }
                            prsum = parseFloat(prsum);
                            prsum = prsum.toFixed(2);
                            document.getElementById('price'+id).value = prsum;
                            document.getElementById('uprice'+id).value = prsum;
                            document.getElementById('priceTable'+id).style.display = '';
                            chkvalues = 0;
                        }
                    }
                }
                if (notchecked == 1) {
                    document.getElementById('price'+id).value = '';
                    document.getElementById('priceTable'+id).style.display = 'none';
                    
                    if (usr != 1) usrfield.value = '';
                    usrfield.style.border = '1px solid #E7E7E7';
                    usrfield.blur();
                } 
                else notchecked = 1;
            }
        }
        else {
            alert('Invalid users count!');
            usrfield.value = '';
        }
    }
}
//Price calculator for those suppliers which do not have their own ----------------------------------------------------
function price_calc_other(id) {
    var ischecked = 0;
    var prsum = 0;
    var chkvalues = 0;
    
    usrfield = document.getElementById('users'+id);
    users = usrfield.value;

    if (document.getElementById('priceTable'+id).style.display == 'none') {
        document.getElementById('priceTable'+id).style.display = '';
        document.getElementById('contactTable'+id).style.display = 'none';
        submit = 1;
    }
    for (z = 0; z < fields.length; ++z) {
        if (document.getElementById(fields[z]+'ch'+id) !== null) {
            if (document.getElementById(fields[z]+'ch'+id).checked) {
                notchecked = 0;
                chkvalues = chkvalues -(-document.getElementById(fields[z]+'ch'+id).value);
                var chkone = document.getElementById(fields[z]+'ch'+id).value;
                prsum = chkvalues;
                prsum = prsum.toFixed(2);
                document.getElementById('price'+id).value = prsum;
                document.getElementById('uprice'+id).value = prsum;
                document.getElementById('priceTable'+id).style.display = '';
                //chkvalues = 0;
            }
        }
    }
    if (notchecked == 1) {
        document.getElementById('price'+id).value = '';
        document.getElementById('priceTable'+id).style.display = 'none';
    } 
    else notchecked = 1;
    
}
