$(document).ready(function(){
    //kovge domredy-je
    costumizeCheckboxes();
    courseSearch();
    nicetable('table.course');
    custom_select();
    tippek_sender();
    hirlevel_sender();
    contact_sender();
    $('#send_jelentkezes').click(function(){
        frm = "#jelentkezes_form";
        ok = true;
        $(frm).find('div.error, div.success').remove();            
        if ( $('input[name="lang"]').eq(0).attr("alt") == 0 ) {
            ok = false;
            $(frm).prepend($('<div class="error paragraph" />').text(js_lang["vny"]));        
        }else if( $('input[name="course"]').eq(0).attr("alt") == 0 ){
            ok=false;
            $(frm).prepend($('<div class="error paragraph" />').text(js_lang["vt"]));                
        }
        if(ok)postForm('#jelentkezes_form',jelresp);
    });
    kerdoiv_lapozo();
    //dév domready-je
    mapsLoad();
    setBannerPosition();
    init_skype();
    $(window).resize(function(){
	setBannerPosition();
    });    
});

String.prototype.capitalize = function(){
   return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){return p1+p2.toUpperCase();} );
};

function showBanner() {
    $('.footer_banner').fadeToggle('slow');
}

function setBannerPosition(){
    $('.footer_banner').css('margin-top', $(window).height()-147+'px');
}


function mapsLoad(){
    $('div.gmaps').each(function(){
        var moptions = {
            zoom: $(this).attr('GM_zoom')?parseInt($(this).attr('GM_zoom')):16,
            mapTypeId: $(this).attr('GM_mapTypeId')?$(this).attr('GM_mapTypeId'):google.maps.MapTypeId.HYBRID,
            mapTypeControl: $(this).attr('GM_mapTypeControl')?($(this).attr('GM_mapTypeControl')=='1'):false,
            zoomControl: $(this).attr('GM_zoomControl')?($(this).attr('GM_zoomControl')=='1'):false
        };
        mapLoad(this,moptions);
    });
}

//kovge opcionálisan paraméterként megadható a map id-ja, és a map tulajdonságok
function mapLoad(element,myMapOptions){  
  if(!myMapOptions){
      myMapOptions = {
        zoom: 16,
        mapTypeId: google.maps.MapTypeId.HYBRID,
        mapTypeControl: false,
        zoomControl: false
      };
  }
 element = element?element:document.getElementById("map");
 var map = new google.maps.Map(element,myMapOptions);

 var image = new google.maps.MarkerImage(
    img + 'marker-images/image.png',
    new google.maps.Size(43,63),
    new google.maps.Point(0,0),
    new google.maps.Point(0,63)
  );

  var shadow = new google.maps.MarkerImage(
    img + 'marker-images/shadow.png',
    new google.maps.Size(79,63),
    new google.maps.Point(0,0),
    new google.maps.Point(0,63)
  );

  geocoder = new google.maps.Geocoder();
  geocoder.geocode( {'address':'2030 Érd, Diósdi utca 31.'}, function (results,status) {
	 if (status == google.maps.GeocoderStatus.OK) {
	   new google.maps.Marker({
		'map': map,
		'position': results[0].geometry.location,
		draggable: false,
		raiseOnDrag: false,
		icon: image,
		shadow: shadow,
		shape: false
	    });
	    map.setCenter(results[0].geometry.location);
	}
    });

}

function costumizeCheckboxes(selector){
   selector = selector?selector:'';
    $(selector+'input[type="checkbox"]').checkbox({empty:doc_root+'templates/template/img/empty.png'});
    $(selector+'input[type="radio"]').checkbox({'cls':'jquery-radio-checkbox',empty:doc_root+'templates/template/img/empty.png'});
}

