/*share gomb*/

/*var MarqueeGenerator = new Class({
    initialize: function(style,step,delay){        
        this.containers = [];
        this.heights = [];     
        this.scrheights = [];   
        this.dolgok = [];
        this.step = step;
        this.delay = delay;
        this.ofs = 0;
        z = $$('.'+style);
        z.addEvents({'mouseover':function(){
                       marques.stop();
                    },
                    'mouseout':function(){
                        marques.start();
                    }        
        });
        for(i=0;i<z.length;i++){
            this.containers[i] = z[i];
            q = z[i].getSize();
            w = z[i].getScrollSize();
            this.heights[i] = q.y;
            this.scrheights[i] = w.y;
            this.dolgok[i] = z[i].getElements('p');
            for(j=(this.dolgok[i].length-1);j>=0;j--){
                position = this.dolgok[i][j].getPosition(this.containers[i]);
                this.dolgok[i][j].style.position = "absolute";
                this.dolgok[i][j].style.top = position.y+"px";
                this.dolgok[i][j].style.left = position.x+"px";
            }            
        }
        this.mq_sc = function(){ marques.scrolling(); };
        this.start();        
    },
    scrolling: function(){
        for(i=0;i<this.dolgok.length;i++){
            //alert(i);
            for(j=0;j<(this.dolgok[i].length);j++){
                pos = this.dolgok[i][j].getPosition(this.containers[i]);
                if(pos.y<-30)pos.y = this.scrheights[i]-30;
                this.dolgok[i][j].setPosition({x:pos.x,y:pos.y-this.step});
            }
        }
    },
    stop: function(){
        $clear(this.per);
    },
    start: function(){
        this.per = this.mq_sc.periodical(this.delay);
    }
});
*/

var Share = new Class({
   initialize: function(id,style,parent,controller_selector,ihtml){
       if(!parent || !$(parent)){
           par = document.body;
       }else{
           par = $(parent);
       }       
       this.id = "pu_"+id;          
       pop_div = new Element("div",{
          "id" : this.id,
          "class" : style,
          "styles" : {"display":"none",
                      "position":"absolute",
                      "left":"50%",
                      "margin-left":"-182px"}                   
       });              
       pop_div.appendChild(new Element("div",{"id":this.id+"_content"}));
       pop_div.appendChild(new Element("div",{
           "class": style+"_close",
           "styles":{"cursor":"pointer"},
           "events":{
              'click': function(){share_popup.close();}
           }
       }));       
       par.appendChild(pop_div);
       if(!document.all){
            $(this.id).set("opacity","0");
            $(this.id).style.display="block";
       }else{
            $(this.id).style.display="none";
       }
       
       $(this.id+"_content").load(ihtml);
       
       $$(controller_selector).addEvent("click",function(e){                
              share_popup.toggle(e.page.y-200); 
       });
   },   
   show: function(top){
       $(this.id).style.top = top+"px";      
       if(!document.all){
            $(this.id).fade(1.0);
       }else{
            $(this.id).style.display="block";
       }
       
   },
   send: function(){
        var email = $('share_email').value;
        var name = $('share_name').value;
        var mess = "";
        var url = window.location || document.location;
        var ok = true;
        if (!name){
    	   ok = false;
            mess+="Kérem adja meg az ismerőse nevét!";
        }
        else if(!email){
            ok = false;
            mess+="Kérem adja meg az ismerőse e-mail címét!";
        }
        if(ok){       
            var jsonRequest = new Request.JSON({url:doc_root+"ajax.php", 
	        	onSuccess: function(ajanlas){
		           if ( !ajanlas.ok ){
		        	   alert(ajanlas.mess);                       
		           }
		           else{
		        	   $('share_name').value = '';
		        	   $('share_email').value = '';                                              
		        	   alert(ajanlas.mess);        
                       share_popup.close();               
		           }
	        	}
        	}).send({method:"post",data:'email='+email+'&name='+name+'&module=offer&url='+url});          
        }else{
            alert(mess);            
        }    
   },  
   close: function(){        
       if(!document.all){
            $(this.id).fade(0.0);
       }else{
            $(this.id).style.display="none";
       }
   },
   toggle: function(top){
       if(!document.all){
           op = $(this.id).get("opacity");
           if(op==0){
                this.show(top);
           }else if(op==1){
                this.close();
           }       
       }else{
           op = $(this.id).style.display;
           if(op=="none"){
                this.show(top);
           }else{
                this.close();
           }
       }
   }
});

