﻿// Let's use j jQuery
var j = jQuery.noConflict();
var orderE = {}, error = [];
// On document load

function formValidation() {
	//personal info

	j('#buy-form input').each(function () {
		if (j(this).val() === "") {
			j(this).addClass('validation-error');
			return false;
		} else {
			j(this).removeClass('validation-error');
		}
	});

	//address
	if (j("#delivery input:checked").val() === 'send-by-mail') {
		j('#send-by-mail-details input').each(function () {
			if (j(this).val() === "") {
				j(this).addClass('validation-error');
				return false;
			} else {
				j(this).removeClass('validation-error');
			}
		});
	}

	var validation = j("#buy-popup .validation-error").length > 0 ? false : true;
	return validation;
}


/**
*
* Profilio pasirinkimo priemone FUNCTIONS
*
*/

//validate profile window
function validate(error){
	j('#profiliu-pasirinkimas .error').hide();
	error.each( function (i) {
		if (i === 'kistukai-2' || i === 'kistukai') {
			j('#profiliu-pasirinkimas #kistukai-wrapper .error').show();
		} else {
			j('#profiliu-pasirinkimas #' + i + ' .error').show();
		}
	})
}

//object converter
function oc(a) {
  var o = {};
  for(var i=0;i<a.length;i++)
  {
    o[a[i]]='';
  }
  return o;
}

// Array Remove
function removeFromArray(string, array){
   while(j.inArray(string,array)!=-1){
      array.splice(j.inArray(string,array), 1);
   }
   return array;
}

//Asign appropriate class
function toggleClass(group, selection) {
	//nuimam nuo visu kitu borderius
	j("#" + group + " img").removeClass('green-border');
	j("#" + group + " label").removeClass('green-border');
	j("#" + group + " div").removeClass('active-item');
	j("#" + group + " .tick-block").remove();

	//ismetam klaida is array
	removeFromArray(group, error);
	
	var dontHideKistukaiError = ('kistukai-2' in oc(error) || 'kistukai' in oc(error)) ? true : false;
	
	//paslepiam grupes klaida jei tokia yra
	j("#" + group + " .error").hide();

	//jei yra nepasirinktas bent vienas kistukas, rodom klaida
	if (!dontHideKistukaiError) {
		j("#kistukai-wrapper .error").hide();
	}
		
	//uzdedam borderi
	j(selection)
		.addClass('green-border')
		.parent().parent().prepend('<span class="tick-block"></span>')
		.addClass('active-item');
}

//increase/decrease profile length
function changeLength(step, id) {
	var current = parseInt(j('#' + id + ' input').val(), 10), tmp = current + step;
	if (tmp > 0) {
		j('#' + id + ' input').val(tmp);
	}
}

