// JavaScript Document //
//
onerror=rHandleErr

var _rSessionID = "";
//var _rSourceID = GetSrcFromQueryString();

var _rMemberCode = "";
// const section
var _rPageId 	= 140586;
var _rImgOver 	= "/site_images/rating/rate_over.gif";
var _rImgOff 	= "/site_images/rating/rate_off.gif";
var _rImgOn 	= "/site_images/rating/rate_on.gif";
var _rWidth 	= 13;
var _rHeight	= 12;
var _rImgPrefix	= "rate_";

//div names - check page
var _rDivCheckPage	= "rCheckPage";
var _rDivCount		= "rCheckCount";
var _rDivAvg		= "rCheckAverage";
var _rDivUrc		= "rCheckUserRateCount";
var _rDivForm		= "rCheckDivForm";

// div names
var _rDivModule		= "rModule";
var _rDivStarts 	= "rDivStars";
var _rDivMessage 	= "rDivMessage";
var _rTDivStarts 	= "rDivTableStars";
var _rDivLoad 		= "rDivLoad";
var _rDivFormCont	= "rDivForm";
// form name
var _rFormName		= "ratingForm";
// input value
var _rValue			= "radRate";

// messages
var _msg_beg 		= '<span>&nbsp;|&nbsp;';
var _msg_end 		= '</span>';
var _msg_bb 		= '<b>';
var _msg_be 		= '</b>';
var _msg_a 			= 'Seja o primeiro a classificar este conte&uacute;do.';
var _msg_b 			= 'Classifica&ccedil;&atilde;o m&eacute;dia: ';
var _msg_c 			= 'Clique numa estrela para classificar.';
var _msg_d 			= '<a href="#">Consulte os</a>';
//image arrays 
var _rOffImg 		= rBOA(5, "off");
var _OnImg 			= rBOA(5, "on");
// loading layer
//var loading = 	'<div id="loading" style="text-align:center;margin-bottom:10px;">';
//	loading +=	'<img src="/site_images/wait22.gif" alt="A carregar..." border="0" style="margin-top:10px;" />';
//	loading +=	'<div>A carregar...</div></div>';

var checkPage		= 0;
var ratingCount 	= "";
var ratingAverage 	= "";
var userCanRate		= 0;



//-----------------------------------------------------------------------------------
function rHandleErr () {
	rHL(_rDivModule);
	return true;
}

function LoadRatingsModule() {	
	try{
		if (_rSourceID=="") {
			//alert("a")
			rHL(_rDivModule);			
		}
		else {
			rSL(_rDivModule);
			rGR();
		}
	}catch(e){
	
		rHL(_rDivModule);
	}
}
function rGR() {	
	rRL(); 
	x = createXMLHTTP(checkXMLHTTP());
	if (x == null) {rHL(_rDivLoad); }
	else
	{
		x.open("GET", rRPU(_rPageId, _rSourceID) ,true);
		x.onreadystatechange=function() {
			if (x.readyState==4 && x.status == 200){				
				rRR(rPT(x.responseText));
			}			
		}
		x.send(null)
	}
}
function rVR(img) {
	if (userCanRate == 0) {
		//rRL(loading); 
		rRL(); 
		rSRV(img);
		var qs = rGQS(_rFormName);
		x = createXMLHTTP(checkXMLHTTP());
		if (x == null) {rHL(_rDivLoad);}
		else
		{
			x.open('POST', rRPU(_rPageId, _rSourceID), true);
			x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			x.setRequestHeader("Content-length", qs.length);
			x.setRequestHeader("Connection", "close");
			x.send(qs);
			x.onreadystatechange = function() {
				if (x.readyState == 4 && x.status == 200) {
					rRR(rPT(x.responseText));
				}
			}							
		}
	}
}
// set rating value
function rSRV (img) {
	document.forms[_rFormName].elements[_rValue].value = rIN(img.id) *1;
}
//get querystring from form elements
function rGQS(s) {
	return (formData2QueryString(document.forms[s]));
}
// render loading
function rRL(s) {
	rHL(_rDivFormCont);
	rHL(_rTDivStarts);
	rSL(_rDivLoad);
}
// render result
function rRR(s) {
	checkPage = rGDC(s, _rDivCheckPage);
	if (checkPage == 1) {
		ratingAverage = rGDC(s, _rDivAvg);
		userCanRate = rGDC(s, _rDivUrc);
		rWRA(ratingAverage,_rOffImg,_OnImg, _rDivStarts);
		rWME(rGDC(s, _rDivCount), ratingAverage);
		rWF(rGDC(s, _rDivForm));
		rHL(_rDivLoad);
		rSL(_rTDivStarts); 
	}
	else {
		rHandleErr();
	}
}
function rWME(rc, ra) {
	if (ra == 0 || rc == 0) {
		document.getElementById(_rDivMessage).innerHTML = _msg_beg + _msg_a + _msg_end;
	}
	else {
		document.getElementById(_rDivMessage).innerHTML = _msg_beg + _msg_b + _msg_bb + ra + _msg_be +' (' +rc+" "+ rOEV(rc) + ')' + _msg_end;
	}
	
}
function rWRA(v, off, on, div) {
	var r = '';
	for (var i = 0; i < 5; i++) {
		if (v == 0) {r += off[i];}
		else { if (i < v) {r += on[i];}
				else {r += off[i];}
		}
	}
	document.getElementById(div).innerHTML = r;
}

