function Core(){
    this.method = 'get';
    this.modulePath = 'http://tudositok.hu/process.php';
    this.menupopup_is_visible = false;
    this.QuickList = {};
    this.Gallery = {};
    this.Media = {};
    this.Forum = {};
    this.User = {};
    this.ui = {};
    
    this.browser = this.getBrowser();
    
    
};

Core.prototype.init = function(){

    $("#alert_dialog").dialog({
        resizable: false,
        autoOpen: false
    });
    
    //táblázatok fehér-piros variációinak létrehozása
    $('.content_table table tr:odd').addClass('odd');
    
    
    /* menu content popups */
    //$('div.popup_container_inner').wrap('<div class="popup_container_outer"></div>');
    //$('div.popup_container_inner').corner("round bottom tr 6px").parent().css('padding', '5px').corner("round bottom tr 10px");
    
    /*
     $('div.popup_container .title').before('<div class="title_left"></div>');
     $('div.popup_container .title').after('<div class="title_right"></div>');
     $('div.popup_container .content').before('<div class="content_header"></div>');
     $('div.popup_container .content').after('<div class="content_footer"></div>');
     */
    $('.checkbox').live('click', function(){ // live kell, mert utólag is adhatunk hozzá tagokat, lásd: hobbi
        $(this).toggleClass('checked');
    });
    
    $('.radio_button').live('click', function(){ // live kell, mert utólag is adhatunk hozzá tagokat
        var name = $(this).attr('name');
        
        $('.radio_button').each(function(i){
            if (name == $(this).attr('name')) {
                $(this).removeClass('checked');
            }
        });
        $(this).addClass('checked');
        
    });
    
    //select box
    $('select').live('change', function(event){ // live kell, mert utólag is adhatunk hozzá tagokat
        if ($(this).hasClass('sortorderselect')) {
        
        } else {
            var str = "";
            $(this).find('option:selected').each(function(){
                str += $(this).text() + " ";
            });
            $(this).prev().text(str);
            
        }
    }); //.change()
    $('select').each(function(){
        if ($(this).hasClass('sortorderselect')) { // ha oldal-léptető legördülő menü (ott a onchange van és az első elem nem üres, mint más hasonló helyen)
            if ($(this).find('option:selected')) {
                var str = $(this).find('option:selected').text();
            } else {
                var str = $(this).find('option:first').text();
            }
            
            $(this).prev().text(str);
        } else { // minden más "hagyományos" legördülő
            $(this).trigger('change');
        }
    })
    //$('select.foo option:selected').val();
    
    
    // textbox default value swap pl:keresés
    var swap_val = [];
    $('.swap').each(function(i){
        swap_val[i] = $(this).val();
        $(this).focusin(function(){
            
            /*
            if ($(this).val() == swap_val[i]) {
                $(this).val('');
            }
            */
            if ($(this).val() == 'Keresés') {
                $(this).val('');
            }
            
        }).focusout(function(){
            if ($.trim($(this).val()) == '') {
                $(this).val(swap_val[i]);
            }
        });
        /*
        $(this).bind('keyup', function(){
            if ($(this).val() == '') {
                $(this).val(swap_val[i]);
            }            
        });
        */
    });
    
    
    $('.error_msg').live('click', function(){
        $(this).fadeOut(function(){
            $(this).remove()
        });
    });
    
    $('#tooltip').live('click', function(){
        $(this).fadeOut(function(){
            $(this).remove()
        });
    });
    //KÉPEN KLIKKELÉS!
    var video_entries = $('.video_entry .video_thumb_details');
    video_entries.live('click', function(event){ // live kell, mert utólag is adhatunk hozzá tagokat
        if (event.target == $(this).find('a')[0]) { // ha a 'gyorslistához ad' gombra kattint die!
            return false;
        }
        location.href = $(this).attr('video_link');
    });
    
    //KÉPEN KLIKKELÉS!
    var related_video = $('.sidebar_item .picture_link');
    related_video.live('click', function(event){ // live kell, mert utólag is adhatunk hozzá tagokat
        if (event.target == $(this).find('a')[0]) { // ha a 'gyorslistához ad' gombra kattint die!
            return false;
        }
        location.href = $(this).attr('video_link');
    });
};