//calculate profile price
function getFullPrice() {
	error = [];
	var price = 0;

	//profilis
	var profilis_raw = j('#profiliai .active-item .price').text();
	if (profilis_raw !== '') {
		var profilis = parseFloat(profilis_raw.replace(",", ".")),
		profilio_html =  j('#profiliai .active-item .export').html();
	} else { error.push("profiliai"); }
	
	//dangtelis
	var dangtelis_raw = j('#dangteliai .active-item .price').text();
	if (dangtelis_raw !== '') {
		var dangtelis = parseFloat(dangtelis_raw.replace(",", ".")),
		dangtelis_html = j('#dangteliai .active-item .export').html();
	} else { error.push("dangteliai"); }

	//kistukas 1
	var kistukas_1_raw = j('#kistukai .active-item .price').text();
	if (kistukas_1_raw !== '') {
		var kistukas_1_p = parseFloat(kistukas_1_raw.replace(",", ".")),
		kistukas_1_html = j('#kistukai .active-item .export').html(),
		kistukas_1_q = parseInt(j('#kistukai input').val(),10),
		kistukas_1 = kistukas_1_p * kistukas_1_q;
		
	} else { error.push("kistukai"); }

	//kistukas 2
	var kistukas_2_raw = j('#kistukai-2 .active-item .price').text();
	if (kistukas_2_raw !== '') {
		var kistukas_2_p = parseFloat(kistukas_2_raw.replace(",", ".")),
		kistukas_2_html = j('#kistukai-2 .active-item .export').html(),
		kistukas_2_q = parseInt(j('#kistukai-2 input').val(),10),
		kistukas_2 = kistukas_2_p * kistukas_2_q;
	} else { error.push("kistukai-2"); }

	//gaunam ilgi
	var ilgis = parseInt(j('#ilgis input').val(),10);
	//juosteles ID ir kaina
	var juostele_raw = j('#juosteles .active-item .price').text();
	if (juostele_raw !== '') {
		var juostele = parseFloat(juostele_raw.replace(",", ".")),
		juosteles_id = j('#juosteles .active-item').attr('id'),
		juostele_html = j('#juosteles .active-item .export').html();
	} else { error.push("juosteles"); }
	
	//trafas
	var transNeeded = j('#maitinimo-saltinis .active-item input').val();
	if (transNeeded) {
		var myArray = (transNeeded === 'Taip') ? getPowerPrice(ilgis, juosteles_id) : [];
		var transformatoriaiHtml = myArray[1] ? myArray[1] : [];
		var transKaina =  myArray[0] ? myArray[0] : 0;
	} else { error.push("maitinimo-saltinis"); }
	
	//full price
	var full_price_raw = parseFloat((profilis + dangtelis + juostele) * ilgis) + kistukas_1 + kistukas_2 + transKaina;
	var full_price = full_price_raw.toFixed(2);


	//Patalpinamas galutinis rezultatas 
	var kt = '<br /><span class="kart-span">x</span>', qt = '<span class="qt">', qt2 = '</span>', html = "<div id='results-wrapper' class='clearfix'><h1>Jūsų pasirinktas šviestuvas:</h1>";
	
	// *Profilis*
	html += (profilis !== 0) ? "<div>" + profilio_html + kt + qt + ilgis + " m." + qt2 + "</div>" : "";

	// *Dangtelis* tikrinam ar ne 0 kaina
	html += (dangtelis !== 0) ? "<div>" + dangtelis_html + kt + qt + ilgis + " m." + qt2 + "</div>" : "";

	// *Kištukai* tikrinam ar ne 0 kaina
	html += (kistukas_1_p !== 0) ? "<div>" + kistukas_1_html + kt + qt + kistukas_1_q + " vnt." + qt2 + "</div>" : "";
	html += (kistukas_2_p !== 0) ? "<div>" + kistukas_2_html + kt + qt + kistukas_2_q + " vnt." + qt2 + "</div>" : "";

	// *Juostele* tikrinam ar ne 0 kaina
	html += (juostele !== 0) ? "<div>" + juostele_html + kt + qt + ilgis + " m." + qt2 + "</div>" : "";

	// *Trafai* tikrinam ar reikalingas trafas, bei ar pasirinkta juostelė
	html += (transNeeded === "Taip" && juostele !== 0) ? "<h2>Jums rekomenduojamas maitinimo šaltinis</h2>" + transformatoriaiHtml : "";

	// *VISO*
	html += (full_price > 0) ? '<div id="final-price">Viso:<span>' + full_price.replace(".", ",") + ' Lt.</span> (be PVM)</div>' : "";
	
	// *Mygtukai pirkti/iš naujo*
	//html += (full_price > 0) ? '<div id="user-actions" class="clearfix"><a href="" class="start-over"></a><a href="" class="buy-btn"></a></div>' : "<strong>Jūs nepasirinkote jokios prekės</strong>";
	html += (full_price > 0) ? '<div id="user-actions" class="clearfix"><a href="http://www.jml-group.lt/lt/led_apsvietimas/katalogas/komplektavimas" class="start-over"></a><a href="#" id="print-btn"></a></div>' : "<strong>Jūs nepasirinkote jokios prekės</strong>";

	// Kontaktai printinimui
	html += '<div class="hidepiece">Pasirinktas prekes galite įsigyti Vilniuje adresu Naugarduko g. 91-108. <br />Telefonas: 8 5 213 3603<br />El. paštas: led@jml-group.lt <br /><br />Geros Jums dienos</div>';
	
	html += "</div>";
	j('#results').html('').append(html);
	
	//export array
	orderE.ilgis = ilgis;
	orderE.dangtelis = dangtelis_html ? dangtelis_html.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.profilis = profilio_html ? profilio_html.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.kistukas1 = kistukas_1_html ? kistukas_1_html.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.kistukas1q = kistukas_1_html ? kistukas_1_q : "";
	orderE.kistukas2 = kistukas_2_html ? kistukas_2_html.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.kistukas2q = kistukas_2_html ? kistukas_2_q : "";
	orderE.juostele = juostele_html ? juostele_html.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.transformatoriai = transformatoriaiHtml && transNeeded === "Taip" ? transformatoriaiHtml.replace(/<\/?[^>]+>/gi, '').replace(/\s+/gi,' ') : "";
	orderE.total = full_price;
	
	return error;
}

