var aGyermekekSzama = ['0 vagy 1','2','3','4','5','6 vagy több'];
var showHouse = true;
var checkAdditionalRule=true;
	
String.prototype.ucFirst = function () {
	return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
}

String.prototype.numValue = function () {
	return parseInt(this.replace(/[^0-9]/gi,''));
}

function makeSliders(params) {
	for(var i=0; i<params.length; i++) {
		switch (params[i])
		{
			case 'onero':
				$(document).ready(function() {
						$("#onero").slider({
							value:	pOnero.min,
							min:	pOnero.min,
							max:	pOnero.max,
							step:	pOnero.step,
							slide: function(event, ui) {
								value=document.cibform.in_vetelar.value.numValue()-ui.value;
								setSlider('onero', ui.value);
								if (checkRange(pHitelosszeg, value))
								{
									setSlider('hitelosszeg', value);
								}
							},
							stop: function(event, ui) {
								value=document.cibform.in_vetelar.value.numValue()-ui.value;
								if (!checkRange(pHitelosszeg, value))
								{
									setSlider('onero', document.cibform.in_vetelar.value.numValue()-pHitelosszeg.min);
									setSlider('hitelosszeg', pHitelosszeg.min);
									initCalc();
								}
								else
								{
									initCalc();
								}
							}
						});
						$("#onero_i").val(addCommas($("#onero").slider("value")));
				});
				break;
			
			case 'vetelar':
				$(document).ready(function() {
						$("#vetelar").slider({
							value:	pVetelar.min,
							min:	pVetelar.min,
							max:	pVetelar.max,
							step:	pVetelar.step,
							slide: function(event, ui) {
								value=ui.value-document.cibform.in_onero.value.numValue();
								$("#vetelar_i").val(addCommas(ui.value));
								if (checkRange(pHitelosszeg, value))
								{
									setSlider('hitelosszeg', value);
								}
							},
							stop: function(event, ui) {
								value=ui.value-document.cibform.in_onero.value.numValue();
								if (!checkRange(pHitelosszeg, value))
								{
									setSlider('vetelar', document.cibform.in_onero.value.numValue()+pHitelosszeg.min);
									setSlider('hitelosszeg', pHitelosszeg.min);
									initCalc();
								}
								else
								{
									initCalc();
								}
							}
						});
						$("#vetelar_i").val(addCommas($("#vetelar").slider("value")));
				});
				break;

			case 'hitelosszeg':
				$(document).ready(function() {
						$("#hitelosszeg").slider({
							value:	pHitelosszeg.min,
							min:	pHitelosszeg.min,
							max:	pHitelosszeg.max,
							step:	pHitelosszeg.step,
							slide: function(event, ui) {
								setSlider('hitelosszeg', ui.value);
								if (checkAdditionalRule)
								{
									value=document.cibform.in_hitel.value.numValue()+document.cibform.in_onero.value.numValue();
									if (checkRange(pVetelar, value))
									{
										setSlider('vetelar', value);
									}
								}
							},
							stop: function(event, ui) {
								if (checkAdditionalRule)
								{
									value=document.cibform.in_hitel.value.numValue()+document.cibform.in_onero.value.numValue();
									if (!checkRange(pVetelar, value))
									{
										setSlider('hitelosszeg', document.cibform.in_vetelar.value.numValue()-document.cibform.in_onero.value.numValue());
									}
									else
									{
										initCalc();
									}
								}
								else
								{
									initCalc();
								}
							}
						});
						$("#hitelosszeg_i").val(addCommas($("#hitelosszeg").slider("value")));
				});
			break;

			case 'gyermekek':
				$(document).ready(function() {
						$("#gyermekek").slider({
							value:	0,
							min:	0,
							max:	aGyermekekSzama.length-1,
							step:	1,
							slide: function(event, ui) {
								$("#gyermekek_i").val(aGyermekekSzama[ui.value]);
							},
							stop: function(event, ui) {
								initCalc();
							}
						});
						$("#gyermekek_i").val(aGyermekekSzama[$("#gyermekek").slider("value")]);
				});
			break;

			case 'futamido':
				$(document).ready(function() {
						$("#futamido").slider({
							value:	pFutamido.min,
							min:	pFutamido.min,
							max:	pFutamido.max,
							step:	pFutamido.step,
							slide: function(event, ui) {
								$("#futamido_i").val(ui.value);
							},
							stop: function(event, ui) {
								initCalc();
							}
						});
						$("#futamido_i").val($("#futamido").slider("value"));
				});
			break;
		}
	}
}

