var facebookLoaded = 0;
//var baseUrl = 'http://www.lankafaces.com';

function modalViewInitContent() {
		
		if($('album_select') != undefined) {
		
			createUploader();
			
		}
		
		if($('myprofile_addVideoResponseConfirmation') != undefined) {
			
			$('videoConfirm').observe('click', function(action){
				Event.stop(action);
				$('videoConfirm').request({
					onComplete: function(transport) {
						console.log(transport.responseText);
					}
				});
			});
				
		}
		
		if($('scrollbar_container') != undefined ) {
			var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track'); 
			$('editMeta_userSearchForm').observe('submit', function(formSub) {
				Event.stop(formSub);
			});
			$('editMeta_userSearchForm').observe('keypress', function(formSub) {
				$('editMeta_ajaxLoading').show();
				$('editMeta_userSearchForm').request({
	  				onComplete: function(transport) { 
	  					$('scrollbar_content').update(transport.responseText);
	  					scrollbar.recalculateLayout(); 
	  					$$('div[class="profile_userCardAddIcon"]').each(function(element) {
	  						element.observe('click', function(event) {
	  							var uid = element.readAttribute('rel');
	  							var job = $('fieldType').readAttribute('value');
	  							var albumId = $('albumId').readAttribute('value');
								new Ajax.Request('/ajax/addAlbumDetail', {
									method: 'post',
									parameters: 'uid='+uid+'&job='+job+'&albumId='+albumId,
									onComplete: function(transport) {
										switch(transport.responseText) {
											case "OK": 
												Effect.Pulsate(element.ancestors()[0], {
													queue: 'end'
												});
												
												if(job == "foc") {
													console.log('debuggin…');
													var updateLink = '/ajax/focDetail?albumId='+albumId;	
													new Ajax.Updater('profile_albumDetailsViewFOC', updateLink);
												
												} else {
												
													var updateLink = '/ajax/authorsDetail?albumId='+albumId;
													new Ajax.Updater('profile_albumDetailsViewBOC', updateLink);												

												}
												

												break;
											case "ALREADY":
												Effect.Shake(element.ancestors()[0]);
												break;
										}
									}
									
								});
	  						});
	  					});
	  					$('editMeta_ajaxLoading').hide();
					}
				});
				
			});
			 
		}
		
		
		if($('youtube_form') != undefined) {
			Event.observe('youtube_form', 'submit', function(event) {
				Event.stop(event);
				$('youtube_form').request({
	  				onComplete: function(transport) {
	  					// "("+ ifromContent + ")" 
						var youtubeResponse = eval("("+transport.responseText+")");
						
						console.log(transport.responseText);
						console.log(youtubeResponse);
						console.log(youtubeResponse['status']);
						
						if(youtubeResponse['status'] == "OK") {
						
							$('myprofile_addVideoForm').hide();
							$('myprofile_addVideoResponse').show();
							
							Modalbox.resizeToContent();
							
							// populating the confirmation view
							
							$('myprofile_addVideoResponseThumb').update('<img src="'+youtubeResponse['yt_thumbSq']+'" alt="Youtube Thumb" />');	
							$('myprofile_addVideoResponseRightTitle').update('<b>'+youtubeResponse['yt_title']+'</b>');
							$('myprofile_addVideoResponseRightDescription').update(youtubeResponse['yt_description']);
							$('videoConfirmId').writeAttribute('value', youtubeResponse['youtubeId']);
							console.log(youtubeResponse['youtubeId']);
						} else {
						
							alert('RESPONSE KO');
						
						}
						
					}
				});
			});	
		
		}

}

function humaneDate(date, compareTo){
    
    var lang = {
            ago: 'Ago',
            from: 'From Now',
            now: 'Just Now',
            minute: 'Minute',
            minutes: 'Minutes',
            hour: 'Hour',
            hours: 'Hours',
            day: 'Day',
            days: 'Days',
            week: 'Week',
            weeks: 'Weeks',
            month: 'Month',
            months: 'Months',
            year: 'Year',
            years: 'Years'
        },
        formats = [
            [60, lang.now],
            [3600, lang.minute, lang.minutes, 60], // 60 minutes, 1 minute
            [86400, lang.hour, lang.hours, 3600], // 24 hours, 1 hour
            [604800, lang.day, lang.days, 86400], // 7 days, 1 day
            [2628000, lang.week, lang.weeks, 604800], // ~1 month, 1 week
            [31536000, lang.month, lang.months, 2628000], // 1 year, ~1 month
            [Infinity, lang.year, lang.years, 31536000] // Infinity, 1 year
        ],
        isString = typeof date == 'string',
        date = isString ?
                    new Date(('' + date).replace(/-/g,"/").replace(/[TZ]/g," ")) :
                    date,
        compareTo = compareTo || new Date,
        seconds = (compareTo - date +
                        (compareTo.getTimezoneOffset() -
                            // if we received a GMT time from a string, doesn't include time zone bias
                            // if we got a date object, the time zone is built in, we need to remove it.
                            (isString ? 0 : date.getTimezoneOffset())
                        ) * 60000
                    ) / 1000,
        token;

    if(seconds < 0) {
        seconds = Math.abs(seconds);
        token = ' ' + lang.from;
    } else {
        token = ' ' + lang.ago;
    }

    /*
     * 0 seconds && < 60 seconds        Now
     * 60 seconds                       1 Minute
     * > 60 seconds && < 60 minutes     X Minutes
     * 60 minutes                       1 Hour
     * > 60 minutes && < 24 hours       X Hours
     * 24 hours                         1 Day
     * > 24 hours && < 7 days           X Days
     * 7 days                           1 Week
     * > 7 days && < ~ 1 Month          X Weeks
     * ~ 1 Month                        1 Month
     * > ~ 1 Month && < 1 Year          X Months
     * 1 Year                           1 Year
     * > 1 Year                         X Years
     *
     * Single units are +10%. 1 Year shows first at 1 Year + 10%
     */

    function normalize(val, single)
    {
        var margin = 0.1;
        if(val >= single && val <= single * (1+margin)) {
            return single;
        }
        return val;
    }

    for(var i = 0, format = formats[0]; formats[i]; format = formats[++i]) {
        if(seconds < format[0]) {
            if(i === 0) {
                // Now
                return format[1];
            }

            var val = Math.ceil(normalize(seconds, format[3]) / (format[3]));
            return val +
                    ' ' +
                    (val != 1 ? format[2] : format[1]) +
                    (i > 0 ? token : '');
        }
    }
};

