
var code = 1;
var userid		= null;
var useridint	= null;

				
// Obté resultat de la petició remota
// ==0 : OK, !=0 : KO
function getResultCode(result) {
	return result ? result.documentElement.getElementsByTagName("code")[0].firstChild.data : -1;
}

// obté un valor del xml resposta
function retrieveValueFromXml(result, fieldName, defaultValue) {
	return result!=null && result.documentElement.getElementsByTagName(fieldName)[0]!=null ? 
		result.documentElement.getElementsByTagName(fieldName)[0].firstChild.data : defaultValue;
}

// Obté resultat de la petició remota
// pos0 : estat (==0:OK, !=0:KO); pos1 : camp 'data'; pos2 : user name (nick); pos3 : user idint


function getResultAdvanced(result) {
	var xml_result	= new Array();
	if (result!=null) {
		xml_result[0]	= retrieveValueFromXml(result, "code", -1);
		xml_result[1]	= retrieveValueFromXml(result, "data", null);
		xml_result[2]	= retrieveValueFromXml(result, "USERID", null);
		xml_result[3]	= retrieveValueFromXml(result, "USERIDINT", null);
		code			= xml_result[0];
		userid			= xml_result[2];
		useridint		= xml_result[3];
	} else {
		xml_result[0]	= code;
		xml_result[1]	= null;
		xml_result[2]	= userid;
		xml_result[3]	= useridint;
	}
	return xml_result;
}
		
function genericFunctionLogin(id, result){
	var divToShow = "";
	var arr = getResultAdvanced(result);
	var sUrlAfterLogout = document.location;
	
	divToShow = '	<h2 title="USUARIS REGISTRATS" class="tit"><span>USUARIS REGISTRATS</span></h2>'+
				'	<p><div id="divDadesUsuari"></div><div id="divLogin"><a rel="shadowbox[maqueta];width=696;height=551" href="http://www.esport3.cat/su/ru/common_login.jsp?hiRegServiceIdParam=ESP_REG" class="pngFix">Inicia sessió</a></div></p>'+
				'	<p id="registerLi"><a href="https://secure.ccrtvi.com/su/ru/ruAlta.jsp">Registra\'t</a></p>'+
				'<div style="display: none; visibility: hidden">'+
				'	<form id="frmPostIframe" method="POST" action="https://secure.ccrtvi.com/sso/login" target="ifrId">'+
				'		<input type="hidden" name="service" id="service" value="http://www.esport3.cat/sso/n.jsp?service=http://www.esport3.cat/sso/login" size="80"/>'+
				'	</form>'+
				'	<iframe width="1024" height="768" id="ifrId" name="ifrId" src="" onload="doValidate(\'divLogin\',\'frmLogin\',\'ctrlServiceLogin\',\'frmPostIframe\',\'ifrId\');">&nbsp;</iframe>'+
				'	<iframe id="logoutFrame" name="logoutFrame" src="" onload="cleanLogoutIFrame();" style="display: none; visibility: hidden">&nbsp;</iframe>'+
				'</div>';
	document.getElementById("usuarisReg").innerHTML=divToShow;
} 