Core.prototype.initCorner = function(){
    return false;
    
    setTimeout(function(){
        $('#main_menu li.active').bg(['5px', '5px', '0px', '0px']);
        $('#sub_menu li.active').bg(['5px', '5px', '0px', '0px']);
        $('#third_level_menu li.active').bg(['5px', '5px', '0px', '0px']);
        //$('.popup_container .title').bg(['10px', '10px', '0px', '0px']);
        //$('.popup_container .content').bg(['0', '10px', '10px', '10px']);
        /*
         $('.popup_container_2 .title').bg(['10px', '10px', '0px', '0px']);
         $('.popup_container_2 .content').bg(['10px', '0', '10px', '10px']);
         */
        //$('.content_item').bg(5);
        //$('.content_picture_details div').bg(5);
        //$('.carousel_picture_details div').bg(5);
    }, 1);
};



Core.prototype.cmdSwitchDialogTab = function(tab){
    $('#share_dialog_tab_0').hide();
    $('#share_dialog_tab_1').hide();
    $('#share_dialog_tab_2').hide();
    
    $('#share_dialog_tabbar_0').removeClass('active');
    $('#share_dialog_tabbar_1').removeClass('active');
    $('#share_dialog_tabbar_2').removeClass('active');
    
    $('#share_dialog_tab_' + tab).show();
    $('#share_dialog_tabbar_' + tab).addClass('active');
    
    
    
};

Core.prototype.cmdShowDropDown = function(element){
    var menu = $(element).siblings('.dropdown_menu');
    menu.toggle();
};

Core.prototype.cmdSetDropDownValue = function(element, id, value, second_dimension){

    var parent = $(element).parents('.dropdown');
    
    parent.find('.dropdown_text').html($(element).text());
    
    parent.find('.dropdown_menu').hide();
    
    parent.find('.dropdown_menu').each(function(i){
        var width = $(this).innerWidth();
        var text_width = $(this).siblings('.dropdown_text').innerWidth();
        //alert(width + ' ' + text_width)
        if (width > text_width) {
            if ((width - 30) > text_width) { //ha ezzel nem lesz kisebb a szövegdoboz mérete...
                $(this).siblings('.dropdown_text').css({
                    width: width - 30 + 'px' //30px: dropdown_button
                });
            } else {
                $(this).css({
                    width: text_width + 20 + 'px' //30px: dropdown_button
                });
            }
        } else {
            $(this).css({
                width: $(this).parent().width() - 2 + 'px'
            });
        }
    });
    
};

Core.prototype.cmdSetFilterOrder = function(element, xurl){

    location.href = ($(element).hasClass('dec')) ? (xurl + '/?sro=0') : (xurl + '/?sro=1');
    
};

Core.prototype.cmdRemoveListItem = function(element){
    var item = $(element).parents('li');
    if (item) {
        item.remove();
    } else { // van amikor magát a hivatkozó objektumot kell törölni
        element.remove();
    }
};