function initHumaneDate() {
	
	$$('div[class="issue_itemDate"]').each(function(issue) {
	
		if(issue.readAttribute('title') !== undefined){
			issue.update(humaneDate(new Date(issue.readAttribute('title'))));
		}
		
	});

	
	$$('div[class="myprofile_timelineDateTime"]').each(function(timeline) {
	
		if(timeline.readAttribute('title') !== undefined){
			timeline.update(humaneDate(new Date(timeline.readAttribute('title'))));
		}
		
	});
	
	$$('div[class="prettyDate"]').each(function(fgh) {
		if(fgh.readAttribute('title') !== undefined){
			fgh.update(humaneDate(new Date(fgh.readAttribute('title'))));
		}
		
	});

	$$('div[class="guestDetail_timelineEventHeaderTime"]').each(function(fgh) {
		if(fgh.readAttribute('title') !== undefined){
			fgh.update(humaneDate(new Date(fgh.readAttribute('title'))));
		}
		
	});
	
}

function initProfPicObserver() {
	if($('uploader') != undefined) {
		
		$('upload_form').observe('submit', function(e) {
			if($('qqfile').getValue() == "") {
				Event.stop(e);
				alert('input field is empty');
			} else {
				$('editmyprofile_profilePicLoading').show();
			}
			
		});
		
		$('uploader').observe('load', function() {
			//console.log('iframe loaded');
		    var iframeDoc;
		    if (window.frames && window.frames.uploader &&
		        (iframeDoc = window.frames.uploader.document)) {
		        var iframeBody = iframeDoc.body;
		        var ifromContent = iframeBody.innerHTML;
		    }
		    var json_rsp = eval("("+ ifromContent + ")");
		    if(json_rsp['success'] == true ) {
		    	//console.log(json_rsp['prof_pic_path']);
		    	var profPic = '<img src="' + json_rsp['prof_pic_path'] +'" alt="Profile Picture">';
		    	$('editmyprofile_profilePicPic').update(profPic);
		    	$('editmyprofile_profilePicLoading').hide();
		    	$('upload_form').reset();
		    }
		    
		    
		});	
	}
}

function initIssueFormObserver() {
	
  		Event.observe('issue_form', 'submit', function(form) {	
  			
  			Event.stop(form);
			
			$('issue_form').request({
	  			onComplete: function(transport) { 

	  				switch(transport.responseText) {
	  					case 'MISSINGDATA':
	  						$('issue_formMessage').update('Make sure you inserted all the data in the form!');
	  						break;
	  					case 'OK':
	  						$('issue_form').reset();
	  						$('issue_formMessage').update('Thank you for submitting that ticket!');
	  						break;
	  					case 'ERROR':
	  						$('issue_formMessage').update('Something went wrong… ');
	  						break;
						default:
							$('issue_formMessage').update('Unknown error, contact support');	
	  				}
	  			}
	  		});
	  		
  			
  		});	
	
}

function initDeleteLinkObserver() {
	
	var link = '/admin/ajax/deleteGuest';
	
	$$('a[class="deleteGuest"]').each(function(dg){
	
		dg.observe('click', function(event){
		
			event.stop();
			params = 'id=' + Event.element(event).readAttribute('rel');
			
			new Ajax.Request(link, {
				method: 'post',
				parameters: params,
				onComplete: function(transport) {
					console.log(transport.responseText);
					if(transport.responseText == "OK") {
						Effect.Shrink(Event.element(event).readAttribute('rel'));
					}
					
				}
			});
			
						
			
		});	
		
	});
	
}

function initUnDeleteLinkObserver() {
	
	var link = '/admin/ajax/unDeleteGuest';
	
	$$('a[class="unDeleteGuest"]').each(function(dg){
	
		dg.observe('click', function(event){
		
			event.stop();
			params = 'id=' + Event.element(event).readAttribute('rel');
			
			new Ajax.Request(link, {
				method: 'post',
				parameters: params,
				onComplete: function(transport) {

					if(transport.responseText == "OK") {
						Effect.Shrink(Event.element(event).readAttribute('rel'));
					}
					
				}
			});
			
						
			
		});	
		
	});
	
}

function initCheckObserver() {
	
	var link = '/admin/ajax/checkboxes';

	
	$$('input[type="checkbox"]').each( function(df) {
		//console.log(df.readAttribute('title') + " " + df.readAttribute('name'));
		df.observe('click', function(h) {
			if(Event.element(h).checked == true) {
			
				var params = 'id=' + Event.element(h).readAttribute('name') + '&option=' + Event.element(h).readAttribute('rel') + '&value=1';	
				new Ajax.Request(link, {
					method: 'post',
					parameters: params,
					onComplete: function(transport) {
						// completed
						//console.log(transport.responseText);
					}
				});
				
			
				//console.log(Event.element(h).readAttribute('title') + " " + Event.element(h).readAttribute('name') + " checked");
			} else {
			
				var params = 'id=' + Event.element(h).readAttribute('name') + '&option=' + Event.element(h).readAttribute('rel') + '&value=0';
				new Ajax.Request(link, {
					method: 'post',
					parameters: params,
					onComplete: function(transport) {
						// completed
						//console.log(transport.responseText);
					}
				});
			
				//console.log(Event.element(h).readAttribute('title') + " " + Event.element(h).readAttribute('name') + " unchecked");
			}
			
		});
	});
	
}

