function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttp;
}

function showAll(sId,subCategory,url,showAllStatus){
	var request = GetXmlHttpObject();
	var showAll = showAllStatus;
	var trriBaseKey = null;

	try{
		trriBaseKey = getEl("trriKey").innerHTML;
	}
	catch(x){
	}

	if (trriBaseKey == null) {
		trriBaseKey = "";
	}
	if(request){
		request.onreadystatechange = function(){
		displayResponse(request, "comments");
		};
		request.open("POST", url, true);
		request.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
		request.send("id="+trriBaseKey+"&subCategory="+subCategory+"&showAll="+showAll);
	}
}

/*
 * addComment needs to find the trriKey to assign the comment against
 * this will also be passed back to the comment.jsp to refresh
 */
function addComment(sId,subCategory,url){
	var comment="";
	var comnt = getEl("newComment").value;
	var txt="Escribe tu comentario aquí";
	var trriBaseKey = null;

	try{
		trriBaseKey = getEl("trriKey").innerHTML;
	}
	catch(x){
	}

	if (trriBaseKey == null) {
		trriBaseKey = "";
	}

	// check to see if this is a valuable comment (and if not, bail out)
	if(comnt == txt || comnt == "" || comnt == "null" || comnt.replace(/\s{2,}/gi," ") == " "){
		getEl("newComment").value="";
	}
	else{
		comnt = comnt.replace(/\s{2,}/gi," ").replace(/\n/gi," <br/>");
		comnt = comnt.replace(/(<([^>]+)>)/ig,"");//will strip html tags
		var str= comnt.split(" ");

		for(var i=0;i<str.length;i++){
			comment+=cutString(str[i],70)+" ";
		}
		var request = GetXmlHttpObject();

		if(request){
				request.onreadystatechange = function(){
				displayResponse(request, "comments");
				};
				comment = encodeURIComponent(comment);
				request.open("POST", url, true);
				request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
				request.send("id="+trriBaseKey+"&subCategory="+subCategory+"&newComment="+comment+"&screenname="+_sns_disLoginId_);
		}
	}
}

function getEl( id ){ return document.getElementById( id ); }

function cutString (str, maxchars) {
		if(str&&str.length<maxchars) return str;
		else if(str) return (str.substring(0,maxchars).lastIndexOf(" ")>0)?str.substring(0,str.substring(0,maxchars).lastIndexOf(" ")):str.substring(0,maxchars);
		else return "";
	}

function displayResponse(request, elementId){
	if(request.readyState == 4){
	    var element = document.getElementById(elementId);
	   	document.getElementById(elementId).innerHTML = request.responseText;
	   	if(elementId=='comments'){
	   		document.getElementById('newComment').value = "";
	   	}
	}
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

