//Variables globals
var form_div_id  			 = '';
var form_content 			 = '';
var contingut	 			 = '';
var global_clau_isms 		 = '';
var global_sessio 		 	 = '';
var global_last_div_grup 	 = 'grup_1';
var global_last_div_contacte = 'cont_1';
var global_select_grup		 = '';
var global_select_contacte	 = '';

//###################################################################################################
//#																									#
//#			Codi javascript de les funcions aplicades al login										#
//#																									#
//#	Last rev.:09/12/2007 			by. Marc														#
//###################################################################################################

function showHtmlAjaxResponse(resp) {
	var txt        = resp.responseText
	var array_resp = txt.split(";:;");
	var result     = array_resp[0];
	var content    = array_resp[1];

	// si hi ha error el mostrem
	if (result == 0) {
		document.getElementById(form_div_id).innerHTML          = form_content;
		document.getElementById(form_div_id+'_error').innerHTML = content;

	// si no hi ha error redireccionem cap a dins
	} else {
		window.location = content; 
	}
}

// login
function login_form(form_id, div_id, user) {

 	var formulari = window.document.forms[form_id];

	// guardem l'id i el contingut del form
	form_div_id = div_id;
	form_content = document.getElementById(form_div_id).innerHTML;
	
 	var url = 'cgi-bin/C/' + user + '.cgi?';

	if (user == 'Usuari') {
		var login = '';
		if (formulari.login) { login = formulari.login.value;	}
	
		var password = '';
		if (formulari.password) { password = formulari.password.value;	}
		var params = 'a=login' + '&login=' + login + '&password=' + password;

	}
	showLoadingImg(div_id);
	
	var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: showHtmlAjaxResponse }
	);
	
}

function showContactResponse(resp) {

	var resp_txt = resp.responseText;
	var resp_array = resp_txt.split(';:;');

	resp_txt = resp_array[0];
	var resp_value = resp_array[1];

	if (resp_value == 1) {
		window.top.location = resp_txt;

	} else {
		document.getElementById(form_div_id).innerHTML = form_content;
		document.getElementById('error_div').className = 'error';
		document.getElementById('error_div').innerHTML = resp_txt + '<br/><br/>';
	}
}

function sendContactForm(div_id) {
 	var formulari      = window.document.forms['contact'];
	var nom_empresa    = formulari.nom_empresa.value;
	var nom_contacte   = formulari.nom_contacte.value;
	var email_contacte = formulari.email_contacte.value;
	var servei         = formulari.servei.value;
	var consulta       = formulari.consulta.value;
	var idioma         = formulari.idioma.value;
	
	if (nom_empresa == '' || nom_contacte == '' || email_contacte == '' || servei == '' || consulta == '') {
		if (formulari.idioma.value == 'ca') {
			alert('Atenció!\nPer enviar el formulari és necessari omplir tots els camps.');
		} else {
			alert('Atención!\nPara enviar el formulario es necesario rellenar todos los campos.');
		}
	} else {
		form_div_id  = div_id;
		form_content = document.getElementById(form_div_id).innerHTML;
		showLoadingImg(form_div_id);
	 	var url = formulari.action;
		var params = 'nom_empresa=' + nom_empresa + '&nom_contacte=' + nom_contacte + '&email_contacte=' + email_contacte + '&servei=' + servei + '&consulta=' + consulta + '&idioma=' + idioma;
		var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: showContactResponse }
		);
	}
}

function showLoadingImg(div_id) {
	document.getElementById(div_id).innerHTML = '<div style="height:50px;"><div style="margin-top:20px;padding-left:60px;"><img src="/static/img/loading.gif" width="32" height="32" alt="loading" title="loading"/></div></div>';
}

function showLoadingAJAX(div_id,margin_left,margin_top){
	document.getElementById(div_id).innerHTML = '<div style="height:50px;width:50px;margin-bottom:20px;"><div style="margin-top:'+margin_top+'px;padding-left:'+margin_left+'px;text-align:center;"><img src="/static/img/loading.gif" width="32" height="32" alt="loading" title="loading"/><div style="width:100%;text-align:center;color:#868686;font-size:10px;margin-top:4px;"> loading...</div></div></div>';
}

function confirmAlert(cMsg, dURL){
	if(confirm(cMsg)){
		document.location.href=dURL;
	}
}

