var rating;
var ratecount;
var imagesLocation="";
var mainDiv;
var maxRate=5;
var minRate=0;
var halfFlag;
var rateNum;
var ajaxFlag;
var newRate=0;
var ajaxRequest;
var messageDiv;
function init(rate,div){
halfFlag=false;
rating=parseFloat(rate);
rateNum=Math.floor(rating);
if((rating-rateNum)>0){
halfFlag=true;
}
mainDiv=document.getElementById(div);
initRating();
}
function initRating(){	
var minusdiv = document.createElement('div');
minusdiv.className="minus";
minusdiv.setAttribute('id','minus');
mainDiv.appendChild(minusdiv);	
for(var i=minRate;i<maxRate;i++){
  var newdiv = document.createElement('div');
  if(i<rateNum){
  newdiv.className='full';
  }
 else if(i==(rateNum) && halfFlag){
 newdiv.className='half';
 }else{
 newdiv.className='empty';
 }
  newdiv.setAttribute('id','stars-'+i);
  mainDiv.appendChild(newdiv);
  }
var plusdiv = document.createElement('div');  
plusdiv.className="plus";
plusdiv.setAttribute('id','plus');
mainDiv.appendChild(plusdiv);
}




function initSmallImageRating(divId,rate,imgurl)
{
	
	newDiv=document.createElement('div');
	newDiv.setAttribute=('id','test');
	mainDiv=document.getElementById(divId)
	halfFlag=false;
	if(rate=="")
	{
		rate=1;
	}
	var t=rate;
	var rating=parseFloat(t);
	var rateNum=Math.floor(rating);
	if((rating-rateNum)>0)
	{
		halfFlag=true;
		
	}
	
	var blankstar=5-rateNum;
	var halfcheck=0;
	
	
	for(var i=0;i<rateNum;i++)
	{
		newDiv1=document.createElement('div');
		
		newDiv1.style.width="11px";
		newDiv1.style.float="left";
		newDiv1.innerHTML = '<img src='+imgurl+'/'+'fullimg.gif>';
		mainDiv.appendChild(newDiv1);
	}
	
	if(halfFlag)
	{
			newDiv1=document.createElement('div');
			newDiv1.style.width="11px";
			//newDiv1.style.float='left';
			newDiv1.innerHTML = '<img src='+imgurl+'/'+'halfimg.gif>';
			mainDiv.appendChild(newDiv1);
			halfcheck=1;
			
	}
	var k=halfcheck+rateNum;
	for(var i=k;i<5;i++)
	{
			newDiv1=document.createElement('div');
			newDiv1.style.width="11px";
			//newDiv1.style.float='left';
			newDiv1.innerHTML = '<img src='+imgurl+'/'+'blankimg.gif>';
			//'<img src=http://media.naked.com/images/siteImages/textImages/common/blankimg.gif>';
			mainDiv.appendChild(newDiv1);		
	}
	
	
	
	
	//newDiv.innerHTML = '<img src=http://media.naked.com/images/siteImages/textImages/common/fullimg.gif><img src=http://media.naked.com/images/siteImages/textImages/common/fullimg.gif>';
	
	mainDiv.appendChild(newDiv);	
}

function initInput(rate,inputratecount,div,ajax,ajaxPage){
halfFlag=false;
rating=parseFloat(rate);
ratecount=inputratecount;
rateNum=Math.floor(rating);
if((rating-rateNum)>0){
halfFlag=true;
}
ajaxFlag=ajax;
ajaxRequest=ajaxPage;
mainDiv=document.getElementById(div);
mainDiv.onmouseout=reset;
var minusdiv = document.createElement('div');
minusdiv.className="minus";
minusdiv.setAttribute('id','minus');
mainDiv.appendChild(minusdiv);
for(var i=minRate;i<maxRate;i++){
  var newdiv = document.createElement('div');
  newdiv.className='empty';
  newdiv.setAttribute('id','stars-'+i);
  mainDiv.appendChild(newdiv);
  addEvent(newdiv);
 }
var plusdiv = document.createElement('div');  
plusdiv.className="plus";
plusdiv.setAttribute('id','plus');
mainDiv.appendChild(plusdiv); 
initRating1();
 	  	messagediv = document.createElement('div');
		messagediv.className='starsMessage';
		messagediv.setAttribute('id','starsMessage');
		messagediv.innerHTML=("Rate this video <br/>OverAll Score : "+rating+" | Total Votes: "+ratecount);
		mainDiv.appendChild(messagediv);
}
function initRating1(){
 for(var i=minRate;i<maxRate;i++){
var stDiv=document.getElementById('stars-'+i);
if(i<rateNum){
stDiv.className='full-stars-'+i;
}else if(i==(rateNum) && halfFlag){	
stDiv.className='half-stars-'+i;
}else{
stDiv.className='empty';
}
}
}
function addEvent(el,functionName){
if (el.addEventListener) {
el.addEventListener ("mouseover",showStars,false);
el.addEventListener ("click",setRating,false);
} else if (el.attachEvent) {
el.attachEvent ("onmouseover",showStars);
el.attachEvent ("onclick",setRating);
} else {
el.onmouseover = showStars;
el.onclick = setRating;
}
}

