/*
 1 số biến toàn cục
 */
var userid      =   0;
var useravatar  =   '';
var username    =   '';
var userlevel   =   0;
var cfstatus=false;
function contactForm(){
    if(cfstatus) {
        $('#contact-us').animate({right:'-310px'});   
        $('#contact-us-btn').css('background-position','0 0');
    }else {
        $('#contact-us').animate({right:'0px'});
        //$('#contact-us-btn').css('background-position','0px 0');
    }
    cfstatus=!cfstatus;
    return false;
}
function loginYahoo(){
    $.get('/login.php',{'nhacungcap':'https://me.yahoo.com'},function(data){
        window.open(data,'Login  Yahoo','width=640,height=480');
    })
    return false;
}
function loginGoogle(){
    //console.log('google');
    $.get('/login.php',{'nhacungcap':'https://www.google.com/accounts/o8/id'},function(data){
        window.open(data,'Login Google','width=640,height=480');    
    });
    return false;
    
}
function checkFB(){
    var name=$('#cu-name').val();
    var capt=$('#cu-capt').val();
    var cont=$('#cu-cont').val();
    if(name.length==0||capt.length==0||cont.length==0){
        showMes('Thông báo','Xin hãy nhập đầy đủ thông tin!');
    }else{
        $.post('/home/action.php',{'type':'feedback','name':name,'capt':capt,'cont':cont},function(data){
            console.log(data);
            if(data.success==1){
                showMes('Thông báo!','Cám ơn bạn đã gửi thông tin phản hồi cho chúng tôi.<br>Chúc bạn có những giây phút thoải mái nhất tại video24h.com.');
                $('#ct-capt-img').attr('src','/includes/inc_cu_captcha.php');
                $('#cu-name').val('');
                $('#cu-capt').val('');
                $('#cu-cont').val('');
                cfstatus=true;
                contactForm();
            }else{
                showMes('Thông báo',data.mes);
            }
        },'json');
    }
    return false;
}
function openDialog(name){ 
    //fai tao dialog truoc;
    $('#'+name+'Dialog').dialog('open');
    return false;
}
function showMes(title,mes,ct){
    $('#mes').html(mes);
    $('#mes').dialog('destroy');
    var pos=['center','center'];
    if(ct==undefined){ pos=['center','center'];}
    $('#mes').dialog({
        title:title,   
        position:pos,
        buttons:{"Đóng":function(){
            $('#mes').dialog('close');
            }
        }         
    });
    setTimeout(function(){
        $('#mes').dialog('close');   
    },3000);
}
//dang nhap thanh cong
function logedIn(uid,name,avatar,level){   
    
    userid=uid;
    username=name;
    useravatar=avatar;
    userlevel=level;
    /*input cookie*/
    $('#cookieuid').val(uid);
    /*An form login di*/
    $('#loginForm').hide();
    $('#accountInfo').show();
    $('#accountInfo').removeClass('hide');        
    /*Hien form thong tin account len*/    
    $('#accName').html(name);
    $('#accName').attr('href','/user/'+uid);
    $('#accAvatar').attr('src',avatar);
    /*Hien thi nhung cho can user dan nhap*/
    $('.needUser').show();
    if(level>1) $('.needAdmin').show();
        
    $('.useravatar').attr('src',avatar);
    getPlaylistOf(uid);
}
function doFbName(){
    var fbName  =   $('#chooseFbName').val();
    if($.trim(fbName).length==0){
        showMes('Bạn phải nhập tên!');
        return false;
    }
    $.post('/home/action.php',{'type':'fbName','uid':userid,'name':fbName},function(data){
       if(data.success==1){
            $('.hi').html('Xin chào '+fbName);
            $('#facebookDialog').dialog('close');    
       } 
    },'json');
    
    return false;
}
function doSignOut(){
    var p   =   window.location.pathname;
    p=p.substr(1);
    p=p.substr(0,p.lastIndexOf("/"));
    $('#email').val('');
    $('#pass').val('');
    /*An hien form*/
    $('#loginForm').show();
    $('#accountInfo').hide();
    /*Input Cookie*/
    $('#cookieuid').val(0);
    /*Sua form thong tin account len*/   
    $('#accName').html('');
    $('#accName').attr('href','#');
    $('#accAvatar').attr('src','');
    /*Clear cookie*/
    $.cookie('ckuid',null,{path:'/'});
    $.cookie('ckname',null,{path:'/'});
    $.cookie('ckavatar',null,{path:'/'});
    $.cookie('cklevel',null,{path:'/'});
    userid=0;
    userlevel=0;
    $('.needUser').hide();
    if(p=="user") window.location="/";
    $.post('/home/action.php',{'type':'signOut'})
    return false;
}
//home sign up
function doSignup(){    
    var name    =   $('#regisname').val();
    var email   =   $('#regisemail').val();
    var pass    =   $('#regispass').val();
    var pass2    =   $('#regispass2').val();
    
    $('#regispass').val('');
    $('#regispass2').val('');
    if(email.length==0 || pass.length<6 ||(pass!=pass2)){
        showMes("Lỗi","Hãy xem lại thông tin đăng ký.")
        return false;  
    } 
    $.post('/home/action.php',{"type":"regacc","name":name,"email":email,"pass":pass},function(data){      
        
        if(data['success']==1){
            showMes("Thông báo","Cám ơn bạn đã đăng ký tài khoản tại video24h.com.Xin hãy vào hòm thư của bạn để xác nhận việc đăng ký tài khoản.");
            
            //logedIn(data.uid,name,'',1);
            $('#signupDialog').dialog('close');
            //currentPlaylist=new Array();
            //showPL();
        }else{
            
            showMes("Thông báo",data.mes);
        }        
    },'json');           
    return false;     
}


