
////// CONSTANTS //////

// url home portal
var URL_HOME				= "http://www.tv3.cat";

// url segura
var URL_SECURE_BASE			= "https://secure.ccrtvi.com";

// url home 3ac
var URL_HOME_3AC			= URL_HOME + "/seccio/3alacarta";

// url domini actual
var URL_THIS				= document.location.href;
var URL_LOCATION_BASE		= getBaseUrl(URL_THIS);

// url cercador
var URL_SEARCHER			= URL_HOME + '/searcher/Search';

// url registre
var URL_REGISTER			= URL_SECURE_BASE + '/su/Register';
//var URL_REGISTERt			= URL_HOME + '/su/Register';
//var URL_REGISTERt			= URL_LOCATION_BASE + '/su/Register';
var URL_REGISTERt			= URL_REGISTER;

// url su acces
var URL_SU				= URL_SECURE_BASE + '/su/tvc';
//var URL_SU					= URL_HOME + '/su/tvc';
var URL_REGISTER_HOME		= URL_SU + '/tvc_P01.jsp';

// url gateguay
//var URL_GATEWAY				= URL_LOCATION_BASE + '/ptv3/g.jsp';
var URL_GATEWAY				= URL_HOME + '/ptv3/g.jsp';



////// VARIABLES //////

var code		= -1;
var userid		= null;
var useridint	= null;
var idCapa      = null;




////// FUNCIONS //////


// Obté element
function getElemId(id) {
	return document.getElementById(id);
}

// Obté un objecte formulari.
// Per defecte, obté el formulari genèric.
// arguments[0] : identificador del formulari
function getForm() {
	var frmId = arguments[0]!=null ? arguments[0] : "myform";
	return getElemId(frmId);
}

// Estableix valor camp
function setText(oText, sValue) {
	if ( oText!=null ) {
		oText.value = sValue;
	}
}

// Estableix valor camp si és buit
function setTextIfEmpty(oText, sValue) {
	if ( oText!=null ) {
		if ( oText.value=='' ) {
			oText.value = sValue;
		}
	}
}

var aParams = new Array();

function fullfilment(form){
	var iEle;
	for (iEle=0;iEle<form.elements.length;iEle++){
		sPar=aParams[form.elements[iEle].name];
		if (sPar != '' && sPar != null){
			setValue(form.elements[iEle], sPar);
		}
	}
}

function setValue(oParam, sParamValue){
	var aPar = sParamValue.split("|");
	switch (oParam.type) {
		case 'checkbox':
			//..
		case 'radio':
			for (i=0;i<aPar.length;i++) {
				if (oParam.value==aPar[i]) {
					oParam.checked=true;
				}
			}
			break;
		case 'select-multiple':
			for(i=0;i<aPar.length;i++){
				for(j=0;j<oParam.length;j++){
					if(oParam.options[j].value==aPar[i])
						oParam.options[j].selected=true;
				}
			}
			break;
		case 'password':
			//..
		default:
			for (i=0;i<aPar.length;i++){
				oParam.value=aPar[i];
			}
			break;
	}
}

function disableAll(frm){
	var iEle;
	for (iEle=0;iEle<frm.elements.length;iEle++){
		frm.elements[iEle].disabled=true;
	}
}

function changeCheck(oChk, oHid) {
	oHid.value = oChk.checked ? "SI" : "NO";
}

function changeClause(sField) {
	var frm = getForm('registre');
	eval("var oChk = frm.ch"+sField);
	eval("var oHid = frm."+sField);
	changeCheck(oChk, oHid);
}

function changeClauseI(sField) {
	var frm = getForm('registre');
	eval("var oChk = frm.ch"+sField);
	eval("var oHid = frm."+sField);
	changeCheck(oChk, oHid);
	if (oChk.checked) {
		setEnableClause();
	} else {
		setDisableClause();
	}
}

function setEnableClause() {
	var currTabElem = document.getElementById("bt_clause");
	if (currTabElem!=null) {
		currTabElem.setAttribute("class", "bt_50_2");
		currTabElem.setAttribute("className", "bt_50_2");
	}
	return;
} 

function setDisableClause() {
	var currTabElem = document.getElementById("bt_clause");
	if (currTabElem!=null) {
		currTabElem.setAttribute("class", "bt_50_2_des");
		currTabElem.setAttribute("className", "bt_50_2_des");
	}
	return;
} 