/*jelentkezés*/

function addError(name){    
    z = $$("label[for='"+name+"']");
    for(i=0;i<z.length;i++)
        z[i].style.color="red";   
}
function removeError(name){    
    z = $$("label[for='"+name+"']");
    for(i=0;i<z.length;i++)
        z[i].style.color="#666";    
}

// jelentkezés értesítési cím
function getAddressCopy(){
	$("ert_zip").value = $("zip").value;
	$("ert_city").value = $("city").value;
	$("ert_street").value = $("street").value;
	$("ert_house").value = $("house").value;
}

function checkForm(id){
    var fields = $$('form#'+id+' label');
    mess = false;
    for(i=0;i<fields.length;i++){              
         if(fields[i].innerHTML.indexOf("bind")>0 ){
            nam = fields[i].getProperty('for');
            s = $$("form#"+id+" input[name='"+nam+"']");
            if(s.length==0)s = $$("form#"+id+" select[name='"+nam+"']");
            if(!s[0].value || s[0].value==0){
                 q = fields[i].innerHTML.split(':');
                 fields[i].style.color="red";
                 mess=true;
            }else{
                 fields[i].style.color="#666";
            }
         } 
    }
    if(mess){
        alert("Hibásan töltötte ki a pirossal megjelölt mezőket!");
        return false;
    }else{
        return true;
    }
}

function fillOptions(id,values){
    var opt = $(id);
    if (!opt) return;
    for(i=((opt.options.length)-1);i>=0;i--){
        opt.options[i]=null;
    }; 
    for(i=0;i<values.length;i++){
        opt.options[opt.options.length] = new Option(values[i],values[i],false,false);
    }
}

function getSelects(){
    if($('reg_course').value!=0){
        req = new Request.JSON({url:doc_root+"ajax.php",
            onSuccess: function(resp){
               fillOptions("helyszin",resp);
            }
        });
        req.send({method:"post",data:'module=helyszin&id='+$('reg_course').value});
        req1 = new Request.JSON({url:doc_root+"ajax.php",
            onSuccess: function(resp){
               fillOptions("forma",resp);
            }
        });
        req1.send({method:"post",data:'module=forma&id='+$('reg_course').value});
    }
}

/* tanfolyam kategória szerinit kereső */

function setCookie(c_name,value){
    document.cookie=c_name+ "=" +escape(value);
}

var search_selected = 0;
var search_max = 0;
var searching = 0;

function search_highlight_mouse(w){
    for(i=0;i<search_max;i++){
        $('sbkw_'+i).setProperty('class','');        
    }
    search_selected = w;
}

function search_highlight(w,noscroll){
    search_max = $$('div#kwsearch_result ul li').length;    
    if(w>=search_max )w = 0;
    if(w<0) w = search_max-1;
    for(i=0;i<search_max;i++){
        if($('sbkw_'+i)){
            if(i!=w){
                $('sbkw_'+i).setProperty('class','');
            }else{
                $('sbkw_'+i).setProperty('class','selected');
                $('sbkw_'+i).focus();
            }
        }
    }
    search_selected = w;  
    if(!noscroll){
        $('kwsearch_result').scrollTo(0,22*(search_selected-4));
    }
}

