//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;
var root_folder = "/";
//loading popup with jQuery magic!
function loadPopup(id, flStr){
	//loads popup only if it is disabled
	if(popupStatus==0){

            if (flStr) {
                $("#flStr").val(flStr);
            }
            $("#backgroundPopup").css({
                    "opacity": "0.7"
            });
            $("#backgroundPopup").fadeIn("slow");
            $(id).fadeIn("slow");
            popupStatus = 1;
	}
}


//disabling popup with jQuery magic!
function disablePopup(id){
	//disables popup only if it is enabled
	if(popupStatus==1){
		$("#backgroundPopup").fadeOut("slow");
		$("#backgroundPopupRegister").fadeOut("slow");
		$(id).fadeOut("slow");
		popupStatus = 0;
	}
}

//centering popup
function centerPopup(id){
	//request data for centering
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
	var popupHeight = $(id).height();
	var popupWidth = $(id).width();

	//centering
	$(id).css({
		"position": "absolute",
		"top": windowHeight/2-popupHeight/2,
		"left": windowWidth/2-popupWidth/2
	});
	//only need force for IE6

	$("#backgroundPopup").css({
		"height": windowHeight * 2.1
	});
}

// shows the error message
function throwError(errMsg) {
    $('div#displayError').css('display', 'block');
    $("div#displayErrorText").html(errMsg);
}

// hides the error message
function hideError() {
    $('div#displayError').css('display', 'none');
    $("div#displayErrorText").html('');
}


// pop-up from flash - Login
function loadLoginPopup(flStr) {
    centerPopup('#popupContact');
    if (flStr) {
        loadPopup('#popupContact', flStr);
    } else {
        loadPopup('#popupContact');
    }
}

// pop-up from flash - Register
function loadRegisterPopup() {
    centerPopup('#popupRegister');
    loadPopup('#popupRegister');
}

function loadRegPopup(){
	//centering with css
	centerPopup('#popupRegister');
	//load popup
	loadPopup('#popupRegister');
}