function checkClause(frm) {
	if (frm.chACCEPTO!=null && !frm.chACCEPTO.checked) {
		alert("Hauries d'omplir l'opció \"Accepto les condicions de la clàusula.\"");
		frm.chACCEPTO.focus(); 
		return false;
	}
	return true;
}

function checkClauseI(frm) {
	if (frm.TVC_INFO2.value=='NO') { 
		alert("Hauries d'omplir l'opció \"Accepto la política de protecció de dades.\"");
		frm.chTVC_INFO2.focus(); 
		return false;
	}
	return true;
}

function wintrace(text) {
	var x = window.open(); 
	x.document.write(">"+text);
}

////////////////////////////////////////////////////////////////////////////////////


function getFormS() {
	var frmId = arguments[0]!=null ? arguments[0] : "frmSearch";
	return getElemId(frmId);
}

// Sans_Jma INI
function optionChecked(opcio)
//Torna el value del radio button seleccionat
{
 var resultat = null; 

	if(opcio != undefined){
	 if (opcio.length>0)
	 {
	  for(i=0;i<opcio.length;i++)
	  {
	    if(opcio[i].checked) resultat = opcio[i].value
	  }
	 }
	}
  return resultat; 
}
// Sans_Jma FI

function send() {
	var frm = getFormS(arguments[0]);
	if (arguments[1]!=null) {
		frm.hiStartValue.value = arguments[1];
	}
	var bCheck = false;
	eval("bCheck = frm.startDate!=null && frm."+frm.name+"_startDate!=null;");
	if (bCheck) {
		eval("frm.startDate.value = frm."+frm.name+"_startDate.value;");
	}
	eval("bCheck = frm.endDate!=null && frm."+frm.name+"_endDate!=null;");
	if (bCheck) {
		eval("frm.endDate.value = frm."+frm.name+"_endDate.value;");
	}
	if (frm.textBusca!=null) {
			if (frm.textBusca.value=="Cerca text" || frm.textBusca.value=="Cerca vídeo") {
				frm.textBusca.value = "";
			}
	}
	frm.action = URL_SEARCHER;
	frm.method = "post";
	// Sans_Jma INI
  if (optionChecked(frm.aOn)=='externa')
	{
	 sendGoogleSearch(frm.textBusca.value)
	}
	else
	{
		frm.submit();
  }	
	// Sans_Jma FI
	
	//frm.submit();
}

function sendGet() {
	var frm = getFormS(arguments[0]);
	if (arguments[1]!=null) {
		frm.hiStartValue.value = arguments[1];
	}
	var bCheck = false;
	eval("bCheck = frm.startDate!=null && frm."+frm.name+"_startDate!=null;");
	if (bCheck) {
		eval("frm.startDate.value = frm."+frm.name+"_startDate.value;");
	}
	eval("bCheck = frm.endDate!=null && frm."+frm.name+"_endDate!=null;");
	if (bCheck) {
		eval("frm.endDate.value = frm."+frm.name+"_endDate.value;");
	}
	if (frm.textBusca!=null) {
			if (frm.textBusca.value=="Cerca text" || frm.textBusca.value=="Cerca vídeo") {
				frm.textBusca.value = "";
			}
	}
	frm.action = URL_SEARCHER;
	frm.method = "get";
	// Sans_Jma INI
  if (optionChecked(frm.aOn)=='externa')
	{
	 sendGoogleSearch(frm.textBusca.value)
	}
	else
	{
		frm.submit();
  }	
	// Sans_Jma FI
	
	//frm.submit();
}


// Sans_Jma INI
function sendGoogleSearch(pregunta)
{
 var frm = document.forms['cse-search-box'];
 frm.q.value=pregunta;
 frm.textBusca.value=pregunta;
 frm.submit();
}
// Sans_Jma FI 


function selectOptionByValue(combo, value) {
	for (var i=0; i<combo.options.length; i++) {
		if (value==combo.options[i].value) { 
			combo.options[i].selected = true; 
		}
	}
	return true;
}

function selectOption(value) {
	selectOptionByValue(getFormS("frmSea").hiCategory, value);
}

//Funcio per comprovar si es presiona un Intro
function checkEnter(e){ //e is event object passed from function invocation
	var characterCode; // literal character code will be stored in this variable
	if(e && e.which){e = e; characterCode = e.which;}
	else{e = event; characterCode = e.keyCode;}
	
	if(characterCode == 13){ return true;}
	else{ return false;}
}