//Home Dang nhap
function doLogin(){
    if($('#loginDialog').size()>0) $('#loginDialog').dialog('close');
       
    var email   =   $('#email').val();
    var pass    =   $('#pass').val();
    $('#pass').val('');
    
    if(email.length==0 || pass.length<6){
        showMes('Thông báo','Bạn chưa nhập email hoặc mật khẩu có ít hơn 6 ký tự');
        return false;  
    } 
    $.post('/home/action.php',{"type":"checkacc","email":email,"pass":pass},function(data){      
        if(data['success']==1){
            $.cookie('ckuid',data['uid'],{expires:7,path:'/'});
            $.cookie('ckname',data['name'],{expires:7,path:'/'});
            $.cookie('cklevel',data['level'],{expires:7,path:'/'});
            $.cookie('ckavatar',data['avatar'],{expires:7,path:'/'});   
            if(data.level>1) $('.adminFunc').show();
            else $('.adminFunc').hide();
            logedIn(data['uid'],data['name'],data['avatar'],data['level']);                                
        }else{
            //sai ten dang nhap hoac mat khau
            
            showMes("Thông báo",data.mes,true);
        }        
    },'json');
       
    return false;     
}

//Upload
function doUpload(link,show){
    //console.log('up');
    if(link==undefined)  link =   $('#videoCode').val();
   
    if(link.length!=11) {        
        var ar=link.split('v=');
        if(ar.length>1){    
            //link dang watch?v=
            link=ar[1].substr(0,11);        
        }else{            
            ar=link.split('youtu.be');
            if(ar.length>1){
                //link dang youtu.be/
                link=ar[1].substr(1,11);    
            }
        }        
    }
    if(link.length!=11){
        //check file
        showMes("Thông báo","Chúng tôi sẽ xử lý link dạng này sau!");
        return false;
    }
    
    var url     =   "http://gdata.youtube.com/feeds/api/videos?alt=json&q="+link;
    $.get(url,function(data){
        if(data.feed.entry==undefined){
            showMes('Error','Link này bị lỗi rồi!');
            return false;
        }
        var obj     =   data.feed.entry[0];
        var author  =   obj.author[0].name.$t;
        var info    =   obj.media$group;
        var content =   obj.content.$t;
        var cat     =   info.media$category[0].$t;
        var des     =   info.media$description.$t;
        var big     =   info.media$thumbnail[0].url;
        var small   =   info.media$thumbnail[1].url;
        var title   =   info.media$title.$t;    
        if(obj.yt$statistics!=undefined){
            var view    =   obj.yt$statistics.viewCount;
            var favo    =   obj.yt$statistics.favoriteCount;
        }else{
            var view    =   0;
            var favo    =   0;
        }
        var inserturl   =   '/admin/set/insert.php';
        $.post(inserturl,{
            "vid_link":link,
            "vid_author":author,
            "vid_title":title,
            "vid_content":content,
            "vid_cat":cat,
            "vid_view":view,
            "vid_time":new Date().getTime(),
            "vid_favourites":favo,
            "vid_big":big,
            "vid_small":small
            },function(data){
               if(show) {
                    add2Playlist(data.insertid,link,title,content,view);
               }
               else {
                    showMes("Thông báo",data.mes);
               }
                     
        },'json');
    },'json');
    return false;
}
/*******************************************************************************************************************************/
//Hàm nảy để di chuyển 1 slide trái phải
//yêu cầu là slide có dạng : 
/*
    <input type="hidden" id="idgido-max" value="so luong item"/>
    <ul id="idgido">
        <li></li>
    </ul>
    <div id="idgido-prev" onclick="return moveSlide('idgido',false)"></div>
    <input type="hidden" value="0" id="idgido-pos"/>
    <div id="idgido-next" onclick="return moveSlide('idgido',true)"></div>                    
                    
 */