function setSlider(sliderStr, value) {
	if($('#'+sliderStr).length>0)
	{
		$('#'+sliderStr).slider("value", value);
	}
	if($('#'+sliderStr+'_i').length>0)
	{
		$('#'+sliderStr+'_i').val(addCommas(value));
	}
}

function addCommas(sValue) { 
	sValue = (typeof(sValue)=='object' ? String(sValue.value) : String(sValue));
	sValue=String(sValue.numValue());
	var sRegExp = new RegExp('(-?[0-9]+)([0-9]{3})');

	if(isNaN(sValue))
	{
		sValue='';
	}
	while(sRegExp.test(sValue)) 
	{ 
		sValue = sValue.replace(sRegExp, '$1.$2'); 
	} 
	return sValue;
} 

function thisMovie(movieName) {
	return (typeof(window[movieName])!='undefined' ? window[movieName] : document[movieName]);
}

function updateHouse() {
	if (!showHouse)
	{
		return;
	}
	value=Math.round(100*document.cibform.in_hitel.value.numValue()/document.cibform.in_vetelar.value.numValue());
	if(thisMovie("swfObj") && typeof(thisMovie("swfObj").fillUp)=='function')
	{
		thisMovie("swfObj").fillUp(value);
	}
	document.getElementById('houseInfo').innerHTML=value+'% hitel';
}

function checkRange(obj, value) {
	if(typeof(obj)!='object' && (!obj.min || !obj.max))
	{
		return false;
	}
	return (value>=obj.min && value<=obj.max);
}

function checkValue(obj, rangeCheck) {
	value=obj.value.numValue();
	parts=obj.id.split('_');
	sliderObj=$('#'+parts[0]);
	paramArray=eval('p'+parts[0].ucFirst());
	if(rangeCheck && !checkRange(paramArray, value))
	{
		alert('A mező értéke az érvényes intervallumon ('+addCommas(paramArray.min)+'-'+addCommas(paramArray.max)+') kívül esik!');
		obj.value=addCommas(sliderObj.slider("value"));
		return;
	}
	if(checkAdditionalRule)
	{
		switch (obj.id)
		{
			case 'onero_i':
				hitelosszegUj=document.cibform.in_vetelar.value.numValue()-value;
				if(!checkRange(pHitelosszeg, hitelosszegUj))
				{
					setSlider('onero', document.cibform.in_vetelar.value.numValue()-pHitelosszeg.min);
					setSlider('hitelosszeg', pHitelosszeg.min);
				}
				else
				{
					sliderObj.slider("value", value);
					setSlider('hitelosszeg', hitelosszegUj);
				}
			break;
			
			case 'vetelar_i':
				hitelosszegUj=value-document.cibform.in_onero.value.numValue();
				if(!checkRange(pHitelosszeg, hitelosszegUj))
				{
					setSlider('vetelar', document.cibform.in_onero.value.numValue()+pHitelosszeg.min);
					setSlider('hitelosszeg', pHitelosszeg.min);
				}
				else
				{
					sliderObj.slider("value", value);
					setSlider('hitelosszeg', hitelosszegUj);
				}
			break;

			case 'hitelosszeg_i':
				vetelarUj=document.cibform.in_hitel.value.numValue()+document.cibform.in_onero.value.numValue();	
				if (!checkRange(pVetelar, vetelarUj))
				{
					setSlider('hitelosszeg', document.cibform.in_vetelar.value.numValue()-document.cibform.in_onero.value.numValue());
				}
				else
				{
					setSlider('vetelar', vetelarUj);
					sliderObj.slider("value", value);
				}
			break;
			
			default:
				sliderObj.slider("value", value);
		}
	}
	initCalc();
}
