var currentRating = new Array();
var max_rating = 5;
var _userRating = new Array();
var g_type = new Array();
var g_refid = new Array();

var lang_header_your = "Your Rating";
var lang_header_readers = "Readers Rating";
	

var ratingtypes = new Array();
ratingtypes['P']="Picture";
ratingtypes['M']="Movie";
ratingtypes['J']="Journal";

var ratings = new Array("Worst","Worse","Average","Better","Best");

function UserRating(iid){
	iid = typeof(iid) != 'undefined' ? iid : 1;
	var f = _userRating[iid];
	f++;
	for (var j = f; j <= max_rating; j++){
		document.getElementById('star'+j+'_'+iid).className = '';
			
	}
	
	// INIT OVERALL
	if (typeof(currentRating[iid]) != 'undefined'){
		var ii = 1;
		for (ii = 1; ii <= currentRating[iid]; ii++){
			document.getElementById('overall_star'+ii+'_'+iid).className = 'active';
		}
		var from = ii;
		for (var ii = from; ii <= max_rating; ii++){
			document.getElementById('overall_star'+ii+'_'+iid).className = '';
		}
	}
	
	// INIT USER
	if (typeof(_userRating[iid]) != 'undefined'){
		for (var i = 1; i <= _userRating[iid]; i++){
			document.getElementById('star'+i+'_'+iid).className = 'active';
		}
		var from = _userRating[iid];
		from++;
		for (var i = from; i <= max_rating; i++){
			document.getElementById('star'+i+'_'+iid).className = '';
		}
	}
	
	// MOUSEOVER
	for (var i = 1; i<= max_rating; i++) {
		document.getElementById('star'+i+'_'+iid).onmouseover = function() {
			var rating = this.id.substr(4,1);
			for (var j = 1; j <= rating; j++){
				document.getElementById('star'+j+'_'+iid).className = 'active';
			}
			Tip('Rate this '+ratingtypes[g_type[iid]]+' '+ratings[rating-1]);
		};
	}
	// MOUSEOUT
	for (var i = 1; i<= max_rating; i++) {
		document.getElementById('star'+i+'_'+iid).onmouseout = function() {
			var from = _userRating[iid];
			from++;
			for (var j = from; j <= max_rating; j++){
				document.getElementById('star'+j+'_'+iid).className = '';
			}
		};
	}
	// ONCLICK
	for (var i = 1; i<= max_rating; i++) {
		document.getElementById('star'+i+'_'+iid).onclick = function() {
			var rating = this.id.substr(4,1);
			_userRating[iid] = rating;
			if ((g_type[iid] != '') && (g_refid[iid] > 0))
				ajaxRatingsFunction(iid, 1);
		};
	}

}


function ajaxRatingsFunction(iid, postnew) {
	var xmlHttp;
	var data;
	
	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 r = xmlHttp.responseText.split(";");
  			if (r[0]>0) {
	  			currentRating[iid] = r[0];
	  		}
	  		if (r[1]>0) {
  				_userRating[iid] = r[1];
  			}
  			UserRating(iid);
      	}
	}
	xmlHttp.open("POST",htmlroot+username+"/"+travelname+"/rating",true);
  	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
  	data = "type="+g_type[iid]+"&ref_id="+g_refid[iid];
  	if ((postnew) && (g_refid[iid]>0) && (_userRating[iid]>0)) {
  		data += "&create=nospam&rating="+_userRating[iid];

  	}
  	xmlHttp.send(data);
}

function write_ratingbox(i, type, id) {
	i = typeof(i) != 'undefined' ? i : 1;

	document.write(get_ratingbox(i, type, id));
}

function get_ratingbox(i, type, id) {
	i = typeof(i) != 'undefined' ? i : 1;
	g_type[i] = type;
	g_refid[i] = id;
	_userRating[i] = 0;
	currentRating[i] = 0;
	
	return ''+
	'<div class="paragraph user_rating clearfix" id="overall_rating_'+i+'">'+
	'	<h3>'+lang_header_readers+':</h3>'+
	'	<div id="overall_star1_'+i+'" class=""> </div>'+
	'	<div id="overall_star2_'+i+'"> </div>'+
	'	<div id="overall_star3_'+i+'"> </div>'+
	'	<div id="overall_star4_'+i+'"> </div>'+
	'	<div id="overall_star5_'+i+'"> </div>'+
	'</div>'+
	''		+				
	'<div class="paragraph user_rating clearfix" id="users_rating_'+i+'">'+
	'	<h3>'+lang_header_your+':</h3>'+
	'	<div id="star1_'+i+'"> </div>'+
	'	<div id="star2_'+i+'"> </div>'+
	'	<div id="star3_'+i+'"> </div>'+
	'	<div id="star4_'+i+'"> </div>'+
	'	<div id="star5_'+i+'"> </div>'+
	'</div>';
}
