////////////////////////////////////////////////////////////////////////////////////////
////////////////////// Library adapted to use JQUERY framework /////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
		
// --------------------------- START VALIDATE TICKET ------------------------------------			
function doValidate(divloginId, frmLoginId, serviceId, frmIframe, ifrId) {
	var tck = getCookie(CCRTV_SSO_TICKET);
	var svc = getCookie(CCRTV_SSO_SERVICE);
	var frmI = document.getElementById(frmIframe);
	var ifrI = document.getElementById(ifrId);
	var iFpnwl = document.location.pathname.lastIndexOf("/");
	var _pathNameWithoutPage = (iFpnwl>0 ? document.location.pathname.substring(0,iFpnwl+1) : document.location.pathname);	  	

	if (tck!=null && tck!='undefined'&& tck!='' && svc!=null && svc!='undefined' && svc!='') {			
		//validate ticket and get username
			var urlPost = getUrlCasBase() + "validate";
			jQuery.post(urlPost, {ticket: tck, service : ((svc.indexOf("http")<0)?decodeHex(svc):svc)},//decodeHex(svc)},
			function(transport){      							
				var response = transport;
				var spl = response.split("\n");
				if ("no"==spl[0] || spl[0]=="" || spl.length<2) {
					nick = null;
				} else {
					nick = spl[1];//response;  yes\nnick					
				}		
				if (bIframeLoaded || nick!=null) {
					//alert("showLogin after validate ticket [" + tck + "] service [" + svc + "] ... nick [" + nick + "] IframeLoaded " + bIframeLoaded);
					showLogin(divloginId, frmLoginId, serviceId);
				} else if (!bIframeLoaded && nick==null && frmI!=null && ifrI!=null && 
					(ifrI.src==null || ifrI.src=='' || ifrI.src==window.location || ifrI.src==(document.location.protocol + '//' + document.location.host + _pathNameWithoutPage))
					) {
					doAddFormPostIframe(divloginId, frmLoginId, serviceId, frmIframe, ifrId);
				}
			 }		
			);			
	  } else {
		  if (bIframeLoaded) {
				//alert("showLogin NO ticket [" + tck + "] service [" + svc + "] ... nick [" + nick + "] IframeLoaded " + bIframeLoaded);
				showLogin(divloginId, frmLoginId, serviceId);
			} else if (!bIframeLoaded && nick==null && frmI!=null && ifrI!=null && 
				(ifrI.src==null || ifrI.src=='' || ifrI.src==window.location || ifrI.src==(document.location.protocol + '//' + document.location.host + _pathNameWithoutPage))
				) {
				doAddFormPostIframe(divloginId, frmLoginId, serviceId, frmIframe, ifrId);
			}
	  }	
}	
// ------------------------------------------------------------------- END VALIDATE TICKET

// ------------------------------------------------------------------- START SHOW USER DATA
function doGetUserData(divData, callback, hiAction, hiRetrievalXsl, hiScope){//http://www.tags.cat/su/Register?hiAction=33&hiTarget=*.swf&hiRetrievalXsl=objdata.xsl
  	if (nick != null) {
        var d = document.getElementById(divData);
        
        if(hiAction == null) {
        	hiAction="33";
        }
        
        if(hiRetrievalXsl == null) {
        	hiRetrievalXsl = "objdataru.xsl";
        }
		
        
			jQuery.post(getUrlBase()+'/su/Register?hiAction='+hiAction+'&hiTarget=*.swf&hiRetrievalXsl='+hiRetrievalXsl+'&hiRegServiceId=CCMA_REG&hiServiceId=CCMA_REG',		
								function(transport){       
									if (d!=null) {
										var rootElement = transport.documentElement;				
										code = getNodeText(rootElement.getElementsByTagName("code"));				
										if (code=="0") {
											d.innerHTML = getFullname(rootElement, false, hiScope);
											if(callback != null) eval(callback);
										} 
									}
								}
				);					
    }
}           
// ------------------------------------------------------------------- END SHOW USER DATA	

// ------------------------------------------------------------------- START SEND AJAX FORM
function doSendAjaxForm(formIdName, sHtmlMsgCodeZero, codeToEvaluateIfCodeZero, codeToEvaluateAfterProcessing) {
	if (checkNotEmpty(formIdName)) {
		jQuery.post(getUrlBase()+'/su/Register',$("#"+formIdName).serialize(),		
			function(transport){       
				var code = "";
				var response = transport;				
				var rootElement = response.documentElement;
				code = getNodeText(rootElement.getElementsByTagName("code"));
				var divResult = document.getElementById(formIdName
						+ "Result");
				if (code == "0") {					
					divResult.innerHTML = sHtmlMsgCodeZero; //COMMENT_ADDED_OK_HTML;							
					if (codeToEvaluateIfCodeZero) eval(codeToEvaluateIfCodeZero);//doLoadComments(formIdName);															
				} else {
					var data = getNodeText(rootElement.getElementsByTagName("data"));
					var sUrl = getNodeText(rootElement.getElementsByTagName("html"));
					divResult.innerHTML = ((sUrl != null && sUrl != "") ? sUrl
							: (data != null && data != "") ? data
							: code);// alert(response);
				}
	
				if (codeToEvaluateAfterProcessing) eval(codeToEvaluateAfterProcessing);//doReloadCaptcha('divImage');
			}
		);
	}
}
// ------------------------------------------------------------------- END SEND AJAX FORM