function removeEvent(el,functionName){
if (el.addEventListener) {
el.removeEventListener ("mouseover",showStars,false);
el.removeEventListener ("click",setRating,false);
} else if (el.attachEvent) {
el.detachEvent ("onmouseover",showStars);
el.detachEvent ("onclick",setRating);
} else {
el.onmouseover = null;
el.onclick = null;
}
}
function showStars(){
var divId="";
if(this.id){
divId=this.id;
}else{
divId=event.srcElement.id;
}
var max=parseInt(divId.substr(divId.indexOf('-')+1,divId.length));
for(var i=minRate;i<maxRate;i++){
var stDiv=document.getElementById('stars-'+i);
if(i<=max){
stDiv.className='full-stars-'+i;
}else{
stDiv.className='empty';
}
}
}

function reset(){
if(rating>0){
initRating1();
}else{
for(var i=minRate;i<maxRate;i++){
var stDiv=document.getElementById('stars-'+i);
stDiv.className='empty';
addEvent(stDiv);
}
}
}
function setRating(){
var divId="";
if(this.id){
divId=this.id;
}else{
divId=event.srcElement.id;
}
var max=parseInt(divId.substr(divId.indexOf('-')+1,divId.length));
for(var i=minRate;i<maxRate;i++){
var stDiv=document.getElementById('stars-'+i);
if(i<=max){
stDiv.className='full-stars-'+i;
}else{
stDiv.className='empty';
}
removeEvent(stDiv);
}
mainDiv.onmouseout=null;
if(ajaxFlag){
sendAjax(max+1);
newRate = max+1;
}
}


function sendAjax(max)
{
var xmlHttp;

try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
 
  xmlHttp.onreadystatechange=function()
    {
	
    if(xmlHttp.readyState==4)
      {
      var resp=xmlHttp.responseText.split(",");
      //alert(resp[0]+resp[1]+resp[2]);
	  if(resp[0].indexOf('done')>=0){
		messagediv.innerHTML=("Rating saved successfully  <br/>OverAll Score : "+resp[1]+" | Total Votes: "+resp[2]+" | Your Rating: "+newRate);
		//rating = parseFloat(resp[1])+1;
		//reset();
	  }else{
	  messagediv.innerHTML=("Rating not saved");
	  reset();
	  }
	  
      }
    }
	var url=ajaxRequest+"&rating="+max;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
  }

function initVotes(url, vote)
{
    if(vote!=0)
        url=url+"&vote="+vote;
    

    jQuery("img#thumbsUpImage").attr(
        {
              onclick: 'return false'
        }
    );
    jQuery("img#thumbsDownImage").attr(
        {
              onclick: 'return false'
        }
    );
    jQuery("img#thumbsUpImage").css("cursor","default");
    jQuery("img#thumbsDownImage").css("cursor","default");
    
    jQuery("span#messageVotes").css("color","#000000");
    jQuery("span#messageVotes").html("Please wait..");
    var f = function() {
        var rand= Math.floor( Math.random() * 1000 );
        //alert(rand);
        jQuery.get(url+'&rand='+rand, function(data) {
            if(data == 'success')
            {
                jQuery("span#messageVotes").css("color","#000000");
                jQuery("span#messageVotes").html("Your vote is saved successfully");
            }
            else if(data == 'fail')
            {
                jQuery("span#messageVotes").css("color","#F62217");
                jQuery("span#messageVotes").html("You have already voted for this movie");
            }
        },  "html")
    };
    setTimeout(f,600);    // Just for DEMO: you use the AJAX call directly here
}