function initWorkExperienceObserver() {
	if($('editmyprofile_workhistoryform') != undefined) {
		$('editmyprofile_workhistoryform').observe('submit', function(action) {
			Event.stop(action);
			var ct = 'editmyprofile_workhistory_' + $('year').getValue();
			if($(ct) != undefined) {
				$(ct).insert({
					bottom: '<div><span class="cl_facespink">'+$('type').getValue()+':&nbsp;</span>'+$('workhistory_desc').getValue()+'</div>'
				});	
			} else {
				$('profile_workhistory').insert({
					bottom: '<div class="profile_workhistoryCt"><div class="text_medium" style="float:left; padding-top: 30px;">'+$('year').getValue()+'</div><div id="editmyprofile_workhistory_'+$('year').getValue()+'" class="triangle-border left" style="float:left;"><div><span class="cl_facespink">'+$('type').getValue()+':&nbsp;</span>'+$('workhistory_desc').getValue()+'</div></div></div>'
				});
			}
		});
	}
}
/*
function initAwardsObserver() {
	if($('editmyprofile_awardsForm') != undefined) {
		$('editmyprofile_awardsForm').observe('submit', function(action) {
			Event.stop(action);
			var ct = 'editmyprofile_workhistory_' + $('year').getValue();
			if($(ct) != undefined) {
				$(ct).insert({
					bottom: '<div>'+$('workhistory_desc').getValue()+'</div>'
				});			
			} else {
				$('profile_workhistory').insert({
					bottom: '<div class="profile_workhistoryCt"><div class="text_medium" style="float:left; padding-top: 30px;">'+$('year').getValue()+'</div><div id="editmyprofile_workhistory_'+$('year').getValue()+'" class="triangle-border left" style="float:left;"><div>'+$('workhistory_desc').getValue()+'</div></div></div>';
				});
			}
		});
	}
}
*/

function initGuestDetailLinkObserver() {
	
	var link = '/admin/ajax/guestdetails';
	
	$$('a[class="viewGuestDetail"]').each(function(dg){
	
		dg.observe('click', function(event){
		
			event.stop();
			params = 'guest_id=' + Event.element(event).readAttribute('rel');
			
			new Ajax.Updater('issues_body', link, {
					method: 'post',
					parameters: params,
					onComplete: function(transport) {
					
						initGuestDetailFormObserver();
						$('myprofile_topRightAjaxLoading').hide();	
			
					}
			}); 
			
						
			
		});	
		
	});

	
}

function initGuestDetailFormObserver() {
	
	$$('form[class="guestDetail_edit"]').each(function(form) { 
	
		form.observe('submit', function(event) {
			Event.stop(event);
			
			Event.element(event).request({
				onComplete: function(res) {
					//console.log(res.responseText);
					submitGuestSearchForm();
				}
			});
		});
	
	});

	
}

function initGuestAddFormObserver() {
	
  		Event.observe('guestadd_form', 'submit', function(form) {	
  			
  			Event.stop(form);

			$('guestadd_form').request({
	  			onComplete: function(nb) { 

					var response = eval("("+nb.responseText+")");
					
	  				switch(response['status']) {
	  					case 'OK':
	  						$$('input[type="text"]').each(function(inputt) {
	  							inputt.clear();
	  						});
	  						$('guestadd_rightHead').update('Guest Added!');
	  						break;
	  					case 'ERROR':
	  					
	  							switch(response['description']) {
	  								case 'MISSINGDATA':
	  									$('guestadd_rightHead').update('Please, at least add name and surname!');
	  									break;
	  								case 'ERROR':
	  									$('guestadd_rightHead').update('Something went wrong…');
	  									break;	
	  							}
	  						break;
						default:
								
	  				} 
	  			}
	  		});	  		
  			
  		});	
	
}

function initLetterFormObserver() {
	
  		Event.observe('letter_form', 'submit', function(form) {	
  			
  			Event.stop(form);
			
			$('letter_form').request({
	  			onComplete: function(transport) { 

					if(transport.responseText == "MISSINGFIELDS") {
						alert('Check the fields…');
					} else {
						window.open (transport.responseText,"mywindow");
					}
					
	  			}
	  		});
	  		
  			
  		});	
	
}

function issueTodo_changed(k) {
  
  	$('myprofile_topRightAjaxLoading').show();
  
	switch($('issue_todo').getValue()) {
		case 'Create a new Ticket':
		new Ajax.Updater('issues_body', '/admin/ajax/newIssue', {
					method: 'get',
				onComplete: function(transport) {
					
					initIssueFormObserver();
					$('myprofile_topRightAjaxLoading').hide();	
		
				}
		});  
		break;
	case 'View Tickets':
		new Ajax.Updater('issues_body', '/admin/ajax/listIssues', {
					method: 'get',
				onComplete: function(transport) {
					
					initHumaneDate();
					$('myprofile_topRightAjaxLoading').hide();
		
				}
		});  
		break;	 		
	}
  
}

function lettersTodo_changed(k) {
  
  	$('myprofile_topRightAjaxLoading').show();
  
	switch($('letters_todo').getValue()) {
		case 'Create a new letter':
		new Ajax.Updater('issues_body', '/admin/ajax/newLetter', {
					method: 'get',
				onComplete: function(transport) {
					
					initLetterFormObserver()
					$('myprofile_topRightAjaxLoading').hide();	
		
				}
		});  
		break;
	case 'List all letters':
		new Ajax.Updater('issues_body', '/admin/ajax/listLetters', {
					method: 'get',
				onComplete: function(transport) {
					
					initHumaneDate();
					$('myprofile_topRightAjaxLoading').hide();
		
				}
		});  
		break;	 		
	}
  
}

function submitGuestSearchForm() {
	
		$('guest_searchForm').request({
			onComplete: function(requestResponse) {
				$('issues_body').update(requestResponse.responseText);
				initCheckObserver();
				initHumaneDate();
				initGuestDetailFormObserver();	
			}
		}); 
		
}

function initSearchGuestFormObserver() {
	
	$('guest_searchForm').observe('submit', function(event) {
		Event.stop(event);
		
		Event.element(event).request({
			onComplete: function(requestResponse) {
				$('issues_body').update(requestResponse.responseText);
				initCheckObserver();
				initHumaneDate();
				initGuestDetailFormObserver();	
			}
		});
	});
	
}