$(document).ready(function(){  
  
// get cities
  $("#college").autocomplete("colleges.php", {
		width: 260,
		selectFirst: false
	});

	// college result
  $("#college").result(function(event, data, formatted) {
		if (data)
			$(this).parent().next().find("input").val(data[1]);
	});
	  
  // forgot password process..
  $('input#submitfgtPwd').click(function(event) { 
    var isValid   = false;
    var userEmail = $('input#userFgtEmail').val();
    
    if(!userEmail) {
      $('div#displayFgtError').css('display', 'block');
      $("div#displayFgtErrorText").html('Username should not be empty.');  
    } else {
      $("div#displayFgtErrorText").html('&nbsp;');
      var url = 'validateuser.php';
      var queryString = 'type=fgtpasswd&user='+userEmail;
      $.post (url, queryString, 
        function (data) {
          isValid = data.isValid;
          if(isValid) {
            $('div#displayFgtError').css('display', 'block');
            $("div#displayFgtErrorText").html('New password sent to your email.');
            $('input#userFgtEmail').focus();
          } else {
            $('div#displayFgtError').css('display', 'block');
            $("div#displayFgtErrorText").html('Account not exists');
            $('input#userFgtEmail').focus();
          }
        }
      , 'json');
    }
  });
  
        // Sign In process ...
        $('input#submitBtn').click(function(event) { 
                var isValid = false;
                var userEmail = $('input#userEmail').val();
                var userPassword = $('input#userPassword').val();
                var changepwd = $('#changepwd:checked').val();
                if (changepwd) {
                    var npwd = $('input#npwd').val();
                    var rnpwd = $('input#rnpwd').val();
                }
                var flStr = '';

                if ($('input#flStr').val())
                    flStr = $('input#flStr').val();

                if(!userEmail || !userPassword) {
                    $('div#displayError').css('display', 'block');
                    $("div#displayErrorText").html('Username / Password should not be empty.');                   

                } else if (changepwd && (npwd != rnpwd)) {
                    $('div#displayError').css('display', 'block');
                    $("div#displayErrorText").html('New and Re-typed password does not match.');
                } else if (changepwd && (!npwd || !rnpwd)) {
                    $('div#displayError').css('display', 'block');
                    $("div#displayErrorText").html('New password or re-typed password should not be empty.');
                } else {

                    $("div#displayErrorText").html('&nbsp;');
                    var url = 'validateuser.php';
                    var queryString = 'user='+userEmail+'&pass='+userPassword+'&flStr='+flStr+'&changepwd='+changepwd+'&npwd='+npwd+'&rnpwd='+rnpwd;
                    $.post (url, queryString, 
                            function (data) {
                                isValid = data.isValid;
                                if(isValid == 2) {
                                    $('div#displayError').css('display', 'block');
                                    $("div#displayErrorText").html('Account Not Activated');
                                    $('input#userPassword').focus();
                                } else if (isValid == 3) {
                                    $('div#displayError').css('display', 'block');
                                    $("div#displayErrorText").html('New and Re-typed password does not match.');
                                } else if(isValid) {
                                    location.reload(); 
                                } else {
                                    $('div#displayError').css('display', 'block');
                                    $("div#displayErrorText").html('Invalid username or password.');
                                    $('input#userPassword').focus();
                                }
                            }
                            , 'json');
                }
        });

        // Registration
        $('input#registerMe').click(function(event) {
                var isTOSagreed = false;
                var userName = $('input#regUsername').val();
                var nickName = $('input#regNickname').val();
                var passWord = $('input#regPassword').val();
                var origin = $('select#regOrigin').val();;
                var gender = $("input[@name='gender']:checked").val();
                // $("input[@name='option_layout']:checked").val()
                var yearOfBirth = $('select#sel_year').val();
                var isTOSagreed = $('input#terms_conditions:checked').val();
                var regId = $('input#regId').val();

                /*
                console.log('inside .. register');
                console.log('userName:'+userName);
                console.log('nickName:'+nickName);
                console.log('password:'+passWord);
                console.log('origin:'+origin);
                console.log('gender:'+gender);
                console.log('year:'+yearOfBirth);
                console.log('gender:'+gender);
                console.log('TOS:'+isTOSagreed);
                */

                if (!userName || !nickName || !passWord || !origin || !gender || !yearOfBirth || !isTOSagreed) {
                    $('div#displayErrorRegister').css('display', 'block');
                    $("div#displayErrorRegisterText").html('All the fields below are madatory');
                } else {

                    var url = 'registeruser.php';
                    var queryString = 'userName='+userName+'&passWord='+passWord+'&nickName='+nickName
                        +'&origin='+origin+'&gender='+gender+'&yearOfBirth='+yearOfBirth+'&isTOSagreed='+isTOSagreed
                        +'&regId='+regId;

                    $.post (url, queryString, 
                            function (data) {
                                isValid = data.isValid;
                                errorMsg = data.errorMsg;
                                if (isValid) {
                                    location.reload(); 
                                    return;
                                } else {
                                    $('div#displayErrorRegister').css('display', 'block');
                                    $("div#displayErrorRegisterText").html(errorMsg);
                                }
                            }
                            , 'json');                   
                }


        });

	      
        
	//LOADING POPUP (Login)
	$("#singin").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupContact');
		//load popup
		loadPopup('#popupContact');
	});


	//CLOSING POPUP
	$("#popupContactClose").click(function(e){ e.preventDefault(); disablePopup('#popupContact'); });


	//LOADING POPUP ( Register )
	$("#registeringPopup").click(function(event){
		event.preventDefault();
		disablePopup('#popupContact');
		event.preventDefault();
		//centering with css
		centerPopup('#popupRegister');
		//load popup
		loadPopup('#popupRegister');
	});

	//LOADING POPUP ( Register )
	$("#registering").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupRegister');
		//load popup
		loadPopup('#popupRegister');
	});
	
	//LOADING POPUP ( Register )
	$("#index-register").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupRegister');
		//load popup
		loadPopup('#popupRegister');
	});
	
	//CLOSING POPUP
	$("#popupRegisterClose").click(function(e){ e.preventDefault(); disablePopup('#popupRegister'); });

	//LOADING POPUP ( Tell a Friend )
	$("#GiveFeedback").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupFeedback');
		//load popup
		loadPopup('#popupFeedback');
                $('input#yourMail').val('');
                $('textarea#feedbackMessage').val('');
	});

	// CLOSING FEEDBACK POPUR
	$("#popupFeedbackClose").click(function(e){ e.preventDefault(); disablePopup('#popupFeedback'); });
	