function search_by_keyword(){
    kw = $('keyword_search').value;
    if(kw){                
        $('kwsearch_result').style.display="block";
        req = new Request.HTML({url:doc_root+"ajax.php",
                        onSuccess: function(html){
        					$('kwsearch_result').set('text', '');
			                $('kwsearch_result').adopt(html);
			                var msg = $('kwsearch_result').innerHTML;
			                $('kwsearch_result').innerHTML = msg;
                            search_highlight(0);
                        }
                     });
        req.send({method:"post",data:'module=search&q='+kw});        
    }else{
        $('kwsearch_result').style.display="none";
    }
    
}

function course_filter(element){
    id = element.getProperty("id");
    id = id.split("_");
    id = id[id.length-1];
    filter = element.value;
    z = $$("ul#course_list_"+id+" li");
    for(i=0;i<z.length;i++){
        if(filter == 0){
            z[i].style.display="block";
        }else{
            cn = z[i].getProperty("class");
            if(cn == "course_categ_"+filter ){
                z[i].style.display="block";
            }else{
                z[i].style.display="none";
            }
        }
    }
}

function show_courses(id){
    z = $$("div.right_course");
    for(i=0;i<z.length;i++){
        z[i].style.display="none";
    }
    $("course_ms_"+id).style.display="block";
    z = $$("ul#course_left li");
    for(i=0;i<z.length;i++){
        z[i].setProperty("class","");
    }
    $("course_search"+id).setProperty("class","active");
    
    $("course_filter_"+id).value=0;
    course_filter($("course_filter_"+id));
}

/* Hírlevél feliratkozás form validálás + ajax */


/*form validáció / ajax kérés */
function submit_subcribe(type,mid){
    newsletter_message_slide.hide();
    var email = $('newsletter_email').value;
    var name = $('newsletter_name').value;
    var mess = "";
    var ok = true;
    if (!name){
    	ok = false;
        mess+="Kérem adja meg a nevét!<br/>";
    }
    if(!email){
        ok = false;
        mess+="Kérem adja meg az e-mail címét!<br/>";
    }
    if(ok){       
        var jsonRequest = new Request.JSON({url:doc_root+"ajax.php", 
	        	onSuccess: function(newsletter){
		           if ( !newsletter.ok ){
		        	   $('newsletter_message').setProperty("class","message_bad");
		               $('newsletter_message').innerHTML = 
		                		"<p class=\"title_m\">Hibás adatok!</p><p>"+newsletter.mess+"</p>";;
		                newsletter_message_slide.slideIn();		                
		                overTextsReposition();
		           }
		           else {
		        	  $('newsletter_message').setProperty("class","message");
		              $('newsletter_message').innerHTML = 
		                	"<p class=\"title_m\">"+newsletter.mess+"</p>";
		              newsletter_message_slide.slideIn();		             
                      $('newsletter_email').value = '';
                      $('newsletter_name').value = '';
		              overTextsReposition();
		        	   
		           }
	        	}
        	}).send({method:"post",data:'email='+email+'&name='+name+'&module=newsletter&type='+type+'&mid='+mid});          
    }else{
       $('newsletter_message').setProperty("class","message_bad");
       $('newsletter_message').innerHTML = 
     		"<p class=\"title_m\">Figyelmeztetés!</p><p>"+mess+"</p>";;
       newsletter_message_slide.slideIn();		                
       overTextsReposition();
    }
    setTimeout("content_fix()",1000);    
}



var help_message_slide = false;
var newsletter_message_slide = false;

