$(function() { var color_koef = 3; // коэффициент количества цветов var KOEFF_1 = ; // редактируемые параметры var KOEFF_2 = ; $("#note").html(""); UpdateResults(); /* WIDTH */ $("#slider_width").slider( { min:0, max:360, value:120, stop: function(event, ui) { var curVal = DetectPosition(ui.value, 40); //$("#slider_width").slider({value:curVal*40}); GetWidthPocket(curVal*40); UpdateResults(); }, slide: function (event, ui) { var curVal = DetectPosition(ui.value, 40); //$("#slider_width").slider({value:curVal*40}); GetWidthPocket(curVal*40); UpdateResults(); } } ); $(".pocket_width_div").click( function() { $("#width_value").html($(this).html()); $("#slider_width").slider({value:parseInt($(this).css("left"))}); GetWidthPocket(parseInt($(this).css("left"))); UpdateResults(); } ); function DetectPosition(val, decim) { var val = Math.round(val/decim); return val; } function GetWidthPocket(val) { var res; var fal; //фальцы if(val == 0){res = 27;} else if(val == 40) {res = 29;} else if(val == 80) {res = 31;} else if(val == 120) {res = 40;} else if(val == 160) {res = 44;} else if(val == 200) {res = 50;} else if(val == 240) {res = 51;} else if(val == 280) {res = 58;} else if(val == 320) {res = 60;} else if(val == 360) {res = 70;} $("#width_value").html(res); $("#fal_val").html(fal); // значение для фальцев } /*Checkboxes*/ function IsColorPrint() { if($("#color_print").is(":checked")) { return true; } else { return false; } } $("#color_print").click(UpdateResults); function IsHandle() { if($("#handler").is(":checked")) { return true; } else { return false; } } $("#handler").click(UpdateResults); /* HEIGHT */ $("#slider_height").slider( { min:0, max:280, value:70, orientation:'vertical', stop: function(event, ui) { var curVal = DetectPosition(ui.value, 70); // $("#slider_height").slider({value:curVal*70}); GetHeightPocket(curVal*70); UpdateResults(); }, slide: function (event, ui) { var curVal = DetectPosition(ui.value, 70); // $("#slider_height").slider({value:curVal*70}); GetHeightPocket(curVal*70); UpdateResults(); } } ); function GetHeightPocket(val) { var res; if(val == 0) {res=35;} else if(val == 70) {res=40;} else if(val == 140) {res=45;} else if(val == 210) {res=50;} else if(val == 280) {res=55;} $("#height_value").html(res); } $(".pocket_height_div").click( function() { $("#height_value").html($(this).html()); $("#slider_height").slider({value:parseInt($(this).css("left"))}); UpdateResults(); } ); /*DNO*/ $("#slider_dno").slider( { min:0, max:280, value:70, orientation:'vertical', stop: function(event, ui) { var curVal = DetectPosition(ui.value, 70); // $("#slider_dno").slider({value:curVal*70}); GetDnoPocket(curVal*70); UpdateResults(); }, slide: function (event, ui) { var curVal = DetectPosition(ui.value, 70); // $("#slider_dno").slider({value:curVal*70}); GetDnoPocket(curVal*70); UpdateResults(); } } ); function GetDnoPocket(val) { var res; if(val == 0) {res=0;} else if(val == 70) {res=3;} else if(val == 140) {res=4;} else if(val == 210) {res=5;} else if(val == 280) {res=6;} $("#dno_value").html(res); } $(".pocket_dno_div").click( function() { $("#dno_value").html($(this).html()); $("#slider_dno").slider({value:parseInt($(this).css("left"))}); UpdateResults(); } ); /* PUBLISH */ $("#slider_publish").slider( { min:0, max:400, value:300, stop: function(event, ui) { var curVal = DetectPosition(ui.value, 50); // $("#slider_publish").slider({value:curVal*50}); GetPublishPocket(curVal*50); UpdateResults(); }, slide: function (event, ui) { var curVal = DetectPosition(ui.value, 50); // $("#slider_publish").slider({value:curVal*50}); GetPublishPocket(curVal*50); UpdateResults(); } } ); function GetPublishPocket(val) { var res; if(val==0) {res = 3;} else if(val == 50) {res = 5;} else if(val == 100) {res = 10;} else if(val == 150) {res = 20;} else if(val == 200) {res = 30;} else if(val == 250) {res = 40;} else if(val == 300) {res = 50;} else if(val == 350) {res = 100;} else if(val == 400) {res = 500;} $("#publish_value").html(res); } $(".pocket_publish_div").click( function() { //$("#publish_value").html($(this).html()); $("#slider_publish").slider({value:parseInt($(this).css("left"))}); GetPublishPocket(parseInt($(this).css("left"))); UpdateResults(); } ); /* FAT */ $("#slider_fat").slider( { min:30, max:80, value:50, slide:function(event, ui) { $("#fat_value").html(ui.value); UpdateResults(); }, stop:function (event, ui) { $("#fat_value").html(ui.value); UpdateResults(); } } ); /* COLORS */ $("#add_color_front").click( function() { var total = TotalColors(); if(total < 4) { IncreaseColors('front'); } else { ReduceColors('back'); IncreaseColors('front'); } UpdateColorNumber(); UpdateResults(); } ); $("#add_color_back").click( function() { var total = TotalColors(); if(total < 4) { IncreaseColors('back'); } else { ReduceColors('front'); IncreaseColors('back'); } UpdateColorNumber(); UpdateResults(); } ); $("#remove_color_front").click( function() { ReduceColors('front'); UpdateColorNumber(); UpdateResults(); } ); $("#remove_color_back").click( function() { ReduceColors('back'); UpdateColorNumber(); UpdateResults(); } ); function IncreaseColors(side) { var on_count = GetOnCount(side); if(on_count < 4) { on_count++; var off_divs_count = 4 - on_count; var off_divs = AddOffDivs(side, off_divs_count); var on_divs = AddOnDivs(side, on_count); var html = on_divs + off_divs; $("#"+side+"_colors_number").html(html); } } function ReduceColors(side) { var on_count = parseInt(GetOnCount(side)); if(on_count > 0) { on_count--; var off_divs_count = 4 - on_count; var off_divs = AddOffDivs(side, off_divs_count); var on_divs = AddOnDivs(side, on_count); var html = on_divs + off_divs; $("#"+side+"_colors_number").html(html); } } function AddOnDivs(side, count) // side = front || back { var str = ""; for(var i = 0; i < count; i++) { str += "
\r\n"; } return str; } function AddOffDivs(side, count) // side = front || back { var str = ""; for(var i = 0; i < count; i++) { str += "\r\n"; } return str; } function GetOnCount(side) { var number = 0; $(".on_div_"+side).each( function() { number++; } ); return number; } function TotalColors() { var front = GetOnCount('front'); var back = GetOnCount('back'); return front+back; } function UpdateColorNumber() { $("#back_value").html(GetOnCount('back')); $("#front_value").html(GetOnCount('front')); } /*MATERIAL*/ $(".switch_img").click( function() { if($(this).is(".selected")) {} else { $(".switch_img").each( function() { if($(this).is(".selected")) { $(this).removeClass('selected'); } } ); $(this).addClass('selected'); UpdateResults(); } } ); function GetMaterial() { return $(".selected").attr("id"); } /* CALCULATES */ function getWeightForOnePocket() // определяем массу одного пакета { var Z = parseInt($("#width_value").html()); // ширина пакета var s = parseInt($("#dno_value").html()); // донная складка var h = parseInt($("#height_value").html()); // высота var thick = parseInt($("#fat_value").html()); // толщина //alert('(('+Z+'+'+F+'*'+'2)'+'*'+h+'*'+thick+'*2*0,95'+')'+'/10000'); var weight = Z*(h + s)*thick*2*0.92/10000; var material = GetMaterial(); if(material == 'pnd') { weight = weight/92*95; } else if(material == 'psd') { weight = weight/92*94; } if(IsHandle()) { weight+=2.5; } return weight; } function getWeightForAllPockets(weight_for_one) // определяем массу всего тиража { var publish = parseInt($("#publish_value").html()); // тираж var weightAll = publish*weight_for_one; return weightAll; } function getVolumeForAll(weightAll) { var volume = weightAll/13*0.05; return volume; } function GetColorK() { var total = TotalColors(); var k; if(total == 0) {k = 3;} else if(total == 1) {k = 12;} else if(total == 2) {k = 20;} else if(total == 3) {k = 32;} else if(total == 4) {k = 40;} return k; } function roundTo(val) { var res = Math.round(val*100)/100; return res; } $("#go").click( function() { UpdateResults(); } ); function getMargin() { var val = parseFloat($("#publish_value").html()); var MARGIN; if(val==3) {MARGIN = '';} else if(val == 5) {MARGIN = '';} else if(val == 10) {MARGIN = '';} else if(val == 20) {MARGIN = '';} else if(val == 30) {MARGIN = '';} else if(val == 40) {MARGIN = '';} else if(val == 50) {MARGIN = '';} else if(val == 100) {MARGIN = '';} else if(val == 500) {MARGIN = '';} return MARGIN; } function UpdateResults() { var publish = parseInt($("#publish_value").html()); // тираж var front = parseInt($("#front_value").html()); var back = parseInt($("#back_value").html()); var weight = getWeightForOnePocket(); var weightAll = getWeightForAllPockets(weight); var volume = getVolumeForAll(weightAll); var ColorK = GetColorK(); var additional_price = ((ColorK+KOEFF_1+KOEFF_2)*weight)/1000; //var price_for_one = MARGIN*additional_price; var price_for_one; var MARGIN = getMargin(); // дополнительная наценка if(IsColorPrint()) { price_for_one = roundTo(MARGIN*additional_price*1.12); } else { price_for_one = roundTo(MARGIN*additional_price); } var price_for_all = price_for_one*publish*1000; $("#note").html(""); $("#weight_value").html(ReplaceDot(roundTo(weight))); $("#weight_value_all").html(ReplaceDot(roundTo(weightAll))); $("#volume_value").html(ReplaceDot(roundTo(volume))); if(weight < 15 && weightAll < 30) { price_for_all = price_for_all*1.3; //$("#price_all_value").html(price_for_all); } else if(weight < 15) { price_for_all = price_for_all*1.15; //$("#price_all_value").html(price_for_all); } else if(weightAll<50) { price_for_all = price_for_all*1.15; //$("#price_all_value").html(price_for_all); } $("#price_value").html(ReplaceDot(price_for_one)); $("#price_all_value").html(FloatToMoney(roundTo(price_for_all))); $("#send_div").html("Отправить заявку"); $("#order_form").css("height", "0px"); } function FloatToMoney(floatNumb) { var arr_float = floatNumb.toString().split("."); var ceil = arr_float[0]; var res =''; var cur_res = ''; var thumb = arr_float[1]; if(typeof(thumb) != 'undefined') { thumb = ',' + arr_float[1]; } else thumb = ''; if(ceil.length > 3) { while(ceil.length > 3) { cur_res = ' '+ceil.substr(ceil.length - 3, 3); ceil = ceil.slice(0, ceil.length - 3); res = cur_res + res; } res = ceil + res + thumb; } else { res = ceil + thumb; } return res; } function ReplaceDot(floatNumb) { var res = str_replace('.', ',', floatNumb.toString()); return res; } function str_replace ( search, replace, subject ) { if(!(replace instanceof Array)){ replace=new Array(replace); if(search instanceof Array){//If search is an array and replace is a string, then this replacement string is used for every value of search while(search.length>replace.length){ replace[replace.length]=replace[0]; } } } if(!(search instanceof Array))search=new Array(search); while(search.length>replace.length){//If replace has fewer values than search , then an empty string is used for the rest of replacement values replace[replace.length]=''; } if(subject instanceof Array){//If subject is an array, then the search and replace is performed with every entry of subject , and the return value is an array as well. for(k in subject){ subject[k]=str_replace(search,replace,subject[k]); } return subject; } for(var k=0; k