function rOVR(img) {
	if 	(userCanRate == 0) {
		for (var i=1; i <= (rIN(img.id) *1); i++) {
			eval('document.images["'+_rImgPrefix+i+'"].src = _rImgOver');
			eval('document.images["'+_rImgPrefix+i+'"].style.cursor = "hand"');
			eval('document.images["'+_rImgPrefix+i+'"].alt = "'+rOEW(i)+'"');
		}
	}
}

function rOUT(img) {	
	rWRA(ratingAverage,_rOffImg,_OnImg, _rDivStarts);
}
// write form contents
function rWF(s) {
	document.getElementById(_rDivFormCont).innerHTML = s;
}
//hide layer
function rHL(s) {
	document.getElementById(s).style.display = "none";
}
//Show layer
function rSL(s) {
	document.getElementById(s).style.display = "block";
}
//get element by id
function rGE(s) {
	return document.getElementById(s);
}
//get date plus random factor
function rGDR() {
	var d = new Date(); 
	return (d.getTime() + Math.round(1000*Math.random()));
}
function rPT(s) {
	s=s.replace(/\+/g," ");
	return (rHR(unescape(s)));
}
// Get number from image name
function rIN(s) {
	var a = '_'; var u = '';
	var i = s.lastIndexOf(a);
	if (i >= 0) {u = s.substring(i+1);}
	else {u = s;} return u;	
}
// remove text after "<hr>"
function rHR(s) {
	var a = '<hr>';
	var i = s.indexOf(a);
	var u = '';
	if (i >= 0) {u = s.substring(0, i);	}
	else {u = s;}	return u;	
}
// get div contents
function rGDC(s,di) {
	var a = '<decoajax id="'+di+'">';
	var b = '</decoajax>';
	u = s.substring(s.indexOf(a)+a.length);
	return (u.substring(0, u.indexOf(b)));
}
// build check page url
function rRPU(pId, sId, seId, mcode) {
	return "/map/show/"+pId+"/src/"+sId+"/time/"+rGDR()+".htm";
	//return "/default.aspx?show="+pId+"&src="+sId+"&time="+rGDR()+"";
}
// 
function rOEV(n) {
	if (n == 1) {return "voto";}
	else {return "votos";}
}
//
function rOEW(n) {	
	if (n == 1) {return "1 valor";}
	else {return (n +" valores");}
}
// return image array (n=dimention; f=on/off)
function rBOA (n, f) {
	var IA = new Array();
	var s = '';
	if (f == "off") {s = _rImgOff;}
	else {s = _rImgOn;}
	for (var i = 0; i < n; i++) {
		IA[i] = 	'<img src="'+s+'" ';
		IA[i] +=	'name="'+_rImgPrefix+(i+1)+'" ';
		IA[i] +=	'width="'+_rWidth+'" ';
		IA[i] +=	'height="'+_rHeight+'" ';
		IA[i] +=	'id="'+_rImgPrefix+(i+1)+'" ';
		IA[i] +=	'onmouseover="rOVR(this);" ';
		IA[i] +=	'onmouseout="rOUT(this);" ';
		IA[i] +=	'onclick="javascript:rVR(this);"/>';
	}
	return IA;
}
function GetSrcFromQueryString() {
	var url = document.URL;
	if ((url.indexOf("/map/") > 0) && (((url.length - url.indexOf(".htm")) == 4) || ((url.length - url.indexOf(".html")) == 5))) {
		var haveSRC = url.indexOf("/src/");
		if (haveSRC > 0) {
			var subS = url.substring(haveSRC+5, url.length);
			if (subS.indexOf("/") > 0) {
				subS = subS.substring(0,subS.indexOf("/"));
			}
			else if (subS.indexOf(".") > 0) {
				subS = subS.substring(0,subS.indexOf("."));
			}
			else {
			 	subS = '';
			}
			return subS;
		}
		else {
			return '';	
		}
	}
	else if (url.indexOf(".aspx?") > 0) {
		var haveSRC  = url.indexOf("src=");
		if (haveSRC > 0) {
			var subS = url.substring(haveSRC+4, url.length);
			if (subS.indexOf("&") > 0) {
				subS = subS.substring(0,subS.indexOf("&"));
			}
			else {
				subS = subS.substring(0,url.length);
			}
			return subS;
		}
		else {
			return '';
		}
	}
	else {
		return '';
	}
}