function emsView_changed(k) {

	$('myprofile_topRightAjaxLoading').show();
  
	switch($('ems_view').getValue()) {
		case 'Status':
		new Ajax.Updater('issues_body', '/admin/ajax/status', {
				method: 'get',
				onComplete: function(transport) {
					
					$('issues_headerRight').hide();	
					initHumaneDate();	
					$('myprofile_topRightAjaxLoading').hide();
					new CountUp('January 25, 2012 19:00:00','counter');
		
				}
		});  
		break;
	case 'Add Guest':
		new Ajax.Updater('issues_body', '/admin/ajax/newGuest', {
				method: 'get',
				onComplete: function(transport) {
					$('issues_headerRight').hide();
					initGuestAddFormObserver();
					$('myprofile_topRightAjaxLoading').hide();
					
				}
		});  
		break;	
	case 'Guestlist':
		new Ajax.Updater('issues_body', '/admin/ajax/guestlist', {
				method: 'get',
				onComplete: function(transport) {
					$('issues_headerRight').show();
					initCheckObserver();
					initDeleteLinkObserver();
					initGuestDetailLinkObserver();
					$('myprofile_topRightAjaxLoading').hide();
				}
		});  
		break;
	case 'Search Guest':
		new Ajax.Updater('issues_headerRight', '/admin/ajax/searchguest', {
				method: 'get',
				onComplete: function(transport) {
				
					$('myprofile_topRightAjaxLoading').hide();
					initAgainChosen();
					initSearchGuestFormObserver();
					$('issues_body').update('<div class="common_wrapper">Search the guest from the upper right side…</div>');
					$('issues_headerRight').show();
				}
		});
		break;	
	case 'Deleted Guests':
		new Ajax.Updater('issues_body', '/admin/ajax/deletedGuests', {
				method: 'get',
				onComplete: function(transport) {
					initCheckObserver();
					initUnDeleteLinkObserver();
					initGuestDetailLinkObserver();
					$('myprofile_topRightAjaxLoading').hide();
				}
		});  
		break;	 		
	}
  
}

function backToGuestList() {

		new Ajax.Updater('issues_body', '/admin/ajax/guestlist', {
				method: 'get',
				onComplete: function(transport) {
					$('issues_headerRight').show();
					initCheckObserver();
					initDeleteLinkObserver();
					initGuestDetailLinkObserver();
					$('myprofile_topRightAjaxLoading').hide();
				}
		});
		
}


function initAgainChosen() {
    var select, selects, _i, _len, _results;
    selects = $$(".chzn-select");
    _results = [];
    for (_i = 0, _len = selects.length; _i < _len; _i++) {
      select = selects[_i];
      _results.push(new Chosen(select));
    }
    
    return true;
}

function genGenderValuesOnSelectField(){
		
		if($('sel_gender')) {
		
			var gender = $('sel_gender').readAttribute('rel');
			
			switch(gender) {
				case "Female":
					$('sel_gender').update('<option selected="Female">Female</option><option>Male</option>');
					break;
				case "Male":
					$('sel_gender').update('<option>Female</option><option selected="Male">Male</option>');
					break;
				default:
					$('sel_gender').update('<option>Female</option><option>Male</option>');
					break;
									
			}
		}			
}

function genCalendarValuesOnSelectFields(){
		
		if($('sel_day') != undefined) {
		
		
			var day = $('sel_day').readAttribute('rel');
			var month = $('sel_month').readAttribute('rel');
			var year = $('sel_year').readAttribute('rel');
			
			var buffer = "";
			
			for(i=1; i<=31; i++) {
				if(i==day) {
					buffer = buffer + '<option selected="'+ i +'">' + i + '</option>';
				} else {
					buffer = buffer + '<option>' + i + '</option>';
				}
				
			}	
			
			$('sel_day').update(buffer);
			
			buffer = "";
				
			for(i=1; i<=12; i++) {
				if(i==month) {
					buffer = buffer + '<option selected="'+ i +'">' + i + '</option>';
				} else {
					buffer = buffer + '<option>' + i + '</option>';
				}
				
			}
			
			$('sel_month').update(buffer);
			
			buffer = "";
			
			var data = new Date;
				
			for(i=1975; i<=(parseInt(data.getFullYear())-18); i++) {
				if(i==year) {
					buffer = buffer + '<option selected="'+ i +'">' + i + '</option>';
				} else {
					buffer = buffer + '<option>' + i + '</option>';
				}
				
			}
			
			$('sel_year').update(buffer);
		
		}
	
}

function addMyProfileFormListener() {

	  if($('myprofile_editform') != undefined) {
  		
  		Event.observe('myprofile_editform', 'submit', function(form) {	
  			
  			Event.stop(form);
  			$('submit').disabled = true;
  			$('myprofile_editform').request({
	  			onComplete: function(transport) { 
	  				//console.log(transport.responseText);	
	  				$('submit').disabled = false;
	  			}
	  		});
  			
  		});
  		
  	}

}


document.observe('click', function(e) {

      var lk = e.findElement('#album_select');
      if (lk) {
      
            if(lk.getValue() == "New Album") {
            	// show the new album name textfield
            	$('album_name').value = "";
            	$('newAlbum_Field').show();
            } else {
            	$('newAlbum_Field').hide();
            	$('album_name').value = lk.getValue();
            	
            }
      }
});



function createUploader(){            
    var uploader = new qq.FileUploader({
        element: document.getElementById('file-uploader-demo1'),
        action: '/myprofile/do_upload',
        //listElement: document.getElementById('editmyprofile_sideRight'),
        
        onSubmit: function(id, fileName) {
        
        	var album_value = "";
        	
        	if($('album_select').getValue() == "New Album") {

        		var album_value = $('album_name').getValue();        		
        		
        	} else {
        	
        		var album_value = $('album_select').getValue();
        		
        	}
        	
        	if($('album_type')) {
        		var album_type = $('album_type').getValue();
        	}
        	
        	if($('year_select')) {
        		var year_select = $('year_select').getValue();
        	}
        
        	uploader.setParams({
  	 			lk_album: 	album_value,
  	 			lk_type:	album_type,
  	 			lk_year:	year_select	
			});
        },
        
        debug: true
    });
    
           
}