Core.prototype.cmdAddListItem = function(type, element){
    var item = $(element).parents('li');
    switch (type) {
    
        // VIDEÓ FELTÖLTÉS:
        case 'video_upload_form_author':
            var html = '<li class="box_small creator"><div class="multi"><div class="selectbox select_230"><div class="selectbox_text"></div><select class="select_creator_name" onchange="classUpload.cmdSetWork(this);"></select></div><div class="selectbox select_230"><div class="selectbox_text"></div><select class="select_creator_work"></select></div><div style="float:right; margin-right:4px;display:table; overflow:hidden; "><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'video_upload_form_author\', this);"></div></div></div></li>';
            
            var new_item = item.after(html); // new_item = item
            classUpload.cmdSetCreator(item.next());
            //item.next().find('select').trigger('change'); //csak akkor frissíti a szöveget, ha onchange van, így manuálisan imitáljuk az event-et! ;)
            return item.next();
            break;
            
        // MODERÁLÁS:    
        case 'moderator_hatokor':
            
            var html = '<li class="label" style="margin-bottom:5px;">Rovat</li>' +
            '<li class="box_small"><div class="multi"><div class="selectbox select_140"><div class="selectbox_text"></div><select id="category_0" onchange="classUpload.cmdLoadVideoCategory(this,\'1\');"></select></div>' +
            '<span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select id="category_1" onchange="classUpload.cmdLoadVideoCategory(this,\'2\');"></select></div>' +
            '<span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select id="category_2"></select></div>' +
            '<div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'moderator_hatokor\',this);"></div></div></div></li>' +
            '<li class="label">Térség</li><li><div class="multi"><div class="selectbox select_140"><div class="selectbox_text"></div><select id="regio_0" onchange="classUpload.cmdLoadVideoRegio(this,\'1\');"></select></div>' +
            '<span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select id="regio_1" onchange="classUpload.cmdLoadVideoRegio(this,\'2\');"></select></div>' +
            '<span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select id="regio_2"></select></div></div></li>';
            
            item.next().next().after(html);
            item.next().find('select').trigger('change'); //csak akkor frissíti a szöveget, ha onchange van, így manuálisan imitáljuk az event-et! ;)
            break;
            
        // KATEGÓRIA & RÉGIÓ MULTI:    
        case 'category_regio_multi':
            var html = '<li class="label">Rovat</li><li class="box"><div class="multi category_container"><div class="selectbox select_140"><div class="selectbox_text"></div><select class="category_0" onchange="cmdLoadVideoCategory(this,\'1\');"></select></div><span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select class="category_1" onchange="cmdLoadVideoCategory(this,\'2\');"></select></div><span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select class="category_2"></select></div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="$(this).parents(\'li\').prev().remove();$(this).parents(\'li\').next().remove();$(this).parents(\'li\').next().remove();$(this).parents(\'li\').remove();"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'category_regio_multi\',this);"></div></div></div><div class="tooltip_info_icon" onclick="$(\'#tooltip_dialog\').text($(this).text()); $(\'#tooltip_dialog\').dialog(\'open\');">Rovat információ...</div></li>' +
            '<li class="label box" style="background-position: 0 -50px;">Térség</li><li class="box" style="background-position: 0 -104px;"><div class="multi regio_container"><div class="selectbox select_140"><div class="selectbox_text"></div><select class="regio_0" onchange="cmdLoadVideoRegio(this,\'1\');"></select></div><span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select class="regio_1" onchange="cmdLoadVideoRegio(this,\'2\');"></select></div><span class="input_separator"></span><div class="selectbox select_140"><div class="selectbox_text"></div><select class="regio_2"></select></div></div><div class="tooltip_info_icon" onclick="$(\'#tooltip_dialog\').text($(this).text()); $(\'#tooltip_dialog\').dialog(\'open\');">Térség információ...</div></li>';
            
            /*  
         * specials
         */
            var box = $(element).parents('li').next().next();
            box.after(html);
            
            var category_container = box.next().next().find('.category_container');
            var regio_container = box.next().next().next().next().find('.regio_container');
            
            cmdLoadDropDownContent(category_container, regio_container); // pl: HIRLEVEL.PHP
            //$(element).parents('li').next().next().find('select').trigger('change'); //csak akkor frissíti a szöveget, ha onchange van, így manuálisan imitáljuk az event-et! ;)
            break;
            
        // ÜZENETEK:	
        case 'new_message_recipent':
            // fontos: RECIPENT_HTML az uzenetek_uj -fájlban van difiniálva!
            var html = '<li class="box_small"><span>Név:</span><div class="selectbox select_260"><div class="selectbox_text"></div>' + RECIPENT_HTML + '</div><div style="float:right; margin-right:25px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'new_message_recipent\',this);"></div></div></li>';
            var new_item = item.after(html); // new_item = item
            item.next().find('select').trigger('change'); //csak akkor frissíti a szöveget, ha onchange van, így manuálisan imitáljuk az event-et! ;)
            break;
            
        // FELHASZNÁLÓK KEZELÉSE:
        /*
         case 'user_group':
         // fontos: USER_GROUP_HTML a felhasznalok_besorolasa_admin -fájlban van difiniálva!
         var html = '<li class="box_small"><div class="selectbox select_260"><div class="selectbox_text"></div><select class="select_user_group">' + USER_GROUP_HTML + '</select></div><div style="float:right; margin-right:25px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'user_group\',this);"></div></div></li>';
         var new_item = item.after(html); // new_item = item
         
         item.next().find('select').trigger('change'); //csak akkor frissíti a szöveget, ha onchange van, így manuálisan imitáljuk az event-et! ;)
         break;
         */
        // FELHASZNÁLÓ (NÉV/UID) ELEM:	(pl:szervezetek-admin - marketingesek)
        case 'person_item':
            var html = '<li class="box_small"><div class="multi"><span>Név:</span><div class="textbox"><input class="person_name textbox_325" type="text" disabled="true" /></div><div class="popup_button" onclick="cmdShowUserListPopup(this);"></div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'person_item\',this);"></div></div></div></li>';
            item.after(html);
            break;
            
        // SZERVEZET (NÉV/ORG_ID) ELEM:
        case 'org_item':
            var html = '<li class="box_small"><div class="multi"><span>Név:</span><div class="textbox"><input class="org_name textbox_325" type="text" disabled="true" /></div><div class="popup_button" onclick="cmdShowOrgListPopup(this);"></div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'org_item\',this);"></div></div></div></li>';
            item.after(html);
            break;
            
        // VIDEÓ KATEGÓRIÁK (FAKE) KEZELÉSE:	
        case 'video_category_fake':
            var html = '<li class="box_small"><div class="multi"><span>Név:</span><div class="textbox"><input class="fake_category_name textbox_160" type="text" /></div><span style="padding-left:5px;">URL:</span><div class="textbox"><input class="fake_category_url textbox_160" type="text" /></div><div class="fake_category_target checkbox" style="margin:5px 0 0 5px;">Új lapon</div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'video_category_fake\',this);"></div></div></div></li>';
            item.after(html);
            break;
            
        // ÚJ KÖZLEMÉNY URL:	
        case 'kozlemenyek_url':
            var html = '<li class="box_small"><div class="multi"><span>Név:</span><div class="textbox"><input class="note_url_title textbox_160" type="text" value=""/></div><span style="padding-left:5px;">URL:</span><div class="textbox"><input class="textbox_160 note_url" type="text" /></div><div class="note_url_target checkbox" style="margin:5px 0 0 5px;">Új lapon</div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'kozlemenyek_url\',this);"></div></div></div></li>';
            item.after(html);
            break;
            
        // ÚJ HÍRLEVÉL URL:
        case 'newsletter_url':
            var html = '<li class="box_small newsletter_url_box"><div class="multi"><span>Név:</span><div class="textbox"><input class="newsletter_url_title textbox_160" type="text" value=""/></div><span style="padding-left:5px;">URL:</span><div class="textbox"><input class="textbox_160 newsletter_url" type="text" /></div><div class="newsletter_url_target checkbox" style="margin:5px 0 0 5px;">Új lapon</div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'newsletter_url\',this);"></div></div></div></li>';
            item.after(html);
            break;
            
        // ÚJ FÓRUM MODERÁTOR:
        case 'forum_category_topic_combo':
            var html = '<li class="box_small"><div class="multi forum_moderator_container"><div class="selectbox select_230"><div class="selectbox_text"></div><select class="forum_category" onchange="cmdLoadForumTopic(this);"></select></div><span class="input_separator"></span><div class="selectbox select_230"><div class="selectbox_text"></div><select class="forum_topic"></select></div><div style="float:right; margin-right:4px;"><div class="dec_button" onclick="classCore.cmdRemoveListItem(this);"></div><div class="inc_button" onclick="classCore.cmdAddListItem(\'forum_category_topic_combo\',this);"></div></div></div></li>';
            item.after(html);
            cmdLoadForumCategory(item.next());
            break;
    }
    
};

