var RomanceManager = {
	changeProfileTime: 1000,
	
	changeProfile: function (index, page, type, save) {
		var callback = {
			success: function (o) {
				var data = Utilities.jsonParse(o.responseText);
				
				// Elimina azione overlay precedente
				if(data.params.save == "yes") {
					var el = YAHOO.util.Dom.get('currentLink');
					el.removeChild(el.lastChild);
				}
				
				RomanceManager.setCurrentUser(data.params);
			},
			update: function (o) {},
			failure: function (o) {}
		};
		
		// Chiamata Ajax
		var params = [ index, page, type, save ];
		var scriptUrl = 'http://' + conf.baseUrl + '/gui_manager/changeKissProfile/' + params.join('/');
		var conn = YAHOO.util.Connect.asyncRequest("POST", scriptUrl, callback);
	},
	
	setCurrentUser: function (data) {
		RomanceManager.setCurrentUserThumb(data.currentProfile);
		RomanceManager.setCurrentUserStatus(data.currentProfile);
		RomanceManager.setCurrentUserInfo(data.currentProfile);
		RomanceManager.setCurrentUserKisses(data.currentProfile);
		RomanceManager.setCurrentUserLink(data.currentProfile);
		RomanceManager.setProfiles(data);
		
		new YAHOO.util.Anim('profileBox', { opacity: { from: 0, to: 1 } }, 1).animate();
		
		RomanceManager.updateHistory(data);
	},
	
	setCurrentUserThumb: function (currentProfile) {
		// Thumb utente corrente
		YAHOO.util.Dom.get('currentLink').href = 'http://' + currentProfile.nick + '.' + conf.domain;
		YAHOO.util.Dom.get('currentThumb').src = currentProfile.crypted_profile_content['593'];		
	},
	
	setCurrentUserLink: function (currentProfile) {
		// Thumb utente corrente
		YAHOO.util.Dom.get('currentMsg').href = 'javascript:OverlayManager.show("send", "' + currentProfile.profile_id + '","' + currentProfile.nick + '", "message.sendmessage", "' + currentProfile.gender + '", "' + currentProfile.crypted_profile_content['593'] + '", "romance");';
		YAHOO.util.Dom.get('currentThumb').src = currentProfile.crypted_profile_content['593'];	
		// YAHOO.util.Dom.get('messageArea').value = 'ti piace? mandagli un messaggio!';
	},
	
	setCurrentUserStatus: function (currentProfile) {
		// status utente corrente
		html = '<div id="currentStatus" class="status">' +
				'<p>' +
					'<span class="nickname"><a href="' + Utilities.getUserUrl(currentProfile.nick) + '">' + currentProfile.nick + '</a></span>' +
				currentProfile.description +
				'</p></div>';
		
		YAHOO.util.Dom.get('currentStatus').innerHTML = html;
	},
	
	setCurrentUserInfo: function (currentProfile) {
		// data nascita utente corrente
		YAHOO.util.Dom.get('currentBirthdate').innerHTML = currentProfile.birthdate;
		
		// località utente corrente
		if(currentProfile.location != null){
			YAHOO.util.Dom.get('currentLocation').style.display = 'inline';
			YAHOO.util.Dom.get('currentLocation').innerHTML = '<span class="silver">Sono di </span>'  + currentProfile.location + ', ';
		}
		else{
			YAHOO.util.Dom.get('currentLocation').innerHTML = '';
			YAHOO.util.Dom.get('currentLocation').style.display = 'none';
		}
		
		// feeling
		if(currentProfile.feeling != null){
			YAHOO.util.Dom.get('currentFeeling').style.display = 'block';
			YAHOO.util.Dom.get('currentFeeling').innerHTML = '<span class="silver">sono </span><span>' + currentProfile.feeling + '</span>';
		}
		else{
			YAHOO.util.Dom.get('currentFeeling').innerHTML = '';
			YAHOO.util.Dom.get('currentFeeling').style.display = 'none';
		}
		
		// t_gender corrente
		if(currentProfile.t_gender.toLowerCase() == 'f'){
			YAHOO.util.Dom.get('currentTGender').innerHTML = '<span class="silver">mi piacciono </span><span>le donne</span>';
		}
		else{
			YAHOO.util.Dom.get('currentTGender').innerHTML = '<span class="silver">mi piacciono </span><span>gli uomini</span>';
		}
		
		// looking for
		if(currentProfile.looking_for != null){
			YAHOO.util.Dom.get('currentLookingFor').style.display = 'block';
			YAHOO.util.Dom.get('currentLookingFor').innerHTML = '<span class="silver">sono in cerca di </span><span>' + currentProfile.looking_for + '</span>';
		}
		else{
			YAHOO.util.Dom.get('currentLookingFor').innerHTML = '';
			YAHOO.util.Dom.get('currentLookingFor').style.display = 'none';
		}
		
		// no want
		if(currentProfile.nowant != null){
			YAHOO.util.Dom.get('currentNoWant').style.display = 'block';
			YAHOO.util.Dom.get('currentNoWant').innerHTML = '<span class="silver">non voglio </span><span>' + currentProfile.nowant + '</span>';
		}
		else{
			YAHOO.util.Dom.get('currentNoWant').innerHTML = '';
			YAHOO.util.Dom.get('currentNoWant').style.display = 'none';
		}
		
		// maybe
		if(currentProfile.maybe != null){
			YAHOO.util.Dom.get('currentMaybe').style.display = 'block';
			YAHOO.util.Dom.get('currentMaybe').innerHTML = '<span class="silver">ma non escludo </span><span>' + currentProfile.maybe + '</span>';
		}
		else{
			YAHOO.util.Dom.get('currentMaybe').innerHTML = '';
			YAHOO.util.Dom.get('currentMaybe').style.display = 'none';
		}
	},
	
	setCurrentUserKisses: function (currentProfile) {
		// setting kiss utente corrente
		YAHOO.util.Dom.get('currentKiss').href = "javascript:RomanceManager.sendKiss('" + currentProfile.profile_id + "', 'message.sendkiss')";		
	},
	
	setCurrentUserMessageForm: function (currentProfile) {
		// setting form messaggio utente corrente
		YAHOO.util.Dom.get('currentProfileId').value = currentProfile.profile_id;
		YAHOO.util.Dom.get('currentProfileNick').value = currentProfile.nick;
		
		// pulizia textarea messaggio
		YAHOO.util.Dom.get('messageArea').value = 'ti piace? Mandagli un messaggio!';		
	},
	
	setProfiles: function (data, nextProfile) {
		// aggiornamento indici dei profili
		YAHOO.util.Dom.get('currentPage').value = data.currentPage;
		YAHOO.util.Dom.get('currentIndex').value = data.nextIndex;
		
		// setting prossimo profilo
		//document.getElementById('nextThumb').href = 'http://' + data['params']['nextProfile']['nick'] + '.' + conf.domain;
		YAHOO.util.Dom.get('nextThumb').href = "javascript:RomanceManager.changeProfile(YAHOO.util.Dom.get('currentIndex').value, YAHOO.util.Dom.get('currentPage').value, '', 'no');"
		YAHOO.util.Dom.get('nextThumb').innerHTML = '<img widht="56" height="56" src="' + data.nextProfile.crypted_profile_content['497'] + '">';
	},
	
	updateHistory: function (data) {
		// aggiornamento storico
		if(String(data.save) == "yes") {
			var el = YAHOO.util.Dom.get('romance_list');
			
			if(YAHOO.util.Dom.get('romance_people_7')) {
				var elToRemove = YAHOO.util.Dom.get('romance_people_7');
				new YAHOO.util.Element(el).removeChild(elToRemove);
			}
			
			for(var i=6; i>0; i--)
				if(YAHOO.util.Dom.get('romance_people_' + i))
					YAHOO.util.Dom.get('romance_people_' + i).id = 'romance_people_' + (i + 1);
			
			elToInsert = document.createElement("div");
			elToInsert.setAttribute('id', 'romance_people_1');
			elToInsert.setAttribute('style', 'filter: alpha(opacity=0); opacity: 0.0; -moz-opacity: 0.0;');
			YAHOO.util.Dom.addClass(elToInsert, 'box');			
			
			genderClass = (data.previousProfile.gender == 'M' ? 'male' : 'female');
			
			html = '<div class="thumb">' +
					'<a class="' + genderClass + '" id="nextThumb" href="http://' +  data.previousProfile.nick + '.' + conf.domain + '" title="' + data.previousProfile.nick + '"><span></span><img width="56" height="56" src="' + data.previousProfile.crypted_profile_content['497'] + '" alt="' + data.previousProfile.nick + '"/>';
			
			if(data.previousProfile.online) html += '<span class="presence on"></span>';
			else html += '<span class="presence off"></span>';
			
			if(data.type == 'kiss') html += '<span class="kiss16"></span>';
			else if(data.type == 'message') html += '<span class="message16"></span>';
			
			html += '</a></div><div class="separator"></div>';
			elToInsert.innerHTML = html;
			new YAHOO.util.Element(el).insertBefore(elToInsert, YAHOO.util.Dom.get('romance_people_2'));
			
			var animation = new YAHOO.util.Anim('romance_people_1' , { opacity: { from: 0, to: 1 } }, 1).animate();
		}
	},
	
	sendKiss: function (profileId, aaa_fn) {
		var callback = {
			success: function(o){
				var save = 'no';
				var res = Utilities.parseHybridResponse(o.responseText);
			
				if(res.result == 'LP') {
					if(res.enc_profile_id) OverlayManager.show('lp', res.lp, res.enc_profile_id);
					else OverlayManager.show('lp', res.lp);
				}
				
				else if(res[0].result == "OK") {
					YAHOO.util.Dom.get('currentLink').innerHTML += '<span id="currentAction" class="kiss32"></span>';
					save = 'yes';
				}
				
				else OverlayConfiguration.genericMessage.showPlain('', res[1], 'rosso', 300);
				
				var t = setTimeout(function () {
					RomanceManager.changeProfile(YAHOO.util.Dom.get('currentIndex').value, YAHOO.util.Dom.get('currentPage').value, 'kiss', save);
				}, RomanceManager.changeProfileTime);
			},
			
			update: function (o) {},		
			failure: function (o) {}
		};
		
		var actionString = 't_pid=' + profileId + '&from=romance&aaa_fn=' + aaa_fn;
		var conn = YAHOO.util.Connect.asyncRequest("POST", 'http://' + conf.dynamicUrl + '/gui_manager/kiss/' + profileId, callback, actionString);
	},
	
	sendMessage: function (form) {
		var callback = {
			success : function (o) { },
			upload: function (o) {
				var save = false;
				var data = Utilities.parseHybridResponse(o.responseText);
				
			    if(data[0] && data[0].result == 'OK') {
			    	OverlayConfiguration.genericMessage.showPlain('', data[1], 'blu', 300);
			    	YAHOO.util.Dom.get('currentLink').innerHTML += '<span id="currentAction" class="message32"></span>';
			    	save = true;			    	
				}
			    
				else OverlayConfiguration.genericMessage.showPlain('Attenzione', data.message, 'rosso', 300);
			    
			    // cambio utente
				var t = setTimeout(function () {
					RomanceManager.changeProfile(YAHOO.util.Dom.get('currentIndex').value, YAHOO.util.Dom.get('currentPage').value, 'message', (save ? 'yes' : 'no'));
				}, RomanceManager.changeProfileTime);
			},
			failure : function (o) {
		    	alert(o);
		    }
		};
			
		YAHOO.util.Connect.setForm(form, true);
		var conn = YAHOO.util.Connect.asyncRequest("POST", 'http://' + conf.baseUrl + '/gui_manager/send_message', callback);
	},
	
	setTipMessage: function () {		
		var messages = Utilities.jsonParse(YAHOO.util.Dom.get('tipMessages').innerHTML);
		var index = Math.floor(Math.random()* messages.length);
		YAHOO.util.Dom.get('messageArea').value = messages[index];
	}
};