
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;
	
	if ( arr[0]==0 ) {	
		//if (sUrlAfterLogout == "http://www.elsesports.cat/su/Register") {
		if (sUrlAfterLogout.href.match("http://www.elsesports.cat/su/Register") != null) {
			sUrlAfterLogout = "http://www.elsesports.cat";
		}
		divToShow='<div id="usuarisReg" class="registrat">'+
		'<h2 class="tit" title="USUARI REGISTRAT"><span>USUARI REGISTRAT</span></h2>'+
		'<p>Hola, <strong>'+ arr[2]+'</strong></p>'+
  	'<ul>'+
  	'<li class="menuU"><a href="https://secure.ccrtvi.com/su/elsesports/esp_P01.jsp" title="Menú d\'usuari">Menú d\'usuari</a></li>'+
  	'<li class="tancarS"><a href="https://secure.ccrtvi.com/su/Register?hiPersist=true&amp;hiTarget=' + escape(urlgatewaybase + '?url=' + sUrlAfterLogout) + '&amp;hiAction=0" title="Tancar sessió">Tancar sessió</a></li>'+
  	'</ul>'+
  	'</div>'
  	document.getElementById("usuarisReg").innerHTML=divToShow;
	}
	else {
		// https://secure.ccrtvi.com
		divToShow='<form action="https://secure.ccrtvi.com/su/Register" method="POST">'+


							'<input name="hiTarget" 				type="hidden" id="hiTarget"	 value="' + urlgatewaybase + '?url=' + escape(document.location) + '"/>'+
							'<input name="hiErrTarget" 			type="hidden" id="hiErrTarget" value="esp_R10.jsp?"/>'+
							'<input name="hiRegServiceId" 	type="hidden" value="ESP_REG"/>'+
							'<input name="hiServiceId" 			type="hidden" value="ESP_REG"/>'+
							'<input name="hiPortal" 				type="hidden" value="elsesports"/>'+
							
							
							'<input name="hiPwdField" 			type="hidden" value="P"/>'+
							'<input name="hiUsrField" 			type="hidden" value="U"/>'+
							
							
							'<input name="hiAction" 				type="hidden" value="10"/>'+
							'<input name="hiPersist" 				type="hidden" value="true"/>'+
							'<input name="hiPersistSep" 		type="hidden" value="&"/>'+

							'<h2 class="tit" title="USUARIS REGISTRATS">'+
							'<span>USUARIS REGISTRATS</span>'+
							'</h2>'+
							'<p id="inputsReg">'+
							'<input type="text" name="U" id="U" value="Nom d&rsquo;usuari" onclick="if(this.value==\'Nom d&rsquo;usuari\')this.value=\'\'"/>'+
							'&nbsp;'+
							'<input type="password" name="P" id="P" value="" _onclick="changeInputType()"/>'+
							'</p>'+
							'<p class="entrarReg">'+
							'<input type="submit" value="Entrar"/>'+
							'</p>'+
							'<p>'+
							'<a href="https://secure.ccrtvi.com/su/elsesports/esp_P10.jsp">Encara no t\'has registrat?</a>'+
							'</p>'+
							'<p>'+
							'<a href="https://secure.ccrtvi.com/su/elsesports/esp_P20A.jsp">Has oblidat la contrasenya? </a>'+
							'</p>'+
							'</form>';
		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.elsesports.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__")));
    } 
  }  