// change the css class style of a div
function changeDivStyle(id,new_class_name) {
	document.getElementById(id).className = new_class_name;
}



//Compta els caràcters restants.
function count(e){
	var num_car = document.forms["f_iSMS"].iSMS_text.value.length;
	var offset_carry = 0;
	var eventkeyboard = e || window.event;
	
	var car_disp = 160 - num_car;	
	
	if (num_car <= (160))	{
		contingut = document.forms["f_iSMS"].iSMS_text.value;
		document.getElementById('caracters').innerHTML = 'Queden '+car_disp + ' caràcters.'; 	
	}
	else{
		document.forms["f_iSMS"].iSMS_text.value = contingut;
		document.getElementById('caracters').innerHTML = 'Queden 0 caràcters.'	  
	} 		
}

//Borrar una plantilla.
function borrarPlantilla(miss,sessio,clau){
	if (confirm(miss)) {
		window.location = 'Usuari.cgi?a=borrarPlantilla&s='+sessio+'&clau_plantilla='+clau;
	}	
}

//resposta AJAX loadMetodeTelf() cas directe
function respostaloadMetodeTelf(resp){
	document.getElementById('list_mobils').innerHTML = resp.responseText; 
}
//resposta AJAX loadMetodeTelf() cas fitxer
function respostaloadMetodeTelfFitxer(resp){
	window.iframe_loadmobils.document.getElementById('list_mobils').innerHTML = resp.responseText;
}

//Es mostra el mètode de càrrega de mòbils escollit per l'usuari.
function loadMetodeTelf(metode,sessio_id,clau_isms){
	var url = 'Usuari.cgi?';
	var params = 'a=refreshListMobils&s=' + sessio_id +'&clau_isms='+clau_isms+'&offset=0';
	
	if(metode == 'fitxer'){
		document.getElementById('load_telf_directe').className = 'loadTelfInactive';
		document.getElementById('load_telf_fitxer').className = 'loadTelfActive';
	
		//if(window.iframe_loadmobils.document.getElementById('list_mobils')) 
		window.iframe_loadmobils.document.getElementById('list_mobils').innerHTML = '<div style="height:100px;"><div style="margin-top:120px;padding-left:325px;"><img src="/static/img/loading.gif" width="32" height="32" alt="loading" title="loading"/></div></div>';
		
		var ajax = new Ajax.Request(
				url, 
				{method: 'post', parameters: params, onSuccess: respostaloadMetodeTelfFitxer }
		);		
	}else{
		document.getElementById('load_telf_fitxer').className = 'loadTelfInactive';
		document.getElementById('load_telf_directe').className = 'loadTelfActive';
		
		showLoadingAJAX('list_mobils','325','120');
				
		var ajax = new Ajax.Request(
				url, 
				{method: 'post', parameters: params, onSuccess: respostaloadMetodeTelf }
		);		
	}
}

//resposta AJAX funció canviPagina
function respostaCanviPagina(resp){
	document.getElementById(form_div_id).innerHTML = resp.responseText;
}

//Canvi de pàgina de mobils
function canviPagina(div_id,sessio_id,clau_isms,offset){
	var url = 'Isms.cgi?';
	var params = 'a=refreshListMobils&s=' + sessio_id +'&clau_isms='+clau_isms+'&offset='+offset;
		
	form_div_id = div_id;
	showLoadingAJAX(div_id,'325','120');
	
	var ajax = new Ajax.Request(
				url, 
				{method: 'post', parameters: params, onSuccess: respostaCanviPagina }
		);			
}

//Resposta AJAX afegirMobil()
function respostaAfegirMobil(resp){
	document.getElementById(form_div_id).innerHTML  = resp.responseText; 
	refreshCostIsms(global_clau_isms,global_sessio);
}

// S'afegeix un mobil via AJAX.
function afegirMobil(form_id, div_id){
	var formulari = window.document.forms[form_id];

	// guardem l'id i el contingut del form
	form_div_id = div_id;
	form_content = document.getElementById(form_div_id).innerHTML;
	
 	var url = 'Isms.cgi?';

	var mobil = '';
	if (formulari.mobil) { mobil = formulari.mobil.value;	}

	var s = '';
	if (formulari.s) { s = formulari.s.value;	}
	
	var a = '';
	if (formulari.a) { a = formulari.a.value;	}
	
	var clau_isms = '';
	if (formulari.clau_isms) { clau_isms = formulari.clau_isms.value;	}
	
	var params = 'a='+a+ '&s=' + s + '&mobil=' + mobil+'&clau_isms='+clau_isms+'&offset=0';

		showLoadingAJAX(div_id,'325','120');
		
	var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: respostaAfegirMobil }
	);	
	

}

