var lastFocus = null;
var lastEmbeddedForm = null;

Event.observe(window, "load", function() {

	setBodyHeight();
	setFocus();
    fixPng();
    setMenuHover();

	if ($('singleCheckBoxSelector') != null) { setSingleCheckEvent(); }

    if  ($("tabsCont")) setTabsEvent();

    if ($('accor')) {
        if ($('accor').checked) {
            $('accorVoucherNode').style.display = 'block';
        }
    }

    if ($('sodexho')) {
        if ($('sodexho').checked) {
            $('sodexhoVoucherNode').style.display = 'block';
        }
    }

	matchColumns();
});

function setBodyHeight() {
	Prototype.Browser.IE6 = Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 6;

	if (Prototype.Browser.IE6) {
		document.body.style.height = document.documentElement.scrollHeight+'px';
	}

}

/* h1 elrejtes amig ki nem csereli a sIFR */
for (i in document.styleSheets){
    var styleSheet = document.styleSheets[i];
    if(styleSheet.href){
        if(styleSheet.href.indexOf('common.css') != -1){
            if(sIFR.ua.flashVersion >= 7){
                if(styleSheet.insertRule){
                    styleSheet.insertRule('div#pContent h1 {visibility: hidden;}',i);
                }else{
                    styleSheet.addRule('div#pContent h1','visibility: hidden',i);
                }
            }
        }
    }
}
/* h1 elrejtes amig ki nem csereli a sIFR */

/* TabControll */
function chTabs(lnkElement, tabNum) {

    tabsNodes.each(function (liNodes, num) { $(tabsNodes[num]).removeClassName("active"); })

    tabDivs.each(function (liNodes, num) { $(tabDivs[num]).hide(); })

    $(lnkElement).up("LI").addClassName("active");

    $(tabDivs[tabNum]).show();

    if ($(lnkElement).up().nodeName == 'LABEL') $(lnkElement).up('LI').down('INPUT').checked = 'true';
}

function setTabsEvent() {
    tabCont = $("tabsCont");
    tabsLi = tabCont.getElementsByTagName("LI")
    tabsNodes = $A(tabsLi);
    tabsNodes.each(function (liNode, num) {
        tabEvent = function(e) { chTabs(this,num); Event.stop(e); return false; }
        var node = tabsNodes[num].getElementsByTagName("A")[0];
        Event.observe(node, 'click', tabEvent, false);
    })
    tabDivs = $(document).getElementsByClassName('tabContent');

}

function setBannedTab(status) {
    if (status == true) {

        $("corpTab").addClassName("inactivTab");

        $("personTab").up("LI").addClassName("active");

        Event.stopObserving($("corpTab"), "click", tabEvent, false);

        chTabs('personTab',0);

    } else {
        $("corpTab").removeClassName("inactivTab");

        tabEvent = function() {chTabs(this,1); return false;}
        Event.observe($("corpTab"), 'click', tabEvent, false);
    }
}

/* TabControll */

/* Tobb checkbox eseten csak egyet lehessen kivalasztani */

function setCheck(e) {
	var currentlyCheckedId = Event.element(e).getAttribute('id');
	
	if($(currentlyCheckedId).checked == false) {
		$(currentlyCheckedId).up().up().removeClassName('hoverTd');
	}
	else {
		var checkBoxes = $('singleCheckBoxSelector').getElementsByTagName('INPUT');

		for (i = 0; i < checkBoxes.length; i++) {
			var id = checkBoxes[i].getAttribute('id');
			if (id != currentlyCheckedId) {
				if (checkBoxes[i].checked != false) {
					checkBoxes[i].checked = false;
					if ($(id).up().up().hasClassName('hoverTd')) {
						$(id).up().up().removeClassName('hoverTd');
					}
				}
			}
		}
		$(currentlyCheckedId).up().up().addClassName('hoverTd');
	}
}

function setSingleCheckEvent() {
	var checkBoxes = $('singleCheckBoxSelector').getElementsByTagName('INPUT');

	for (i = 0; i < checkBoxes.length; i++) {
		var element = checkBoxes[i];
		element.checked = false;
		Event.observe(element, 'click', setCheck.bindAsEventListener(element));
	}
}

/* Tobb checkbox eseten csak egyet lehessen kivalasztani */


function setMenuHover() {
    var cont = $("mainNavigation");
    
    if (cont) {
        var menuList = cont.getElementsByTagName('IMG');
        var menuImgs = $A(menuList);
        
        menuImgs.each(function(node){
            node.onmouseover = function() { node.src = String(node.src).replace("-off","-on");}
        	node.onmouseout = function() { node.src = String(node.src).replace("-on","-off");}
        });
    }
}

/* fokuszkezeles */