// ------------------------------------------------------------------- START COMMENTING
function loadCommentsAjax(divId, reg, item, identifier, cpp, page) {	
	jQuery.post(getUrlBase()+'/su/csxml3cat24.jsp?service=' + reg
			+ '&type=' + item + '&id=' + identifier + '&cpp=' + cpp + '&cp='
			+ page 
			+ '&refresh=true'// not use in prod!!!
			, 		
		function(transport){       
			showComments(transport, divId, reg, item, identifier);
		});
}

function showComments(result, divId, reg, item, identifier) {//
	var rootElement = result.documentElement;
	var sAux = "";
	if (rootElement && rootElement != null) {
		// numComentariTotalnumComentariTotal
		var numComentariTotal = rootElement.getAttribute("total");
		var numRowStart = rootElement.getAttribute("row_start");
		var numRowEnd = rootElement.getAttribute("row_end");
		var numRowsPerPage = rootElement.getAttribute("rows_per_page");
		var numPages = rootElement.getAttribute("pages");
		var numRowsShown = rootElement.getAttribute("rows_shown");
		sAux += "<b><i>#" + numComentariTotal + " comentaris ... mostrant #"
				+ numRowsPerPage + " [" + numRowStart + " - "
				+ ((numRowsShown * 1) + (numRowStart * 1) - 1)
				+ "]</i></b>&nbsp;&nbsp;";
		var page = ((numRowEnd * 1) / (numRowsPerPage * 1));
		sAux += "Pag." + ((numRowEnd * 1) / (numRowsPerPage * 1)) + " de "
				+ numPages + "...";
		for ( var i = 1; i < page; i++)
			sAux += "|<a href=\"javascript:loadCommentsAjax(\'" + divId
					+ "\', \'" + reg + "\',\'" + item + "\',\'" + identifier
					+ "\',\'" + numRowsPerPage + "\',\'" + i + "\')\">[" + i
					+ "]</a>";
		sAux += "&nbsp;<b>" + page + "</b>&nbsp;";
		for ( var i = page + 1; i <= numPages; i++)
			sAux += "|<a href=\"javascript:loadCommentsAjax(\'" + divId
					+ "\', \'" + reg + "\',\'" + item + "\',\'" + identifier
					+ "\',\'" + numRowsPerPage + "\',\'" + i + "\')\">[" + i
					+ "]</a>";

		sAux += "<br />";
		// sAux += "Reg [" + reg + "] Item [" + item + "] Id [" + identifier +
		// "]<br />" ;
		var item = rootElement.getElementsByTagName("COMMENT");
		if (item.length > 0) {
			var commentCounter = (numRowStart * 1);
			for ( var i = 0; i < item.length; i++) {
				tagItem = item[i];
				if (tagItem != null) {
					tagCommentUserFullName = tagItem
							.getElementsByTagName("COMMENT_USER_FULL_NAME");
					sAux += commentCounter
							+ ". ["
							+ getNodeText(tagItem.getElementsByTagName("DATE"))
							+ "]&nbsp;<b>"
							+ (tagCommentUserFullName != null ? getNodeText(tagCommentUserFullName)
									: getNodeText(tagItem
											.getElementsByTagName("USER")))
							+ "</b>&nbsp;"
							+ getNodeText(tagItem.getElementsByTagName("TEXT"))
							+ "<br />";
				}
				commentCounter++;
			}
		}
	}
	var dI = document.getElementById(divId);
	if (dI) {
		dI.innerHTML = sAux;
	}
}

function doLoadComments(formIdName) {
	var sHiRegServiceId  = $(formIdName).hiRegServiceId ? $(formIdName).hiRegServiceId.value : document.getElementById(formIdName).hiRegServiceId.value;
	var sCommentType  = $(formIdName).COMMENT_TYPE ? $(formIdName).COMMENT_TYPE.value : document.getElementById(formIdName).COMMENT_TYPE.value;
	var sCommentContentId  = $(formIdName).COMMENT_CONTENT_ID ? $(formIdName).COMMENT_CONTENT_ID.value : document.getElementById(formIdName).COMMENT_CONTENT_ID.value;
	loadCommentsAjax(formIdName + 'Comments', sHiRegServiceId, sCommentType, sCommentContentId, NUM_COMMENTS, '1');
}

function doAjaxCommentSend(formIdName, ctrlUrlId, ctrlPortalId, sHtmlMsg) {
	doAssignLocation(ctrlUrlId);
	doAssignPortal(ctrlPortalId);
	doSendAjaxForm(formIdName,COMMENT_ADDED_OK_HTML,'doLoadComments("' + formIdName + '");', 'doReloadCaptcha("divImage");');
}

function doAjaxQuizSend(formIdName, sHtmlMsg) {
	doSendAjaxForm(formIdName, sHtmlMsg, null,'doReloadCaptcha("divImage");');
}