function submit_help(){
    var name = $('help_name').value;
    var phone = $('help_phone').value;
    var email = $('help_email').value;
    var mid = $('help_mid').value;
    var url = window.location || document.location;
    var mess = "";
    var ok = true;
    if(!name){
        ok = false;
        mess+="Kérem töltse ki a nevét!<br/>";
    }
    if(!phone){
        ok = false;
        mess+="Kérem adja meg a telefonszámát!<br/>";
    }
    if(!email){
        ok = false;
        mess+="Kérem adja meg az e-mail címét!<br/>";
    }
    if(ok){
        help_message_slide.hide();
        var jsonRequest = new Request.JSON({url:doc_root+"ajax.php", 
	        	onSuccess: function(help){
		           	if ( help.ok == true ){
		           		$('help_message').setProperty("class","message");
		                $('help_message').innerHTML = 
		                		"<p class=\"title_m\">"+help.mess+"</p>";
		                help_message_slide.slideIn();
		                $('help_name').value="";
		                $('help_phone').value="+36";
		                $('help_email').value="";
		                overTextsReposition();
		           	}
		           	else {
		           		$('help_message').setProperty("class","message_bad");
		                $('help_message').innerHTML = 
		                		"<p class=\"title_m\">"+help.title+"</p><p>"+help.mess+"</p>";
		                help_message_slide.slideIn();
		           	}
	        	}
        	}).send({method:"post",data:'name='+name+'&mid='+mid+'&phone='+phone+'&email='+email+'&module=help&url='+url});          
    }else{
        help_message_slide.hide();        
        $('help_message').setProperty("class","message_bad");
        $('help_message').innerHTML = "<p class=\"title_m\">Hibás adatok!</p><p>"+mess+"</p>";
        help_message_slide.slideIn();
        overTextsReposition();    
    }
    setTimeout("content_fix()",1000);    
}

/*általános dolgok*/
var menu_alts = {};
var menu_titles = {};

function show_menu_description(item){    
    title = (menu_titles[item])?menu_titles[item]:"";
    alt = (menu_alts[item])?menu_alts[item]:"";
    $('e_learning').style.display="block";
    $('e_learning').innerHTML="<h1>"+title+"</h1>"+"<p>"+alt+"</p>";
    $('e_learning').fade('0.65');
}

function menu_fix(){
   have_sm = $$('ul#headmenu_list li');
   for(i=0;i<have_sm.length;i++){
        sub_menu_uls = have_sm[i].getElement('ul');
        if(sub_menu_uls){
            sub_menu_lis = sub_menu_uls.getElements('li');           
            sub_menu_uls.style.width= (91*sub_menu_lis.length).toString()+"px";  
            sub_menu_lis[sub_menu_lis.length-1].style.border="none";                      
        }        
   }
   //$$('ul.left_course li a,div.right_course ul li a,ul#spec_menu li a, ul#headmenu_list li a, ul.leftmenu li ul li a, ul.leftmenu li ul li ul li a, p.button a').addEvent("click",function(e){e.stop()});
   
   $$('ul.left_course li,div.right_course ul li,ul#spec_menu li, ul#headmenu_list li, ul.leftmenu li ul li, ul.leftmenu li ul li ul li, p.button').addEvent("click",function(e){
        z = this.getElement('a');
        href = z.getProperty("href");        
        if(z.getProperty("target") == "_blank"){
            window.open(href);
        }else{
            window.location = href;
        }      
        e.stop();
   });
   $$("ul.leftmenu li ul li ul").addEvent("click",function(e){e.stop();});
}

function content_fix(){
    var hs = new Array(3);           
    hh = $('header').offsetHeight;    
    $('left').style.height="auto";
    if($('right'))$('right').style.height="auto";
    if($('content')){
        $('content').style.height="auto";
    }else{
        $('full_content').style.height="auto";
    }
    hs[0] = $('left').offsetHeight-hh;
    hs[1] = ($('content'))?$('content').offsetHeight:$('full_content').offsetHeight;
    hs[2] = ($('right'))?$('right').offsetHeight:0;   
    var max = hs[0];
    var max_h = 0;
    for(var i=1;i<=2;i++){
        if(hs[i]>max){
            max = hs[i];
            max_h = i;
        }
    }    
    $('left').style.height = (max+24+hh).toString()+"px";
    if($('content')){
        $('content').style.height = (max).toString()+"px";    
    }else{
        $('full_content').style.height = (max).toString()+"px";
    }
    
    if($('right')){
        $('right').style.height = (max+24).toString()+"px";
    }
}
var news_name_over = false;
var news_email_over = false;
var help_name_over = false;
var help_phone_over = false;
var help_email_over = false;
var kw_search_over = false;

