function show() {
  var popupReferFriend=document.getElementById('referFriend');
  var sendEmailLink = document.getElementById('sendMailLink');
  var cancelReferFriendLink = document.getElementById('cancelReferFriendLink');
  if(popupReferFriend.style.display == "none")  {
    popupReferFriend.style.display='block';
    sendEmailLink.style.display='block';
    cancelReferFriendLink.style.display='block';
    return false;
  }  else {
    popupReferFriend.style.display="none";
    return false;
  }
}

function closeSuccessMessage(divToBeClosed) {
  divToBeClosed.style.display="none";
}


function sendEmail(referToFriendUrl) {
  var emailAddress    = document.getElementById('movieDetails:emailAddress');
  var movieId         = document.getElementById('hiddenMovieId').value;
  var flag = validate(emailAddress);
  var xmlHttp = null;
  xmlHttp = GetXmlHttpObject();
  if(flag) {
    referToFriendUrl += "?&emailAddress="+emailAddress.value+"&movieId="+movieId+"&date="+new Date();
    xmlHttp.onreadystatechange=function()  {
      if(xmlHttp.readyState==1 || xmlHttp.readyState==2 || xmlHttp.readyState==3)  {
        document.getElementById('sendMailLink').style.display="none";
        document.getElementById('cancelReferFriendLink').style.display="none";
        document.getElementById('loading').style.display="block";
      }
      if(xmlHttp.readyState==4)  {
        document.getElementById('loading').style.display="none";
        document.getElementById('referFriend').style.display="none";
        document.getElementById('recommendationSentMessage').style.display="block";
      }
    }
    xmlHttp.open("GET", referToFriendUrl, true);
    xmlHttp.send(null);
 }
}

function addToWishList(addToWishListUrl, signInPageUrl) {
  var movieId       = document.getElementById('hiddenMovieId').value;
  addToWishListUrl += "?movieId=" + movieId+"&date="+new Date();
  document.getElementById('wishListMessage').innerHTML="";
  var xmlHttpObject = null;
  xmlHttpObject = GetXmlHttpObject();
  xmlHttpObject.onreadystatechange=function(){
    if(xmlHttpObject.readyState==1 || xmlHttpObject.readyState==2 || xmlHttpObject.readyState==3)  {
      document.getElementById('slimLoading').style.display="block";
    }
    if(xmlHttpObject.readyState==4) {
      document.getElementById('slimLoading').style.display="none";
      var responseText = xmlHttpObject.responseText;
      if(responseText.substring(0,1) == 0){
        document.getElementById('inMyListMessage').style.display='block';
        document.getElementById('wishListLink').style.display='none';
      } else {
        document.getElementById('wishListMessage').innerHTML="<a href='" + signInPageUrl + "' class='text1'>Please Login</a>";
      } 
    }
  }
  xmlHttpObject.open("GET", addToWishListUrl, true);
  xmlHttpObject.send(null);
}
function showTrailer() { 
  var xmlHttp = null;
  xmlHttp = GetXmlHttpObject();
  var trailerUrl = "trailor.html";
  xmlHttp.open("GET", trailerUrl, false);
  xmlHttp.send(null);
  var temp = xmlHttp.reponseText;
  document.getElementById('movieDetailsContainer').innerHTML = temp;
  return false;
}

function showRateMovie() {
  var popupRateMovie = document.getElementById('rateMovie');
  var saveRateLink   = document.getElementById('saveRateLink');
  var cancelRateMovieLink = document.getElementById('cancelRateMovieLink');
  var rateMessage    = document.getElementById('rateMessage');
  if(popupRateMovie.style.display == "none") {
    popupRateMovie.style.display='block';
    saveRateLink.style.display='block';
    cancelRateMovieLink.style.display='block';
    rateMessage.innerHTML = "";
    return false;
  } else {
    popupRateMovie.style.display="none";
    return false;
  }
}

function saveMovieRating(ratingSaveHandlerUrl, movieReviewsUrl) {
  var xmlHttp               = null;
  xmlHttp                   = GetXmlHttpObject();
  var review                = document.getElementById('movieDetails:reviewComments').value;
  var currentRate           = document.getElementById('hiddenRate').value;
  var movieId               = document.getElementById('hiddenMovieId').value;

  var ratingIconId          = document.getElementById('hiddenRatingIconId').value;;
  
  ratingSaveHandlerUrl  += "?rate="+currentRate+
                                      "&review="+review+"&movieId="+movieId+"&ratingIconId="+ratingIconId+"&date="+new Date();
  var isRequiredFieldsFilled = checkForRequiredFields();
  if(isRequiredFieldsFilled) {
    xmlHttp.onreadystatechange=function(){
      if(xmlHttp.readyState==1 || xmlHttp.readyState==2 || xmlHttp.readyState==3) {
        document.getElementById('saveRateLink').style.display="none";
        document.getElementById('cancelRateMovieLink').style.display="none";
        document.getElementById('rateLoading').style.display="block";
      }
      if(xmlHttp.readyState==4) {
        document.getElementById('rateMessage').innerHTML=xmlHttp.responseText;
        document.getElementById('rateLoading').style.display="none";
        document.getElementById('rateMovie').style.display="none";
        document.getElementById('reviewSubmittedSuccessfully').style.display="block";
        var movieReviews=new ddajaxtabs("reviewList", "reviews")
        movieReviews.loadajaxpage(movieReviewsUrl + "?movieId="+movieId);
      }
    }
    xmlHttp.open("GET", ratingSaveHandlerUrl, true);
    xmlHttp.send(null);
  }
}

function rate(count, ratingOnUrl, ratingOffUrl) {
	var c = count.id;
	document.getElementById('hiddenRate').value=c;
	for(i=1;i<=c;i++) {
		document.getElementById(i).src = ratingOnUrl;
	}
	for(j=5;j>c;j--) {
		document.getElementById(j).src = ratingOffUrl;
	}
}

function validate(emailAddress) {
  var emailChars=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  if(emailAddress.value == '') {
    document.getElementById('emailAddressRequired').innerHTML = 'Required';
    return false;
  } else if(!(emailChars.test(emailAddress.value))) {
    document.getElementById('emailAddressRequired').innerHTML = 'Invalid Email';
    return false;
  } else {
    document.getElementById('emailAddressRequired').innerHTML = '';
  }
  return true;
}

function checkForRequiredFields() {
  var hiddenRate     = document.getElementById('hiddenRate').value;
  var starErrorMessage  = document.getElementById('starErrorMessage');
  if(hiddenRate == 0) {
    starErrorMessage.innerHTML = "Required";
    return false;
  } else {
    starErrorMessage.innerHTML = "";
  }
  return true;
}

function setRatingIconId(ratingIconRadioButton,hiddenRatingIconId) {
  hiddenRatingIconId.value = ratingIconRadioButton.value;
}

function changeTabColors(selectedTab, unselectedTab) {
  var tabClassName = selectedTab.className;
  var selectedTabId = selectedTab.id;
  var aboutTabUnderline = document.getElementById('aboutTabUnderline');
  var trailerTabUnderline = document.getElementById('trailerTabUnderline');
  if(tabClassName.length > 10)
    return;
  selectedTab.className = tabClassName+'Selected';
  
  if(selectedTabId == 'aboutTab') {
	  unselectedTab.className = 'trailerTab';
	  aboutTabUnderline.style.display = 'block';
	  trailerTabUnderline.style.display = 'none';
  }
  else {
	  unselectedTab.className = 'aboutTab';
	  aboutTabUnderline.style.display = 'none';
	  trailerTabUnderline.style.display = 'block';
  }
}