////////////////////////////////////////////////////////////////////////////////////


// Envia commanda login
function enviaLogin() {
	getElemId("frmLogin").submit();
}

// Obté domini d'una url
function getBaseUrl(sUrl) {
	var iBaseProtocol = sUrl.indexOf("//");
	var iBaseUrl = sUrl.indexOf("/",iBaseProtocol+2);
	if (iBaseUrl<0) { iBaseUrl = sUrl.length; }
	return sUrl.substring(0,iBaseUrl);
}

// Verifica si el domini actual és segur
function isSecureDomain() {
	return document.location.href.indexOf(URL_SECURE_BASE)==0;
}

// Verifica si es una url de cercador
function isHomePage() {
	return document.location.href==URL_HOME+'/';
}

// Verifica si es una url de registre d'usuari
function isRegisterUrl(sUrl) {
	var pos = sUrl.indexOf("?");
	pos = pos<0 ? sUrl.length : pos;
	return sUrl.substring(0,pos).indexOf("/su/")>=0;
}

// Verifica si es una url de cercador
function isSearcherUrl(sUrl) {
	var pos = sUrl.indexOf("?");
	pos = pos<0 ? sUrl.length : pos;
	return sUrl.substring(0,pos).indexOf("/searcher/")>=0;
}

// Verifica si es una url concreta que cal redireccionar per força a la HOME
function isRedirectToHome3acUrl(sUrl) {
	var pos = sUrl.indexOf("?");
	pos = pos<0 ? sUrl.length : pos;
	var sUrlPrefix = sUrl.substring(0,pos);
	return sUrlPrefix.indexOf("tv3VideosPreferits.jsp")>=0;
}

// OJD
function writeOjd() {
	if  (!isSecureDomain()) {
		if (isHomePage()) {
			document.write("<!-- START Nielsen//NetRatings SiteCensus V5.3 -->");
			document.write("<!-- COPYRIGHT 2007 Nielsen//NetRatings -->");
			document.write("<scr"+"ipt type=\"text/javascript\">");
			document.write(" var _rsCI=\"es-ccrtv\";");
			document.write("	var _rsCG=\"0\";");
			document.write("	var _rsDN=\"//secure-uk.imrworldwide.com/\";");
			document.write("	var _rsCL=1;");
			document.write("</scr"+"ipt>");
			document.write("<script type=\"text/javascript\" src=\"//secure-uk.imrworldwide.com/v53.js\"></script>");
			document.write("<noscr"+"ipt>");
			document.write("<div><img src=\"//secure-uk.imrworldwide.com/cgi-bin/m?ci=es-ccrtv&amp;cg=0&amp;cc=1\" alt=\"\"/></div>");
			document.write("</noscr"+"ipt>");
			document.write("<!-- END Nielsen//NetRatings SiteCensus V5.3 -->");
		} else {
			document.write("<scr"+"ipt language='JavaScript' src='http://www.tv3.cat/js/tvc/ojd.js'></scr"+"ipt>");
		}
	}
}

// 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!=null &&
		result.documentElement.getElementsByTagName(fieldName)!=null &&
		result.documentElement.getElementsByTagName(fieldName)[0]!=null &&
		result.documentElement.getElementsByTagName(fieldName)[0].firstChild!=null &&
		result.documentElement.getElementsByTagName(fieldName)[0].firstChild.data!=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;
}

