/*
 * --  BizKit Shop  -----------------------------------------
 * 
 * NOTE: This is NOT an e-commerce plug-in.
 *
 * The javascript functions herein are not open-source,
 * and of little or no use outside of webshops built and
 * maintained by CEBA. The functionality is heavily dependant
 * on additional php-code and database access, and any
 * trial at retro-fitting is probably pointless.
 * 
 * Copyright © 2010-2011 CEBA AB
 * All rights reserved.
 *
 * ----------------------------------------------------------
*/

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function swapimg(picid,newimg,fargtext) {
	document.getElementById(picid).src = newimg;
	if (picid != 'tbild_big') document.forms.valform.muggfarg.value = fargtext;
	bk_pris();
}

function swapimg2(picid,newimg,fargtext,muggid) {
	document.forms.valform.muggfarg.value = fargtext;
	applack(muggid)
	bk_pris();
}

function applack(muggid) {
	document.getElementById('thumbl_big').src = 'http://reklammuggen.se/t063/gfx/clr.gif';
	document.getElementById('temppic').innerHTML = document.getElementById('bigpic').innerHTML;
	document.getElementById('temppic').style.display = 'none';
	document.getElementById('bigpic').innerHTML = '';
	document.getElementById('thumbl_big').style.display = 'none';

	var gfarg = document.forms.valform.muggfarg.value;
	var lfarg = document.forms.lackform.pantone.value;

	if (lfarg.slice(-1).toLowerCase() == 'c' || lfarg.slice(-1).toLowerCase() == 'u') {
		lfarg = trim(lfarg.slice(0,-1));
		document.forms.lackform.pantone.value = lfarg;
	}

	var lacktyp = document.forms.lackform.ytfhidden.value;
	var gpicpath = 'http://reklammuggen.se/t063/wp-content/themes/bizkit/egenfarg.php?selcol=';

	objImage = new Image();
	objImage.onload = setTimeout(swapimg3('' + gpicpath + gfarg + '&lack=' + lacktyp + '&pantone=' + lfarg),6000);
	objImage.src = gpicpath + gfarg + '&lack=' + lacktyp + '&pantone=' + lfarg;
}

function swapimg3(nyfarg) {

	document.getElementById('bigpic').innerHTML = document.getElementById('temppic').innerHTML;
	document.getElementById('temppic').innerHTML = '';
	if (document.getElementById('thumbl_big').src = nyfarg) {
		document.getElementById('thumbl_big').style.display = 'inline';
	}
}

function snabblack(muggid,lacknamn){
	document.forms.lackform.pantone.value = lacknamn;
	applack(muggid);
}

function appgloss(muggid,lacktyp) {
	document.forms.lackform.ytfhidden.value = lacktyp;
	applack(muggid);	
}


function makeKrOre(n) {
    ore = n * 100;
    strOre = new String (Math.round(ore));
    len = strOre.length;
    if (len>5) strOre = strOre.substring(0, len - 5) + " " + strOre.substring(len - 5, len);
    len = strOre.length;
    if (strOre.substring(len - 2, len) == '00') krore = strOre.substring(0, len - 2);
    else krore = strOre.substring(0, len - 2) + "," + strOre.substring(len - 2, len);
    return '<strong>' + krore + '</strong> kr';
}

function makeKrOreNkl(n) {
    ore = n * 100;
    strOre = new String (Math.round(ore));
    len = strOre.length;
    if (strOre.length < 3) {
    	for (u=4;strOre.length<u;u--) {
				strOre = "0"+strOre;
			}
   	 len = strOre.length;
    }
    if (len>5) strOre = strOre.substring(0, len - 5) + " " + strOre.substring(len - 5, len);
    len = strOre.length;
    krore = strOre.substring(0, len - 2) + "," + strOre.substring(len - 2, len);
    return krore + '/st';
}

function makeKrNkl(n) {
    strOre = new String (n);
    len = strOre.length;
    if (len>3) strOre = strOre.substring(0, len - 3) + " " + strOre.substring(len - 3, len);
    return strOre + ':-';
}

function getRadio(form_name,radio_name) {
	var oRadio = document.forms[form_name].elements[radio_name];
	for(var i = 0; i < oRadio.length; i++) {
		if(oRadio[i].checked) return oRadio[i].value;
	}
	return '';
}

function togglebox(chkbox,boxid) { 
    var visSetting = (chkbox.checked) ? "block" : "none"; 
    document.getElementById(boxid).style.display = visSetting; 
} 