//calculate power suply price
function getPowerPrice (ilgis, juosteles_name) {
	if (juosteles_name === 'juostele-1') {
		var juostele = 7.2
	} else if (juosteles_name === 'juostele-2') {
		var juostele = 14.4
	} else { var juostele = 0 }

	var myArray = [];

	if(ilgis >= 5) {
		var trafai = Math.floor(ilgis/5);
		var liko_ilgio = ilgis % 5;
		myArray = getTrafai(trafai, liko_ilgio, juostele);
	} else {
		myArray = getTrafai(0, ilgis, juostele);
		//getTrafas()
	}
	return myArray;
}

function getTrafai(papildomi, ilgis, juostele) {
	var trafas_10 = parseFloat(j('#trafu_kainos #traf_' + 10).html().replace(",", "."));
	var trafas_20 = parseFloat(j('#trafu_kainos #traf_' + 20).html().replace(",", "."));
	var trafas_30 = parseFloat(j('#trafu_kainos #traf_' + 30).html().replace(",", "."));
	var trafas_45 = parseFloat(j('#trafu_kainos #traf_' + 45).html().replace(",", "."));
	var trafas_60 = parseFloat(j('#trafu_kainos #traf_' + 60).html().replace(",", "."));
	var trafas_80 = parseFloat(j('#trafu_kainos #traf_' + 80).html().replace(",", "."));
	var trafas_100 = parseFloat(j('#trafu_kainos #traf_' + 100).html().replace(",", "."));
	
	//skaiciuojam pagrindio trafo kaina
	var galia = ilgis * juostele;
	var kaina_trafo = 0;
	var htmlTrafai = '';

	//jei trafu skaicius !== 5, 10, 15, 20, 25
	//TODO: padaryti if, kad neisvedinetu
	if (ilgis !== 0) {
		htmlTrafai += '<div><img src="/images/profiliu-pasirinkimas/trafas_';
		var imgPath2 = '.jpg" alt="" width="75" height="55" /><span class="thumb-name">';
		switch(galia) {
			case 7.2 : kaina_trafo = j.trim(trafas_10); htmlTrafai += "10" + imgPath2 + "10"; break;
			case 14.4 : kaina_trafo = j.trim(trafas_20); htmlTrafai += "20" + imgPath2 + "20"; break;
			case 21.6 : kaina_trafo = j.trim(trafas_30); htmlTrafai += "30" + imgPath2 + "30"; break;
			case 28.8 : kaina_trafo = j.trim(trafas_45); htmlTrafai += "45" + imgPath2 + "45"; break;
			case 43.2 : kaina_trafo = j.trim(trafas_60); htmlTrafai += "60" + imgPath2 + "60"; break;
			case 57.6 : kaina_trafo = j.trim(trafas_80); htmlTrafai += "80" + imgPath2 + "80"; break;
			default: kaina_trafo = 0
		}
		htmlTrafai += 'W maitinimo šaltinis</span><br /><span class="kart-span">x</span><span class="qt">1 vnt.</span></div>';
	}

	//paskaiciuojam papildomu trafu kaina (kai ilgis >= 5)
	if (juostele === 7.2 && papildomi !== 0) {
		var kaina_papildomi_trafai = trafas_45 * papildomi;
		htmlTrafai += '<div><img src="/images/profiliu-pasirinkimas/trafas_45.jpg" alt="" width="75" height="55" /><span class="thumb-name">45W maitinimo šaltinis</span><br /><span class="kart-span">x</span><span class="qt">' + papildomi + ' vnt.</span></div>';
	} else if (juostele === 14.4 && papildomi !== 0) {
		var kaina_papildomi_trafai = trafas_100 * papildomi;
		htmlTrafai += '<div><img src="/images/profiliu-pasirinkimas/trafas_100.jpg" alt="" width="75" height="55" /><span class="thumb-name">100W maitinimo šaltinis</span><br /><span class="kart-span">x</span><span class="qt">' + papildomi + ' vnt.</span></div>';
	} else { var kaina_papildomi_trafai = 0 }

	//galutine kaina
	var kaina = parseFloat(kaina_papildomi_trafai) + parseFloat(kaina_trafo);
	var myArray = [ kaina, htmlTrafai ]
	return myArray;
}

/**
* Profilio pasirinkimo priemone FUNCTIONS END
*/

//nustatom kiek kuponu liko ir kokia kaina
var kiekis = 20;
//var price = parseInt(j('#totalAmount').val());
function changeQuantity(step, price) {
        var current = parseInt(j('#buy-left input[name="fquantity"]').val(),10);
        var tmp = current + step;
		var total;
		if (tmp > 0 && tmp <= kiekis) {
			j('#buy-left input[name="fquantity"]').val(tmp);
			total = tmp * price;
			var number = total.toFixed(2).replace(/\./gi, ",");;
			j('#totalAmount').html(number);
		}
}