// Prepare sending the feedback message
        $('input#sendFeedback').click(function(event) { 
            // send a message
            var isValid = false;
            var friendMail = $('input#yourMail').val();
            var friendMessage = $('textarea#feedbackMessage').val();
            
            if(!friendMail || !friendMessage) {
                $('div#displayErrorFeedback').css('display', 'block');
                $("div#displayErrorTextFeedback").html("From address and message should not be empty.");
            } else {
                hideError();
                var url = 'givefeedback.php';
                var queryString = 'friendMail='+friendMail+'&message='+friendMessage;
                $.post (url, queryString, 
                        function (data) {
                            isValid = data.isValid;
                            if (isValid) {
                                disablePopup('#popupFeedback');
                            } else {
                                $('div#displayErrorFeedback').css('display', 'block');
                                $("div#displayErrorTextFeedback").html('Problem sending mail. Please try again later.');
                            }
                        }
                        , 'json');
                }
        });
      
	//LOADING POPUP ( Tell a Friend )
	$("#TellAFriend").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupTellAFriend');
		//load popup
		loadPopup('#popupTellAFriend');
                $('input#friendMail').val('');
                $('textarea#friendMessage').val('');
	});
          	
	//CLOSING TELL A FRIEND POPUP
	$("#popupTellAFriendClose").click(function(e){ e.preventDefault(); disablePopup('#popupTellAFriend'); });

        // Prepare sending the message
        $('input#sendMessage').click(function(event) { 
            // send a message
            var isValid = false;
            var friendMail = $('input#friendMail').val();
            var friendMessage = $('textarea#friendMessage').val();
            
            if(!friendMail || !friendMessage) {
                $('div#displayErrorFriend').css('display', 'block');
                $("div#displayErrorTextFriend").html("Friend's mail id or Message should not be empty.");
            } else {
                hideError();
                var url = 'tellafriend.php';
                var queryString = 'friendMail='+friendMail+'&message='+friendMessage;
                $.post (url, queryString, 
                        function (data) {
                            isValid = data.isValid;
                            if (isValid) {
                                disablePopup('#popupTellAFriend');
                            } else {
                                $('div#displayError').css('display', 'block');
                                $("div#displayErrorText").html('Problem sending mail. Please try again later.');
                            }
                        }
                        , 'json');
                }
        });


	//LOADING POPUP ( Share a Song )
	$("#popupShare").click(function(event){
		event.preventDefault();
		//centering with css
		centerPopup('#popupShareSong');
		//load popup
		loadPopup('#popupShareSong');
	});

	//CLOSING POPUP
	$("#popupShareClose").click(function(e){ e.preventDefault(); disablePopup('#popupShareSong'); });
	

	 // check pin
		$("#btnpin").click(function(e){
		  var pin = $('#eventpin').val();
		  var id = $('#heventid').val();
      
		  $.ajax({
				type: "GET",
				url: "validate_pin.php",
				data: "event_id="+id+"&epin="+pin,
				cache: false,
				async: false,
				success: function(result) {
				  if(result == 1) {// apply star rating to element
					 $("#showpin").html('');
					 $.ajax({
				      type: "GET",
				      url: "show_songs_ajax.php",
				      data: "type=s&event_id="+id,
				      cache: false,
				      async: false,
				      success: function(result1) {
				        $("#showsongs").html(result1);
				      }
				    });
					 $.ajax({
				      type: "GET",
				      url: "show_songs_ajax.php",
				      data: "type=t&event_id="+id,
				      cache: false,
				      async: false,
				      success: function(result2) {
				        $("#showtopsongs").html(result2);
				      }
				    });
					} else {
					  alert("invalid pin");
					}
				},
				error: function(result) {
					alert("invalid pin");
				}
			});
		  
		});
	
	 // get current rating
		function getRating(){
			var song_id = $('#get_song_id').val();
      var login_id = $('#get_user_id').val();
			
		  $.ajax({
				type: "GET",
				url: "update_rating.php",
				data: "do=getrate&song_id="+song_id+"&login_id="+login_id,
				cache: false,
				async: false,
				success: function(result) {
					// apply star rating to element
					$("#current-rating").css({ width: "" + result + "%" });
				},
				error: function(result) {
					alert("some error occured, please try again later");
				}
			});
		}
		
                // link handler
		$('#ratelinks li a').click(function(){
                                               var song_id = $('#get_song_id').val();
                                               var login_id = $('#get_user_id').val();
                                               if(login_id == 0) {
                                                   alert("Login to rate the song");
                                               } else {
                                                   $.ajax({
                                                           type: "GET",
                                                               url: "update_rating.php",
                                                               data: "rating="+$(this).text()+"&do=rate&song_id="+song_id+"&login_id="+login_id,
                                                               cache: false,
                                                               async: false,
                                                               success: function(result) {
                                                               // give confirmation
                                                               if(result == 2) {
                                                                   alert("already rated this song");
                                                               } else {
                                                                   alert("your rating has been posted");
                                                               }
                                                               // remove #ratelinks element to prevent another rate
                                                               $("#ratelinks").remove();
                                                               // get rating after click
                                                               getRating();
                                                           },
                                                               error: function(result) {
                                                               alert("some error occured, please try again later");
                                                           }
                                                       });
                                               }
                });

                // change password yes or no
                $('#changepwdno').click(function(){
                    $('div#togglepwd').css('display', 'none');
                });

                // change password yes or no
                $('#changepwd').click(function(){
                    $('div#togglepwd').css('display', 'block');
                });

                $('#fgtpass').click(function(){
                    $('div#showLoginScreen').css('display', 'none');
                    $('div#showPasswordScreen').css('display', 'block');
                });

                $('#bcklogin').click(function(){
                    $('div#showPasswordScreen').css('display', 'none');
                    $('div#showLoginScreen').css('display', 'block');
                });

                // existing user yes or no
                $('#existingusern').click(function(){
                    $('div#toggleExistingUser').css('display', 'none');
                });

                // existing user yes or no
                $('#existingusery').click(function(){
                    $('div#toggleExistingUser').css('display', 'block');
                });

                
  // edit profile informaton
  $('input#updateprofile').click(function(event) {
    var userId      = $('input#user_id').val();
    var firstName   = $('input#first_name').val();
    var lastName    = $('input#last_name').val();
    var description = $('#aboutme').val();
    var favmusic    = $('#favmusic').val();
    var college     = $('#college').val();
    var company     = $('#company').val();
    var department  = $('#department').val();
    var origin      = $('select#regOrigin').val();;
    var gender      = $('select#gender').val();
    var yearOfBirth = $('select#sel_year').val();
  
    firstName   = escape(firstName);
    lastName    = escape(lastName);
    description = escape(description);
    favmusic    = escape(favmusic);
    college     = escape(college);
    company     = escape(company);
    department  = escape(department);
    origin      = escape(origin);
    gender      = escape(gender);
    yearOfBirth = escape(yearOfBirth);
    
  	$.ajax({
		  type: "GET",
		  url: "update_profile.php",
		  data: "user_id="+userId+"&first_name="+firstName+"&last_name="+lastName+ 
		        "&aboutme="+description+"&favmusic="+favmusic+"&regOrigin="+origin+"&college="+college+
		        "&company="+company+"&department="+department+
		        "&gender="+gender+"&sel_year="+yearOfBirth+"&type=profile",
		  cache: false,
		  async: true,
		  success: function(result) {
		    // give confirmation
			  alert("profile has been updated");
		  },
		  error: function(result) {
			 alert("some error occured, please try again later");
		  }
	  });
  });
  // end of edit profile information
  
  // edit profile informaton
  $('input#updatepwd').click(function(event) {
    var userId  = $('input#user_id').val();
    var old_pwd = $('input#old_pwd').val();
    var new_pwd = $('input#new_pwd').val();
    var con_pwd = $('input#con_pwd').val();
  
    old_pwd = escape(old_pwd);
    new_pwd = escape(new_pwd);
    con_pwd = escape(con_pwd);
    
  	$.ajax({
		  type: "GET",
		  url: "update_profile.php",
		  data: "user_id="+userId+"&old_pwd="+old_pwd+"&new_pwd="+new_pwd+ 
		        "&con_pwd="+con_pwd+"&type=password",
		  cache: false,
		  async: true,
		  success: function(result) {
		    // give confirmation
		    $('input#old_pwd').val("");
		    $('input#new_pwd').val("");
		    $('input#con_pwd').val("");
			  alert(result);
		  },
		  error: function(result) {
			 alert(result);
		  }
	  });
  });
  // end of edit profile information


  //LOADING DEMO POPUP
  $("#showdemo").click(function(event){
      event.preventDefault();
      centerPopup('#popupDemo'); //centering with css
      loadPopup('#popupDemo'); //load popup
  });

  // MESSAGE CANCEL
  $("#cancelMessage").click(function(e) {
      window.location.replace(root_folder+"messages.php");
  });  
  
  //CLOSING DEMO POPUP
  $("#popupDemoClose").click(function(e) { 
      e.preventDefault();
      $("div#showdemo").html('');      
      disablePopup('#popupDemo'); 
  });

  // accept username
  $('input#submitAcceptUsername').click(function(event) { 
      var isValid = false;
      var fbUsername = $('input#fbUsername').val();
      var fbPassword = $('input#fbPassword').val();
      var radioExisting = $('input#existingusery:checked').val();

      $("div#displayErrorTextFeedback").html("");
            
      if(!fbUsername) {
          $('div#displayErrorFeedback').css('display', 'block');
          $("div#displayErrorTextFeedback").html("Username should not be left blank.");
          return false;
      }

      if (radioExisting) {
          if (!fbPassword) {
              $('div#displayErrorFeedback').css('display', 'block');
              $("div#displayErrorTextFeedback").html("Password should not be left blank.");
              return false;
          }
      } 

      var url = 'validateuser.php';
      var queryString = 'type=fbaccept&fbUsername='+fbUsername+'&fbPassword='+fbPassword;
      $.post (url, queryString, 
              function (data) {
                  isValid = data.isValid;
                  if (isValid) {
                      disablePopup('#popupAcceptUsername');
                      reloadMyWindow();
                  } else {
                      $('div#displayErrorFeedback').css('display', 'block');
                      $("div#displayErrorTextFeedback").html('Username already exists. Please try another username.');
                  }
              }
              , 'json');
      });

   // facebook show login
   $("#fbShowLogin").click(function(e) {
          FB_RequireFeatures(["XFBML"], function(){
              FB.Connect.requireSession(reloadWindowFB);
          }); 
   });

   // facebook update profile
   $("#fbUpdateProfile").click(function(e) {
      $.ajax({
              type: "GET",
              url: "fbupdate.php",
              cache: false,
              success: function(html){
                  $("#profileStatus").html(' Updating profile .. please wait.');
                  $("#profileStatus").css('color', 'red');
                  window.location.reload();
              }
      });
  });
});