// Capturador crida síncrona remota. Es verifica si l'usuari ja està logat.
function genericFunctionCheckLog(id, result) {

	// url webmail usuari logat
	var URL_WEBMAIL_IN				= 'javascript:webmail()';
	// url webmail usuari logat
	//var URL_WEBMAIL_OUT				= URL_SU + '/tvc_P48.jsp';
	var URL_WEBMAIL_OUT				= URL_WEBMAIL_IN;
	
	// url creació usuari
	var URL_CREATE_USER				= URL_SU + '/tvc_P10.jsp';
	
	// url recordatori 
	var URL_REMEMBER_PWD			= URL_SU + '/tvc_P20A.jsp';

	// url target
	var URL_ALT_TARGET				= URL_THIS;
	if ( isRedirectToHome3acUrl(URL_THIS) ) {
		URL_ALT_TARGET				= URL_HOME_3AC;
	} else if ( isSecureDomain() || isRegisterUrl(URL_THIS) || isSearcherUrl(URL_THIS) ) {
		URL_ALT_TARGET				= URL_HOME;
	}

	// url tanca sessió usuari
	var URL_CLOSE_SESSION			= URL_REGISTER + '?hiTarget=' + escape(URL_ALT_TARGET) + '&amp;hiAction=0';
	
	// gatew
	var URL_LOGIN_USER_TARGET		= URL_GATEWAY + '?url=' + escape(URL_ALT_TARGET);

	var URL_LOGIN_USER_ERRTARGET	= 'tvc_R10.jsp?';

	var buffToFlush = null;
	var arr = getResultAdvanced(result);
	var fuserid = userid+'';
	var longitud = fuserid.length;
	
	if ( longitud > 18)
	{
		fuserid = (fuserid.substring(0,14)).concat('...');
	} 
	
	if ( arr[0]==0 ) {		
		
		buffToFlush =
		'<div class="reg regLoginat"> ' +
		' <ul> ' +
		'  <li class="marge_nomusuari"><a href="javascript:les_meves_dades()" title="Les meves dades" id="preloginlink">'+
		' <img src="/img/ico_usuaris.gif" alt="TV3"/>&nbsp;'+fuserid+'</a></li>'+
		'</a></li>'+
		'  <li id="loginlink"><a href="'+URL_CLOSE_SESSION+'" title="Tanca sessió"><strong>Tanca sessió</strong></a></li>' + 
		'  <li><a href="'+URL_WEBMAIL_IN+'" title="Correu" class="noborder nopaddingright">Correu</a></li> ' +
		' </ul> ' +
		'</div> ';
		getElemId('reg').innerHTML = buffToFlush;
	
		/*
		//si estamos logados hacemos que Videos preferits apunte a los vídeos del usuario
		if (getElemId('url_preferits')!=null) {
			getElemId('url_preferits').href = '/ptv3/tv3VideosPreferits.jsp?usuari='+useridint;
		}
		*/

	} else {

		buffToFlush =
		//'<div id="reg">'+
		' <div class="reg">'+
		'  <ul>'+
		'	<li><a id="preloginlink" title="Registra\'t" href="'+URL_CREATE_USER+'">Registra\'t</a></li>'+
		'	<li id="loginlink"><a title="Inicia sessió" onclick="mostraLogin();this.blur();" href="javascript:void(0);"><span>Inicia sessió</span></a></li>'+
		'	<li><a href="'+URL_WEBMAIL_OUT+'" title="Correu" class="noborder nopaddingright">Correu</a></li> ' +
		'  </ul>'+
		' </div>';//+
		//'</div>';
		getElemId('reg').innerHTML = buffToFlush;

		buffToFlush=
		'<form name="frmLogin" id="frmLogin" method="post" action="'+URL_REGISTER+'">'+
		'	<input name="hiAction" type="hidden" value="10"/>'+
		'	<input name="hiRegServiceId" type="hidden" value="TVC_REG"/>'+
		'	<input name="hiServiceId" type="hidden" value="TVC_REG"/>'+
		'	<input name="hiPortal" type="hidden" value="tvc"/>'+
		'	<input name="hiPwdField" type="hidden" value="P"/>'+
		'	<input name="hiUsrField" type="hidden" value="U"/>'+
		'	<input name="hiTarget" id="hiTarget" type="hidden" value="'+URL_LOGIN_USER_TARGET+'"/>'+
		'	<input name="hiErrTarget" id="hiErrTarget" type="hidden" value="'+URL_LOGIN_USER_ERRTARGET+'"/>'+
		'	<input name="hiPersist" type="hidden" value="true"/>'+
		'	<input name="hiPersistSep" type="hidden" value="&"/>'+
		'	<label for="nom">Usuari </label><input name="U" id="nom" value="" type="text"/>'+
		'	<label for="contrassenya">Contrasenya</label><input name="P" id="contrassenya" value="" type="password" onKeyPress="if(checkEnter(event)==true)enviaLogin();"/>'+
		'   <a title="Entra" class="bt_50_2" href="javascript:enviaLogin();">Entra</a> ' +
		'   <a title="Recuperar Contrasenya" href="'+URL_REMEMBER_PWD+'">He oblidat la contrasenya</a> ' +
		'	<a class="tanca" title="Tanca" onclick="amagaLogin();" href="javascript:void(0);">'+
		'		<img alt="tanca" src="/img/ico_tanca.gif"/>'+
		'	</a>'+
		'</form>'+
		'</div><div class="clear">&nbsp;</div>';
		getElemId('login').innerHTML = buffToFlush;

	}
}

