
// add, remove classes ================

function hasClass(element,_className) {
	if(!element) {
		return false;
	}
	var upperClass=_className.toUpperCase();
	if(element.className) {
		var classes=element.className.split(' ');
		for(var i=0;i<classes.length;i++) {
			if(classes[i].toUpperCase()==upperClass) {
				return true;
			}
		}
	}
	return false;
}

function addClass(element,_class) {
	if(!hasClass(element,_class)) {
		element.className+=element.className?(" "+_class):_class;
	}
}

function removeClass(element,_class) {
	var upperClass=_class.toUpperCase();
	var remainingClasses=[];
	if(element.className) {
		var classes=element.className.split(' ');
		for(var i=0;i<classes.length;i++)	{
			if(classes[i].toUpperCase()!=upperClass) {
				remainingClasses[remainingClasses.length]=classes[i];
			}
		}
		element.className=remainingClasses.join(' ');
	}
}





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();
}
}
}



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() {
	if (document.getElementById("commenttxt").value=="")
	{
		alert("Oops! Enter a comment!");
		return false;
	}
	else
		return true;
}




// ----------- 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 pegrate(stars) {
	var url = "http://petgames.my-pet-care.com/scripts/pegrate.php?stars="+escape(stars)+"&gid="+escape(gid)+"&stk="+escape(stk);
	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 addtofavs() {
	var url = "http://petgames.my-pet-care.com/scripts/addtofavs.php?gid="+escape(gid)+"&stk="+escape(stk);
	request.open("GET", url, true);

	request.onreadystatechange = function() {
		if (request.readyState == 4)
		if (request.status == 200)
		{    
			document.getElementById('addtofavs').innerHTML = '<em>Added to your favorite games!</em>';;
		}
	}
	request.send(null);
}



