var stars;

function hiLiteStar(inObj,sNum){
	var frm=getForm(inObj);
	var active;
	if(frm.active){
		active=frm.active;
	} else {
		active=true;
		frm.active=active;
	}
	if(active){
		var starType=Number(frm.starType.value);
		var res=searchParent(inObj,'UL');
		if(res){
			var ul=res;
			var nodes=ul.getElementsByTagName('IMG');
			for(var i=sNum-1;i>-1;i--){
				nodes[i].src=stars[starType][1].src;
			}
			var div=searchNextSib(ul,'DIV');
			div.def=div.innerHTML;
			div.innerHTML=nodes[sNum-1].alt;
		}
	}

}

function revertStar(inObj,sNum){
	var frm=getForm(inObj);
	var active;
	if(frm.active){
		active=frm.active;
	} else {
		active=true;
		frm.active=active;
	}
	if(frm.active){
		var starType=Number(frm.starType.value);
		var res=searchParent(inObj,'UL')
		if(res){
			var ul=res;
			var nodes=ul.getElementsByTagName('IMG');
			for(var i=sNum-1;i>-1;i--){
				nodes[i].src=stars[starType][0].src;
			}
			var div=searchNextSib(ul,'DIV');
			div.innerHTML=div.def;
		}
	}
}

function submitStar(inObj,sNum){
	var frm=getForm(inObj);
	if(frm.active){
		//==>Deactivate all elements of the form
		frm.active=false;
		var links=frm.getElementsByTagName('A');
		var pNode,rNode;
		for(var jk=links.length-1;jk>=0;jk--){
			pNode=links[jk].parentNode;
			rNode=links[jk].getElementsByTagName('IMG')[0];
			pNode.replaceChild(rNode,links[jk]);
		}

		frm.sourceURL.value=window.location;
		var ttl=document.title;
		if(ttl.indexOf(' - ')>=0){
			ttl=ttl.substr(0,ttl.indexOf(' - '));
		}
		frm.sourceLBL.value=ttl;
		//==>Figure out what the query string needs to be
		var ajaxArgs=Array();
		for(jk=0;jk<frm.elements.length;jk++){
			ajaxArgs.push(frm.elements[jk].name+'='+escape(frm.elements[jk].value));
		}
		ajaxArgs.push('rating='+sNum);

		var starOut=frm.getElementsByTagName('DIV')[frm.getElementsByTagName('DIV').length-1];
		starOut.innerHTML='Recording your vote...';
		starOut=frm;
		var req=createXMLHTTPObject();
		if(req){
			req.open('POST','/myep/stars/submit.php',true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.onreadystatechange=function (){
				if(req.readyState==4){
					window.clearTimeout(myTimer);
					if(req.status==200){
						starOut.innerHTML=req.responseText;
						frm.homeMode.value='tUEdit';
					} else {
						starOut.innerHTML='Error while communicating with the server: HTTP '+req.status;
					}
				}
			};
			var myTimer=setTimeout(function(){
				killRequest(req,starOut);
			},20000);
			req.send(ajaxArgs.join('&'));
		} else {
			starOut.innerHTML='We could not establish a connection with your browser.';
		}
	}
	window.focus();
	return false;
}

function starField(obj,field,rating){
	var frm=getForm(obj);
	if(frm){
		var execString='frm.'+field+'.value='+rating;
		eval(execString);
		var ul=searchParent(obj,'UL');
		var nodes=ul.getElementsByTagName('A');
		for(var jk=0;jk<nodes.length;jk++){
			nodes[jk].onmouseover=null;
			nodes[jk].onmouseout=null;
		}
		revertStar(nodes[nodes.length-1],nodes.length);
		hiLiteStar(nodes[rating-1],rating);
	} else {
		alert('Form not found');
	}
	window.focus();
}

//----- Retieves the star rating module
function getStar(strCont,strReq){
	var req=createXMLHTTPObject();
	if(req){
		req.open('POST','/myep/stars/createStar.php',true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.onreadystatechange=function(){
			if(req.readyState==4){
				// clear the kill timer
				clearTimeout(myTimer);
				if(req.status==200){
					document.getElementById(strCont).innerHTML=req.responseText;
				} else {
					document.getElementById(strCont).innerHTML='';
				}
			}
		}
		// kill any timed out requests
		var myTimer=setTimeout(function(){
			killRequest(req,document.getElementById(strCont));
		},20000);

		req.send(strReq);
	} else {
		document.getElementById(strCont).innerHTML='';
	}
}

function killRequest(req,obj){
	obj.innerHTML='';
	req.abort();
}

function editStar(obj){
	var frm=getForm(obj);
	frm.homeMode.value='tUedit';
	var init=document.createElement('INPUT');
	init.type='hidden';
	init.name='init';
	init.value='true';
	obj.appendChild(init);
	frm.sourceURL.value=window.location;
	var ttl=document.title;
	if(ttl.indexOf(' - ')>=0){
		ttl=ttl.substr(0,ttl.indexOf(' - '));
	}
	frm.sourceLBL.value=ttl;
	frm.submit();
}

function newStar(obj){
	var frm=getForm(obj);
	frm.homeMode.value='tSub';
	frm.sourceURL.value=window.location;
	var ttl=document.title;
	if(ttl.indexOf(' - ')>=0){
		ttl=ttl.substr(0,ttl.indexOf(' - '));
	}
	frm.sourceLBL.value=ttl;
	frm.submit();
}

stars=new Array(new Array(),new Array());
stars[0][0]=new Image(16,15);
stars[0][0].src='http://pix2.epodunk.com/rating-stars/white/empty-teal.gif';
stars[0][1]=new Image(16,15);
stars[0][1].src='http://pix2.epodunk.com/rating-stars/white/full-teal.gif';
//gray background stars
stars[1][0]=new Image(16,15);
stars[1][0].src='http://pix2.epodunk.com/rating-stars/white/empty-teal.gif';
stars[1][1]=new Image(16,15);
stars[1][1].src='http://pix2.epodunk.com/rating-stars/white/full-teal.gif';