function courseSearch(){    
    $('#course_kw')
        .focus(function(){
            if( $(this).val()==$(this).attr('alt'))$(this).val('');
            $('#search_results').css('display',($('#search_results li').length!==0)?'block':'none');
        })
        .blur(function(){
            if( $(this).val()=='') $(this).val($(this).attr('alt'));             
            setTimeout("$('#search_results').css('display','none')",500);
        })                
        .keydown(function(e){
            switch(e.keyCode){
                case 27:
                case 37:
                case 39:
                    break;
                case 40:  //le
                    e.preventDefault();
                    if( $('#search_results ul li').length < 2){
                        return;
                    }
                    sel = $('#search_results ul li.selected');                                        
                    if(sel.length > 0){
                        nxt = sel.next();
                        if(nxt.length==0)nxt = sel.siblings().first();
                        sel.removeClass('selected');
                        nxt.addClass('selected');
                    }                    
                    break;
                case 38:  //fel
                    e.preventDefault();
                    if( $('#search_results ul li').length < 2){
                        return;
                    }
                    sel = $('#search_results ul li.selected');                                        
                    if(sel.length > 0){
                        nxt = sel.prev();
                        if(nxt.length==0)nxt = sel.siblings().last();
                        sel.removeClass('selected');
                        nxt.addClass('selected');
                    }                    
                    break;
                case 13:  //enter
                    e.preventDefault();                    
                    if( $('#search_results ul li').length == 0){
                        return;
                    }
                    sel = $('#search_results ul li.selected');        
                    if(sel.length > 0){
                        location.href = sel.find('a').first().attr('href');
                    }
                    break;
                default:    //karakter                   
                    break;
            }
        })
        .keyup(function(e){
            //console.log(e);
            switch(e.keyCode){
                case 27:
                case 37:
                case 39:              
                case 40:             
                case 38:             
                case 13:
                    e.preventDefault();
                    break;
                default:    //karakter
                    var kw = $(this).val();
                    if(kw && kw.length >0){
                        $('#search_results ul').html('<li>'+js_lang["kereses"]+'...</li>');
                        $('#search_results').css({'display':'block'});
                        $.ajax({
                            url: doc_root+'ajax.php?module=course_search',
                            data: {'search_request':kw} ,                           
                            type: 'POST',
                            dataType: 'json',
                            async: true,
                            success: function(_resp){          
                                found = $('#search_results ul'); 
                                if(!_resp || !_resp.search_response){
                                    found.html('<li>'+js_lang["nincs_talalat"]+'...</li>');
                                    return;
                                }
                                resp = _resp.search_response;                                                                                             
                                if(resp.length == 0 ){
                                   found.html('<li>'+js_lang["nincs_talalat"]+'...</li>');
                                }else{ 
                                    found.html('');
                                    $.each(resp,function(k,v){
                                        found.append($('<li>')
                                                        .hover(function(e){
                                                             $('#search_results ul li.selected').removeClass('selected');
                                                             $(this).addClass('selected');
                                                        },function(e){})
                                                        .append($('<a>')
                                                            .attr('href',v.link)
                                                            .text(v.name) 
                                                        )
                                                           
                                        );
                                    });         
                                    found.find('li').eq(0).addClass('selected');
                                }
                            }                            
                        });
                    }else{
                        $('#search_results ul').html('');
                        $('#search_results').css({'display':'none'});
                    }
                    break;
            }
        });        
    $('#course_kw').parent('form').submit(function(e){e.preventDefault()});
    id = $('.course_search .submit').eq(0).attr('alt');
    $('.course_search .submit').removeClass("active");
    $('.course_search .submit[alt="'+id+'"]').addClass("active");
    $('li.course_group, li.course_categ_group').css('display','none');
    $('li.course_group[rel="'+id+'"], li.course_categ_group[rel="'+id+'"]').css('display','block');
    
    $('.course_search .submit').click(function(){
        id = $(this).attr('alt');
        $('.course_search .submit').removeClass("active");
        $(this).addClass("active");
        $('li.course_group, li.course_categ_group').css('display','none');
        $('li.course_group[rel="'+id+'"], li.course_categ_group[rel="'+id+'"]').css('display','block');
        
        vis = {};
        $('li.course_group:visible').each(function(){
            idd = $(this).attr('value');
            if(vis[idd]){
                $(this).css('display','none');
            }else{
                vis[idd]=true;
            }
        });
            
        
        
    });
    $('li.course_categ_group').click(function(){
        id = $(this).attr('alt');
        $('li.course_group').css('display','none');
        $('li.course_group[alt="'+id+'"]').css('display','block');
    });    
    
    $('.course_search .submit').eq(0).trigger('click');
    
}