function member_event_details(userid, eventid, name){
  $.ajax({
    type: "POST",
    url: "member_event_details.php",
    data: "event_id="+eventid+"&user_id="+userid+'&uname='+name,
    cache: false,
    success: function(html){
      $("#dialog").html(html);
      $('#dialog').dialog('open');
      return false;
    }
  });
}

function facebookFeedPost(userMessage) {

    var attachment = {'media': [{'type':'image',
                                 'src':'http://www.singchana.com/images/logoft.gif',
                                 'href':'http://www.singchana.com/'}]};
    FB.Connect.streamPublish(userMessage, attachment, '', '', "What's on your mind?");
    return;
    
    // alert(template_data);
    if (!template_data) {
        var songName = 'Mauja hi Mauja';
        var score = '4000';
        var imgPath = 'http://www.singchana.com/images/logoft.gif';
        var imgURL = 'http://www.singchana.com/';
        var template_data = {"song":songName,"score":score,"images":[{"src":imgPath,"href":imgURL}]}
        // old bunle id : 145229736836
    }

    FB.ensureInit(function(){
        FB.Connect.showFeedDialog(145229736836, template_data, '', '', '', FB.RequireConnect.promptConnect);
    });
}

function facebookAcceptUsername() {
    centerPopup('#popupAcceptUsername');
    loadPopup('#popupAcceptUsername');
}