Core.prototype.cmdShowSubContainer = function(element){
    $(element + ' .sub_container_title_button').toggleClass('opened');
    
    $(element + ' .content').slideToggle();
    if ($(element + ' .sub_container_title_button').hasClass('opened')) {
        $(element + ' .sub_container_title_button').find('a').text('Bezár');
    } else {
        $(element + ' .sub_container_title_button').find('a').text('Kinyit');
    }
    
	setTimeout(function(){		
		$('#sidebar_relatedvideo').find('.title a').each( function() {
	
			var h = $(this).height();
			while($(this).height() > 20) {
				var t = $.trim($(this).text());
				$(this).text(t.substring(0, t.length-1));
			}
			if(h > 20) {
				$(this).append('...');
			}
			while($(this).height() > 20) {
				var t = $.trim($(this).text());
				$(this).text($.trim(t.substring(0, t.length-4)));
				$(this).append('...');
			}
	
		});
	},500);
		
		
    //alert($(element).attr('id'))
    switch($(element).attr('id')) {
    	case 'relatedvideo_sub_container':
    	case 'top24_sub_container':
    		if (window.localStorage) {
                localStorage.setItem('tudositok_hu_ajanlo_doboz_relatedvideo', $('#relatedvideo_sub_container .sub_container_title_button').hasClass('opened') ? '1' : '0');
                localStorage.setItem('tudositok_hu_ajanlo_doboz_top24', $('#top24_sub_container .sub_container_title_button').hasClass('opened') ? '1' : '0');
            }
    		if($('#relatedvideo_sub_container .sub_container_title_button').hasClass('opened') && $('#top24_sub_container .sub_container_title_button').hasClass('opened')) {
    			$(element).parent().find('.title_button').addClass('opened');
        		$(element).parent().find('.title_button').find('a').text('Bezár');
    		}
    		if(!$('#relatedvideo_sub_container .sub_container_title_button').hasClass('opened') && !$('#top24_sub_container .sub_container_title_button').hasClass('opened')) {
    			$(element).parent().find('.title_button').removeClass('opened');
        		$(element).parent().find('.title_button').find('a').text('Kinyit');
    		}
    		
    		break;
    }
};

