$(document).ready(function()
{
$('#ajax_request').bind('click', function(){$.blockUI('<h1>Se calculeaza</h1>');document.timeout = setTimeout(ask_server, 100) ; $('div#ajax_response').attr('title', 'click pentru confirmare calcul pret'); $('div#ajax_response').css('backgroundColor', 'transparent'); return false;});
$('div.calculatie').live('mouseenter', function(){
$(this).css('background-color', '#F5FCB8')}).live('mouseleave', 
function(){$(this).removeAttr('style')}).live('click', 
function(){ if ( ! $(this).attr('removed') && $(this).html()) 
{
$('[name=mesaj]').val($(this).text());
window.location.hash = '#cere-pret'; /*document.location.href = 'mailto:'+ $('input#em').val() + '?subject=Cotatie Tipografix' + '&body=' + escape($(this).find('pre').html());*/
}
});
$('.cotatie_close').live('click', function(event){$(this).parent().attr('removed', 1); $(this).parent().remove();})
$('#em').bind('keyup', validateForm);
$('#nr_f').bind('blur', validateForm);
$('#nr').bind('blur', validateForm);
$('#tip_hartie').bind('change', validateForm);
$('#fp').bind('change', function(){ _formateA3(); validateForm();});
$('#reset').bind('click', function(){$('#calculatie').get(0).reset(); $('div#ajax_response').text('');$('div#ajax_response').html($orig_cnt);});

valute = function()
{
	if ($('Cube').length) return;
	
	//var url = '/valuta.php';
	var url = '/valuta';
	var special_valutes = {'EUR' : 1, 'USD': 1};
	var cls = 'on_blue';
	$.get(url, function(data)
		{
			$('#body').append('<span id="cub">'+data+'</span>');
			var opt = '<option value="1" class="'+cls+'">RON</option>';
			var css_class = '';
			$('Cube rate').each(
				function(i, el)
				{
					css_class = (special_valutes[$(el).attr('currency')]) ? 'class="'+cls+'"' : '';
					{
					
					}
					// create options
					opt += '<option '+css_class+' value="'+( parseFloat($(el).text()) / Math.max(1, $(el).attr('multiplier') || 1) )+'">'+ $(el).attr('currency')+'</option>'
					$('#moneda').html(opt);

				}
			);
			
			$('#cub').hide();
			
		}
	)

	//console.log(eur);
}

$('#moneda').bind('change', valute);

$orig_cnt = $('div#ajax_response').html();
//$('#calculatie').submit(function(){return false;});


function _IntregPanaIn29(nm)
{
		$rem = 'valoarea trebuie sa fie un nr intreg diferit de zero (fara virgula, puncte) doar cifre pana in 29 inclusiv';
		var re = new RegExp(/^([1-9]|[1-2]\d)$/);
		nm = '#' + nm;
		var ret = re.exec($(nm).val());
		if(ret == null)
		{
			$(nm).addClass('wrong');
			$('#fp').addClass('wrong');
			$('#frm_status').text($rem);
			//pastram doar partea valida
			var re1 = new RegExp(/([1-2]\d|[1-9])/);
			var ret1 = re1.exec($(nm).val());
			if(ret1 == null)
			{
				$(nm).val = '';
			}
			else
			{
				$(nm).val = ret1[0];
			}
			$(nm).focus();
			return false;
		};
		$(nm).removeClass('wrong');
		$('#fp').removeClass('wrong');
		return true;
}

function _Intreg(nm)
{
		$rem = 'valoarea trebuie sa fie un nr intreg diferit de zero (fara virgula, puncte) doar cifre';
		var re = new RegExp(/^[1-9]\d*$/);
		nm = '#' + nm;
		var ret = re.exec($(nm).val());
		if(ret == null)
		{
		$(nm).addClass('wrong');
		$('#frm_status').text($rem);
			//pastram doar partea valida
			var re1 = new RegExp(/\d+/);
			var ret1 = re1.exec($(nm).val());
			if(ret1 == null)
			{
				$(nm).val('');
			}
			else
			{
				$(nm).val(ret1);
			}
			$(nm).focus();
			return false;
		};
		$(nm).removeClass('wrong');
		return true;
}

function _AlegeHartia(nm)
{
		$rem = 'Alegeti tipul de hartie';
		nm = '#' + nm;
		var txt = $(nm).val();
		if(txt == 'alegeti hartia')
		{
			$(nm).addClass( 'wrong');
			$('#frm_status').text($rem);
			return false;
		}
		else
		{
			$('#frm_status').text('');
		}
		$(nm).removeClass('wrong');
		return true;
}


function _formateA3()
{
	var val = $('#fp').val();
	$('#nr_f').val(val);
}

function _checkMail(nm)
{
	$rem = 'Adresa de email incorecta!!!';
	var re = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
	nm = '#' + nm;
	var ret = re.exec($(nm).val());
		if(ret == null)
		{
			$(nm).addClass( 'wrong');
			$('#frm_status').text($rem);
			$(nm).focus();
			return false;
		};
	$(nm).removeClass('wrong');
	return true;
}

function _nstat()
{
	$('#frm_status').text('');
}

function validateForm()
{
	$('#frm_status'). hide();
	
	var ret =
	_IntregPanaIn29('nr_f') &&
	_Intreg('nr') &&
	_AlegeHartia('tip_hartie') &&
	_checkMail('em');

	ret ? $('#frm_status'). hide() : $('#frm_status').show();
	return ret;
}


function ask_server()
{
	if( ! validateForm()) {$.unblockUI();return;}

	var dimHartie = ($('#fm').val() =='1')?0.64*0.88:0.7*1;  
	var hartie = 0.25 * (dimHartie *  Number($('#tip_hartie').val()) * 1020) / 1000000;
 
	var cf = Number($('#nr_culori_fata').val());
	var cv = Number($('#nr_culori_verso').val());
	var tiraj = Number($('#nr').val());

	var pret_nr_biguri  = $('#nr_biguri').val();
	var pretBiguri = tiraj * pret_nr_biguri;
	var filme = ($('#clapa').checked == true)?0.5*5 * (cf + cv):5 * (cf + cv);
	var tirajTipar = parseInt(tiraj / $('#nr_f').val());
	if (tirajTipar > 100000)
	{
			alert('Numar mare de coli tipografice.' + 
			"\n" + ' Va rugam contactati-ne pentru o cotatie personalizata de pret'
			+ "\n" + ' sau alegeti un tiraj mai mic');
			$('#nr').addClass( 'wrong');
			$('#frm_status').text('Tirajul ales rezulta intr-un nr mare de coli tipografice');
			$.unblockUI();
			return false;
	}

	var k = (1.68 - Math.log(tirajTipar)/20).toFixed(2); //(2.25 - Math.log(tirajTipar)/10).toFixed(2);	
	//var pret = k * (tipar[tirajTipar] + k*hartie * (prisoase[tirajTipar] + tirajTipar) + filme + pretBiguri);
	var vit = 4000;
	var  _val_timp = (tirajTipar + 100) / vit;
	var taieri = Math.floor(parseInt($('#nr_f').val()) / 2) * Math.ceil(parseInt(tirajTipar / 200)) * 0.25;

	var val = 30;
	var val_timp = (_val_timp < 1)? val : val + (tirajTipar - 1000)/vit*val;
	var pf = (cf == 0) ? 0 : val_timp;
	var pv = (cv == 0) ? 0 : _val_timp*val;
	var moneda = $('#moneda option:selected').text();
	var k_moneda = ( $('Cube rate[currency=EUR]').text() || $('#moneda option:selected').val() )/ ( 1*$('#moneda option:selected').val() );
	//console.log(k_moneda);
	var pret = k_moneda * k * (hartie * tirajTipar + (pf + pv) + filme + pretBiguri + taieri); 

	verbo = 'formate pe A3: ' + $('#nr_f').val() + "\r\n" + 'tiraj: ' + tiraj + ' buc.' + "\r\n" + 'culori fata : ' + $('#nr_culori_fata').val() + "\r\n" + 'culori verso: ' + $('#nr_culori_verso').val() + "\r\n" + 'tip hartie : ' + $('#tip_hartie').val() + 'g' + "\r\n" + 'nr biguri: ' + $($('#nr_biguri').get(0).options[$('#nr_biguri').get(0).selectedIndex]).text() + "\r\n" +'_____________________' + "\r\n" ;
	var calcul = 'pret unitar: ' + sprintf('%01.2f',pret/tiraj)+ "\r\n" +
	'valoare: ' + sprintf('%01.2f',pret)+ "\r\n" + 
	'tva: ' + sprintf('%01.2f',pret*0.24)+ "\r\n" +
	'total: ' + sprintf('%01.2f',1.24*pret)+ "\r\n" + '(pret cu tva) in ' + moneda;
	verbo += calcul
	$('div#ajax_response').append('<div class="calculatie"><a class="cotatie_close" title="inchide cotatia"></a><pre>' + verbo +'</pre></div>');
	//$.post('cobai.php', {em: $('input#em').val()}, function(data){alert('Va rugam dati click pe dreptunghiul galben cu pretul' + "\n" +'sau sunati pentru confirmarea pretului');});

	det='';
	det = 'numar formate finite pe formatul de tipar ' + $('#nr_f').val();
	det = det + ', tiraj ' + $('#nr');
	det = det + ', culori fata ' + $('#nr_culori_fata').val();
	det = det + ', culori spate ' + $('#nr_culori_verso').val();
	det = det + ', hartie ' + $('#tip_hartie').val();


	dummy();
}

function dummy(){
	clearTimeout(document.timeout);
	$.unblockUI();
	//$('div.calculatie').css('backgroundColor', 'yellow');
	return false;	
}
});

