function run_quiz_validate(that) {
	 $(that).validate({
	 	ignore: ".ignore",
        errorPlacement: function(error, element) {
            return true;
        }
     });
}

function run_print(that) {
	$(that).click( function() {
		window.print();
		return false;
	});
}

var tf;

function run_tovabbkuld(that) {
	$(that).click( function() {
		tf.show();
		return false;
	})
}

function run_tovabbkuld_form(that) {
	tf = new tovabbkuld(that);
	tf.init(that);
}

function tovabbkuld(that) {
    var tovabbkuld_form = this;
    
    $that = $(that);
    
    // belső változók
    this.main = null;
    this.emailTarget = null;
    this.nameTarget = null;
    this.emailSender = null;
    this.nameSender = null;
    this.copyToSender = false;
    this.message = null;
    this.btnClose = null;
    this.form = null;
    this.visible = false;
    
    this.ajaxSubmit = function() {
        $.post( 'entry/ajax_postSendContent.php', {
            to: this.emailTarget.val(), 
            toName: this.nameTarget.val(),
            sender: this.emailSender.val(),
            senderName: this.nameSender.val(),
            message: this.message.val(),
            copy: this.copyToSender.attr('checked'),
            hidden: this.main.find('input:hidden').serialize()
        }, function(data, textStatus) { 
            if (textStatus=='success') {
                //alert(data);
                tovabbkuld_form.form = tovabbkuld_form.main.find('form').replaceWith( '<div id="form-replace">'+data+'</div>' );
                tovabbkuld_form.main.find('#form-replace').append('<p class="button"><a href="#">Bezár</a></p>');
                
                tovabbkuld_form.main.find('.button a').click( function() {
                    tovabbkuld_form.hide();
                    return false;
                });
            } 
        });
        
        return false;
    }
    
    this.show = function() {
        if (this.visible) { return false; }

        this.emailTarget.val('');
        this.nameTarget.val('');
        this.emailSender.val('');
        this.nameSender.val('');
        this.message.val('');
        this.copyToSender.attr('checked',true);
        this.main.css( 'display', 'block');
        this.visible = true;
    }
    
    this.hide = function() {
        this.main.css('display', 'none');
        this.visible = false;
        if (this.form!=null) {
            $(this.main).find('#form-replace').replaceWith(this.form);
            this.form = null;
            this.init( $(this.main) );
        }
    }
    
    this.init = function(that) {
        $that = $(that);
        this.main = $that;
        this.emailTarget = $that.find('#target_email');
        this.nameTarget = $that.find('#target_name');
        this.emailSender = $that.find('#sender_email');
        this.nameSender = $that.find('#sender_name');
        this.message = $that.find('#message');
        this.copyToSender = $that.find('#copy');
        this.btnClose = $that.find('.button a');
        
        this.btnClose.click( function() {
            tovabbkuld_form.hide();
            return false;
        });
        
        $("#tovabbkuldForm").validate({
            errorPlacement: function(error, element) {
                return true;
            },
            submitHandler: function(form) {
                tovabbkuld_form.ajaxSubmit();
            }
        });
    }
}

function run_fairvezeto_tagok(that) {
	new tagok_pager(that);
}

function tagok_pager(that) {
    var pager = this;
    
    $that = $(that);
    this.images = imageList;
    this.previewImg = $that.find('.user-data-container .pic img');
    this.user_datas = $that.find('.user-data-container .user-data .data');
      
    this.counter = $that.find('.header .pager .info');
    this.left = $that.find('.header .pager .prev a');
    this.right = $that.find('.header .pager .next a');
    this.lapozoNextUrl = $that.find('.user-list-container .pager .next a').attr('href');
    this.lapozoPrevUrl = $that.find('.user-list-container .pager .prev a').attr('href');
    this.lapozoFirstUrl = $that.find('.user-list-container .pager .first a').attr('href');
    this.lapozoLastUrl = $that.find('.user-list-container .pager .last a').attr('href');
 
    this.currImgNum = this.firstImgNum = parseInt(this.counter.find('.current-user-num').text())-1; // első és aktuális kép sorszáma (base 0)
    this.sumImgNum = parseInt(this.counter.text().split('/')[1]); // összes képszám
    this.pageImgNum = parseInt($that.find('.user-list-container .user-list').children().length)-1; // ezen az oldalon a képek száma

    $that.find('.user-list-container .user-list').children().each( function(i) {
        $(this).attr('id', 'thumb_'+(pager.firstImgNum+i) );
    });
    
    $that.find('.user-list-container .user-list .user .pic a').click( function() {
        pager.currImgNum = parseInt($(this).parents('.user').attr('id').substr(6));
        pager.showCurrent();
        return false;
    });
    
    $that.find('.user-list-container .user-list .user .name a').click( function() {
        $(this)
            .blur()
            .parents('.user').find('.pic a')
                .trigger('click');
        return false;
    });
    
    this.showCurrent = function() {
        pager.counter.html('<span class="current-user-num">'+(pager.currImgNum+1)+'</span> / '+pager.sumImgNum+' személy');

        var datas = pager.images[pager.currImgNum-pager.firstImgNum];
        pager.previewImg.attr('src', datas.img.url).attr('alt', datas.img.alt);
        $(pager.user_datas[0]).html( '<div class="header">'+$(pager.user_datas[0]).find('.header').text()+'</div>'+datas.firstname+' '+datas.lastname);
        $(pager.user_datas[1]).html( '<div class="header">'+$(pager.user_datas[1]).find('.header').text()+'</div>'+datas.varos);
        $(pager.user_datas[2]).html( '<div class="header">'+$(pager.user_datas[2]).find('.header').text()+'</div>'+datas.auto);
        $(pager.user_datas[3]).html( '<div class="header">'+$(pager.user_datas[3]).find('.header').text()+'</div>'+datas.auto_alom);
        $(pager.user_datas[4]).html( '<div class="header">'+$(pager.user_datas[4]).find('.header').text()+'</div>'+datas.szoveg);
        
        window.scrollTo(0, 140);
        
        /*
        $.get('entry/ajax_getStatistics.php', {type: 'tagok', id: datas.id});
        if (window.trackStats) {
            window.trackStats();
        }
        */
    }
    
    this.left.click( function() {
        this.blur();
        if( (--pager.currImgNum-pager.firstImgNum) < 0 ) {
            //pager.currImgNum = pager.firstImgNum+parseInt(pager.pageImgNum)-1;
            if (pager.lapozoPrevUrl) {
                window.location.href=pager.lapozoPrevUrl+'&gid=last';
            } else {
                if (pager.lapozoLastUrl) {
                    window.location.href=pager.lapozoLastUrl+'&gid=last';
                } else {
                	pager.currImgNum = parseInt(pager.sumImgNum)-1;
                	pager.showCurrent();
                }
            }
            return false;
        } 
        
        pager.showCurrent();
        return false;
    });
    
    this.right.click( function() {
        this.blur();
        if( (++pager.currImgNum-pager.firstImgNum) > pager.pageImgNum ) {
            //pager.currImgNum = pager.firstImgNum;
            if (pager.lapozoNextUrl) {
                window.location.href=pager.lapozoNextUrl;
            } else {
                if (pager.lapozoFirstUrl) {
                    window.location.href=pager.lapozoFirstUrl;
                } else {
                	pager.currImgNum = parseInt(pager.firstImgNum);
                	pager.showCurrent();
                }
            }
            return false;
        }
        
        pager.showCurrent();
        return false;
    });
    
    var gid = getUrlParam('gid');
    if (gid!="") {
        var $th;
        if (gid=='last') {
            $th = $that.find('.user:last');
        } else {
            $th = $that.find('.user .name#u_'+gid).parents('.user');
        }
        pager.currImgNum = parseInt($th.length>0 ? $th.attr('id').substr(6) : $that.find('.user:first').attr('id').substr(6));
        pager.showCurrent();
    }
}