Core.prototype.cmdShowSubContainerAll = function(element, event){
	event.preventDefault();
    $(element + ' .title_button').toggleClass('opened');
    
    if ($(element + ' .title_button').hasClass('opened')) {
        $(element + ' .title_button').find('a').text('Bezár');
    	$(element + ' .content').slideDown();
    	$(element + ' .sub_container_title_button').addClass('opened');
        $(element + ' .sub_container_title_button').find('a').text('Bezár');
    } else {
        $(element + ' .title_button').find('a').text('Kinyit');
    	$(element + ' .content').slideUp();
    	$(element + ' .sub_container_title_button').removeClass('opened');
        $(element + ' .sub_container_title_button').find('a').text('Kinyit');
    }
    if (window.localStorage) {
        localStorage.setItem('tudositok_hu_ajanlo_doboz_relatedvideo', $('#relatedvideo_sub_container .sub_container_title_button').hasClass('opened') ? '1' : '0');
        localStorage.setItem('tudositok_hu_ajanlo_doboz_top24', $('#top24_sub_container .sub_container_title_button').hasClass('opened') ? '1' : '0');
    }
};

Core.prototype.cmdLoginNeed = function(){
    $('#alert_dialog').html('<div>A funkció eléréséhez belépés szükséges!<div style="display:table; width:140px; margin:10px auto;"><div class="ok_button" style="margin:5px 0 0 40px; float:left;" onclick="classMenu.cmdShowPopup(\'login\'); $(\'#alert_dialog\').dialog(\'close\'); $(window).scrollTop(0);"></div></div></div>');
    $('#alert_dialog').dialog('open');
};

Core.prototype.initEventListener = function(){


};

Core.prototype.cmdGetAttribute = function(target, attr){

};

Core.prototype.cmdSetHomePage = function(){
    var link = 'http://www.tudositok.hu';
    switch (this.browser) {
        case 'ie':
            try {
                document.body.style.behavior = 'url(#default#homepage)';
                document.body.setHomePage(link);
            } 
            catch (e) {
                this.jsError = e;
            }
            break;
        case 'firefox':
        case 'netscape':
            
            
            $('#alert_dialog').html('Fogja meg a linket (vigye az egeret az ikonra és tartsa lenyomva a bal egérgombot), majd húzza az egeret a címsor előtt található házikóra <img src="images/firefox_home_icon.gif" alt="" /> és engedje el az egér bal gombját.');
            $('#alert_dialog').dialog('open');
            break;
        case 'opera':
        case 'safari':
            $('#alert_dialog').html('X');
            $('#alert_dialog').dialog('open');
            break;
        default:
            break;
    }
    return false;
};