function bk_pris() {
	
	// ######## Offertläge vid val som kräver offert #############################
	
	if (getRadio('valform','tryck') == 'off' || getRadio('valform','position') == 'off' || getRadio('valform','antal') == 'off') {

	// Hämta produktens info från dolt formulär ----------------
	var muggnamn = document.forms.stats.muggnamn.value;
	// ---------------------------------------------------------------------------

	// Hämta besökarens val ------------------------------------------------------
	var sel_antal = getRadio('valform','antal');
	var sel_tfant = getRadio('valform','tryck');
	var num_tfant = parseFloat(sel_tfant);
	var add_tfant = num_tfant - 1;
	if (document.forms['valform'].elements['leverans'].length == undefined) sel_leverans_ar = document.forms['valform'].elements['leverans'].value.split(':');
	else sel_leverans_ar = getRadio('valform','leverans').split(':');
	var sel_position = getRadio('valform','position');
	var sel_muggfarg = document.forms.valform.muggfarg.value;
	// ---------------------------------------------------------------------------

	// Dölj prisskillnader i valboxen --------------------------------------------
	if (document.getElementById('diff40')) document.getElementById('diff40').innerHTML = ' -';
	if (document.getElementById('diff60')) document.getElementById('diff60').innerHTML = ' -';
	if (document.getElementById('diff100')) document.getElementById('diff100').innerHTML = ' -';
	if (document.getElementById('diff200')) document.getElementById('diff200').innerHTML = ' -';
	if (document.getElementById('diff500')) document.getElementById('diff500').innerHTML = ' -';
	if (document.getElementById('diff1000')) document.getElementById('diff1000').innerHTML = ' -';
	if (document.getElementById('diff36')) document.getElementById('diff36').innerHTML = ' -';
	if (document.getElementById('diff72')) document.getElementById('diff72').innerHTML = ' -';
	if (document.getElementById('diff108')) document.getElementById('diff108').innerHTML = ' -';
	if (document.getElementById('diff216')) document.getElementById('diff216').innerHTML = ' -';
	if (document.getElementById('diff504')) document.getElementById('diff504').innerHTML = ' -';
	if (document.getElementById('diff1008')) document.getElementById('diff1008').innerHTML = ' -';
	if (document.getElementById('diff1f')) document.getElementById('diff1f').innerHTML = ' -';
	if (document.getElementById('diff2f')) document.getElementById('diff2f').innerHTML = ' -';
	if (document.getElementById('diff5d')) document.getElementById('diff5d').innerHTML = ' -';
	if (document.getElementById('diff2v')) document.getElementById('diff2v').innerHTML = ' -';
	if (document.getElementById('diff10d')) document.getElementById('diff10d').innerHTML = ' -';
	if (document.getElementById('diff3v')) document.getElementById('diff3v').innerHTML = ' -';
	// ---------------------------------------------------------------------------

	// Sammanställ gjorda val till text att visa i offertboxen -------------------
	var besttext = ((sel_antal == 'off')?'[Annat antal]':sel_antal) + ' st ' + sel_muggfarg + ' mugg &quot;' + muggnamn + '&quot; med ' + ((sel_tfant == 'off')?'[Annat tryck]':sel_tfant+'-f&auml;rgstryck') + ' p&aring; ' + ((sel_position == 'off')?'[Annan position]':((sel_position == 'mitt')?'sidan mittemot &ouml;rat':'sidan ' + sel_position + ' h&ouml;gerh&auml;nt drickare')) + '. Leveranstid ' + sel_leverans_ar[2];
	document.getElementById('bestval').innerHTML = besttext;
	document.forms.offform.oartbeskr.value = besttext;
	// ---------------------------------------------------------------------------

	// Visa offert-texter istället för pris och information ----------------------
	document.getElementById('sel_antal').innerHTML = '&nbsp;';
	document.getElementById('sel_total').innerHTML = 'Offert';
	document.getElementById('sel_tryck').innerHTML = '&nbsp;Klicka "Beg&auml;r offert" nedan';
	document.getElementById('sel_styck').innerHTML = '&nbsp;<strong>inom 24 timmar</strong>';
	document.getElementById('sel_inkmoms').innerHTML = '&nbsp;';
	document.getElementById('bestlinktext').innerHTML = 'Beg&auml;r offert!';
	document.getElementById('bestform').style.display = 'none';
	document.getElementById('offform').style.display = 'inline';
	// ---------------------------------------------------------------------------

	// Återaktivera cufon fontersättning för pris --------------------------------
	Cufon.replace('.bigsum', { fontFamily: 'meloche', textShadow: '#5E6673 1px 1px' });
	// -------------------------------------------------------------------------
	}
	
	// ######## Beställningsläge vid standardval #################################
	
	else {

	// Hämta produktens info och prisvariabler från dolt formulär ----------------
	var muggnamn = document.forms.stats.muggnamn.value;
	aop_ar = document.forms.stats.antalochpris.value.split(';');
	//stryck_ar = document.forms.stats.stycktryck.value.split(';');
	// ---------------------------------------------------------------------------

	// Hämta besökarens val ------------------------------------------------------
	var sel_antal = parseFloat(getRadio('valform','antal'));
	var sel_tfant = getRadio('valform','tryck');
	var num_tfant = parseFloat(sel_tfant);
	var add_tfant = num_tfant - 1;
	if (document.forms['valform'].elements['leverans'].length == undefined) sel_leverans_ar = document.forms['valform'].elements['leverans'].value.split(':');
	else sel_leverans_ar = getRadio('valform','leverans').split(':');
	if (document.forms['valform'].elements['packning'].length == undefined) sel_packning_ar = document.forms['valform'].elements['packning'].value.split(':');
	else sel_packning_ar = getRadio('valform','packning').split(':');
	var sel_position = getRadio('valform','position');
	var sel_muggfarg = document.forms.valform.muggfarg.value;
	// ---------------------------------------------------------------------------

	// Beräkna totalpris ---------------------------------------------------------
	var curtotal = 0;
	for (i = 0; i < aop_ar.length; i++) {
		aop = aop_ar[i].split(':');
		if (parseFloat(aop[0]) == sel_antal) curtotal = parseFloat(aop[1]);
	}
	curtotal += parseFloat(add_tfant * document.getElementById('tfpris'+sel_antal).value);
	curtotal += parseFloat(sel_leverans_ar[1]);
	curtotal += (parseFloat(sel_packning_ar[2]) * sel_antal);
	
	// Avrunda och gångra så att styckpris och totalpris stämmer! (nytt höst 2011)
	curstyck = curtotal / sel_antal;
	rundstyckpre = curstyck * 100;
  rundstyckpost = (Math.round(rundstyckpre) / 100);
  curtotal = Math.round(rundstyckpost * sel_antal);

	// ---------------------------------------------------------------------------

	// Beräkna prisskillnader för ej valda ANTAL och visa i valboxen -------------
	for (i = 0; i < aop_ar.length; i++) {
		var anttotal = 0;
		aop = aop_ar[i].split(':');
		if (parseFloat(aop[0]) == sel_antal) document.getElementById('diff'+sel_antal).innerHTML = '';
		else {
			anttotal = parseFloat(aop[1]);
			anttotal += (add_tfant * parseFloat(document.getElementById('tfpris'+aop[0]).value));
			anttotal += parseFloat(sel_leverans_ar[1]);
			if (anttotal < curtotal) document.getElementById('diff'+aop[0]).innerHTML = ' (- ' + makeKrNkl(curtotal - anttotal) +')';
			else document.getElementById('diff'+aop[0]).innerHTML = ' (+ ' + makeKrNkl(anttotal - curtotal) +')';
		}
	}
	// ---------------------------------------------------------------------------

	// Beräkna prisskillnader för ej valda TRYCK och visa i valboxen -------------
	tfbeskr = Array('','Inkl. 1-f&auml;rg','Inkl. 2-f&auml;rg','Inkl. 3-f&auml;rg','Inkl. 4-f&auml;rg');
	//tftext = Array('1-f&auml;rg','2-f&auml;rg','3-f&auml;rg','4-f&auml;rg');
	for (i=1;i<5;i++) {
		if (num_tfant == i) {
			document.getElementById('diff'+i+'f').innerHTML = '';
			for (j=1;j<5;j++) {
				if (i < j ) {
					document.getElementById('diff'+j+'f').innerHTML = ' (+ ' + makeKrOreNkl(((j-i) * document.getElementById('tfpris'+sel_antal).value) / sel_antal) +')';
				}
				else if (i != j) {
					document.getElementById('diff'+j+'f').innerHTML = ' (- ' + makeKrOreNkl(((i-j) * document.getElementById('tfpris'+sel_antal).value) / sel_antal) +')';
				}
			}
			document.getElementById('sel_tryck').innerHTML = tfbeskr[i];
		}
	}

	// ---------------------------------------------------------------------------

	// Beräkna prisskillnader för ej valda LEVERANSER och visa i valboxen --------
	if (document.forms['valform'].elements['leverans'].length == undefined) {
		sel_lev_text = sel_leverans_ar[2];
	}
	else {
	if (sel_leverans_ar[0] == '2v') {
		document.getElementById('diff2v').innerHTML = '';
		if (document.getElementById('diff5d')) document.getElementById('diff5d').innerHTML = ' (+ 1200:-)';
		if (document.getElementById('diff5d')) sel_lev_text = '10 dagar';
		else sel_lev_text = '2-3 veckor';
	}
	if (sel_leverans_ar[0] == '5d') {
		document.getElementById('diff5d').innerHTML = '';
		if (document.getElementById('diff2v')) document.getElementById('diff2v').innerHTML = ' (- 1200:-)';
		sel_lev_text = '3-4 dagar';
	}
	if (sel_leverans_ar[0] == '10d') {
		document.getElementById('diff10d').innerHTML = '';
		if (document.getElementById('diff3v')) document.getElementById('diff3v').innerHTML = ' (- 780:-)';
		sel_lev_text = '10 dagar';
	}
	if (sel_leverans_ar[0] == '3v') {
		document.getElementById('diff3v').innerHTML = '';
		if (document.getElementById('diff10d')) document.getElementById('diff10d').innerHTML = ' (+ 780:-)';
		sel_lev_text = '3-4 veckor';
	}
	}
	// ---------------------------------------------------------------------------

	// Beräkna prisskillnader för ej vald PACKNING och visa i valboxen --------
	if (document.forms['valform'].elements['packning'].length == undefined) {
		sel_pack_text = 'Utan styckf&ouml;rpackning';
	}
	else {
	if (sel_packning_ar[0] == 'utan') {
		document.getElementById('diffutan').innerHTML = '';
		if (document.getElementById('diffrutig')) document.getElementById('diffrutig').innerHTML = ' (+ 15:-)';
		if (document.getElementById('diffvit')) document.getElementById('diffvit').innerHTML = ' (+ 4:-)';
		if (document.getElementById('diffvitmetikett')) document.getElementById('diffvitmetikett').innerHTML = ' (+ 5,50:-)';
		sel_pack_text = 'Utan styckf&ouml;rpackning';
	}
	if (sel_packning_ar[0] == 'vit') {
		document.getElementById('diffvit').innerHTML = '';
		if (document.getElementById('diffutan')) document.getElementById('diffutan').innerHTML = ' (- 4:-)';
		if (document.getElementById('diffvitmetikett')) document.getElementById('diffvitmetikett').innerHTML = ' (+ 1,50:-)';
		sel_pack_text = 'Vit wellkartong';
	}
	if (sel_packning_ar[0] == 'vitmetikett') {
		document.getElementById('diffvitmetikett').innerHTML = '';
		if (document.getElementById('diffutan')) document.getElementById('diffutan').innerHTML = ' (- 5,50:-)';
		if (document.getElementById('diffvit')) document.getElementById('diffvit').innerHTML = ' (- 1,50:-)';
		sel_pack_text = 'Vit wellkartong m. etikett';
	}
	if (sel_packning_ar[0] == 'rutig') {
		document.getElementById('diffrutig').innerHTML = '';
		if (document.getElementById('diffutan')) document.getElementById('diffutan').innerHTML = ' (- 15:-)';
		sel_pack_text = 'Rutmönstrad wellkartong';
	}
	}
	// ---------------------------------------------------------------------------

	// Visa priser och information samt återställ ev. offertläge -----------------
	document.getElementById('sel_antal').innerHTML = sel_antal + ' st: ';
	document.getElementById('sel_total').innerHTML = makeKrOre(curtotal);
	document.getElementById('sel_styck').innerHTML = makeKrOre(curtotal/sel_antal) + '/st';
	document.getElementById('sel_inkmoms').innerHTML = "(Inkl. moms: " + makeKrOre(1.25*curtotal) + " / " + makeKrOre(1.25*(curtotal/sel_antal)) + "/st)";
	document.getElementById('bestlinktext').innerHTML = 'Best&auml;ll!';
	document.getElementById('bestform').style.display = 'inline';
	document.getElementById('offform').style.display = 'none';
	// ---------------------------------------------------------------------------

	// Sammanställ gjorda val till text att visa i beställboxen ------------------
	var besttext = sel_antal + ' st ' + sel_muggfarg + ' mugg &quot;' + muggnamn + '&quot; med ett ' + sel_tfant + '-f&auml;rgstryck p&aring; sidan ' + ((sel_position == 'mitt')? 'mittemot &ouml;rat' : sel_position + ' h&ouml;gerh&auml;nt drickare') + '. Styckf&ouml;rpackning: ' + sel_pack_text + '. Leveranstid ' + sel_lev_text + '. Totalt ex. moms: ' + makeKrNkl(curtotal);
	document.getElementById('bestval').innerHTML = besttext;
	document.forms.bestform.artbeskr.value = besttext;
	// ---------------------------------------------------------------------------

	// Återaktivera cufon fontersättning för pris ------------------------------
	Cufon.replace('.bigsum', { fontFamily: 'meloche', textShadow: '#5E6673 1px 1px' });
	// ---------------------------------------------------------------------------
	jQuery("form#bestform").show(500);
	jQuery("form#offform").hide(500);
	}
}



