var http = createRequestObject();
var lastUrl = '';
var current_url = '';
var field = '';
var interval = '';


function createRequestObject() {
	var xmlhttp;
	try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); }
	catch(e) {
    try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
	catch(f) { xmlhttp=null; }
  }
  if(!xmlhttp&&typeof XMLHttpRequest!="undefined") {
	xmlhttp=new XMLHttpRequest();
  }
	return  xmlhttp;
}

function sendRequest(current_url,act) {
	try{
		if (act == 'Play' || act == 'Gift' || act == 'Play_Album' || act == 'Play_Singer' || act == 'Play_Playlist' || act == 'Zplay' || act == 'Zplayalbum')
			field = document.getElementById("playing_field");
		else field = document.getElementById("data_field");
		document.getElementById("loading").innerHTML = loadingText;
		document.getElementById("loading").style.display = "block";
		current_url = encodeURIComponent(current_url);
		http.open('POST',  'index.php');
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http.onreadystatechange = handleResponse;
		http.send('url='+current_url);
	}
	catch(e){}
	finally{}
}

function handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			document.getElementById("loading").style.display = "none";
			response = http.responseText;
			if (current_url.indexOf('Play') != -1 || current_url.indexOf('Gift') != -1) {
				field.style.marginBottom = "10";
				/*document.getElementById("show_hide").style.display = "block";*/
			}
			field.innerHTML = response;
			field.style.display = "";
		}
  	}
	catch(e){}
	finally{}
}

function getVar(url,cnt)
{
	url=url+'#';
	url=url.split('#');
	if (!url[1]) window.location.href = '#Home';
	url=url[1];
	url=url+',';
	url=url.split(',');
	if (url[0] == 'Logout')
		window.location.href = '?refresh=1';
	if (cnt != -1) {
		url=url[cnt];
		if (!url) return '';
	}
	return url;
}

function loadPage() {
	act = getVar(window.location.href,0);
	if (act) {
		current_url=window.location.href;
		current_url=current_url+'#';
		current_url=current_url.split('#');
		current_url=current_url[1];
		if (current_url) sendRequest(current_url,act);
	}
}

function urlCheck()
{
	url=window.location.href;
	if (url.indexOf('?') != -1 ) {
		url_temp = url.split('?');
		clearInterval(interval);
		href = url_temp[0];
		
		url=url+'#';
		url=url.split('#');
		if (url[1]) window.location.href = href+'#'+url[1];
		return;
	}
	if (url != '' && url!=lastUrl)
	{
		loadPage();
		lastUrl=url;
	}
}

function startLoad() {
	interval = setInterval('urlCheck()',100);
}

function alertBrokenLink(id) {
	if (confirm("Báo Link nhạc này đã hỏng ?")) {
		try{
			http.open('POST',  'index.php');
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http.onreadystatechange = BrokenResponse;
			http.send('url=Broken,'+id);
		}
		catch(e){}
		finally{}
	}
}

function BrokenResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			response = http.responseText;
			if (response == 1) alert("Thông báo đã được gởi đi. Cám ơn bạn đã báo cho chúng tôi.");
			else alert("Lỗi. Mong bạn thử lại.");
		}
  	}
	catch(e){
		alert("Lỗi. Mong bạn thử lại.");
	}
	finally{}
}

function do_search() {
	kw = document.getElementById("keyword").value;
	if (!kw) alert('Bạn chưa nhập từ khóa');
	else {
		kw = encodeURIComponent(kw);
		s_type = document.getElementById("searchType");
		type = s_type.options[s_type.selectedIndex].value;
		switch (type) {
			case 'song' : type = 1; break;
			case 'singer' : type = 2; break;
			case 'album' : type = 3; break;
			case 'internet' : type = 4; break;
		}
		last_url = '';
		if (type==4)  
window.location.href = '#Zget,'+kw; 
else  
		window.location.href = '#Search,'+type+','+kw;
	}
	return false;

}
// + ---------------------- +
// |        PLAYLIST        |
// + ---------------------- +

function reloadPlaylist(add_id,remove_id) {
	try{
		document.getElementById("playlist_field").innerHTML = loadingText;
		http.open('POST',  'index.php');
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http.onreadystatechange = playlist_handleResponse;
		http.send('reloadPlaylist=1&add_id='+add_id+'&remove_id='+remove_id);
	}
	catch(e){}
	finally{}
}

function playlist_handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			var response = http.responseText;
			document.getElementById("playlist_field").innerHTML = response;
		}
  	}
	catch(e){}
	finally{}
}