//
function moveSlide(item,direction){
    var itemId  =   '#'+item;
    var posHolder   =   $(itemId+'-pos');
    var pos =   posHolder.val();
    //console.log(pos);
    var max =   $(itemId+"-max").val()-itemPS;
    //console.log(max);
    if(direction){
        //move right
        if(pos<max) { posHolder.val(pos*1+itemPS);
             //hien nut sang trai
             $(itemId+'-prev').css('background-position','0px 0');
        }
    }else{
        //move left
        if(pos>2){ posHolder.val(pos-itemPS); 
            //hien nut sang phai
            $(itemId+'-next').css('background-position','-41px 0'); 
        } 
    }
    var newpos  =   posHolder.val();
    //Nếu vị trí mới > số item thì ẩn nút sang phải đi.
    if(newpos>=max) $(itemId+'-next').css('background-position','-123px 0');
    //Nếu vị trí mới = 0 thì ẩn nút sang trái đi.
    if(newpos==0) $(itemId+'-prev').css('background-position','-82px 0');
    //Dịch chuyển;
    
    var ml      =   -slideItemWidth*newpos+slideMarginLeft;
    $(itemId).animate({marginLeft:ml+'px'},500);    
}



function removePlaylist(plid){
    $.post('/home/action.php',{'type':'removeplaylist','plid':plid},function(data){
        if(data.success==1){
            getPlaylistOf(userid);    
        }
          
    },'json');    
    return false;
}
/*
 Hàm tạo playlist mới.
 */
 function keyNewPlaylist(){
    //keyCode la cua chrome,FireFox no lai doc la charCode
    var keycode=event.keyCode==0?event.charCode:event.keyCode;
    /* enter */
    if(keycode==13) newPlaylist();
 }
 function newPlaylist(){
    var plname  =   $('#plname').val();
    if($.trim(plname).length==0){
        showMes("Lỗi","Hãy nhập tên playlist");
        return false;  
    }
    $.post('/home/action.php',{'type':'newplaylist','plname':plname,'creator':userid},function(data){
        if(data.success==1){
            $('#plname').val('');
            getPlaylistOf(userid);
        }else{showMes('Error',data.mes);}
        
    },'json');     
    return false;
        
 }
/*******************************************************************************************************************************/
/*
 Hàm lấy danh sách các playlist của 1 user nào đó
 */
function getPlaylistOf(uid){
    $.post('/home/action.php',{'type':'getallplaylist','uid':uid},function(data){
        if(data.havePL==0) {
            $('#userPL').html('');    
            return false;   
        }
        var rt='';
        var sl='';
        for(i=0;i<data.playlist.length;i++){
            var tempobj = data.playlist[i];
            rt+='<div class="pldiv">';
            rt+='<span class="plid">'+tempobj.id+'</span>';
            rt+='<span class="plname">'+tempobj.name+'</span>';
            
            rt+='<a class="pllink perBTN btnplay" href="/playlist/'+tempobj.id+'/'+tempobj.urlname+'" title="Chơi playlist này!">';
            rt+='</a>';
            rt+='<a class="pllink perBTN btndel" href="#" title="Xóa playlist này!" onclick="return removePlaylist('+tempobj.id+')">';
            rt+='</a>';
            rt+='</div><!--end pldiv-->';
            
            sl+='<option value="'+tempobj.id+'">'+tempobj.name+'</option>';
        }
        sl='<option value="unselect">---Lựa chọn playlist---</option><option value="new">Playlist mới</option>'+sl;
        $('#sortTarget').html(sl);
        $('#userPL').html(rt);
    },'json');
}