function nicetable(element){
    $(element).find('tr').each(function(k,v){
       $(v).addClass((k%2==0)?'odd':'even');
    });
}

function custom_select(){       
    $('input.select')
        .attr('readonly','readonly')        
        .css('cursor','pointer')        
        .click(function(e){       
            e.preventDefault();
            $('div.dropdown').css('display','none');
            $(this).siblings('div.dropdown').css('display','block');            
        })
        .each(function(){
            selected = $(this).siblings('div.dropdown').find('li.selected a');
            if(selected.length==1){
                $(this).attr('alt',selected.eq(0).attr('alt'));
                $(this).val(selected.eq(0).text());
            }
        });
    $
    $('body').delegate('div.dropdown ul li a','click',function(e){     
        e.preventDefault();
        //adatok olvasása
        hrf = $(this).attr('href');
        par = $(this).parents('div.dropdown');
        old = par.siblings('input.select').eq(0).attr('alt');
        nw = $(this).attr('alt');
        inp = par.siblings('input.select');       
        //megjelenítés
        inp.attr('alt',nw);
        inp.val($(this).text());
        //change esemény
        if( nw!=old ){
            eval(hrf);
        }
        $('div.dropdown').css('display','none');          
    });
   /* $('body').click(function(e){
        if( $(e.srcElement).hasClass('select') == false ){
            $('div.dropdown').css('display','none');
        }
    });*/
}

function change_jel_lang(id){
     if(id!='0'){ 
          $.ajax({
            url: doc_root+'ajax.php?module=jelentkezes_change',
            data: {'id':id,'action':'lang'},
            type: 'POST',
            dataType: 'json',
            async: false,
            success: function(resp){                
                con = $('#jelentkezes_course ul');            
                con.find('li').each(function(k,v){
                    if(k>0) $(v).remove();
                });            
                if(resp.list) $.each(resp.list,function(k,v){
                    con.append($('<li>')
                                        .append($('<a>')
                                            .attr('href','javascript:change_jel_course(\''+v.id+'\')')
                                            .attr('alt',v.id)
                                            .text(v.name)
                                    ));
                    }
                );
            }
        });
    }else{
        $('#jelentkezes_course ul li').each(function(k,v){
            if(k>0) $(v).remove();
        });          
    }    
    change_jel_course('0');
}

function change_jel_course(id){
    if(id!='0'){ 
        $.ajax({
            url: doc_root+'ajax.php?module=jelentkezes_change',
            data: {'id':id,'action':'course'},
            type: 'POST',
            dataType: 'json',
            async: false,
            success: function(resp){                    
                 z = $('div.check_box.ajaxos');
                 days = resp.data.course_date.split(',');
                 z.eq(0).html('');
                 for(i=0;i<days.length;i++){
                     z.eq(0).append('<input type="checkbox" disabled="disabled" checked="checked" /><span class="label">'+days[i].capitalize()+'</span>');
                 }
                 z.eq(1).html('<input type="checkbox" disabled="disabled" checked="checked" /><span class="label">'+resp.data.group_num+' '+js_lang["fo"]+'</span>');
                 z.eq(2).html('<input type="checkbox" disabled="disabled" checked="checked" /><span class="label">'+resp.data.l_1+'</span>');
                 costumizeCheckboxes('div.check_box.ajaxos ');
            }
        });
    }else{       
        $('#jelentkezes_course').siblings('input.select').val(js_lang['valasszon']).attr('alt','0');
        $('div.check_box.ajaxos').html('');
    }
}

jelresp = function(frm,resp){     
    $(frm).find('div.error, div.success').remove();
    if(resp.error && resp.error > 0 ){        
        $(frm).prepend($('<div class="error paragraph" />').text(resp.msg));
    }else{
        $(frm).find('input, select, textarea').each(function(){
            if(!$(this).attr('name')) return;
            if($(this).attr('type')=='checkbox'){
                $(this).removeAttr("checked")
            }else if($(this).hasClass('select')){
                $(this).attr('alt','0');
                $(this).val(js_lang['valasszon']);                
            }else{
                $(this).val('');
            }
        });   
        $('div.check_box.ajaxos').html('');
        $(frm).prepend($('<div class="success paragraph" />').text(js_lang['sikeres']));
        if( resp.url ){
            location.href=resp.url;
        }
    }
}