Core.prototype.cmdAddToBookmark = function(){
    var title = 'Tudósítók.hu';
    var url = 'http://www.tudositok.hu';
    if (window.sidebar) {
        window.sidebar.addPanel(title, url, '');
    } else 
        if (document.all) {
            try {
                window.external.AddFavorite(url, title);
            } 
            catch (e) {
                this.jsError = e;
                this.debug(this.messages.UNSUPPORTED_BROWSER);
            }
        } else 
            if (window.opera && window.print) {
                try {
                    var bmObj = Builder.node('a', {
                        'rel': 'sidebar',
                        'href': url,
                        'title': title
                    });
                    bmObj.click();
                } 
                catch (e) {
                    this.jsError = e;
                }
            }
    
};

Core.prototype.getBrowser = function(){
    var type = null;
    var version = 0;
    
    if (!window.RegExp) 
        return;
    
    var AGENTS = ["opera", "ie", "safari", "firefox", "netscape", "mozilla"];
    var agent = navigator.userAgent.toLowerCase();
    for (var i = 0; i < AGENTS.length; i++) {
        var agent_str = AGENTS[i];
        if (agent.indexOf(agent_str) != -1) {
            type = agent_str;
            var version_expr = new RegExp(agent_str + "[ \/]?([0-9]+(\.[0-9]+)?)");
            if (version_expr.exec(agent) != null) {
                version = parseFloat(RegExp.$1);
            }
            break;
        }
    }
    return type;
    
};

Core.prototype.decimal2binary = function(num, fixed_length){
    var result = Number(num).toString(2);
    
    while (result.length < fixed_length) { // fixed_length hosszúságúra kiegészíti, azaz pl 11-et fixed_length=5 esetén 00011-re egészíti ki
        result = '0' + result;
    }
    
    return result;
};

Core.prototype.binary2decimal = function(num){
    var i = 0;
    var result = 0;
    num = num.toString();
    
    while (i <= Number(num.length) - 1) {
        var current = num.charAt(Number((num.length) - 1) - i);
        
        if (current == '1') {
            result += Math.pow(2, i); // 2 az i-ediken! :]
        }
        i++;
    }
    
    return result;
};

Core.prototype.cmdScrollTo = function(element){

    if ($('#' + element).length == 0) {
        return false;
    } else {
        $('body').scrollTo($('#' + element), {
            duration: 1000,
            axis: 'y',
            onAfter: function(){
                $('#' + element).next().find('.comment_title').effect('highlight', {
                    color: '#999999'
                });
            }
        });
    }
};

var classCore = new Core();



classCore.Gallery.cmdEditPictureTitle = function(element){
    var item = $(element).parents('div.picture_item');
    classCore.Gallery.current_id = (item.attr('id')).slice(13);
    $('#edit_picture_title_dialog_title').val(classCore.Gallery.picture_gallery[classCore.Gallery.current_id][1])
    $('#edit_picture_title_dialog').dialog('open');
};

classCore.Gallery.cmdModPictureTitle = function(){

    var picture_title = $('#edit_picture_title_dialog_title').val();
    $.ajax({
        type: classCore.method,
        url: classCore.modulePath,
        data: {
            'action': 'mod_pgallery_image',
            'image_id': classCore.Gallery.current_id,
            'image_title': picture_title
        }, //{'key[]':['valuea','valueb']}
        timeout: 5000,
        success: function(data, textStatus, XMLHttpRequest){
        
            location.href = location.href;
            
            
        },
        error: function(req, error){
        
        },
        beforeSend: function(data){
        
        }
    });
    
};


classCore.Gallery.cmdSetProfile = function(element){
    var item = $(element).parents('div.picture_item');
    classCore.Gallery.current_id = (item.attr('id')).slice(13);
    
    $.ajax({
        type: classCore.method,
        url: classCore.modulePath,
        data: {
            'action': 'set_profile_image',
            'image_id': classCore.Gallery.current_id
        }, //{'key[]':['valuea','valueb']}
        timeout: 5000,
        success: function(data, textStatus, XMLHttpRequest){
        
            location.href = location.href;
            
            
        },
        error: function(req, error){
        
        }
    });
};