function reloadMyWindow() {
    window.location.reload();
}

function reloadWindowFB() {
    window.location = 'user_profile.php?fb=1';
}

function save_recording_publish(recordid, bpublish){
  $.ajax({
    type: "POST",
    url: "save_publish_details.php",
    data: "record_id="+recordid+"&publish="+bpublish,
    cache: false,
    success: function(result){
      alert("success");
      return true;
    },
    error: function(result) {
      alert("failure");
    }
  });
}

function pauseMainPlayer() {
  if((thisMovie('karaokePlayer')) 
  || (thisMovie('demo'))) {
//    alert("main player paused");
    if(thisMovie('karaokePlayer')) {
      thisMovie('karaokePlayer').pauseSingChanaPlayer();
    } else {
      thisMovie('demo').pauseSingChanaPlayer();
    }
  }
}

function pauseFooterPlayer() {
//  alert("footer player paused");
  thisMovie('musicPlayerStatic').pauseMusicPlayer();
}

function startDemo() {
  if(thisMovie('musicPlayerStatic')) {
    thisMovie('musicPlayerStatic').pauseMusicPlayer();
  }
  //alert("in start demo");
  thisMovie('demo').playDemo();
}

function add_friend_script(userid, myid){
  $.ajax({
    type: "POST",
    url: "add_friend.php",
    data: "user_id="+userid+"&my_id="+myid,
    cache: false,
    success: function(result){
      alert("request sent");
      $("#friend_link").remove();
      return true;
    },
    error: function(result) {
      alert("failure");
    }
  });
}