//Esborra un mòbil d'un iSMS per enviar.
function borrarMobilIsms(div_id,sessio_id,clau_isms,mobil,offset){
	// guardem l'id i el contingut del form
	form_div_id = div_id;
	
 	var url = 'Isms.cgi?';
	var params = 'a=borrarMobilIsms&s=' + sessio_id +'&clau_isms='+clau_isms+ '&mobil=' + mobil+'&offset='+offset;

	showLoadingAJAX(div_id,'325','120');
		
	var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: respostaAfegirMobil }
	);	
}


// Selecciona una plantilla i l'incorpora al text del iSMS
function seleccionarPlantilla(form_id,sessio_id,clau_isms){
	var plantilla 	   = document.forms[form_id].selectPlantilles.value;
	var cars_disp = 160 - plantilla.length;
	
	document.forms[form_id].iSMS_text.value = plantilla;
	document.getElementById('caracters').innerHTML = 'Queden '+ cars_disp +' caràcters.'
	
	var formulari  = window.document.forms['f_iSMS'];
	var url 	   = 'Isms.cgi?';
	var params 	   = 'a=saveIsmsMsg&s=' + sessio_id+'&clau_isms='+clau_isms+'&text='+formulari.iSMS_text.value;
	
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params }
	);
		
}

// S'insertenla resposta a la pantalla.
function respostaAJAX(resp){
	document.getElementById(form_div_id).innerHTML  = resp.responseText; 
}

// Mostra el llistat de contactes d'un grup.
function listContactes(clau_grup,div_grup,sessio_id){
	//Es guarda el div que s'ha clicat.
	
	form_div_id 	       = 'box_contactes';
	global_select_grup 	   = clau_grup;
	global_select_contacte = '';
	
	changeDivStyle(global_last_div_grup,'book_address_grup_unselected');
	changeDivStyle(div_grup,'book_address_grup_selected');  
	
	global_last_div_grup 	 = div_grup;
	global_last_div_contacte = '';
	document.getElementById('box_contacte').innerHTML  = ''; 
	
	var url = 'Usuari.cgi?';
	var params = 'a=listContactes&s=' + sessio_id +'&clau_grup='+clau_grup;

	showLoadingAJAX(form_div_id+'_loading','80','130');
		
	var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);
}

// Mostra els detalls d'un contacte.
function showContacteDetails(clau_contacte, div_cont,sessio_id){
	form_div_id		   	   = 'box_contacte';
	global_select_contacte = clau_contacte;
	
	if(global_last_div_contacte != '') changeDivStyle(global_last_div_contacte,'book_address_contactes_unselected');
	changeDivStyle(div_cont,'book_address_contactes_selected');  
	
	global_last_div_contacte = div_cont;
	
	var url = 'Usuari.cgi?';
	var params = 'a=showContacteDetails&s=' + sessio_id +'&clau_contacte='+clau_contacte;

	showLoadingAJAX(form_div_id,'140','130');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);	

}


// Canvi dels estils dels divs dels grups del mouse
function changeDivStyleGrups(id,new_class_name){
	
	if(id != global_last_div_grup){
		document.getElementById(id).className = new_class_name;
	}
}

// Canvi dels estils dels divs dels contactes del mouse
function changeDivStyleContactes(id,new_class_name){
	
	if(id != global_last_div_contacte){
		document.getElementById(id).className = new_class_name;
	}
}


// Es mostra el formulari d'afegir grup.
function formAddGrup(sessio_id){
	form_div_id = 'box_contacte';
	
	var url = 'Grup.cgi?';
	var params = 'a=formAddGrup&s=' + sessio_id;

	showLoadingAJAX(form_div_id,'140','130');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);	
}

// Borrar grup
function borrarGrup(msg,sessio_id){

	var url = 'Grup.cgi?a=borrarGrup&s='+sessio_id+'&clau_grup='+global_select_grup;

	if(global_select_grup != 'tots' && global_select_grup != '' ) 
		confirmAlert(msg,url);
}