classCore.Gallery.cmdConfirmDelPicture = function(element){
    var item = $(element).parents('div.picture_item');
    classCore.Gallery.current_id = (item.attr('id')).slice(13);
    $('#del_picture_dialog').dialog('open');
};

classCore.Gallery.cmdDelPicture = function(){

    $.ajax({
        type: classCore.method,
        url: classCore.modulePath,
        data: {
            'action': 'rem_pgallery_image',
            'image_id': classCore.Gallery.current_id
        }, //{'key[]':['valuea','valueb']}
        timeout: 5000,
        success: function(data, textStatus, XMLHttpRequest){
        
            location.href = location.href;
            
            
        },
        error: function(req, error){
        
        }
    });
};

classCore.Gallery.cmdReportPicture = function(element){
    var item = $(element).parents('div.picture_item');
    classCore.Gallery.current_id = (item.attr('id')).slice(13);
    $('#report_picture_dialog').dialog('open');
};

classCore.Gallery.cmdSendReport = function(element){

    //var comment = $('#report_picture_dialog_comment').val();    
    var comment = ''; // most üres, de eredetileg lett volna szöveg is...
    $.ajax({
        type: classCore.method,
        url: classCore.modulePath,
        data: {
            'action': 'report_pgallery_image',
            'image_id': classCore.Gallery.current_id,
            'report_text': comment
        }, //{'key[]':['valuea','valueb']}
        timeout: 5000,
        success: function(data, textStatus, XMLHttpRequest){
        
            location.href = location.href; // refresh
        },
        error: function(req, error){
        
        }
    });
};


classCore.Gallery.cmdConfirmDelContact = function(element){
    var item = $(element).parents('div.picture_item');
    classCore.Gallery.current_id = (item.attr('id')).slice(13);
    $('#del_contact_dialog').dialog('open');
};

/* USER INTERFACE UTILITIES */

classCore.ui.checkPositions = function(event, element){
    var posx = 0, posy = 0;
    if (event == null) 
        event = window.event;
    if (event.pageX || event.pageY) {
        posx = event.pageX;
        posy = event.pageY;
    } else 
        if (event.clientX || event.clientY) {
            if (document.documentElement.scrollTop) {
                posx = event.clientX + document.documentElement.scrollLeft;
                posy = event.clientY + document.documentElement.scrollTop;
            } else {
                posx = event.clientX + document.documentElement.scrollLeft;
                posy = event.clientY + document.documentElement.scrollTop;
            }
        }
    classCore.ui.pos_x = posx;
    classCore.ui.pos_y = posy;
    
    classCore.ui.offset = classCore.ui.getElementOffset(element);
    
    var result = (classCore.ui.pos_y >= classCore.ui.offset[1] &&
    classCore.ui.pos_y < classCore.ui.offset[1] + classCore.ui.offset[3] &&
    classCore.ui.pos_x >= classCore.ui.offset[0] &&
    classCore.ui.pos_x < classCore.ui.offset[0] + classCore.ui.offset[2]);
    
    return result;
};

classCore.ui.getElementOffset = function(element){
    var offset = $(element).offset();
    var left = offset.left || 0;
    var top = offset.top || 0;
    
    var width = $(element).width();
    var height = $(element).height();
    
    return [left, top, width, height];
};

classCore.ui.cmdShowUploadProgress = function(){
    classUpload.file_upload_in_progress = true;
    var html = '<div id="upload_progress_overlay"><div id="upload_progress_dialog">' +
    '<span id="upload_progress_dialog_msg">Feltöltés folyamatban...</span><div id="upload_progressbar"><div id="upload_progressbar_slider"></div></div>' +
    '<span id="upload_progress_dialog_percent">0%</span>' +
    '<div class="cancel_button" style="float:right !important; margin:-5px 20px 0 0; !important;" onclick="classCore.ui.cmdUploadCancelCallback();"></div></div>' +
    '<span id="upload_progress_dialog_status" style="float:left !important; color:#FFFFFF; font-size:20px;"></span>' +
    '</div>';
    
    $('body').append(html);
    
};