function hideSetPPbutton() {

	$$('div[class="profile_picSetPPIcon"]').each(function(d) {
		d.stopObserving('click');
		d.hide();
	});
	
	$('profile_ppPictureImage').writeAttribute('src', "/images/buttons/profilePic.png");
	$('profile_ppPictureLink').writeAttribute('href', "javascript:showSetPPButton();");

}

function hideDeleteButton() {

	$$('div[class="profile_picDeleteIcon"]').each(function(d) {
		d.stopObserving('click');
		d.hide();
	});
	
	$('profile_deletePictureImage').writeAttribute('src', "/images/buttons/cancelPic.png");
	$('profile_deletePictureLink').writeAttribute('href', "javascript:showDeleteButton();");

}

/*

		<div id="profile_picActionButtons" class="text_xsmall">
			<div id="profile_picActionButtonSpacer">&nbsp;</div>
			<div class="profile_picActionButton">
				<a id="profile_ppPictureLink" href="javascript:showSetPPButton();" alt="Set as profile picture">
					<img id="profile_ppPictureImage" src="/images/buttons/profilePic.png" alt="Set as profile picture" />
				</a>
			</div>
			<div class="profile_picActionButton">
				<a id="profile_deletePictureLink" href="javascript:showDeleteButton();" alt="Delete Picture">
					<img id="profile_deletePictureImage" src="/images/buttons/cancelPic.png" alt="Delete Picture" />
				</a>
			</div>
		</div>

*/

function showSetPPButton() {	
	
	$$('div[class="profile_picSetPPIcon"]').each(function(d) {
	
		d.observe('click', function(event) {
		
			var toDelete = Event.element(event).readAttribute('rel');			
			var picToShrink = Event.element(event).ancestors()[0];
			
			var link = "/myprofile/setPP";
			var params = 'pic_id=' + toDelete;
			
			new Ajax.Request(link, {
				method: 'post',
				parameters: params,
				onComplete: function(transport) {

					switch(transport.responseText) {
						case "OK":
							Effect.Pulsate(picToShrink);
							location.reload(true);
							break;
						case "KO":
							alert('error');
							//console.log(transport.responseText);
							break;
						case "NOTYOURS":
							alert('are you trying to setPP something that doesn\'t belongs to you?');
							break;		
					}
					
				}
			});
			
			
		});
		
		d.show();
		
	});
	
	$('profile_ppPictureImage').writeAttribute('src', "/images/buttons/done.png");
	$('profile_ppPictureLink').writeAttribute('href', "javascript:hideSetPPbutton();");
		
}

function showDeleteButton() {
	
	$$('div[class="profile_picDeleteIcon"]').each(function(d) {
	
		d.observe('click', function(event) {
		
			var toDelete = Event.element(event).readAttribute('rel');			
			var picToShrink = Event.element(event).ancestors()[0];
			
			var link = "/myprofile/deletePicture";
			var params = 'pic_id=' + toDelete;
			
			new Ajax.Request(link, {
				method: 'post',
				parameters: params,
				onComplete: function(transport) {

					switch(transport.responseText) {
						case "OK":
							Effect.Puff(picToShrink);
							break;
						case "KO":
							alert('error');
							//console.log(transport.responseText);
							break;
						case "NOTYOURS":
							alert('are you trying to delete something that doesn\'t belongs to you?');
							break;		
					}
					
				}
			});
			
			
		});
		
		d.show();
		
	});
	
	$('profile_deletePictureImage').writeAttribute('src', "/images/buttons/done.png");
	$('profile_deletePictureLink').writeAttribute('href', "javascript:hideDeleteButton();");

	
}

function initFacebookJsSdk() {
	  
	  if(facebookLoaded == 1) {
	  
	  	//console.log('parsing again');
	  
	  	FB.XFBML.parse();
	  
	  } else {
	  
	  	//console.log('init facebook async');

	      window.fbAsyncInit = function() {
	      	facebookLoaded = 1;
	        FB.init({
	          appId: '116665121772467',
	          cookie: true,
	          xfbml: true,
	          oauth: true
	        });
	        FB.Event.subscribe('auth.login', function(response) {
	         	
	         	//console.log(response.authResponse.accessToken);
	          
				var params = 'fb_token=' + response.authResponse.accessToken;
					
				new Ajax.Request('/myprofile/ajax?w=setFBAT', {
					method: 'post',
					parameters: params,
					onComplete: function(transport) {
						// completed
						//console.log(transport.responseText);
					}
				});
	          
	          
	          
	        });
	        FB.Event.subscribe('auth.logout', function(response) {
	          
	          //console.log(response);
	        });
	      };
	      (function() {
	        var e = document.createElement('script'); e.async = true;
	        e.src = document.location.protocol +
	          '//connect.facebook.net/en_US/all.js';
	        document.getElementById('fb-root').appendChild(e);
	      }());
      
      }

}