// webmail
function webmail() {
	var frm = getForm("myform");
	frm.method = "post";
	frm.action = URL_REGISTERt;
	frm.hiAction.value = "-1";
	frm.hiPortal.value = "tvc";
	frm.hiRegServiceId.value = "TVC_REG";
	frm.hiServiceId.value = "TVC_REG";
	frm.hiTarget.value = "tvc_R13.jsp";
	frm.hiErrTarget.value = "error.jsp";
	frm.submit();
}

// webmail x esborrar
function webmailR() {
	var frm = getForm("myform");
	frm.method = "post";
	frm.action = URL_REGISTERt;
	frm.hiAction.value = "-1";
	frm.hiPortal.value = "tvc";
	frm.hiRegServiceId.value = "TVC_REG";
	frm.hiServiceId.value = "TVC_REG";
	frm.hiTarget.value = "tvc_R17.jsp";
	frm.hiErrTarget.value = "error.jsp";
	frm.submit();
}

// webmail per domini
function webmailD() {
	var frm = getForm("correu");
	frm.method = "post";
	frm.action = URL_REGISTERt;
	frm.hiAction.value = "10";
	frm.hiPortal.value = "tvc";
	frm.hiRegServiceId.value = "TVC_REG";
	frm.hiServiceId.value = "TVC_REG";
	frm.hiTarget.value = "tvc_R11.jsp";
	frm.hiErrTarget.value = "tvc_R10.jsp";
	if (frm.procedencia.options[frm.procedencia.selectedIndex].value=="sputnikmail.com") {	
		frm.hiServiceId.value		= "SPK_REG";
		frm.hiRegServiceId.value	= "SPK_REG";
	}	
	frm.submit();
}

// gestió playlist

function getFormQueryString() {
	var frm = getForm(arguments[0]);
	var bEscape = arguments[1]==null ? false : arguments[1];
	var query = URL_REGISTERt + '?';
	for (i=0; i < frm.elements.length; i++) {
		text = frm.elements[i].value;
		if (bEscape) {
			text = escape(text);
		}
		query = query + frm.elements[i].name + '=' + text + '&';
	}
	query = query.substring(0,query.length-1);
	return query;
}

function getFormQueryString2() {
	var frm = getForm(arguments[0]);
	var bEscape = arguments[1]==null ? false : arguments[1];
	var query = URL_HOME + '/su/Register?';
	for (i=0; i < frm.elements.length; i++) {
		text = frm.elements[i].value;
		if (bEscape) {
			text = escape(text);
		}
		query = query + frm.elements[i].name + '=' + text + '&';
	}
	query = query.substring(0,query.length-1);
	return query;
}

//Funcio que envia a l'usuari l'avís que no està logat
function noLoginat() {
	alert("Per accedir als videos preferits ha d'haver iniciat una sessió d'usuari.");
}

//Funció que mira l'id de l'usuari logat per montar el link de la playlist
function genericFunctionCheckUserPlaylist(id, result) {
	var idUser;
	if ( getResultCode(result)==0 ) {	
		idUser = result.documentElement.getElementsByTagName("USERIDINT")[0].firstChild.data;
		document.getElementById("linkPreferits").href = "tv3VideosPreferits.jsp?usuari=" + idUser;
	} else {
		idUser = -1;
		document.getElementById("linkPreferits").href = "javascript:noLoginat()";
	}
}

//Funció que controla el resultat de la operació Envia a un amic.
function genericFunctionSendToFriend(id, result) {
	var miss = null;
	if ( getResultCode(result)==0 ) {		
		
		miss =
		'<div class="envia_video_cap">' +
		 '<strong>Envia aquest v&iacute;deo</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">El vídeo s\'ha enviat correctament. Moltes gràcies.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg\',\'nodisp\');swapCss(\'enviaCapa\',\'envia_video_hidden\');">Tanca</a></div>'+
		'</div>';
		getElemId('outmsg').innerHTML = miss;
		swapCss('outmsg','envia_video_msg');

	} else {
    
		miss =
		'<div class="envia_video_cap">' +
		 '<strong>Envia aquest v&iacute;deo</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">Hi ha hagut un error i no s’ha pogut enviar el teu missatge. Sisplau, torna a intentar-ho més tard.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg\',\'nodisp\');swapCss(\'enviaCapa\',\'envia_video_hidden\');">Tanca</a></div>'+
		'</div>';
		getElemId('outmsg').innerHTML = miss;
		swapCss('outmsg','envia_video_msg');
	}
}