function postForm(frm, callback){        
    action = $(frm).attr('action');
    dta = {};   
    $(frm).find('input, select, textarea').each(function(){
        if(!$(this).attr('name')) return;
        if($(this).attr('type')=='checkbox'){
            dta[$(this).attr('name')] = ($(this).attr('checked')?'1':'0');
        }else if($(this).hasClass('select')){
            dta[$(this).attr('name')] = $(this).attr('alt');
        }else{
            dta[$(this).attr('name')] = $(this).val();
        }
    });       
     $.ajax({
        url: doc_root+action,
        data: dta,
        type: 'POST',
        dataType: 'json',
        async: false,
        success: function(resp){                           
            callback(frm,resp);
        }
    });
}

function kerdoiv_next(){
    visibles = $('#szintfel_q > li').filter(':visible');
    check_cnt = $('#szintfel_q > li').filter(':visible').find('input:checked').length;    
    if( visibles.length != check_cnt ){
       // console.log(check_cnt);
        alert(js_lang["toltsdki"]);
        return;
    }
        
    current = visibles.eq(0).attr('class').split('_').pop();
    next = parseInt(current)+1;
    if(  $('#szintfel_q > li.page_'+next).length >0 ){
        visibles.css('display','none');
        $('#szintfel_q > li.page_'+next).css('display','block');
        window.scrollTo(0,560);
    }else{
        //post a szintfelmérőnek //response tömbbe a válaszokat
        data = {'response':[]};
        $('#szintfelmero input').each(function(){
            if( $(this).hasClass('select') ){
                data[$(this).attr("name")] = $(this).attr('alt');
            }else if( $(this).attr('type')=='radio' ){                
                if( $(this).attr('checked') )data.response[data.response.length] = $(this).val() ; 
              
            }else if( $(this).attr('type')=='checkbox' ) {
                data[$(this).attr("name")] = ( $(this).attr('checked') )?'1':'0';
            }else{
                data[$(this).attr("name")] = $(this).val();
            }
        });                        
        action = $('#szintfelmero').attr('action');
        $.ajax({
            url: doc_root+action,
            data: data,
            type: 'POST',
            dataType: 'json',
            async: false,
            success: function(resp){  
                //console.log(resp);
                $('#szintfelmero').find('div.error, div.success').remove();
                if(resp.error && resp.error > 0 ){        
                //if( false ){
                    $('#szintfelmero').prepend($('<div class="error paragraph" />').text(resp.msg));
                    window.scrollTo(0,160);
                }else{                                        
                    $('#szintfelmero').prepend($('<div class="success paragraph" />').text(js_lang['sikeres']));
                    $('#szintfelmero input').not('.select').not('[type="hidden"]').not('[type="radio"]').val('');
                    $('#szintfelmero input').not('.select').removeAttr('checked');                    
                    visibles.css('display','none');
                    $('#szintfel_q > li.page_0').css('display','block');
                    window.scrollTo(0,160);
                     if( resp.url ){
                        location.href=resp.url;
                     }
                }
            }            
        });                
    }
}

function kerdoiv_lapozo(){
    $('#szintfel_q > li').css('display','none');
    $('#szintfel_q > li.page_0').css('display','block');
    $('#szintfel_tovabb').click(kerdoiv_next);
}


function tippek_sender(){
    $('#tipp_tovabb').click(function(){
        postForm('#tippek',jelresp);
    });
}

function hirlevel_sender(){
    $('#hirlevel_tovabb').click(function(){
        postForm('#hirlevelform',jelresp);
    });
}

function  contact_sender(){
    $('#contact_send').click(function(){
        postForm('#contact_form',jelresp);
    });
}

function init_skype(){
     $(function(){
        $('#skype_container').append(
            $('<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script><a href="skype:amerikai.intezet?call"><img src="http://download.skype.com/share/skypebuttons/buttons/call_blue_transparent_70x23.png" style="border: none;" width="70" height="23" alt="Skype Me\u2122!" /></a>')
        );
     });
}