/*****************************************************************************************************************************/
//
//
//          ON READY
//
//
/*****************************************************************************************************************************/
$(document).ready(function(){
    
    userid=$('#cookieuid').val();
    $('.needUser').hide();
    //Nếu có quyền admin thì hiện khu admin lên
    
    userlevel=$.cookie('cklevel');
    if(!($.cookie('cklevel')>1)) {        $('.adminFunc').hide();}
    else $('.adminFunc').show();    
    /*
     Nếu đã đăng nhập thì load danh sách playlist của user đó
     */
    if(userid>0){ 
        //get playlist;
        getPlaylistOf(userid);
        //lấy tên user
        $.post("/home/action.php",{"type":"getuser","uid":userid},function(data){
            if(data['success']==1){
                logedIn(data['uid'],data['name'],data['avatar'],data['level']);
            }   
        },'json');    
    }
    
    //dialog
    var dialogDefault={
        autoOpen: false,
        width:350,
        height:450,
        zIndex:200,
        position:['center','center'],
        modal:true,//khi bật dialog thì ẩn xung quanh đi
        resizable:false
    };
    $('#facebookDialog').dialog(dialogDefault);
    $('#facebookDialog').dialog({
        
        buttons: { "OK": doFbName },
        title:'Chọn nick đẹp',
        height:200
    })
    
    $('#tagDialog').dialog(dialogDefault);
    $('#tagDialog').dialog({
        title:'Tag nghệ sĩ',
        height:250        
    });

    $('#signupDialog').dialog(dialogDefault);
    $('#signupDialog').dialog({
        buttons: { "OK": doSignup },
        title:'Đăng ký'
    });
    
    $('#loginDialog').dialog(dialogDefault);
    $('#loginDialog').dialog({
        buttons: { "OK": doLogin },
        title:'Đăng nhập',
        height:350,
        width:350
    });
    $('#loginDialog input:password').keyup(function(event){
        var keycode=event.keyCode==0?event.charCode:event.keyCode;
        if(keycode==13) doLogin();
    });
    $('#loginDialog input[type=email]').keyup(function(event){
        var keycode=event.keyCode==0?event.charCode:event.keyCode;
        if(keycode==13) $('#loginDialog input:password').focus();
    });
    $('#playlistDialog').dialog(dialogDefault);
    $('#playlistDialog').dialog({
        title:'Playlist',
        height:300
    });
    
    $('#uploadDialog').dialog(dialogDefault);
    $('#uploadDialog').dialog({
        title:'Thêm video',
        height:300,
        width:500
    });
    
    
    
    
    
    
    if($('#searchArtistTB').size()>0){
        $('#searchArtistTB').autocomplete({
    			source: "/home/ac_artist.php",
    			minLength: 2,
    			select: function( event, ui ) {
    			     window.location = '/artist/'+ui.item.art_q;
                     return false;
    			}
    		}).data( "autocomplete" )._renderItem = function( ul, item ) {
    			var displayItem  =   '<a class="acArtistImage_wrap" href="/artist/'+item.art_q+'">';
                displayItem     +=      '<div style="background:url('+item.art_small+') 50% 50% no-repeat;" class="acArtistImage"></div>';
                displayItem     +=   '<span class="acArtistName">'+item.art_name+'</span>';
                displayItem     +=   '</a>';
                
                return $( "<li></li>" )            
    				.data( "item.autocomplete", item )
    				.append( displayItem)
    				.appendTo( ul );
    		};
    
    }
    
    
    
    
    
    //button
    $("input:button,input:submit,input:reset").button();
    //style may cai input loai textbox
    $("input[type=text],input[type=email],input[type=password]").addClass("text ui-widget-content ui-corner-all");
    
    $("a.button").button();
    
    
    var pathname    =   window.location.pathname;
    var pagename    =   pathname.substr(pathname.lastIndexOf("/")+1);
    //if(pagename!="setgenre.php")  canbang();
    $('#loading').remove();
    $('#temper').remove();
    
    if($('#fbName').size()>0){
        if($('#fbName').val()==''){
            openDialog('facebook');
        }
    }
});