// Es mostra el formulari d'afegir contacte
function formAddContacte(sessio_id,clau_grup){
	form_div_id = 'box_contacte';
	
	var url = 'Contacte.cgi?';
	var params = 'a=formAddContacte&s=' + sessio_id+'&clau_grup='+clau_grup;
	
	showLoadingAJAX(form_div_id,'140','130');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);	

}

// Es mostra el formulari d'importar un fitxer
function formImportContacte(sessio_id,clau_grup){
	form_div_id = 'box_contacte';
	
	var url = 'Grup.cgi?';
	var params = 'a=formImport&s=' + sessio_id+'&clau_grup='+clau_grup;

	showLoadingAJAX(form_div_id,'140','130');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);	
}

// Es mostra el formulari d'afegir grup.
function formEditContacte(sessio_id){
	form_div_id = 'box_contacte';
	
	if(global_select_contacte != '') {
		var url = 'Contacte.cgi?';
		var params = 'a=formEditContacte&s=' +sessio_id+'&clau_contacte='+global_select_contacte;

		showLoadingAJAX(form_div_id,'140','130');
		
		var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: respostaAJAX }
		);	
	}
}

// Borrar grup
function borrarContacte(msg,sessio_id){

	var url = 'Contacte.cgi?a=borrarContacte&s='+sessio_id+'&clau_contacte='+global_select_contacte;

	if(global_select_contacte != '') 
		confirmAlert(msg,url);
}

// Es mostra el formulari d'des/activació d'alerta d'aniversari per el grup
function formAlertAniversari(sessio_id,clau_grup){
	form_div_id = 'box_contacte';
	
	var url = 'Grup.cgi?';
	var params = 'a=formAlertaAniversari&s=' + sessio_id+'&clau_grup='+clau_grup;

	showLoadingAJAX(form_div_id,'140','130');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);
}

// Canvia l'estat de l'alerta d'aniversari.
function changeAlertaAniversari(sessio_id,clau_grup){
	var url = 'Grup.cgi?';
	var params = 'a=changeAlertaAniversari&s=' + sessio_id+'&clau_grup='+clau_grup+'&mode_alerta_aniversari=';
	
	if(document.checkboxForm.chk_aniversari.checked){
		params += 'activat';
	}else{
		params += 'desactivat';
	}
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params }
	);
}

// Es mostra el formulari d'enviament de iSMS directe.
function formNouIsmsDirecte(sessio_id){
	form_div_id = 'nou_isms_workspace';
	
	var url = 'Isms.cgi?';
	var params = 'a=formNouIsmsDirecte&s=' + sessio_id;

	showLoadingAJAX(form_div_id,'380','10');
		
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, onSuccess: respostaAJAX }
	);
}

//Guarda el cos del isms a la BD
function saveIsmsMsg(sessio_id,clau_isms){
	var formulari  = window.document.forms['f_iSMS'];
	var url 	   = 'Isms.cgi?';
	var params 	   = 'a=saveIsmsMsg&s=' + sessio_id+'&clau_isms='+clau_isms+'&text='+formulari.iSMS_text.value;
	
	var ajax = new Ajax.Request(
		url, 
		{method: 'post', parameters: params, encoding: 'UTF-8'}
	);
}

//Agafa tots els móbils d'un grup
function getMobilsGrup(sessio_id,clau_isms){
	form_div_id = 'list_mobils';
	var formulari  = window.document.forms['f_select_grup'];	
	
	if(formulari.select_grups.value != ''){
		var url = 'Isms.cgi?';
		var params = 'a=getMobilsGrup&s=' + sessio_id+'&clau_isms='+clau_isms+'&clau_grup='+formulari.select_grups.value;
	
		showLoadingAJAX(form_div_id,'330','120');
		
		var ajax = new Ajax.Request(
			url, 
			{method: 'post', parameters: params, onSuccess: respostaAJAX }
		);
	}
	
}

//Afegeix la clau [nom] al cos del iSMS per tal
//de personalitzar els SMS.
function afegirNom(nom_formulari,sessio_id,clau_isms){
	var formulari  = window.document.forms[nom_formulari];
	var text 	   = formulari.iSMS_text.value;
	
	if(text.length < 155){
		formulari.iSMS_text.value = text+'[NOM]';
	}
	
	saveIsmsMsg(sessio_id,clau_isms);
	
}