color = '000000';
pixel_size = 40;
font = 'cooper_black';
prefix = 'ilove';

FLIR.init({ path: 'templates/aw/facelift/' });
fstyle = new FLIRStyle({
	cSize: pixel_size
});

$(document).ready(function() {

	$('#product_info.ilove').css('display', 'block');

    $('#text_input').keyup(function() {
		il_update_text();
		il_update_price();
	});

	il_update_text('...');
	il_update_price();
});

/**
 * choosePrefix
 *
 */
function choosePrefix(txt, def)
{

	if ( txt == 'We love' ) {
		txt = 'welove';
	} else {
		txt = 'ilove';
	}

	prefix = txt;

	$('#text_preview').removeClass();
	$('#text_preview').addClass(txt);

	if ( $('#text_input').val() == def ) {
		$('#text_input').val('...');
		il_update_text();
		$('#text_input').val(def);
		il_update_price();
	} else {
		il_update_text();
		il_update_price();
	}
}

/**
 * il_select_option
 *
 */
function il_select_option(option, id)
{
	$('.option_' + option).each( function() {
		if ( this.value == id ) {
			this.checked = 'checked';
		} else {
			this.checked = '';
		}
	});
}

/**
 * il_set_surcharge
 *
 */
function il_set_surcharge(val)
{
	var prc = 0;

	$('.surcharge').each( function() {
		if ( this.id == 'sc_' + val ) {
			this.checked = 'checked';
			prc = this.title;
		}
	});

	return parseFloat(prc);
}

/**
 * il_update_text
 *
 */
function il_update_text(txt)
{
	var fstyle = new FLIRStyle({
		cColor: color,
		cSize: pixel_size,
		cFont: font,
		realFontHeight: true,
		mode: 'progressive'
	});

	txt = txt != undefined ? txt : $('#text_input').val();

	$('#text_preview').text(trim(txt));
	$('#text_preview').removeClass('flir-replaced');
	$('#text_preview').removeAttr('flirReplaced');

	$('#text_preview').each( function() {
		FLIR.replace(this, fstyle);
	});

	return false;
}

/**
 * update_price
 *
 */
function il_update_price()
{
	$('#text_preview img').load(function() {
		//var f = 13.27;
		var f = 12.95;
		var price = 0;

		var extra = prefix == 'ilove' ? 53 : 93;
		price = 14.90;
		result = 0;

		var w = $('#text_preview img')[0].width + extra;
		var result = (f / $('#text_preview img')[0].height * w).toFixed(1);

		if ( result > 200 ) {
			alert('Der Text darf nicht mehr als 200cm lang sein. Ihre letzte Eingabe wurde gelöscht.');
			var txt = $('#text_input').val();
			txt = txt.slice(0, txt.length -1);
			$('#text_input').val(txt);
			il_update_text();
			return false;
		}

		switch ( true ) {

			case result >= 45 && result < 50:
				price += il_set_surcharge(45);
				break;

			case result >= 50 && result < 55:
				price += il_set_surcharge(50);
				break;

			case result >= 55 && result < 60:
				price += il_set_surcharge(55);
				break;

			case result >= 60 && result < 65:
				price += il_set_surcharge(60);
				break;

			case result >= 65 && result < 70:
				price += il_set_surcharge(65);
				break;

			case result >= 70 && result < 75:
				price += il_set_surcharge(70);
				break;

			case result >= 75 && result < 80:
				price += il_set_surcharge(75);
				break;

			case result >= 80 && result < 85:
				price += il_set_surcharge(80);
				break;

			case result >= 85 && result < 90:
				price += il_set_surcharge(85);
				break;

			case result >= 90 && result < 95:
				price += il_set_surcharge(90);
				break;

			case result >= 95 && result < 100:
				price += il_set_surcharge(95);
				break;

			case result >= 100 && result < 110:
				price += il_set_surcharge(100);
				break;

			case result >= 110 && result < 120:
				price += il_set_surcharge(110);
				break;

			case result >= 120 && result < 130:
				price += il_set_surcharge(120);
				break;

			case result >= 130 && result < 140:
				price += il_set_surcharge(130);
				break;

			case result >= 140 && result < 150:
				price += il_set_surcharge(140);
				break;

			case result >= 150 && result < 160:
				price += il_set_surcharge(150);
				break;

			case result >= 160 && result < 170:
				price += il_set_surcharge(160);
				break;

			case result >= 170 && result < 180:
				price += il_set_surcharge(170);
				break;

			case result >= 180 && result < 190:
				price += il_set_surcharge(180);
				break;

			case result >= 190 && result < 200:
				price += il_set_surcharge(190);
				break;

			case result >= 200:
				price += il_set_surcharge(190);
				break;
		}

		$('#text_dimensions').val('TEXTBREITE: ca. ' + result + ' cm');
		$('#text_dimensions_display span').text('ca. ' + result + ' cm');

		price = price.toFixed(2);
		price = price.toString();
		price = price.replace(/\./, ',');

		$('#price span').text(price + ' €');
	});
}

