/*
 * Orm egyedi szkriptek
 * 
 * Split jellegétől függő logika.
 */

// kültéri opció ID
var forms_splitjell_kulteri = 22;

// beltéri opció ID
var forms_splitjell_belteri = 23;

/**
 * Ellenőrzi, hogy az elem létezik-e
 * @param category
 * @returns {Boolean}
 */
function forms_splitjell_check(category)
{
	return $(forms_splitjell_selector(category)).attr("name") != undefined;
}

/**
 * Split egység jellege input selector előállítása
 * @param category
 * @returns {String}
 */
function forms_splitjell_selector(category)
{
	return "input[name='" + category + "[splitjell]']";
}

/**
 * Beltéri kialakítás input elem selector előállítása
 * @param category
 * @returns {String}
 */
function forms_belterikial_selector(category)
{
	return "select[name='" + category + "[belterikial]']";
}

/**
 * Inverter input elem selector előállítása 
 * @param category
 * @returns {String}
 */
function forms_inverter_selector(category)
{
	return "input[name='" + category + "[inverter]']";
}

/**
 * Init
 * 
 * Meghívja az onload és onclick eseményeket. Onload a dokumentum
 * betöltődésekor elrejti a nem kívánatos mezőket, onclick ugyanezt
 * teszi az elemre kattintáskor.
 * @param category
 */
function forms_splitjell_init(category)
{
	if (forms_splitjell_check(category)) {
		forms_splitjell_onload(category);
		forms_splitjell_onclick(category);
	}
}

/**
 * Onload esemény
 * @param category
 */
function forms_splitjell_onload(category)
{
	forms_splitjell_callback(category, $(forms_splitjell_selector(category) + ':checked').val());
}

/**
 * Onclick esemény
 * @param category
 */
function forms_splitjell_onclick(category)
{
	$(forms_splitjell_selector(category)).click(function(){forms_splitjell_callback(category, $(this).val());});
}

/**
 * Onload és onclick callback-ja
 * 
 * Ha a split jellege beltéri, a beltéri kialakítás mezőt mutatnunk
 * kell, minden egyéb esetben el kell rejteni.
 * 
 * Ha a split jellege kültéri, az inverter mezőt mutatnunk kell,
 * minden egyéb esetben el kell rejteni.
 * @param category
 * @param value
 */
function forms_splitjell_callback(category, value)
{
	if (value == undefined) {
		return;
	}
	// beltéri kialakítás akkor aktív, ha a split jellege beltéri
	if (value == forms_splitjell_belteri) {
		$(forms_belterikial_selector(category)).removeAttr('disabled');
    } else {
    	$(forms_belterikial_selector(category)).attr('disabled', 'disabled');
    }
	// inverter csak akkor aktív, ha a split jellege kültéri
	if (value == forms_splitjell_kulteri) {
        $(forms_inverter_selector(category)).removeAttr('disabled');
    } else {
    	$(forms_inverter_selector(category)).attr('disabled', 'disabled');
    }
}

/*
 * hűtőteljesítmény, ajánlott helységméret logika
 * 
 * a kettő közül csak az egyik lehet kiválasztva
 * 
 * ht - hűtőteljesítmény
 * ah - ajánlott helységméret
 */

/**
 * init
 * @param category az űrlap neve
 */
function forms_ht_ah_init(category)
{
	// alapértelmezésben mindent rejtünk
    forms_ht_ah_change_ht(category, true);
    forms_ht_ah_change_ah(category, true);
    
    // hűtőteljesítmény hover eseménye
    $("#" + category + "_hutotelj_slide").click(function(){
    	forms_ht_ah_change_ah(category, true);
    	forms_ht_ah_change_ht(category, false);
	});

    // helység alapterület hover eseménye
    $("#" + category + "_ahmeret_slide").click(function(){
    	forms_ht_ah_change_ah(category, false);
    	forms_ht_ah_change_ht(category, true);
	});
}

/**
 * Hűtőteljesítmény mező aktiválása
 * @param category az űrlap neve (db__category_monosplit)
 * @param disabled true vagy false
 */
function forms_ht_ah_change_ht(category, disabled)
{
	$("#" + category + "_hutotelj_slide").slider("option", "disabled", disabled);
	$("input[name='" + category + "[hutotelj__From]']").attr("disabled", disabled);
	$("input[name='" + category + "[hutotelj__To]']").attr("disabled", disabled);
}

/**
 * Helység alapterület mező aktiválása
 * @param category az űrlap neve (db__category_monosplit)
 * @param disabled true vagy false
 */
function forms_ht_ah_change_ah(category, disabled)
{
	$("#" + category + "_ahmeret_slide").slider("option", "disabled", disabled);
	$("input[name='" + category + "[ahmeret]']").attr("disabled", disabled);
}



