function insertAtCaret (textObj, textFeildValue) {
var len = textFeildValue.length;
if(document.all){
if (textObj.createTextRange && textObj.caretPos) {
var caretPos = textObj.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFeildValue + ' ' : textFeildValue;
}else{
textObj.value = textFeildValue;
}
}else{
if(textObj.setSelectionRange){
var rangeStart = textObj.selectionStart;
var rangeEnd = textObj.selectionEnd;
var tempStr1 = textObj.value.substring(0,rangeStart);
var tempStr2 = textObj.value.substring(rangeEnd);
textObj.value = tempStr1 + textFeildValue + tempStr2;
setCursor(textObj,rangeStart+len,rangeStart+len)
}else{
alert("This version of Mozilla based browser does not support setSelectionRange");
}
}
}

function setCursor(el,st,end) {
if(el.setSelectionRange) {
el.focus();
el.setSelectionRange(st,end);
}
else {
if(el.createTextRange) {
range=el.createTextRange();
range.collapse(true);
range.moveEnd('character',end);
range.moveStart('character',st);
range.select();
}
}
}



// comments

function addSmile(smile) {
	var browser = navigator.appName;
	var msgbox = document.getElementById("message");
	if (!msgbox)
		var msgbox = document.getElementById("commenttxt");


	if (browser=="Microsoft Internet Explorer")
		msgbox.value = msgbox.value + smile;
	else
		insertAtCaret(msgbox,smile);
}




function chaddcomm() {
	var _name = document.getElementById("addcomm_name");
	var _comment = document.getElementById("addcomm_comm");
	var err="";

	if (_name.value=="")
		err += " - Please enter your name!\n";
	if (_comment.value=="")
		err += " - Please enter a comment!";

	if (err!="") {
		alert(err);
		return false;
	}
	else
		return true;
}



var asmiles = Array("","","");

function addSmile(smile) {
	for (var i=0; i<asmiles.length-1; i++)
		asmiles[i] = asmiles[i+1];
	asmiles[asmiles.length-1] = smile;
	if (asmiles[0]==asmiles[1] && asmiles[1]==asmiles[2])
		return;

	var browser = navigator.appName;
	var msgbox = document.getElementById("addcomm_comm");
	if (browser=="Microsoft Internet Explorer")
		msgbox.value = msgbox.value + smile;
	else
		insertAtCaret(msgbox,smile);
	chaddc();
}



// ----------- ini XMLHttpRequest

 var request = false;

   try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }
     }
   }




function chaddc() {
	if (document.getElementById('addcomm_ch').value=='') {
		document.getElementById('addcomm_ch').value = '0';
		request.open("GET", "http://ponygamesonline.org/scripts/chaddc.php", true);
		request.onreadystatechange = function() {
			if (request.readyState == 4)
			if (request.status == 200) {
				document.getElementById('addcomm_ch').value = request.responseText;
			}
		}
		request.send(null);
	}
}



function grate(stars) {
	var url = "http://ponygamesonline.org/scripts/rate.php?stars="+escape(stars)+"&gid="+escape(gid);
	request.open("GET", url, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4)
		if (request.status == 200) {
			var resp = request.responseText.split("|");
			document.getElementById('star-rating').innerHTML = '<li class="current-rating" style="width:'+resp[0]+'px;">'+resp[0]+'</li>';
			document.getElementById('rateinfo').innerHTML = resp[2]+resp[1];
		}
	}
	request.send(null);
}




function gfav() {
	document.getElementById('fav-box').innerHTML = '<em>Please wait...</em>';
	var url = "http://ponygamesonline.org/scripts/fav.php?gid="+escape(gid);
	request.open("GET", url, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4)
		if (request.status == 200) {
			var favs = document.getElementById('myfavs').innerHTML;
			document.getElementById('myfavs').innerHTML = request.responseText+favs;
			document.getElementById('fav-box').innerHTML = '<span><em>Successfully added to your favorite games!</em></span>';
		}
	}
	request.send(null);
}

function gunfav(id) {
	var url = "http://ponygamesonline.org/scripts/unfav.php?gid="+escape(id);
	request.open("GET", url, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4)
		if (request.status == 200) {
			var fav = document.getElementById('fav_'+request.responseText);
			fav.parentNode.removeChild(fav);
		}
	}
	request.send(null);
}