classCore.ui.cmdShowUploadProgress_2 = function(){
    classUpload.file_upload_in_progress = true;
    var html = '<div id="upload_progress_overlay"><div id="upload_progress_dialog">' +
    '<iframe id="upload_progress_iframe" src="" border="0" width="400" height="15"></iframe>' +
    '<div class="cancel_button" style="float:right !important; margin:-5px 20px 0 0; !important;" onclick="classCore.ui.cmdUploadCancelCallback();"></div></div>' +
    '<span id="upload_progress_dialog_status" style="float:left !important; color:#FFFFFF; font-size:20px;"></span>' +
    '</div>';
    
    $('body').append(html);
    
};

classCore.ui.cmdRefreshUploadProgress = function(type, redirect_url){

    if (redirect_url != 'undefined') {
        var location = redirect_url; // || 'http://tudositok.hu/';
    }
    
    switch (type) {
        case 'success':
            $('#upload_progress_dialog').html('<span style="margin:-5px 0 0 0 !important;"><img src="images/upload_success.png" alt="" /></span><div class="ok_button" onclick="location.href=\'' + location + '\';" style="float:right !important; margin:-5px 20px 0 0; !important;"></div>')
            
            break;
            
        case 'fail':
            $('#upload_progress_dialog').html('<span>Ismeretlen hiba</span><div class="ok_button" onclick="classCore.ui.cmdCloseUploadProgress();" style="float:right !important; margin:-5px 20px 0 0; !important;"></div>')
            
            break;
    }
};

// használaton kívül:
classCore.ui.cmdCallUploadCallback = function(callback){
    if (typeof(callback) === 'function') {
        callback.call(this);
    }
};

classCore.ui.cmdCloseUploadProgress = function(){
    $('#upload_progress_overlay').remove();
    classUpload.file_upload_in_progress = false;
    $('body').css('cursor', 'default');
};

classCore.ui.cmdCheckCapsLock = function(element,event){
	
    var ascii_code = event.which;
    var shift_key = event.shiftKey;
    if ((65 <= ascii_code) && (ascii_code <= 90) && !shift_key) {
        
		$('#tooltip').remove();
						
		var offset = $(element).offset();
		var tooltip = document.createElement('div');
		$(tooltip).attr('id', 'tooltip');
		var html = '<div class="content">Tördelési okokból teljes szavakat nem lehet nagy betűvel írni, kérjük kapcsolja ki a caps lockot!</div><div class="footer"></div>';
		$(tooltip).append(html);
		$('body').append(tooltip);
		$(tooltip).css({top:  offset.top - $(tooltip).height()});
		$(tooltip).css({left: offset.left});
		//$(tooltip).animate({top: '-=5px'}, 'fast');
    } else {
		$('#tooltip').remove();
    }
    
};

$(document).ready(function(){


    classCore.init();
    
    if (typeof(classMenu) === 'object') {
        classMenu.init();
    }
    classCore.initEventListener();
    /*
     $.ajax({
     type: "POST",
     url: "http://85.90.162.9/tudositok.hu/test_tmb.php",
     data: {'chk': [1,2,3]},
     success: function(data){
     alert("response: " + data);
     
     }
     });
     
     */
    $("#send").click(function(){
        $.ajax({
            type: 'post',
            url: 'http://tudositok.hu/process.php',
            data: $('#file').serialize(), //{'key[]':['valuea','valueb']}
            timeout: 5000,
            success: function(data){
            
            },
            error: function(req, error){
            
            },
            beforeSend: function(data){
                $('#ehhh').html('<p>Loading...</p>');
            }
        });
        
    });
    /*
     $("#send").click(function(){
     $.ajax({
     type: 'post',
     url: 'http://tudositok.hu/process.php?action=upload_video',
     data: $('#xform').serialize(), //{'key[]':['valuea','valueb']}
     timeout: 5000,
     success: function(data){
     $('#ehhh').html('<p>response:</p>' + data).effect("highlight", {}, 1000);
     },
     error: function(req, error){
     if (error === 'error') {
     error = req.statusText;
     }
     var errormsg = 'There was a communication error: ' + error;
     $('#ehhh').html(errormsg).effect('highlight', {
     color: '#c00'
     }, 1000);
     },
     beforeSend: function(data){
     $('#ehhh').html('<p>Loading...</p>');
     }
     });
     
     });
     */
});




