var http = createRequestObject();
var displayRating = '';
var currentId = '';

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
        ro = new XMLHttpRequest();
    }
    return ro;    
}



function updateRating(obj, rating,idValue) {
	//var psid = document.getElementById("psid").value;
	var id = obj.title;
	var fullId = obj.id;
	var idName = fullId.substr(0, fullId.indexOf('_'));
	var totalRating = rating;
	var idtoupdate = idValue;
	currentId = idName;
    http.open('get', '/link/rating_counter/ajax.php?id='+id+'&idName='+idName+'&idValue='+idValue);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
	if(http.readyState == 4){
        var response = http.responseText;
	
		if (response == 'ERROR'){
			alert("Sorry... Failed to update rating.");
		}
		var starsDiv = document.getElementById('stars');
		starsDiv.innerHTML = 'Thank you for rating<br />';
		
		// The following is not working and noone realy care, so it is commented out - Nitai
		//displayRating = response.substr(0, 4);
		//totalRating = Math.ceil(response);  
		//var obj = document.getElementById(currentId+'_'+totalRating);
		//changeover(obj, totalRating); // obj is not defined is unknown, so it can't be called. Nitai
		//displayStars(rating, currentId);  // currentId and rating are unknown, so it can't be called. Nitai
		
    }
}

function changeover(obj, rating) {
	
	var imageName = obj.src;
	var id = obj.title;
	var index = imageName.lastIndexOf('/');
	var filename = imageName.substring(index+1);
	var fullId = obj.id;
	var idName = fullId.substr(0, fullId.indexOf('_'));
	var totalRating = rating;

	for(i=0; i<id; i++) {
		var num = i+1;
		
		if (num%2 == 0) {
			document.getElementById(idName+'_'+num).src = '/link/rating_counter/_even1.png';			
		}
		else {
			document.getElementById(idName+'_'+num).src = '/link/rating_counter/_odd1.png';
		}
	}

}

function changeout(obj, rating) {

	var imageName = obj.src;
	var id = obj.title;
	var index = imageName.lastIndexOf('/');
	var filename = imageName.substring(index+2);
	var fullId = obj.id;
	var idName = fullId.substr(0, fullId.indexOf('_'));
	var totalRating = rating;
	
	for(i=0; i<id; i++) {
		var num = i+1;
		
		if (num%2 == 0) {
			if(i < totalRating) {
				document.getElementById(idName+'_'+num).src = '/link/rating_counter/__even1.png';			
			}
			else {
				document.getElementById(idName+'_'+num).src = '/link/rating_counter/even1.png';			
			}
		}
		else {
			if(i < totalRating) {
				document.getElementById(idName+'_'+num).src = '/link/rating_counter/__odd1.png';			
			}
			else {
				document.getElementById(idName+'_'+num).src = '/link/rating_counter/odd1.png';			
			}
		}
	}
}

function displayStars(rating, idName, idValue) {
	//document.write('<input type="hidden" id="psid" value="'+psid+'"></input>');
	for(i=0; i < 10; i++ ) {
		if(i%2 ==0) {
			if(i < rating) {
				document.write('<img src="/link/rating_counter/__odd1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" onmouseout="changeout(this, '+rating+')" onmouseover="changeover(this, '+rating+')" onclick="updateRating(this, '+rating+','+idValue+')" />');
			}
			else {
				document.write('<img src="/link/rating_counter/odd1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" onmouseout="changeout(this, '+rating+')" onmouseover="changeover(this, '+rating+')" onclick="updateRating(this, '+rating+','+idValue+')" />');
			}
		}
		else {
			if(i < rating) {
				document.write('<img src="/link/rating_counter/__even1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" onmouseout="changeout(this, '+rating+')" onmouseover="changeover(this, '+rating+')" onclick="updateRating(this, '+rating+','+idValue+')" />');
			}
			else {
				document.write('<img src="/link/rating_counter/even1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" onmouseout="changeout(this, '+rating+')" onmouseover="changeover(this, '+rating+')" onclick="updateRating(this, '+rating+','+idValue+')" />');
			}
		}
	}
}



function displayStarsRatingDisabled(rating, idName, idValue) {
        for(i=0; i < 10; i++ ) {
                if(i%2 ==0) {
                        if(i < rating) {
                                document.write('<img src="/link/rating_counter/__odd1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" />');
                        }
                        else {
                                document.write('<img src="/link/rating_counter/odd1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" />');
                        }
                }
                else {
                        if(i < rating) {
                                document.write('<img src="/link/rating_counter/__even1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" />');
                        }
                        else {
                                document.write('<img src="/link/rating_counter/even1.png" id="'+idName+'_'+(i+1)+'" title="'+(i+1)+'" />');
                        }
                }
        }
}