Event.observe(window, 'load', function() {
	
	if(document.location.hash.substr(1)) {
		myLightBox.start($(document.location.hash.substr(1)));
	}
	
  	genCalendarValuesOnSelectFields();
  	genGenderValuesOnSelectField(); 	
  	addMyProfileFormListener();
  	initHumaneDate();
  	
  	if( $('album_rating_user') != undefined ) {
  		
  		$$('div[class=rating_container]').each(function(ratingct) {
  		
	  		var album_rel = ratingct.readAttribute('rel');
	  		var album_ratingByUser = ratingct.readAttribute('rate');	
	  		
	  		if(album_rel != "") {
	  		
	  			if(ratingct.readAttribute('id') == "album_rating_global") {
	  			
	  				// if its global rating, disable interaction
	  				
		  			if(album_ratingByUser == "") {
		  			
				  		var rating_one = new Control.Rating(ratingct, {
				  			updateUrl: '/ajax/rateAlbum?album_id='+album_rel,
				  			updateParamName: 'rate',
				  			rated: true
				  		});
				  		
			  		} else {
			  		
				  		var rating_one = new Control.Rating(ratingct, {
							value: album_ratingByUser,
							rated: true
				  		});
				  			
			  		}
		  		
		  		} else {
		  		
		  			if(album_ratingByUser == "") {
		  			
				  		var rating_one = new Control.Rating(ratingct, {
				  			updateUrl: '/ajax/rateAlbum?album_id='+album_rel,
				  			updateParamName: 'rate'
				  		});
				  		
			  		} else {
			  		
				  		var rating_one = new Control.Rating(ratingct, {
							value: album_ratingByUser,
				  			updateUrl: '/ajax/rateAlbum?album_id='+album_rel,
				  			updateParamName: 'rate'
				  		});
				  			
			  		}		  		
	
			  	}
	  		
	  		} else if(album_rel = "0") {
	  			
	  			ratingct.hide();	
	  			
	  		} else {
	  		
	  			console.log('failed to load the rating system');
	  		
	  		}
	  		
	  		});
  	}
  	
  	/*
  	if( $('album_rating') != undefined ) {
  	
  		var album_rel = $('album_rating').readAttribute('rel');
  		var album_ratingByUser = $('album_rating').readAttribute('rate');
  		
  		console.log(album_ratingByUser);
  		
  		if(album_rel != "") {
  		
  			if(album_ratingByUser == "") {
  			
		  		var rating_one = new Control.Rating('album_rating', {
		  			updateUrl: '/ajax/ratealbum?album_id='+album_rel,
		  			updateParamName: 'rate'
		  		});
		  		
	  		} else {
	  		
		  		var rating_one = new Control.Rating('album_rating', {
					value: album_ratingByUser
		  		});
		  			
	  		}
  		
  		} else if(album_rel = "0") {
  			
  			$('profile_albumRatingContainer').hide();	
  			
  		} else {
  		
  			console.log('failed to load the rating system');
  		
  		}
  		
  	} */
  	
  	if( $('profile_segmentedControlContainer') != undefined ) {

  		$$('a[class="profileBarControl"]').each(function(sciElement) {
				
			sciElement.observe('mouseover', function() {
				var src = sciElement.descendants()[0].readAttribute('src');
				src = src.split("\profilebar_").join("profilebarSelected_");
				sciElement.descendants()[0].writeAttribute("src", src );
			});	

			sciElement.observe('mouseout', function() {
				var src = sciElement.descendants()[0].readAttribute('src');
				src = src.split("\profilebarSelected_").join("profilebar_");
				sciElement.descendants()[0].writeAttribute("src", src );
			});	
  			
  		});

  		$$('a[class="profileBarControl"]').each(function(sciElement) {
				
				sciElement.observe('click', function(sciEvent){
				
						Event.stop(sciEvent);	
						var link = sciElement.readAttribute('href');
						
						$('bottom_container').update('<img src="/images/ajax-loader.gif" />');
						
						new Ajax.Updater('bottom_container', link, {
							method: 'get',
							onComplete: function(transport) {
								if(transport.responseText != "") {
									initHumaneDate();	
								}

							}
						});		
				
				});
  			
  		});
  		
  	}
  	
  	if( $('headerSearchForm') != undefined ) {
  	
  		$('headerSearchForm').observe('submit', function(searchEvent) {
  			Event.stop(searchEvent);
  			
  			$('headerSearchForm').request({
  				onComplete: function(transport) {
  					if(transport.responseText == 'ERROR') {
  						return;
  					} else {
  						window.location.href = transport.responseText;
  					}
  				}
  			});
  			
  		});
  	
  	}
  	
  	if($('follow_link') != undefined) {
  	
  		$('follow_link').observe('click', function(cevent){
			
			Event.stop(cevent);
			var flink = $('follow_link').readAttribute('href');
			
			new Ajax.Request(flink, {
				  method: 'get',
				  onSuccess: function(transport) {	
				  	//console.log(transport.responseText);
				  	if(transport.responseText == "OK" ) {
				  		$('follow_link').update("<img src=\"/images/buttons/following.png\" />");
				  	}
				  	
				  }		
			});
			
		});	
  	
  	}
  	
  	if($('loadmore_link') != undefined) {
  		
  		$('loadmore_link').observe('click', function(clickLoadMore) {
  			Event.stop(clickLoadMore);
  			
  			var numPage = $('loadmore_link').readAttribute('rel');
  			var nextPage = parseInt(numPage) + 1;
  			
  			var pageLink = '/myprofile?page=' + numPage;
  			
			new Ajax.Updater('timeline_ct', pageLink, {
				insertion: 'bottom',
				onComplete: function(transport) {
					if(transport.responseText != "") {
					initHumaneDate();
					$('loadmore_link').writeAttribute('rel', nextPage);						
					} else {
						$('loadmore_link').hide();
					}
				}
			});
  		});
  		
  	}
  	
  	if($('hm_faces') != undefined) {
  		
  		$('hm_faces').addTip( 			
			'<span class="text_xsmall">If you want to see other people on LankaFaces, this is the right section!</span>' ,{
				showOn: 'mouseover',
				hideOn: 'mouseout',
				stem: true,
				stemSize: 8,
				tipJoint: ['right', 'top'],
				target: $('hm_faces')			
			}
		);
  					
  		
  	}
  	
  	if($('myprofile_btn') != undefined) {
  		
  		$('myprofile_btn').observe('click', function (cl) {
  			Event.stop(cl);
  			if($('sm_1').getStyle('display') == 'none') {
  				new Effect.Appear('sm_1');	
  			} else {
  				$('sm_1').hide();
  			}
  			//
  		});
  		
  	}
  	
  	if($('albumdetails_form') != undefined) {
  		
  		Event.observe('albumdetails_form', 'submit', function(sevent) {
  		
  			Event.stop(sevent);  			

			$('albumdetails_form').request({
	  			onComplete: function(transport) { 
	  				//console.log(transport.responseText);
	  				}
	  			});	
  		});
  		
  	}
  	
  	if($('myprofile_timelineItemAlbumRow') !== undefined) {
  	
  		$$('div[class="myprofile_timelineItemAlbumRow"]').each(function(albumRow){
  			
  			albumRow.addTip(
  				'Click on the pics to see the full album...', 'Quick tip',{
					showOn: 'mouseover',
					hideOn: 'mouseout',
					stem: true,
					stemSize: 8,
					target: albumRow,
					tipJoint: ['left', 'middle']
					}
				);
  					
  			
  			});
  			

  	
  	}
  	
  	if($('profile_albumDetailsView') !== undefined) {
  	
  		$$('a[class="profile_albumDetailLink"]').each(function(detailDiv) {
  			
  			var id = detailDiv.readAttribute('rel');
  			var params = 'uid='+ id;
  			
			detailDiv.addTip('title', {
				showOn: 'mouseover',
				hideOn: 'mouseout',
				stem: true,
				stemSize: 8,
				target: detailDiv.down(1),
				ajax: {
					url: '/ajax/tooltip',
					method: 'post',
					parameters: params
				}
			});
  			
  		});
  	
  	}
	
	if($('inv_form_container') != undefined) {
	 		
 		if($('city') != undefined) {
	 		new Autocomplete('city', { 
	 			serviceUrl:'/service/city' 
	 			});  		
 		}
 		
 		if($('mobile') != undefined) {
 			$('mobile').addTip('<p class="text_lsmall">None will ever know your telephone number except us…</p>', '<p class="text_small cl_facespink">Your details are safe!</p>', {
 				showOn: 'focus',
 				hideOn: 'blur',
 				stem: true,
 				stemSize: 8,
 				tipJoint: [ 'left', 'middle' ],
 				target: $('mobile')
 			});	
 		}

 			
 		Event.observe('signup_form', 'submit', function(form) {
 		
 			Event.stop(form);
 			
 			var counter = 0;

			$$('input[class="front_input"]').each(function(f) {
				
				
				
				if(f.value == "") {
					
					var name = f.getAttribute('id');
					name = 'mf_' + name;
					
					counter = counter +1;
					
					if($(name)) {
					
					Effect.Appear(name, { 
						
						duration: 0.1,
						queue: 'end'
					
					});	
					}			
					
					
				}
				
				
			
			});
			

			if(counter == 0) {
				//console.log('firing the submit');
				$('signupLoading').show();
				$('signup_form').request({
		  			onComplete: function(transport) { 
		  				//console.log(transport.responseText);
						var response = eval('('+transport.responseText+')');
						
						if(response['status'] == 1) {
						
							$('signup_title').update('Check your mailbox!');
							$('inv_form_container').addClassName('text_small');
							$('inv_form_container').update('We sent you an email at <b>'+ response['email'] + '</b> with the activation code: please, follow the instructions on there...');
								
						}
						
						if(response['status'] == 0) {
							
							Effect.Shake('inv_form_container', { queue: 'end' });	
							
						}
	
						if(response['status'] == 2) {
							
							$('signup_title').update('Maybe you already signup!');
							$('inv_form_container').addClassName('text_small');
							$('inv_form_container').update('If you did already signed up in lankafaces but you don\'t remember the password, <a href="/users/forgot" alt="forgot password" >click here to restore your credentials…</a>'); 	
							
						}
		  				
		  			}
				});
			
			} else {
				
				Effect.Appear('inv_textnotice', { 
						
						duration: 1,
						queue: 'end'
					
				});	
				
			}			
 			
 		
 		});  
 			
	}
	
	if($('loginform') != undefined) {
		
		Event.observe('loginform', 'submit', function(form){
		
		Event.stop(form);
		
			$('loginform').request({
				method: 'post',
	  			onComplete: function(transport) { 
	  			
	  				var llocation = window.location.href;

	  				var newUrl = new RegExp('\(.*).com');
	  				var baseUrl = newUrl.exec(llocation)[0];
	  			
	  				if(transport.responseText == "LOGINKO") {

	  					Effect.Appear('floating_loginerror', { queue: 'end' });
	  					
	  					if($('home_login_form')) Effect.Shake('home_login_form', { queue: 'end'});
	  					if($('login_wp')) Effect.Shake('login_wp', { queue: 'end' });
	  					
	  					
	  				} else if (transport.responseText == "LOGINKO-ACCOUNTVERIFICATION") {
						
	  					window.location.href = baseUrl + '/site/verify';
	  				
	  				} else {
	  					
	  					window.location.href = transport.responseText;
	  					
	  				}
	  				
	  			}
			});		
		
		});
		
	}	
	

	if($('myprofile_leftcontainer') != undefined) {
	
		$$('a[class="myprofile_menuItem"]').each(function(item) {	

			item.observe('click', function(e) {					
				
				$('myprofile_topRightAjaxLoading').show();
				Event.stop(e);
				var link = item.readAttribute('href');
				
				item.ancestors()[1].childElements().each(function(k){
					k.removeClassName('lightbold');
				});
				
				item.ancestors()[0].addClassName('lightbold');

				 
				 new Ajax.Updater('myprofile_rightcontainer', link, {
				 		method: 'get',
	  					onComplete: function(transport) {
	  						genCalendarValuesOnSelectFields();
	  						addMyProfileFormListener();	
	  						genGenderValuesOnSelectField();
	  						initAgainChosen();
	  						initProfPicObserver();
	  						initWorkExperienceObserver();
	  						
	  						if($('album_select') != undefined) {
	  						
	  							if($('album_select').getValue() == "New Album") {
	  								$('newAlbum_Field').show();	
	  							} 							
	  							
	  							createUploader();	
	  							  						
	  						}  
	  						
	  						if($('facebookTest') != undefined) {
	  						
	  							initFacebookJsSdk();
	  							
	  						}
	  						
	  						if($('issue_todo') != undefined) {
	  						
	  							initHumaneDate();
	  							
	  						}
	  						
	  						if($('letter_form') != undefined) {
	  							initLetterFormObserver();
	  						}
	  						
	  						if($('rating_one') != undefined) {
	  							var rating_one = new Control.Rating('rating_one');  
	  						}
	  						
	  						if($('ems_view') != undefined) {
	  						
	  							initHumaneDate();
	  							//console.log(new Date());
	  							
	  						}
	  						
	  						$('myprofile_topRightAjaxLoading').hide();
	  						
	  						if($('clothing_gender') != undefined) {
	  							var suffix = $('clothing_gender').readAttribute('value');
	  							$$('input[class="myprofile_inputfieldMedium"]').each(function(inp){
	  								var searchToken = suffix + '_' + inp.readAttribute('name');
	  								var inputPointer = $(searchToken);
	  								if( inputPointer != undefined) {
	  									inp.observe('focus', function(){
	  										//console.log(searchToken);
	  										Effect.Appear(inputPointer, { 
	  											duration: 0.50,
	  											queue: 'end' 
	  											});
	  									});
	  									inp.observe('blur', function(){
	  										inputPointer.hide();
	  									});
	  								}
	  							});
	  						
	  						}
	  						

	  					}
  					});


				
				
			
			});	
		
		});
		
		
		
	
	}
	
	if($('home_login_form') != undefined || $('login_wp') != undefined) {
 		
 	
 		$$('input[class="front_input"]').each(function(g) {
 			
 			g.observe('focus', function() {

 				if(g.identify() == "password") {
 					if(g.getValue()=="password") {
 						g.value = "";
 						g.setStyle({
 							color: 'black'
 						});
 						if(!Prototype.Browser.IE) {
 						 						
 							g.writeAttribute('type','password');
 							
 						} else { 						
							
							var input2 = g.cloneNode(false);
							input2.type='password';
							
							g.stopObserving();
							
							if(g.ancestors()[0] != undefined) {
								g.ancestors()[0].replaceChild(input2,g);
							}
														
												
							
							
 						}
 						
 					}
 						
 				} else {
 				
 					if(g.getValue()=="email") {
 					g.value = "";
 						g.setStyle({
 							color: 'black'
 						});
 					}
 					
 				}
 				
 			
 			});
 		

 			g.observe('blur', function() {
 			
 				if(g.identify() == "password") {
 					if(g.getValue() == "") {
 						g.value = "password";
 						g.setStyle({
 							color: 'gray'
 						});
 						if(!Prototype.Browser.IE) {
 						
 							g.writeAttribute('type','text');
 							
 						} 

 						
 					}
 				} else {
 				
 					if(g.value == "" && !Prototype.Browser.IE) {
 					
 						g.value = "email";
 						g.setStyle({
 							color: 'gray'
 						});
 					
 					}
 				}
 			
 			});
 		
 		}); 		
 		   
	}

	
	if($('profile_picsContainer') != undefined) {	
	
		//generates page numbers for gallery.
		
		if($('nav_nav') == undefined) {
			return;
		}
		
		var totalPics = $('nav_nav').readAttribute('rel');
		var numberPages = Math.ceil(totalPics/6);
		
		var urlPrefix_regex = new RegExp('\(.*)index=');		
		var urlPrefix = urlPrefix_regex.exec($('next').readAttribute('href'))[0];
		
		var data = "";
		
		for (i=0; i<numberPages; i++) {			

				if(i == 0 || i == 1) {
				
					data = data + '<a href="'+ urlPrefix + ((i * 5)) +'" class="ajax_nav_link" id="numpage_'+(i*5)+'">' + (i+1) + '</a>&nbsp;';
				} else {
				
					data = data + '<a href="'+ urlPrefix + ((i * 6)) +'" class="ajax_nav_link" id="numpage_'+(i*6)+'">' + (i+1) + '</a>&nbsp;';
					
				}
			
		}
		
		$('num_pages').update(data);
		
		$$('a[class="ajax_nav_link"]').each(function (s) {
	
			s.observe('click', function(e) {		
				/*
				$$('a[class="numpage_selected"]').each(function(sel) {
					sel.removeClassName('numpage_selected');
				}); */

				Event.stop(e);				
				var link = s.readAttribute('href');
				
				if(link == "#") {				
					Effect.Shake('profile_picsLoader');				
				}

				var offset_regex = new RegExp('\index=(.*)');				
				var offset = offset_regex.exec(link);				
				
					if(offset != null) {
					
						offset_num = parseInt(offset[1]);
					
					} else {
					
						return false;
						
					}
					
					if(parseInt(offset_num) <= parseInt($('nav_nav').readAttribute('rel'))) {

						$$('a[class="ajax_nav_link numpage_selected"]').each(function(kk) {
							if(kk != undefined) {
								kk.removeClassName('numpage_selected');
							}
						});
					
						$('numpage_'+offset_num).addClassName('numpage_selected');
							
							new Ajax.Request(link, {
								  method: 'get',
								  onSuccess: function(transport) {							  	
								  
								    if (transport.responseText != 'NOMORE') {
										
										$('profile_picsLoader').update(transport.responseText);
										
										//console.log(offset_num);
										var offset_back = offset_num - 5;
										
										if(offset_back < 0) {
											$('previous').writeAttribute('href', '#'); 
										} else {
											var link_back = link.replace(offset_num, offset_back);
											$('previous').writeAttribute('href', link_back); 
										}
										
										var link_next = link.replace(offset_num, offset_num+5);					
										$('next').writeAttribute('href', link_next);									
																			
										$$('div[class="profile_picContainerWithAlbum"]').each(function (h) {
	
											
											new Effect.Appear(h, {
												duration: 0.20,
												queue: 'end'
											});
											
											
										});
		
								    } else {
								    
								    	Effect.Shake('profile_picsLoader');	
								    
								    }
	
								}
							});
				} else {
				
					Effect.Shake('profile_picsLoader');		
				
				}			
			});
					
		});
		
		$('numpage_0').addClassName('numpage_selected');

		
		
	}

  
});