function addToPlaylist(song_id)
{
	reloadPlaylist(song_id,0);
}
function removeFromPlaylist(song_id)
{
	reloadPlaylist(0,song_id);
}

/*------------------------------------------------------*/


function trim(a) {
	return a.replace(/^s*(S*(s+S+)*)s*$/, "$1");
}

// + ------------------- +
// |        LOGIN        |
// + ------------------- +

function login_handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			document.getElementById("login_loading").style.display = "none";
			var response = http.responseText;
			if (response) {
				document.getElementById("login_loading").innerHTML = response;
				document.getElementById("login_loading").style.display = "block";
			}
			else window.location.href = '?refresh=1';
		}
  	}
	catch(e){}
	finally{}
}

function login(form) {
	name = eval('encodeURIComponent('+form+'.name.value);');
	pwd = eval('encodeURIComponent('+form+'.pwd.value);');
	if(	trim(name) == "" ||	trim(pwd) == "")
		alert("Bạn chưa nhập đầy đủ thông tin");
	else {
		try{
			document.getElementById("login_loading").innerHTML = loadingText;
			document.getElementById("login_loading").style.display = "block";
			http.open('POST',  'index.php');
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http.onreadystatechange = login_handleResponse;
			http.send('login=1&name='+name+'&pwd='+pwd);
			
		}
		catch(e){}
		finally{}
	}
	return false;
}

// + ---------------------- +
// |        REGISTER        |
// + ---------------------- +

function reg_handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			document.getElementById("reg_loading").style.display = "none";
			var response = http.responseText;
			if (response) {
				document.getElementById("reg_loading").innerHTML = response;
				document.getElementById("reg_loading").style.display = "block";
			}
			else {
				window.location.href = '#Login';
			}
		}
  	}
	catch(e){}
	finally{}
}
function request_check_values() {
    ok = false;
    title_request = encodeURIComponent(document.getElementById("title_request").value);
    singer_request = encodeURIComponent(document.getElementById("singer_request").value);
    author_request = encodeURIComponent(document.getElementById("author_request").value);
    ym_request = encodeURIComponent(document.getElementById("ym_request").value);
    email_request = encodeURIComponent(document.getElementById("email_request").value);
    info_request = encodeURIComponent(document.getElementById("info_request").value);
    
    if(    trim(title_request) == "" ||    trim(email_request) == "" )
        alert("Bạn chưa nhập đầy đủ thông tin");
    else {
        try{
            document.getElementById("reg_loading").innerHTML = loadingText;
            document.getElementById("reg_loading").style.display = "block";
            http.open('POST',  'index.php');
            http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            http.onreadystatechange = reg_handleResponse;
            http.send('request=1&title_request='+title_request+'&author_request='+author_request+'&singer_request='+singer_request+'&ym_request='+ym_request+'&email_request='+email_request+'&info_request='+info_request);
            
        }
        catch(e){}
        finally{}
    }
    return ok;
}
function reg_check_values() {
	ok = false;
	name = encodeURIComponent(document.getElementById("reg_name").value);
	pwd = encodeURIComponent(document.getElementById("reg_pwd").value);
	pwd2 = encodeURIComponent(document.getElementById("reg_pwd2").value);
	email = encodeURIComponent(document.getElementById("reg_email").value);
	agree = document.getElementById("agree").checked;
	sec_num = document.getElementById("sec_num").value;
	
	s = document.getElementsByName("reg_sex");
	if (s[0].checked) sex = s[0].value;
	if (s[1].checked) sex = s[1].value;
	
	if(	trim(name) == "" ||	trim(pwd) == "" ||	trim(pwd2) == "" ||	trim(email) == "" )
		alert("Bạn chưa nhập đầy đủ thông tin");
	else
		if (pwd != pwd2) alert("Xác nhận mật khẩu không chính xác");
		else if (!agree) alert("Bạn chưa đồng ý với các quy định của trang Web");
		else {
			try{
				document.getElementById("reg_loading").innerHTML = loadingText;
				document.getElementById("reg_loading").style.display = "block";
				http.open('POST',  'index.php');
				http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				http.onreadystatechange = reg_handleResponse;
				http.send('reg=1&name='+name+'&pwd='+pwd+'&email='+email+'&sex='+sex+'&sec_num='+sec_num);  
				
			}
			catch(e){}
			finally{}
		}
	return ok;
}

// + ------------------------- +
// |        CHANGE INFO        |
// + ------------------------- +

function change_info_handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			document.getElementById("change_info_loading").style.display = "none";
			var response = http.responseText;
			if (response) {
				document.getElementById("change_info_loading").innerHTML = response;
				document.getElementById("change_info_loading").style.display = "block";
			}
			else window.location.href = '?refresh=1';
		}
  	}
	catch(e){}
	finally{}
}