function run_movehtml(that) {
    copyhtml(that, false);
}

function run_copyhtml(that) {
    copyhtml(that, true);
}

function copyhtml(that, clone) {
    this.target = $(that);
    this.sources = $( this.target.text() );
    
    if (this.sources.length==0) {
        this.target.remove();
    } else {
        var $source = $(this.sources[0]);
        if (this.target.length) {
            this.target.html( stripScripts($source.html()) );
            this.target.attr('class', $source.attr('class') );
            if (!clone) {
                $source.remove();
            }
        }
    }
}

function run_text_counter(that) {
    new text_counter(that); 
}

function text_counter( that ) {
    var text_counter = this;
    this.textarea = $(that);
    this.counter = $(that).parent().find('.counter');
    this.maxLength = this.counter.text();
    
    $(this.counter).text( this.maxLength - this.textarea.val().length );
    
    this.textarea.keyup( function() {
        var l = text_counter.maxLength - $(this).val().length;
        if (l<0) {
            $(this).val( $(this).val().substring(0, text_counter.maxLength) );
            l=0;
            text_counter.counter.text( l );
            return false;
        }
        text_counter.counter.text( l );
    });

}

function run_article_menu(that) {
	new article_menu(that);
}

function article_menu(that) {
	var article = null;
	if (articleId && (article = $("#article_"+articleId))) {
		article.addClass("active");
	}
}


/*
 *
 *  main
 *
 *
 */

function open_doc(cime,szelesseg,magassag,ablak){
    if (!szelesseg) szelesseg=500;
    if (!magassag) magassag=535;
    if (typeof usrwindow != 'undefined'){
    if (!usrwindow.closed){usrwindow.close();}}
        usrwindow=window.open(cime, ablak, 'top=0,left=0,resizable=no,hotkeys=yes,width='+szelesseg+',height='+magassag);
}

function open_doc_scroll(cime,szelesseg,magassag,ablak){
    if (!szelesseg) szelesseg=516;
    if (!magassag) magassag=535;
    if (typeof usrwindow != 'undefined'){
    if (!usrwindow.closed){usrwindow.close();}}
        usrwindow=window.open(cime, ablak, 'toolbar=no,scrollbars=yes,menubar=no,top=0,left=0,resizable=yes,hotkeys=yes,width='+szelesseg+',height='+magassag);
}

function stripScripts(markup) {
  return markup.replace(/<script[^>]*?>[\s\S]*?<\/script>/gi, '');
}

function getUrlParam( name ) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
	  return "";
	else
	  return results[1];
}

function getClickTarget(ev) {
    if (ev.target) {
        var p = $(ev.target).position();
    } else {
        var p = $(ev.currentTarget).position();
    }

    return p;
}

function run( runjs_tag ) {
    runjs_each($('.runjs.'+runjs_tag));
}

function executeRunjs( startElement ) {
    runjs_each($(startElement+' .runjs'));
}

function runjs_each( objlist ) {
    jQuery.each(objlist, function() {
        var className = $(this).attr('class');
        var currObj = this;
        if (/\brunning\b/.test(className)==false) {
            var classes = className.split(' ');
            var thisobj = $(this);
            jQuery.each(classes, function() {
                if (this.substring(0,4)=='run_') {
                    $(currObj).addClass('running');
                    if (jQuery.isFunction( window[this] )) {
                        window[this](thisobj);
                    }
                }
            });
        }
     });
}

$(document).ready( function() {
    executeRunjs( 'body' );
}); 