/*form overtextek*/
function overTextsReposition(){
    if(news_name_over)news_name_over.reposition();
    if(news_email_over)news_email_over.reposition();
    if(help_name_over)help_name_over.reposition();
    if(help_phone_over)help_phone_over.reposition();
    if(help_email_over)help_email_over.reposition();
    if(kw_search_over)kw_search_over.reposition();
}

function overTexts(){    
    if($('newsletter_name')){
        news_name_over = new OverText($('newsletter_name'));
    }
    if($('newsletter_email')){
        news_email_over = new OverText($('newsletter_email'));
    }
    if($('help_name')){
        help_name_over = new OverText($('help_name'));
    }
    /*if($('help_phone')){
        help_phone_over = new OverText($('help_phone'));
    }*/
    if($('help_email')){
        help_email_over = new OverText($('help_email'));
    }
    if($('keyword_search')){
        kw_search_over = new OverText($('keyword_search'));
    }
}

var share_popup = false;
var marques = false;

function chrome_fix(){
    overTextsReposition();
    content_fix();
    overTextsReposition();   
}

window.addEvent('domready',function(){    
   /*share*/   
   setTimeout("chrome_fix()",1000);
   share_popup = new Share("ajanlom","share","content",".share_button",doc_root+"ajax.php?module=offer");
   //marques = new MarqueeGenerator('fenyujsag',3,100);
     
    /*kereső*/
    if($('keyword_search')){                       
        $("keyword_search").addEvent('blur',function(){
            if(!searching)$('kwsearch_result').style.display='none';
        });
        
        $('kwsearch_result').addEvents({
            'mouseenter':function(){searching=1;},
            'mouseleave':function(){searching=0;}
            
        });
        
        $('keyword_search').addEvents({
            'keyup':function(e){            
                switch(e.key){
                    case 'up':
                        search_highlight(search_selected-1);
                    break; 
                    case 'down':
                        search_highlight(search_selected+1);
                    break;
                    case 'enter':
                        z = $$('li#sbkw_'+search_selected+" a");
                        location.href=z[0].href;
                    break;
                    default:
                        search_by_keyword();
                    break;
                }                        
            },
            'blur':function(){
              //  
            },
            'focus':function(){
                search_by_keyword();   
            }
        });
    }
    
   /*jelentkezés*/ 
    
    if($('reg_course')){
        $('reg_course').addEvent('change',function(){
            getSelects();
        });
    }
    
   new DatePicker('.date_p', { pickerClass: 'datepicker_vista', 
                               format:'Y.m.d.', 
                               allowEmpty:true, 
                               startView:'decades', 
                               months: ['Január','Február','Március','Április','Május','Június','Július','Augusztus','Szeptember','Október','November','December'],
                               days: ['Vasárnap','Hétfő','Kedd','Szerda','Csütörtök','Péntek','Szombat']
   });

   /*felső szürke menüsor almenüinek automatikus méretezése*/
   content_fix();   
   menu_fix();
   overTexts();      
   $$('select.course_filter').addEvents({"change":function(){course_filter(this);},"keyup":function(){course_filter(this);}});
   
   if( $('help_message')){
       help_message_slide = new Fx.Slide('help_message');
       help_message_slide.hide();
       $('help_message').style.display = "block";
   }
   
   if( $('newsletter_message')){
       newsletter_message_slide = new Fx.Slide('newsletter_message');
       newsletter_message_slide.hide();
       $('newsletter_message').style.display = "block";
   }
   
   /*alt szöveg megjelenése a felső speciális menüsornak*/
   $('e_learning').fade("out");      
   $$('ul#spec_menu li').addEvent('mouseenter',function(){
        show_menu_description(this.id);
   }); 
   $$('ul#spec_menu li').addEvent('mouseleave',function(){
        $('e_learning').fade('out');
   });       
   var Tips1 = new Tips($$('.teacher_tips'));
   var Tips2 = new Tips($$('.course_tips'));      
});