//Funció que controla el resultat de la operació Afegir video a la playlist
function genericFunctionAddToPlaylistPlayerPetit(id, result) {

	var nomCapa = 'outmsg' + idCapa;
	var miss = null;
	if ( getResultCode(result)==0 ) {		

		miss =
		'<div class="envia_video_cap">' +
		 '<strong>A preferits</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">El vídeo s\'ha afegit correctament a la llista de preferits. Moltes gràcies.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg'+idCapa+'\',\'nodisp\');">Tanca</a><br/></div>'+
			'<div class="anarpreferits"><a title="en directe" href="/ptv3/tv3VideosPreferits.jsp?usuari='+useridint+'">Anar als meus preferits</a></div>'+
		'</div>';
		getElemId(nomCapa).innerHTML = miss;
		swapCss(nomCapa,'afegir_video_petit_msg'); 
		swapCss('afegirCapa'+idCapa,'afegir_video_petit_hidden');
			
	} else {
    
		miss =
		'<div class="envia_video_cap">' +
		 '<strong>Envia aquest v&iacute;deo</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">S\'ha produït un error. Sisplau, torna a intentar-ho més tard.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg'+idCapa+'\',\'nodisp\');">Tanca</a><br/></div>'+
		'</div>';
		getElemId(nomCapa).innerHTML = miss;
		swapCss(nomCapa,'afegir_video_petit_msg'); 
		swapCss('afegirCapa'+idCapa,'afegir_video_petit_hidden');
	}
}


//Funció que controla el resultat de la operació Afegir video a la playlist

function genericFunctionAddToPlaylist(id, result) {
var miss = null;
	if ( getResultCode(result)==0 ) {		
		
		miss =
		'<div class="envia_video_cap">' +
		 '<strong>A preferits</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">El vídeo s\'ha afegit correctament a la llista de preferits. Moltes gràcies.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg\',\'nodisp\');swapCss(\'enviaCapa\',\'envia_video_hidden\');">Tanca</a></div>'+
		'</div>';
		getElemId('outmsg').innerHTML = miss;
		swapCss('outmsg','envia_video_msg');
			
	} else {
    
		miss =
		'<div class="envia_video_cap">' +
		 '<strong>Envia aquest v&iacute;deo</strong> ' +
    '</div>'+
		'<div class="outmsg">'+
			'<div class="message">Hi ha hagut un error i no s’ha pogut afegir el vídeo a la llista de preferits. Sisplau, torna a intentar-ho més tard.</div>'+
			'<div class="torna"><a href="javascript:void(0);" class="bt_50_2" onclick="swapCss(\'outmsg\',\'nodisp\');swapCss(\'enviaCapa\',\'envia_video_hidden\');">Tanca</a></div>'+
		'</div>';
		getElemId('outmsg').innerHTML = miss;
		swapCss('outmsg','envia_video_msg');
	}
}

//Funció que controla el resultat de la operació Esborrar video de la playlist
function genericFunctionRemoveFromPlaylist(id, result) {
	var res = getResultAdvanced(result);
	if (res[0]==0) {
		window.location.reload();
		alert("Video eliminat correctament.");
		
	} else {
		alert("S'ha produït un error. Torna a intentar-ho més tard.");
	}

}

//Funció que afegeix el video a la playlist
function addVideoToPlayList(idEntry, idLayer) {
	idCapa = idLayer;
	loadXMLDoc(URL_GATEWAY+"?a=10&IDVIDEO="+idEntry, false, "AddToPlaylist");
}

function addVideoToPlayListPlayerPetit(idEntry, idLayer) {
	idCapa = idLayer;
	loadXMLDoc(URL_GATEWAY+"?a=10&IDVIDEO="+idEntry, false, "AddToPlaylistPlayerPetit");
}
 
//Funció que esborra un video de la playlist
function removeVideoFromPlayList(idEntry) {
	loadXMLDoc(URL_GATEWAY+"?a=15&IDVIDEO="+idEntry, false, "RemoveFromPlaylist");
}