function add_artist_favorite(artist_id) {
  $.ajax({
    type: "POST",
    url: "add_artist_favorite.php",
    data: "artistID="+artist_id,
    cache: false,
    success: function(result){
      if(result == 1) {
        alert("added as favorite");
      } else {
        alert("already in favorites");
      }
    },
    error: function(result) {
      return false;
    }
  });
}

function add_friend_flash(userid) {
  $.ajax({
    type: "POST",
    url: "add_friend.php",
    data: "user_id="+userid,
    cache: false,
    success: function(result){
      alert("request sent");
      return true;
    },
    error: function(result) {
      return false;
    }
  });
}

function update_friend_request(userid, value) {
  $.ajax({
    type: "POST",
    url: "update_friend.php",
    data: "user_id="+userid+'&value='+value,
    cache: false,
    success: function(result){
      if(result == 1) {
        if(value == 'Y') {
          alert("Friend Request Accpted");
        } else {
          alert("Friend Request Rejected");
        }
        
        $.ajax({
          type: "POST",
          url: "showfriends.php",
          cache: false,
          success: function(result1){
            $("#showfriends").html(result1);
          }
        });
        
        $.ajax({
          type: "POST",
          url: "showpendings.php",
          cache: false,
          success: function(result2){
            $("#showpendings").html(result2);
          }
        });
        
      } else {
          alert("Update Failure");
      }
    },
    error: function(result) {
      return false;
    }
  });
}