function addFocusClass() {
    $$('input[type=text]').each( function( element, idx) {
        var labelElement = $(element).up().down('label.small');
        if(labelElement){
            Event.observe( element, 'focus', function(e) {
                labelElement.addClassName('active');
            });
            Event.observe( element, 'blur', function(e) {
                labelElement.removeClassName('active');
            });
        }
	});
}

function setFttFocus(element) {
		//Focus the type
        Event.observe( element, 'focus', function(e) {
            var embeddedForm;
            var focusDiv = $(element).up('div.formRow');

            if(focusDiv){
                var embeddedForm = $(element).up('div.formRow').down('div.embeddedForm');
            }

            if(lastFocus){
                $(lastFocus).removeClassName('focused');
            }
            if(lastEmbeddedForm && lastEmbeddedForm != embeddedForm){
            	if (lastEmbeddedForm.hasClassName('noHide') != true) {
                	var formTable = lastEmbeddedForm.up('.formTable');
                	var formRows = formTable.adjacent('.formRow');
                	if (formRows.length < 1) {
                		$(lastEmbeddedForm).hide();
                	}
                }
                else {
                	$(lastEmbeddedForm).hide();
                }
            }
            if(embeddedForm){
                lastEmbeddedForm = embeddedForm;
                $(embeddedForm).show();
            }
            if (focusDiv) {
                focusDiv.addClassName('focused');
                //focusDiv elso radiogombja. szerencses esetben az alcsoport-kivalaszto lesz az :)
                var rbFirst = focusDiv.down('input.radio');
                //beagyazott alcsoportoknal bekapcsoljuk az alcsoportot jelolo radiogombot
                //pl.: wsc/komponens_altalanos.html oldalon a telefonszam -> erre a szamra sorban
                //Ha az rbFirst a focus esemenyt kivalto radiogomb csoportjaban van, nem szabad bekapcsolni
                //mert kikapcsolja azt amelyikre rakerult a fokusz
                //--
                // Kikommenteztuk, mert valtozott a HTML-szerkezet, es igy mar azt eredmenyezte,
                //hogy nem checkolodott be a fokuszkontener fo radiogombja
                //if(rbFirst && $(element).readAttribute('name') != $(rbFirst).readAttribute('name')){
//                    rbFirst.checked = "checked";
                /*
                }
                */
                lastFocus = focusDiv;
            }
        });
}

function setFtlFocus(element) {
            //Focus the line
            var focusDiv = element.up('div.focusCont');
            var formRow = element.up('div.formRow');
            var embeddedForm;
            //beagyazott form megjelenites
            if(formRow){
                embeddedForm = $(formRow).down('div.embeddedForm');
            }

            if(lastFocus){
                $(lastFocus).removeClassName('focused');
            }

            if(lastEmbeddedForm && lastEmbeddedForm != embeddedForm && lastEmbeddedForm.hasClassName('noHide') != true){
                $(lastEmbeddedForm).hide();
            }
            if(focusDiv){
                focusDiv.addClassName('focused');
                if(formRow){
                    var rbFirst = formRow.down('input.radio');
                    if(rbFirst && $(element).readAttribute('name') != $(rbFirst).readAttribute('name') && $(element).readAttribute('name').indexOf('_townName') > -1){
						if (!element.hasClassName('subscriptionSwitcher')) {
                            rbFirst.checked = "checked";
                        }
                    }
                }
                lastFocus = focusDiv;
            }
			if(embeddedForm){
                lastEmbeddedForm = embeddedForm;
                $(embeddedForm).style.display = 'block';
            }
}

function setFocus() {

	addFocusClass();

    $$('.ftt').each( function( element, idx) {
		setFttFocus(element);
    });

	$$('.ftl').each( function( element, idx) {
    	Event.observe( element, 'focus', function(e) {
			setFtlFocus(element);
		});
	});

}

function formChecks(formName) {
	var returnvar = true;
    return returnvar;
}

function enterAsTab(f, a){
    addEvent(f, "keypress", function(e){
        var l, i, f, j, o = e.target;
        if(e.key == 13 && (a || !/textarea|select/i.test(o.type))){
            for(i = l = (f = o.form.elements).length; f[--i] != o;);
            for(j = i; (j = (j + 1) % l) != i && (!f[j].type || f[j].disabled || f[j].readOnly || f[j].type.toLowerCase() == "hidden"););
            e.preventDefault(); j != i && f[j].focus();
        }
    });
};

function changeSearch(input_text) {
	var input_field = document.getElementById("tsearchQ");
	if (input_field) {
		input_field.onblur = function () {
			if (this.value == "") {
				this.value = input_text;
			}
		}
		input_field.onfocus = function () {
			if (this.value == input_text) {
				this.value = "";
			}
		}
	}
}

function matchColumns() {
	var columns = $$('body.LUEO2 div.panel');
	var max_height = columns.invoke('getHeight').max();
	columns.invoke('setStyle', {height: max_height + 'px'});
}