function change_info() {
	email = encodeURIComponent(document.getElementById("u_email").value);
	oldpwd = encodeURIComponent(document.getElementById("u_oldpwd").value);
	newpwd_1 = encodeURIComponent(document.getElementById("u_newpwd_1").value);
	newpwd_2 = encodeURIComponent(document.getElementById("u_newpwd_2").value);
	avatar_input = encodeURIComponent(document.getElementById("u_avatar_input").value); 
    avatar_local = encodeURIComponent(document.getElementById("u_avatar_local").value);  
	h_sex = document.getElementById("hide_sex").checked;
	h_email = document.getElementById("hide_email").checked;
	s = document.getElementsByName("u_sex");
	if (s[0].checked) sex = s[0].value;
	if (s[1].checked) sex = s[1].value;
	if(	trim(email) == "" )
		alert("Bạn chưa nhập đầy đủ thông tin");
	else if (newpwd_1 != newpwd_2)
		alert("Xác nhận mật khẩu không đúng");
	else {
		try{
			document.getElementById("change_info_loading").innerHTML = loadingText;
			document.getElementById("change_info_loading").style.display = "block";
			http.open('POST',  'index.php');
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http.onreadystatechange = change_info_handleResponse;
			http.send('change_info=1&email='+email+'&oldpwd='+oldpwd+'&newpwd='+newpwd_1+'&sex='+sex+'&hide_sex='+h_sex+'&hide_email='+h_email+'&avatar_input='+avatar_input+'&avatar_local='+avatar_local);  


		}
		catch(e){}
		finally{}
	}
	return false;
}

// + ----------------------------- +
// |        FORGOT PASSWORD        |
// + ----------------------------- +

function forgot_handleResponse() {
	try {
		if((http.readyState == 4)&&(http.status == 200)){
			document.getElementById("forgot_loading").style.display = "none";
			var response = http.responseText;
			if (response) {
				document.getElementById("forgot_loading").innerHTML = response;
				document.getElementById("forgot_loading").style.display = "block";
			}
		}
  	}
	catch(e){}
	finally{}
}

function forgot() {
	email = encodeURIComponent(document.getElementById("u_email").value);
	if(	trim(email) == "" )	alert("Bạn chưa nhập email");
	else {
		try{
			document.getElementById("forgot_loading").innerHTML = loadingText;
			document.getElementById("forgot_loading").style.display = "block";
			http.open('POST',  'index.php');
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http.onreadystatechange = forgot_handleResponse;
			http.send('forgot=1&email='+email);
		}
		catch(e){}
		finally{}
	}
	return false;
}