function submitEnviaAmic() {
	/*
	var frm = getForm("envia_video");
	frm.hiTarget.value = "../xml_result.jsp";
	frm.hiErrTarget.value = "../xml_result.jsp";
	loadXMLDoc(getFormQueryString2(frm.name,true), false, "SendToFriend");
	*/
	var frm = getForm("envia_video");
	if(!isRequiredFieldEmpty(frm.to,'Adreça-e destinatari') && isValidMail(frm.to,'Adreça-e destinatari') && !isRequiredFieldEmpty(frm.from,'Adreça-e remitent') && isValidMail(frm.from,'Adreça-e remitent')){	
		frm.hiTarget.value = "../xml_result.jsp";
		frm.hiErrTarget.value = "../xml_result.jsp";
		loadXMLDoc(getFormQueryString2(frm.name,true), false, "SendToFriend");
	}
	
}

// accés home serveis
function les_meves_dades() {
	var frm = getForm("myform");
	if (frm!=null) {
		frm.method = "post";
		frm.action = URL_REGISTERt;
		frm.hiAction.value = "-1";
		frm.hiPortal.value = "tvc";
		frm.hiServiceId.value = "TVC_REG";
		frm.hiRegServiceId.value = "TVC_REG";
		frm.hiTarget.value = "tvc_P01.jsp";
		frm.hiErrTarget.value = "error.jsp";
		frm.submit();
	} else {
		alert("Si us plau, espera a que acabi de carregar la pàgina.");
		window.location.reload();
	}
}

// suscripció butlletí
function subscribe() {
	var frm = getForm("registre");
	var bOk = false;
	var FIELD_EMAIL =frm.hiFieldEmail.value;
	eval("bOk = checkClause(frm) && !isRequiredFieldEmpty(frm."+FIELD_EMAIL+",'Email') && isValidMail(frm."+FIELD_EMAIL+",'Email');");
	if ( bOk ) {
		frm.method = "post";
		frm.action = URL_REGISTERt;
		frm.submit();
	}
}

// baixa suscripció butlletí
function unsubscribe() {
	var frm = getForm("registre");
	frm.method = "post";
	frm.action = URL_REGISTERt;
	var FIELD_EMAIL =frm.hiFieldEmail.value;
	eval("frm."+FIELD_EMAIL+".value = '';");
	frm.submit();
}

//Funció que loga un usuari desde la capa de videos preferits
function enviaLoginPreferit() {
	var frmIn		= getForm("afegir_video");
	var frmOut		= getForm("frmLogin");
	frmOut.U.value	= frmIn.nom_usuari.value;
	frmOut.P.value	= frmIn.clau_afegir.value;
	frmOut.submit();
}