//lango mirksejimas
function newExcitingAlerts() {
    var oldTitle = document.title;
    var msg = "New!";
    var timeoutId = setInterval(function() {
        document.title = document.title == msg ? ' ' : msg;
    }, 1000);
    window.onmousemove = function() {
        clearInterval(timeoutId);
        document.title = oldTitle;
        window.onmousemove = null;
    };
}


//on LOAD
j(function () {
	//pazymim ir pakeiciam

	if (j('table.preke_savybes').length) {
		var temp = j('table.preke_savybes').html().replace(/CREE/g, '<img src="http://www.jml-group.lt/html/templates/images/cree-small.png" width="42" height="9" />');
		//istatom atgal i DOM
		j('table.preke_savybes').html(temp);
	}

	//Get the height of the first item
	j('#mask').css({'height' : j('#panel-1').height()});

	//Calculate the total width - sum of all sub-panels width
	//Width is generated according to the width of #mask * total of sub-panels
	j('#panel').width(parseInt(j('#mask').width() * j('#panel div').length, 10));

	//Set the sub-panel width according to the #mask width (width of #mask and sub-panel must be same)
	j('#panel div').width(j('#mask').width());

	j(".pirkti-btn a").nm({
		sizes: {	// Size information
			minW: 750,
			minH: 500
		}
	});
	
	j("#print-btn").live("click", function () {
		window.print();
		return false;
		
	});
	
	j("a[rel='colorbox']").nm({
		/*sizes: {	// Size information
			minW: 100	// minimum width
		 }
		callbacks: {
			initElts: function (nm) {
				var href = nm.opener.attr('href'), r = Math.floor(Math.random() * 10 * 100000);
				nm.opener.attr("href", href + "?" + r);
			},
			filledContent: function (nm) {
				var href_def = nm.opener.attr('href_default');
				nm.opener.attr("href", href_def);
			}
		}*/
	});



	//Get all the links with rel as panel
	j('a[rel=panel]').click(function () {

		//Get the height of the sub-panel
		var panelheight = j(j(this).attr('href')).height();

		//Set class for the selected item
		j('a[rel=panel]').removeClass('selected');
		j(this).addClass('selected');

		//Resize the height
		j('#mask').animate({'height' : panelheight}, {queue : false, duration : 400});

		//Scroll to the correct panel, the panel id is grabbed from the href attribute of the anchor
		j('#mask').scrollTo(j(this).attr('href'), 400);

		//Discard the link default behavior
		return false;
	});

	//akcijos langelio close
	j("#close-sellout").click(function (e) {
		e.preventDefault();
		j("#sell-out-inside").hide();
		j.cookie('hide_sell_out', "1", {expires : 1, path : '/'});
	});

	j('#delivery-right .fsubmit').live('click', function (event) {
		event.preventDefault();
		if (formValidation()) {
			var name = j("input[name='fname']").val(), email = j("input[name='femail']").val(), phone = j("input[name='ftelephone']").val(), quantity = j("input[name='fquantity']").val(), preke = j("#product-name").html(), address = j("input[name='faddress']").val(), city = j("input[name='fcity']").val(), pcode = j("input[name='fpcode']").val(), radiobtn = j('#delivery input[@type=radio]:checked').val(), dataString = 'name=' + name + '&email=' + email + '&phone=' + phone + '&quantity=' + quantity + '&address=' + address + '&city=' + city + '&pcode=' + pcode + '&pradio=' + radiobtn + '&preke=' + preke;
			j.ajax({
				type: "GET",
				url: "http://www.jml-group.lt/content/akcija/process.php",
				data: dataString,
				success: function () {
					j('#delivery-right').hide();
					j('#buy-left').html("<div id='message'><h1>Rezervacija atlikta</h1><p>Dėl rezervuotos prekės su Jumis susieksime per 12h.</p></div>");
					j('#message').hide().fadeIn(1500, function () {
						j('#message').append("<div id='checkmark'></div>");
					});
				}
			});
		}
		return false;
	});

	//Products filtering
	var newSelection = "";
	j("#akcija-menu a").click(function () {
		j(".all-items").fadeTo(200, 0.10);
		j("#akcija-menu a").parent().removeClass("akcija-menu-active");
			j(this).parent().addClass("akcija-menu-active");
			newSelection = j(this).attr("rel");
			j(".preke").not("." + newSelection).slideUp('fast');
			j("." + newSelection).slideDown('fast');
		j(".all-items").fadeTo(400, 1);

	});

	//uzsakymo formos / pristatymas
	j("#delivery input").live("change", function () {
		if (j("#delivery input:checked").val() === 'office') {
			j("#send-by-mail-details").hide();
		} else if (j("#delivery input:checked").val() === 'send-by-mail') {
			j("#send-by-mail-details").show();
			//j("#delivery input[name='faddress']").focus(); nepatogu
		} else { j("#send-by-mail-details").hide(); }
	});

	
/**
*
* Profilio pasirinkimo priemone ir jos langas
*
*/
	j("#profiliai .profilis").delegate("img","click", function () {
		toggleClass('profiliai', this);
		//paimam pasirinktus profilius ir paloadinam reikiamose vietose
		var dangteliai = j(this).parent().parent().find('.dangteliai').html();
		j("#dangteliai .container").html(dangteliai);
		var kistukai = j(this).parent().parent().find('.kistukai').html();
		j("#kistukai .container").html(kistukai);
		j("#kistukai-2 .container").html(kistukai);
		//parodom kistuku bloka
		j(".block-head .profile-ends").show();
		j("#kistukai-wrapper").addClass('visible-wrapper');
	});

	j("#dangteliai .dangtelis img").live("click", function () {
		toggleClass('dangteliai', this);
	});	

	j("#kistukai .kistukas img").live("click", function () {
		toggleClass('kistukai', this);
	});

	j("#kistukai-2 .kistukas img").live("click", function () {
		toggleClass('kistukai-2', this);
	});

	j("#juosteles .juostele img").live("click", function () {
		toggleClass('juosteles', this);
	});
	
	j("#maitinimo-saltinis label").live("click", function () {
		toggleClass('maitinimo-saltinis', this);
	});

	j("#profiliu-actions #calculate").click(function (e) {
		e.preventDefault();
		var fullPriceFunction = getFullPrice();
		
		if ( fullPriceFunction.length < 1) {
			//get results div size
			//j("#results").show();
			var optionHeight = j("#results").actual('outerHeight');
			//j("#results").hide();
			j.nmManual('#results', {
				 sizes : {	// Size information
					minW : 600	// minimum width
					//minH : optionHeight + 70,	// Initial height
				  }
			});		
		}  else { 
			validate(fullPriceFunction);
		}
	});

	//info-blocks
	j("#profiliu-pasirinkimas a.more-info").live("click", function () {
		j(this).parent().parent().find('.info-block').toggle();
	});

	j("#profiliu-pasirinkimas .close-btn").live("click", function () {
		j(this).parent().hide();
	});

	//power suply
	j("#maitinimo-saltinis label").live("click", function () {
		j(this).parent().parent().parent().find('label').removeClass('checked-input');
		j(this).addClass('checked-input');
	});


	//profiliu pasirinkimo langas
	j(".nyroModalDom #results-wrapper #user-actions .buy-btn").live("click", function (e) {
		e.preventDefault();

		//loadinam kontaktu forma
		var initSettingSize = {
			sizes: {
				minW : 750,	// Initial width
				minH : 500,	// Initial height
				windowResizing : true
			}
		};
		j.nmManual('http://www.jml-group.lt/content/profiliu-komplektavimas-form.html', initSettingSize);

		//kai paspaudziamas submit, siunciam duomenis
		j('#buy-popup.profiliu-langas a.fsubmit').live('click', function () {
			event.preventDefault();
			var canSubmitForm = formValidation();
			if (canSubmitForm) {
				//surenkam kontaktinius duomenis
				orderE.name = j('#buy-popup input[name="fname"]').val();
				orderE.email = j('#buy-popup input[name="femail"]').val();
				orderE.phone = j('#buy-popup input[name="ftelephone"]').val();
				orderE.address = j('#buy-popup input[name="faddress"]').val();
				orderE.city = j('#buy-popup input[name="fcity"]').val();
				orderE.pcode = j('#buy-popup input[name="fpcode"]').val();
				orderE.radiobtn = j('#buy-popup input[@type=radio]:checked').val();
				j.ajax({
					type :           'post',
					cache :          false,
					url :            'http://www.jml-group.lt/content/profiliu-komplektavimas-sendmail.php',
					data :           orderE,
					success : function () {
						j('#buy-left').html("<div id='message'><h1>Rezervacija atlikta</h1><p>Dėl rezervuotos prekės su Jumis susieksime per 12h.</p></div>");
						j('#message').hide()
						.fadeIn(1500, function () {
								j('#message').append("<div id='checkmark'></div>");
							});
						j('#delivery-right').hide();
					}
				})	
			}
			return false;
		});
	});
/**
* Profilio pasirinkimo priemone ir jos langas: END
*/


});




