function contactsPage(specialSearch, vc_id_to_open) {
	if (!specialSearch) specialSearch=0 ;
	if (!MyVCFApp.Contacts) {
		MyVCFApp.Contacts = new MyVCFApp.ContactsObj({}) ;
		MyVCFApp.setView(MyVCFApp.Contacts, $("#div_main_contacts")) ;
	} else {
	}
	MyVCFApp.initPage('div_main_contacts', 3) ;
	MyVCFApp.Contacts.specialSearch = specialSearch ;
	MyVCFApp.Contacts.vc_id_to_open = vc_id_to_open ;
	MyVCFApp.Contacts.loadContacts() ;
	$("#div_contacts_cardof0").hide() ;
}

MyVCFApp.ContactsObj = $.inherit(MyVCFApp.View, {
	scope: this,
	_initView: function() {
		this.idUser = MyVCFApp.Utils.nextId() ;
		this.currentLetter = '' ;
		this.currentSearchTxt = '' ;
	},
	_generate: function() {
		var txt = "" ;
		txt += "<h1>"+i18n.my_contacts+"</h1>" ;
		txt += "<div style='padding:0 0 10px 0;'>"+i18n.list_your_contacts+"</div>" ;
		txt += "<div id='div_contacts_cardof0'>" ;
		txt += "<div id='div_contacts_cardof' style='height:350px; width:600px; float:left;'></div>" ;
		txt += "<div id='div_contacts_cardof2' style='height:350px; width:150px; float:left;'></div>" ;
		txt += "<div class='clear'></div>" ;
		txt += "</div>" ;
		txt += "<div id='div_contacts_letters' style='padding:0 0 0 10px;'></div>" ;
		txt += "<div class='clear'></div>" ;
		txt += "<div class='frameGray'>" ;
		txt += "<div id='div_contacts_list'></div>" ;
		txt += "</div>" ;
		//txt += "<div style='height:300px;'></div>" ;
		return txt ;
	},
	_onRender: function() {
		var txt = "" ;
		txt += "<div id='div_contacts_letter_all' onclick=\"MyVCFApp.Contacts.clickLetter('');\" class='div_contacts_letter on'>Tous</div>" ;
		for(var i=65 ; i<91 ; i++) {
			txt += "<div id='div_contacts_letter_"+String.fromCharCode(i)+"' onclick=\"MyVCFApp.Contacts.clickLetter('"+String.fromCharCode(i)+"');\" class='div_contacts_letter'>"+String.fromCharCode(i)+"</div>" ;
		}
		txt += "<div style='float:left; padding:2px 0 0 10px;'><input id='inputSearchInContacts' style='font-size:10px; width:80px;' type='text' value='"+i18n.search+"' onclick=\"if (this.value=='"+i18n.search+"') this.value='';\" onkeyup=\"MyVCFApp.Contacts.searchContacts(this.value);\" onblur=\"if (this.value=='') this.value='"+i18n.search+"';\" name='inputSearchInContacts' /></div>" ;
		$("#div_contacts_letters").html(txt) ;
	},
	clickLetter: function(l) {
		this.currentLetter = l ;
		this.currentSearchTxt = '' ;
		this.specialSearch = '' ;
		$("#inputSearchInContacts").val(i18n.search) ;
		this.loadContacts() ;
	},
	searchContacts: function(txt) {
		this.currentLetter = '' ;
		this.currentSearchTxt = txt ;
		this.specialSearch = '' ;
		//console.log($("#inputSearchInContacts").val()) ;
		if (this.delaySearch) window.clearTimeout(this.delaySearch) ;
		if (txt=="") {
			//$("#div_welcome_searchresult").html("") ;
			this.loadContacts() ;
		} else {
			this.delaySearch = window.setTimeout("MyVCFApp.Contacts.loadContacts()", 200) ;
		}
	},
	/*
	searchContactReal: function(txt) {
		if (this.ajSearch) this.ajSearch.abort() ;
		if (this.delaySearch) {
			window.clearTimeout(this.delaySearch) ;
			this.delaySearch = null ;
		}
		if (txt=="") {
			$("#div_welcome_searchresult").html("") ;
		} else {
			this.ajSearch = $.ajax({
				type: 'POST',
				url: 'io.php',
				data: {action: 'searchContacts', search:txt},
				context: this, // scope of the ajax request
				dataType: 'json',
				success: function(data) {
					var tabFriends = data.tabFriends ;
					var tabLastVcName = [] ;
					var lastUser = "" ;
					var txt = "" ;
					txt += "<table width='100%' class='table_contacts_list' border='0' cellpadding='0' cellspacing='0'>" ;
					for (var i=0 ; i<tabFriends.length ; i++) {
						var img = "/statics/images/im_default-femme-petit.jpg" ;
						if (tabFriends[i].vc_photo!='') img = "/dynamics/ip2_"+tabFriends[i].vc_photo+".jpg" ;
						var bgTr = "" ;
						if (i%2==0) bgTr = "background-color:#e6e6e6;" ;
						txt += "<tr style='"+bgTr+"'>" ;
						txt += "<td><img width='20' height='25' src='"+img+"' alt='' /></td>" ;
						var name = tabFriends[i].vc_firstname+" "+tabFriends[i].vc_lastname ;
						if (tabFriends[i].vc_organisation!='') name += " - <b>"+tabFriends[i].vc_organisation+"</b>" ;
						txt += "<td>"+name+"</td>" ;
						txt += "</tr>" ;
					}
					txt += "</table>" ;
					$("#div_welcome_searchresult").html(txt) ;
				}
			});
		}
	},
	*/
	seeCard: function(vc_id) {
		jQuery('html, body').animate( { scrollTop: 0 }, 'slow' );
		$("#div_contacts_cardof0").slideDown() ;
		this.idCard = MyVCFApp.drawCard($("#div_contacts_cardof"), false) ;
		$.ajax({
			type: 'POST',
			url: 'io.php',
			data: {action: 'getCardBis', vc_id: vc_id},
			context: this,
			dataType: 'json',
			success: function(data) {
				MyVCFApp.updateCard(this.idCard, data.card, false) ;
				var tabUserLinked = data.tabUserLinked ;
				var txt = "<div>"+i18n.cards_seen_by_user+"</div>" ;
				for(var i=0 ; i<tabUserLinked.length ; i++) {
					txt += "<div><a href='javascript:void(0);' onclick=\"MyVCFApp.Contacts.editCard('"+tabUserLinked[i].vc_id+"');\">"+tabUserLinked[i].vc_cardname+"</a></div>" ;
				}
				if (tabUserLinked.length==0) txt += "<div>"+i18n.none_f+"</div>" ;
				$('#div_contacts_cardof2').html(txt) ;
			}
		});
	},
	editCard: function(vc_id) {
		manageCardsPage(vc_id) ;
	},
	loadContacts: function() {
		$(".div_contacts_letter").removeClass('click') ;
		if (this.currentLetter=='') $("#div_contacts_letter_all").addClass('click') ;
		else $("#div_contacts_letter_"+this.currentLetter).addClass('click') ;
		$.ajax({
			type: 'POST',
			url: 'io.php',
			data: {
				action: 'listContacts', 
				letter: this.currentLetter, 
				search: this.currentSearchTxt, 
				specialSearch: this.specialSearch
			},
			context: this,
			dataType: 'json',
			success: function(data) {
				var tabContacts = data.tabContacts ;
				var txt = "" ;
				var txtTotal = "" ;
				if (tabContacts.length==0) {
					txtTotal += i18n.none_contact ;
				} else {
					txtTotal += MyVCFApp.plurial(tabContacts.length, i18n.contact, i18n.contacts) ;
				}
				if (this.currentLetter=='') txtTotal += " "+i18n.to_total ;
				else txtTotal += " "+i18n.begin_with_letter+" "+this.currentLetter ;
				txt += "<div style='font-weight:bold; padding: 0 0 10px 0;'>"+txtTotal+"</div>" ;
				txt += "<table class='table_contacts_list' width='100%' border='0' cellpadding='0' cellspacing='0'>" ;
				for(var i=0 ; i<tabContacts.length ; i++) {
					txt += "<tr onclick=''>" ;
					var img = "/statics/images/im_default-femme-petit.jpg" ;
					if (tabContacts[i].vc_photo!='') img = "/dynamics/ip2_"+tabContacts[i].vc_photo+".jpg" ;
					txt += "<td><img width='29' height='37' src='"+img+"' alt='' /></td>" ;
					txt += "<td>"+tabContacts[i].vc_lastname+"</td>" ;
					txt += "<td>"+tabContacts[i].vc_firstname+"</td>" ;
					txt += "<td>"+tabContacts[i].vc_organisation+"</td>" ;
					txt += "<td><a href='javascript:void(0);' onclick=\"MyVCFApp.Contacts.seeCard('"+tabContacts[i].vc_id+"');\">"+i18n.see+"</a></td>" ;
					txt += "<td><a href='io.php?action=generateCard&vc_id="+tabContacts[i].vc_id+"' target='_blank'>"+i18n.download+"</a></td>" ;
					txt += "<td><a href='javascript:void(0);'  target='_blank' onclick=\"MyVCFApp.blackList('"+tabContacts[i].us_id+"');\">"+i18n.blacklist+"</a></td>" ;
					txt += "</tr>" ;
				}
				txt += "</table>" ;
				$("#div_contacts_list").html(txt) ;
				if (this.currentLetter=='') {
					for(var i=65 ; i<91 ; i++) {
						var ok = false ;
						for(var j=0 ; j<tabContacts.length ; j++) {
							if (tabContacts[j].vc_lastname.substr(0,1).toUpperCase()==String.fromCharCode(i).toUpperCase()) {
								ok = true ;
								break ;
							}
						}
						if (ok) $("#div_contacts_letter_"+String.fromCharCode(i)).addClass('on') ;
						else $("#div_contacts_letter_"+String.fromCharCode(i)).removeClass('on') ;
					}
				}
				if (this.vc_id_to_open && this.vc_id_to_open!='') {
					this.seeCard(this.vc_id_to_open) ;
				}
			}
		});
	}
}) ;