function popup(url,wdname,width,height)
{
	if (width == null)  { width  = 200; }   // default width
	if (height == null) { height = 400; }   // default height
	newwin=window.open(url,wdname,'fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+width+',height='+height);
	if (document.all)
	{
		newwin.moveTo(0,0);
		newwin.focus();
	}
}

function gift(id,width,height) {
	popup('gift.php?id='+id,'gift',width,height);
}

function comment(id,width,height) {
	popup('comment.php?id='+id,'comment',width,height);
}

function receive_gift(id) {
	window.location.href = '#Gift,'+id;
}
function showComment(media_id,pg) {
 try {
  document.getElementById("loading_comment").innerHTML = loadingText;
  document.getElementById("loading_comment").style.display = "block";
  http.open('POST',  'comment.php');
  http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function() {
   if((http.readyState == 4)&&(http.status == 200)){
    document.getElementById("loading_comment").style.display = "none";
    document.getElementById("comment_field").innerHTML = http.responseText;
   }
  }
  http.send('lvcomment=1&media_id='+media_id+'&pg='+pg);
 }
 catch(e){}
 finally{}
 return false;
}
function comment_handleResponse() {
 try {
  if((http.readyState == 4)&&(http.status == 200)){
   var response = http.responseText;
   if (response != 1) {
    if (document.getElementById("nocomment")) document.getElementById("nocomment").innerHTML = '';
    btns = document.getElementById('newcomment');
    oLI = document.createElement('div');
    oLI.innerHTML = "<div id=newcomment>"+response+"</div>";
    btns.parentNode.insertBefore(oLI, btns);
    document.getElementById("loading_comment").style.display = "none";
    document.getElementById("comment_content").value = "";
    return false;
   }
   else document.getElementById("loading_comment").innerHTML = "<div class=love align=center>Bạn hãy đợi một lúc nữa rồi hãy gửi tiếp</div>";
  }
   }
 catch(e){}
 finally{}
}
function comment_check_values() {
 media_id = encodeURIComponent(document.getElementById("media_id").value);
 comment_content = encodeURIComponent(document.getElementById("comment_content").value);
 if(trim(comment_content) == "")
  alert("Bạn chưa nhập cảm nhận");
 else if (comment_content.length > 50000)
  alert("Nội dung cảm nhận quá 500 ký tự.");
 else {
  try {
   document.getElementById("loading_comment").innerHTML = loadingText;
   document.getElementById("loading_comment").style.display = "block";
   http.open('POST',  'comment.php');
   http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   http.onreadystatechange = comment_handleResponse;
   http.send('comment=1&media_id='+media_id+'&comment_content='+comment_content);
  }
  catch(e){}
  finally{}
 }
 return false;
}
function comment_delete(media_id,comment_id) {
 if (confirm("Bạn có muốn xóa cảm nhận này không ?")) {
  document.getElementById("comment_loading").innerHTML = loadingText;
  document.getElementById("comment_loading").style.display = "block";
  http.open('POST',  'comment.php');
  http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = comment_handleResponse;
  http.send('delete=1&media_id='+media_id+'&comment_id='+comment_id);
 }
 return false;
} 
function mediaNext()
{
        if(document.getElementById("baihientai"))
           $idnext = document.getElementById("baihientai").value;
  s=$idnext;
  window.location='#Play,'+s;
}
function post_handleResponse() { 
    try { 
        if((http.readyState == 4)&&(http.status == 200)){ 
            document.getElementById("post_loading").style.display = "none"; 
            var response = http.responseText; 
            if (response) { 
                document.getElementById("post_loading").innerHTML = response; 
                document.getElementById("post_loading").style.display = "block"; 
                document.getElementById("submit").disabled=false;document.getElementById("submit").value="Đăng lại"; 
            } 
            else window.location.href = '?refresh=1'; 
        } 
      } 
    catch(e){} 
        finally{} 
} 

function post_nhac() { 
    song = encodeURIComponent(document.getElementById("post_song").value); 
    artist = encodeURIComponent(document.getElementById("post_artist").value); 
    album = encodeURIComponent(document.getElementById("post_album").value); 
    cat = encodeURIComponent(document.getElementById("post_cat").value); 
    lyric = encodeURIComponent(document.getElementById("post_lyric").value); 
    url = encodeURIComponent(document.getElementById("post_url").value); 
    //nhacsi = encodeURIComponent(document.getElementById("post_nhacsi").value); 
    if(    trim(song) == "" || trim(url) == "") 
        alert("Bạn chưa nhập đầy đủ thông tin (*)"); 
    else { 
        try{ 
            document.getElementById("post_loading").innerHTML = loadingText; 
            document.getElementById("post_loading").style.display = "block"; 
            http.open('POST',  'index.php'); 
            http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
            http.onreadystatechange = post_handleResponse; 
            http.send('media_post=1&song='+song+'&artist='+artist+'&cat='+cat+'&lyric='+lyric+'&url='+url+'&album='+album); //+'&nhacsi='+nhacsi     
        document.getElementById("submit").disabled=true;document.getElementById("submit").value="Wait ..."; 
        } 
        catch(e){} 
        finally{} 
    } 
    return false; 
} 
function media_edit_handleResponse() { 
    try { 
        if((http.readyState == 4)&&(http.status == 200)){ 
            document.getElementById("edit_loading").style.display = "none"; 
            var response = http.responseText; 
            if (response){     
                document.getElementById("edit_loading").innerHTML = response; 
                document.getElementById("edit_loading").style.display = "block"; 
                document.getElementById("submit").disabled=false;document.getElementById("submit").value="Đăng lại"; 
            }else window.location.href = '?refresh=1';     
        } 
    } 
    catch(e){} 
        finally{} 
} 

function media_edit(id) { 
    song = encodeURIComponent(document.getElementById("edit_song").value); 
    artist = encodeURIComponent(document.getElementById("edit_artist").value); 
    album = encodeURIComponent(document.getElementById("edit_album").value); 
    cat = encodeURIComponent(document.getElementById("edit_cat").value); 
    lyric = encodeURIComponent(document.getElementById("edit_lyric").value); 
    url = encodeURIComponent(document.getElementById("edit_url").value); 
    //nhacsi = encodeURIComponent(document.getElementById("edit_nhacsi").value); 
    if(    trim(song) == "" || trim(url) == "") 
        alert("Bạn chưa nhập đầy đủ thông tin (*)"); 
    else { 
        try{ 
            document.getElementById("edit_loading").innerHTML = loadingText; 
            document.getElementById("edit_loading").style.display = "block"; 
            http.open('POST',  'index.php'); 
            http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
            http.onreadystatechange = media_edit_handleResponse; 
            http.send('media_edit=1&song='+song+'&artist='+artist+'&cat='+cat+'&lyric='+lyric+'&url='+url+'&media_id='+id+'&album='+album); //+'&nhacsi='+nhacsi 
            document.getElementById("submit").disabled=true;document.getElementById("submit").value="Wait..."; 
        } 
        catch(e){} 
        finally{} 
    } 
    return false; 
} 
function m_del_handleResponse() { 
    try { 
        if((http.readyState == 4)&&(http.status == 200)){ 
            var response = http.responseText; 
            if (response == 1) { 
                alert("Media đã được xoá."); 
                window.location.href = '?refresh=1'; 
            } 
        } 
      } 
    catch(e){} 
    finally{} 
} 
function media_delete(media_id) { 
    if (confirm("Bạn có chắc chắn muốn xóa ca khúc này không ?")) { 
        http.open('POST',  'index.php'); 
        http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        http.onreadystatechange = m_del_handleResponse; 
        http.send('media_delete=1&media_id='+media_id); 
    } 
    return false; 
}  

function get_comic(){
id = document.getElementById("comic").value;
if (id != '0')
window.location.href='#comic/'+id+'/1';
} 
function media_delete(media_id) { 
    if (confirm("Bạn có chắc chắn muốn xóa ca khúc này không ?")) { 
        http.open('POST',  'index.php'); 
        http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        http.onreadystatechange = m_del_handleResponse; 
        http.send('media_delete=1&media_id='+media_id); 
    } 
    return false; 
}  
function popup(url,wdname,width,height)
{
if (width == null) { width = 200; } // default width
if (height == null) { height = 400; } // default height
newwin=window.open(url,wdname,'fullscreen=no,toolb ar=no,location=no,directories=no,status=no,menubar =no,scrollbars=no,resizable=no,width='+width+',hei ght='+height);
if (document.all)
{
newwin.moveTo(0,0);
newwin.focus();
}
}
// BEGIN RATING
function Rating(media_id,star) {
    try {
        document.getElementById("rate_s").innerHTML = loadingText;
        document.getElementById("rate_s").style.display = "block";
        hide_rating_process();
        http.open('POST',  'rating.php');
        http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        http.onreadystatechange = function() {
            if((http.readyState == 4)&&(http.status == 200)){
                document.getElementById("rating_field").innerHTML = http.responseText;
            }
        }
        http.send('rating=1&media_id='+media_id+'&star='+star);
    }
    catch(e){}
    finally{}
    return false;
}


    // pre-fetch image
    (new Image()).src = RATE_OBJECT_IMG;
    (new Image()).src = RATE_OBJECT_IMG_HALF;
    (new Image()).src = RATE_OBJECT_IMG_BG;

    function show_star(starNum) {
        remove_star();
        full_star(starNum);
    }
    
    function full_star(starNum) {
        for (var i=0; i < starNum; i++)
            document.getElementById('star'+ (i+1)).src = RATE_OBJECT_IMG;
    }
    function remove_star() {
        for (var i=0; i < 5; i++)
            document.getElementById('star' + (i+1)).src = RATE_OBJECT_IMG_BG; // RATE_OBJECT_IMG_REMOVED;
    }
    function show_rating_process() {
         if(document.getElementById("rating_process")) document.getElementById("rating_process").style.display = "block";
    }
    function hide_rating_process() {
        document.getElementById("rating_process").style.display = "none";
    }
// END RATING
function QPlay(media_id) {
try {
document.getElementById("quick_play_"+media_id).innerHTML = loadingText;
document.getElementById("quick_play_"+media_id).style.display = "block";
http.open('POST', 'qplay.php');
http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http.onreadystatechange = function() {
if((http.readyState == 4)&&(http.status == 200)){
document.getElementById("quick_play_field_"+media_id).innerHTML = http.responseText;
document.getElementById("control_quick_play_"+media_id).innerHTML = '<a href=# onclick="return CQPlay('+media_id+');"><img src="img/qplaycol.gif" border="0"></a>';
}
}
http.send('qplay=1&media_id='+media_id);
}
catch(e){}
finally{}
return false;
}

function CQPlay(media_id) {
document.getElementById("quick_play_field_"+media_id).innerHTML = '<div id=quick_play_'+media_id+'></div>';
document.getElementById("control_quick_play_"+media_id).innerHTML = '<a href="#" onclick="return QPlay('+media_id+');"><img src="img/qplayex.gif" border="0"></a>';
return false;
} 