/******************* Inici noves funcions per optimitzar el proces de LOGIN ***********************/
// Capturador crida síncrona remota. Es verifica si l'usuari ja està logat.
function genericFunctionCheckLog2(id, result) {

	// url webmail usuari logat
	var URL_WEBMAIL_IN				= 'javascript:webmail()';
	// url webmail usuari logat
	//var URL_WEBMAIL_OUT				= URL_SU + '/tvc_P48.jsp';
	var URL_WEBMAIL_OUT				= URL_WEBMAIL_IN;
	
	// url creació usuari
	var URL_CREATE_USER				= URL_SU + '/tvc_P10.jsp';
	
	// url recordatori 
	var URL_REMEMBER_PWD			= URL_SU + '/tvc_P20A.jsp';

	// url target
	var URL_ALT_TARGET				= URL_THIS;
	if ( isRedirectToHome3acUrl(URL_THIS) ) {
		URL_ALT_TARGET				= URL_HOME_3AC;
	} else if ( isSecureDomain() || isRegisterUrl(URL_THIS) || isSearcherUrl(URL_THIS) ) {
		URL_ALT_TARGET				= URL_HOME;
	}
	
	// gatew
	var URL_LOGIN_USER_TARGET		= URL_GATEWAY + '?url=' + escape(URL_ALT_TARGET);
	
	// url tanca sessió usuari
	var URL_CLOSE_SESSION			= URL_REGISTER + '?hiPersist=true&amp;hiTarget=' + URL_LOGIN_USER_TARGET + '&amp;hiAction=0';

	var URL_LOGIN_USER_ERRTARGET	= 'tvc_R10.jsp?';

	var buffToFlush = null;
	var arr = getResultAdvanced(result);
	var fuserid = userid+'';
	var longitud = fuserid.length;
	
	if ( longitud > 18)
	{
		fuserid = (fuserid.substring(0,14)).concat('...');
	} 
	
	if ( arr[0]==0 ) {		
		
		buffToFlush =
		'<div class="reg regLoginat"> ' +
		' <ul> ' +
		'  <li class="marge_nomusuari"><a href="javascript:les_meves_dades()" title="Les meves dades" id="preloginlink">'+
		' <img src="/img/ico_usuaris.gif" alt="TV3"/>&nbsp;'+fuserid+'</a></li>'+
		'</a></li>'+
		'  <li id="loginlink"><a href="'+URL_CLOSE_SESSION+'" title="Tanca sessió"><strong>Tanca sessió</strong></a></li>' + 
		'  <li><a href="'+URL_WEBMAIL_IN+'" title="Correu" class="noborder nopaddingright">Correu</a></li> ' +
		' </ul> ' +
		'</div> ';
		getElemId('reg').innerHTML = buffToFlush;
	
		/*
		//si estamos logados hacemos que Videos preferits apunte a los vídeos del usuario
		if (getElemId('url_preferits')!=null) {
			getElemId('url_preferits').href = '/ptv3/tv3VideosPreferits.jsp?usuari='+useridint;
		}
		*/

	} else {

		buffToFlush =
		//'<div id="reg">'+
		' <div class="reg">'+
		'  <ul>'+
		'	<li><a id="preloginlink" title="Registra\'t" href="'+URL_CREATE_USER+'">Registra\'t</a></li>'+
		'	<li id="loginlink"><a title="Inicia sessió" onclick="mostraLogin();this.blur();" href="javascript:void(0);"><span>Inicia sessió</span></a></li>'+
		'	<li><a href="'+URL_WEBMAIL_OUT+'" title="Correu" class="noborder nopaddingright">Correu</a></li> ' +
		'  </ul>'+
		' </div>';//+
		//'</div>';
		getElemId('reg').innerHTML = buffToFlush;

		buffToFlush=
		'<form name="frmLogin" id="frmLogin" method="post" action="'+URL_REGISTER+'">'+
		'	<input name="hiAction" type="hidden" value="10"/>'+
		'	<input name="hiRegServiceId" type="hidden" value="TVC_REG"/>'+
		'	<input name="hiServiceId" type="hidden" value="TVC_REG"/>'+
		'	<input name="hiPortal" type="hidden" value="tvc"/>'+
		'	<input name="hiPwdField" type="hidden" value="P"/>'+
		'	<input name="hiUsrField" type="hidden" value="U"/>'+
		'	<input name="hiTarget" id="hiTarget" type="hidden" value="'+URL_LOGIN_USER_TARGET+'"/>'+
		'	<input name="hiErrTarget" id="hiErrTarget" type="hidden" value="'+URL_LOGIN_USER_ERRTARGET+'"/>'+
		'	<input name="hiPersist" type="hidden" value="true"/>'+
		'	<input name="hiPersistSep" type="hidden" value="&"/>'+
		'	<label for="nom">Usuari </label><input name="U" id="nom" value="" type="text"/>'+
		'	<label for="contrassenya">Contrasenya</label><input name="P" id="contrassenya" value="" type="password" onKeyPress="if(checkEnter(event)==true)enviaLogin();"/>'+
		'   <a title="Entra" class="bt_50_2" href="javascript:enviaLogin();">Entra</a> ' +
		'   <a title="Recuperar Contrasenya" href="'+URL_REMEMBER_PWD+'">He oblidat la contrasenya</a> ' +
		'	<a class="tanca" title="Tanca" onclick="amagaLogin();" href="javascript:void(0);">'+
		'		<img alt="tanca" src="/img/ico_tanca.gif"/>'+
		'	</a>'+
		'</form>'+
		'</div><div class="clear">&nbsp;</div>';
		getElemId('login').innerHTML = buffToFlush;

	}
}

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.tv3.cat/ptv3/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,"CheckLog2");
        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 {
     genericFunctionCheckLog2(null, null);
    }
  } else {
    genericFunctionCheckLog2(null, getXmlSerialized(getCookie("__USERDATA__")));
  } 
}
/****************** Fi noves funcions per optimitzar el proces de LOGIN ****************************/ 