var loaded_vp;
var loaded_username;
var current_username;
var mouseoverTime;
var activeMouseY; 
var activeMouseX;
var time1; 
var needFixPng;
function setValue(event,username)
{    
    current_username = username;
    activeMouseX = mousePosX(event);
    activeMouseY = mousePosY(event);

    //alert(current_username);
}


function GetVP(username) {
    var url = '/ajax/album/get_vp';
    var pars;
    pars = 'username=' + username;

    var myAjax = new Ajax.Request( url, {
        method: 'get',
        parameters: pars,
        onSuccess: displayVP,
        onFailure: reportError
    } );

}

function showVP()
{
    //alert(current_username);
    var div = document.getElementById('vp_tooltips');
    if (div.style.display == 'none'){
     popUpVP();
     if (loaded_username != current_username){
        $('vp_image').innerHTML = "<img src=\"http://img.zorpia.com/loader.gif\" width=\"16\" height=\"16\" hspace=5>";
        GetVP(current_username);
    }
  }
}

function displayVP(request) {
    if (request.responseText == 'ERROR'){
        reportError();
    }else{
        $('vp_image').innerHTML = "<img src='"+request.responseText +"'>";
        loaded_username = current_username;
    }
}

function reportError() {
    $('vp_image').innerHTML = ZORPIA_JS_LANG.ENCOUTER_SOME_ERROR;
}


function mousePosX(e) {
  var posx = 0;
  if (!e) var e = window.event;
  if (e.pageX)
    posx = e.pageX;
  else if (e.clientX && document.body.scrollLeft)
    posx = e.clientX + document.body.scrollLeft;
  else if (e.clientX && document.documentElement.scrollLeft)
    posx = e.clientX + document.documentElement.scrollLeft;
  else if (e.clientX)
    posx = e.clientX;
  return posx;
}

function mousePosY(e) {
  var posy = 0;
  if (!e) var e = window.event;
  if (e.pageY)
    posy = e.pageY;
  else if (e.clientY && document.body.scrollTop)
    posy = e.clientY + document.body.scrollTop;
  else if (e.clientY && document.documentElement.scrollTop)
    posy = e.clientY + document.documentElement.scrollTop;
  else if (e.clientY)
    posy = e.clientY;
  return posy;
}


function popUpVP() {
    var vpleft = activeMouseX ;
    var vptop = activeMouseY + 2;
    if (activeMouseX>500){
        vpleft = vpleft - 250;
    }
    
    $('vp_tooltips').style.left =   vpleft  + "px";
    $('vp_tooltips').style.top  =   vptop  + "px";
    $('vp_top_img').innerHTML ='<img src="http://img.zorpia.com/vp/top2.png" width="251" height="29" usemap="#vpMap"  border="0"/><map name="vpMap" id="vpMap" style="margin: 0px;" ><area shape="rect" coords="208,8,224,24" href="/info/verification_photo" /><area shape="rect" coords="226,8,242,24" href="javascript:cancelHit();" /></map>';
    $('vp_bottom_img').innerHTML ='<img src="http://img.zorpia.com/vp/bottom.png" width="251" height="29" />';
    Element.show('vp_tooltips');
    if (needFixPng){
        correctPNG();
    }
}


function cancelHit() {
     Element.hide('vp_tooltips');
}

function showOrHide() {
    var div = document.getElementById('vp_tooltips');
    if (div.style.display == 'none'){
        showVP();        
    }else{
        cancelHit();
    }
}

var now_photo=0;
var vote_score=0;

function vote_vp(score,photo_id,username) {
    now_photo=photo_id;
    vote_score = score;
    var url = '/photo/rate';
	var pars = 'is_ajax=1&type=vp&username='+ username +'&photo_id='+photo_id+'&score=' + score;
	
	var myAjax = new Ajax.Request( url, {
	    method: 'get',
	    parameters: pars,
	    onSuccess: reportSuccess,
	    onFailure: reportError
	} );
}


function reportSuccess(request)
{
    //alert('The request has been sent to '+request.responseText);
    var text = request.responseText;
    if (text == 'ok'){
         var org_vote_no = parseInt(document.getElementById('vp_no_'+now_photo).value);
         var new_no = org_vote_no + 1;
         var org_score = document.getElementById('vp_score_'+now_photo).value; 
         var new_avg = (org_score * org_vote_no + vote_score ) / new_no ;
         var new_score = parseInt(new_avg +0.5);
         new_avg = parseInt(new_avg*100)/100;

         var new_vote = new_no + ' votes';
         if (new_no == 1 ){
         	new_vote = new_no + ' vote';
        }
         var rank = parseInt((Math.log(new_no)/Math.log(10)*new_avg+new_avg-5)*100)/100;
      //    alert(rank);
         document.getElementById('vote_no_sml'+now_photo).innerHTML= 'Game Score: '+rank;
         document.getElementById('cur_score_sml'+now_photo).style.width=new_score*5+'px'; 
         document.getElementById('voted'+now_photo).innerHTML='Avg: '+ new_avg +' | Votes: '+new_no+' (voted)'; 
         
         
    }else{
        if (text == 'voted'){
         document.getElementById('vote_result_'+now_photo).innerHTML='Sorry, you have already voted.';   
         alert(ZORPIA_JS_LANG.VOTED_BEFORE);   

        }else{
            location.href="/login";
        }
    }    

}

function reportError(request) {
    alert(ZORPIA_JS_LANG.ENCOUTER_SOME_ERROR);
}

function show_large_vp(photo_id)
{
    document.getElementById('vp_img_'+photo_id).src = document.getElementById('vp_src_'+photo_id).value;
}
