yt_color = 'C50F01';
yt_pixel_size = 20;
yt_real_size = 'S';
yt_font = 'aachen';

FLIR.init({ path: 'templates/annawand/facelift/' });

$(document).ready(function() {
    $('#yt_text_input').keyup(function() {
		if ( ($(this).val() != this.defaultValue) && ($(this).val() != '') ) {
			yt_update_text();
			yt_update_price();
			$('#button_in_cart').show();
		} else {
			$(this).val('');
			yt_reset();
			$(this).val(this.defaultValue);
		}
	});

	$('#yt_text_input').blur(function() {
		if ( ($(this).val() != this.defaultValue) && ($(this).val() != '') ) {
			yt_update_text();
			yt_update_price();
			$('#button_in_cart').show();
		} else {
			$(this).val('');
			yt_reset();
			$(this).val(this.defaultValue);
		}
	});
});

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

/**
 * yt_set_font
 *
 */
function yt_set_font(option, id, opt)
{
	yt_select_option(option, id);
	yt_font = opt;

	if ( ($('#yt_text_input').val() != $('#yt_text_input').attr('defaultValue')) && ($('#yt_text_input').val() != '') ) {
		yt_update_text();
		yt_update_price();
	} else {
		$('#yt_text_input').val('');
		yt_reset();
		$('#yt_text_input').val($('#yt_text_input').attr('defaultValue'));
	}

	$('#fonts img').removeClass();
	$('#font_' + id).addClass('active');
}

/**
 * yt_set_size
 *
 */
function yt_set_size(option, id, rs, ps)
{
	yt_select_option(option, id);
	yt_real_size = rs;
	yt_pixel_size = ps;

	if ( ($('#yt_text_input').val() != $('#yt_text_input').attr('defaultValue')) && ($('#yt_text_input').val() != '') ) {
		yt_update_text();
		yt_update_price();
	} else {
		$('#yt_text_input').val('');
		yt_reset();
		$('#yt_text_input').val($('#yt_text_input').attr('defaultValue'));
	}

	$('#size p').removeClass();
	$('#size_' + id).addClass('active');
}

/**
 * yt_set_color
 *
 */
function yt_set_color(option, id, opt)
{
	if ( opt == 'FFFFFF' ) {
		$('#yt_text_preview').css('background-color', '#DDDDDD');
	} else {
		$('#yt_text_preview').css('background-color', '#FFFFFF');
	}

	yt_select_option(option, id);
	yt_color = opt;

	if ( ($('#yt_text_input').val() != $('#yt_text_input').attr('defaultValue')) && ($('#yt_text_input').val() != '') ) {
		yt_update_text();
		yt_update_price();
	} else {
		$('#yt_text_input').val('');
		yt_reset();
		$('#yt_text_input').val($('#yt_text_input').attr('defaultValue'));
	}

	$('#colors img').removeClass('active');
	$('#item_img_' + id).addClass('active');
}

/**
 * yt_set_surcharge
 *
 */
function yt_set_surcharge(val)
{
	$('.surcharge').each( function() {
		if ( this.id == 'sc_' + val ) {
			this.checked = 'checked';
		} else {
			this.checked = '';
		}
	});
}

/**
 * yt_ update_text
 *
 */
function yt_update_text()
{
	var bg = 'ffffff';

	if ( yt_color == 'FFFFFF') {
		bg = 'dddddd';
	}

	var fstyle = new FLIRStyle({
		cColor: yt_color,
		cSize: yt_pixel_size,
		cFont: yt_font,
		output: 'gif',
		cBackground: bg
	});

	//$('#yt_text_preview').text(trim($('#yt_text_input').val()));
	$('#yt_text_preview').text($('#yt_text_input').val());
	$('#yt_text_preview').removeClass('flir-replaced');
	$('#yt_text_preview').removeAttr('flirReplaced');

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

	return true;
}

function yt_reset()
{
	yt_set_surcharge('40_5');
	yt_update_text();
	$('#text_dimensions').val('');
	$('#text_dimensions_display').text('');
	$('#products_price').text('29,00 €');
	$('#button_in_cart').hide();
}

/**
 * yt_update_price
 *
 */
function yt_update_price()
{
	$('#yt_text_preview img').load(function() {

		var f = 0;
		var price = 0;
		var s = 0;

		switch ( yt_real_size ) {
			case 'S':
				f = 5;
				s = 5;
				price = 29;
				break;

			case 'M':
				f = 7;
				s = 7;
				price = 35;
				break;

			case 'L':
				f = 11;
				s = 9;
				price = 39;
				break;
			}

			var result = (f / $('#yt_text_preview img')[0].height * $('#yt_text_preview img')[0].width).toFixed(2);

			if ( result > 200 ) {
				alert(
					'Bei 200 cm ist aus technischen Gründen leider Schluss. Für Texte, die darüber hinausgehen, legen Sie den aktuellen Stand in den Warenkorb. Führen Sie den Satz mit mit einer neuen Eingabe weiter. Vielen Dank für Ihr Verständnis.'
				);
				var txt = $('#yt_text_input').val();
				txt = txt.slice(0, txt.length -1);
				$('#yt_text_input').val(txt);
				yt_update_text();
				return false;
			}

			if ( result > 40 ) {
				price += (Math.ceil(result / 40) - 1) * 10;
			}

			switch ( true ) {

				case result < 40:
					yt_set_surcharge(40 + '_' + s);
					break;

				case result >= 40 && result < 80:
					yt_set_surcharge(80 + '_' + s);
					break;

				case result >= 80 && result < 120:
					yt_set_surcharge(120 + '_' + s);
					break;

				case result >= 120 && result < 160:
					yt_set_surcharge(160 + '_' + s);
					break;

				case result >= 160 && result < 200:
					yt_set_surcharge(200 + '_' + s);
					break;

				case result >= 200 && result < 240:
					yt_set_surcharge(240 + '_' + s);
					break;

				case result >= 240 && result < 280:
					yt_set_surcharge(280 + '_' + s);
					break;

				case result >= 280:
					yt_set_surcharge(280 + '_' + s);
					break;
			}

			$('#text_dimensions').val('Breite: ' + result + ' cm');
			$('#text_dimensions_display').text('Länge des Textes: ca. ' + result + ' cm');
			$('#products_price').text(price + ',00 €');
	});
}

/**
 * toggle_deco_image
 *
 */
function toggle_deco_image(item)
{
	var n = $('#preview_deco')[0].src.replace(/(.*bg_).*/, item + '.gif');
	n = RegExp.$1 + n;
	$('#preview_deco')[0].src = n;
	$('#deco_options img').removeClass('active');
	$('#deco_options img.' + item).addClass('active');
}