/* Noves funcions per optimitzar el proces de LOGIN */

  function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf(";" + prefix);
    if (begin == -1) {
     begin = dc.indexOf("; " + prefix);
     if (begin == -1) {
      begin = dc.indexOf(prefix);
      if (begin != 0) return null;
     } else begin += 2;
    } else {
     begin += 1;
    }
    var end = dc.indexOf(";", begin);
    if (end == -1) {
     end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
  }
  
  function getXmlSerialized(xmlstring) { 
   if (document.implementation.createDocument && typeof DOMParser!='undefined') {
     return new DOMParser().parseFromString(xmlstring, "text/xml");
   } else if (typeof XMLSerializer!='undefined') {
     return new XMLSerializer().serializeToString(xmlstring);
   } else if (xmlstring.xml) {
     return xmlstring.xml;
   } else if (window.ActiveXObject) {
        var dom = new ActiveXObject("Microsoft.XMLDOM");
        dom.async="false"; 
        dom.loadXML(xmlstring);
        return dom;
    } else return null;
  }  
  
  function getDateGMT(l) {
   var d = new Date();
   d.setTime(l);
   return d.toGMTString();
  }
     
  function CheckValidCookieUser(dbg) {
   var r = getCookie("__USERDATA__"); 
   var r2 = getCookie("__USERDATA__TIMECHECK__");
   var now = new Date().getTime();
   var r2fix = ((r2==null || r2=='' || r2=='null')?0:(r2*1));
   var diff = (r2fix-now);
   var ret = (
    r!=null && r!='' && r!='null' && r.indexOf("<code>0</code>")>-1 //check that userdata found and valid
    && (r2==null || r2=='' || r2=='null' || (diff>0)) // check cookie time period valid or null
   );   
   if (dbg) {
    ret= ret + " ... "
    + " diff[" + diff
    + "] UDT[" + r2fix //+ " " + getDateGMT(r2fix)
    + "] now[" + now //+ " " + getDateGMT(now)
    + "] UD[" + r + "] "
    ;
   }
   return ret;
  }   
    
  var expireCheckCookieTime = 300*1000;  //expires in 5 minutes (milliseconds)            
  var urlgatewaybase = "http://www.esport3.cat/pesports3/g.jsp";    
    
  function checkUser() {
    if (!CheckValidCookieUser()) {
      var r = getCookie("_FOREIGN_SESSION_ID"); 
      if (r!=null && r!='' && r!='null'  || !(document.cookie)) {  
          loadXMLDoc(urlgatewaybase+"?a=1&t="+r+new Date().getTime(),false,"Login");
          var futdate = new Date();  //Get the current time and date
          var expdate = futdate.getTime();  //Get the milliseconds since Jan 1, 1970
          expdate += expireCheckCookieTime;  //expires in 5 minutes (milliseconds)       
          var newCookie="__USERDATA__TIMECHECK__=" + expdate +"; path=/;"; //Set the new cookie values up
          window.document.cookie=newCookie; //Write the cookie    
      } else {
       genericFunctionLogin(null, null);
      }
    } else {
      genericFunctionLogin(null, getXmlSerialized(getCookie("__USERDATA__")));
    } 
  }  
  
  var doShowLogin = false;
  var doShowComment = false;
  var doShowConcurs = false;

  function showLogin(){
  	if (doShowLogin) {
  		showLoginDiv('divLogin','frmLogin','ctrlServiceLogin');
  	}
  	if (doShowComment) {
  		showCommentDiv('divCsLogin','formCsLogin','hiRegServiceId');
  	}	
  	if (doShowConcurs) {
  		showConcursDiv('divQuizLogin','formQuizLogin','hiRegServiceId');
  	}
  }
  
  function prepareForLogout()
	{
		if (doShowLogin) 
		{
			prepareLoginForLogout();
		}
		if (doShowComment) 
		{
			prepareCommentForLogout();
		}
		if (doShowConcurs) 
		{
			prepareConcursForLogout();
		}
	}
  
  
  
  <!-- Scripts afegits per RU -->
  if ( typeof( window['URLBASE']) == "undefined" ) 
  {
	  var URLBASE = "http://www.esport3.cat";
  }
  
  document.write( '<script src="'+URLBASE+'/js/mootools.js" type="text/javascript"></script>' );
  document.write( '<link rel="stylesheet" type="text/css" href="'+URLBASE+'/css/shadowbox.css"/>' );
  document.write( '<script type="text/javascript" src="'+URLBASE+'/css/shadowbox.js"></script>' );  
  document.write( '<script src="'+URLBASE+'/su/ru/js/ccrtvi_common.js" type="text/javascript"></script>' );
  document.write( '<script src="'+URLBASE+'/su/ru/js/ccrtvi_mootools.js" type="text/javascript"></script>' );
  document.write( '<script src="'+URLBASE+'/js/login_ru.js" type="text/javascript" ></script>' );
  <!-- End RU -->
  
  

