		var batch = 10;
		var total_pages = 1;
		var current_page = 1;
		var accordion = null;
		var loader_obj = null;

		var app_root_url = "../../";

		var total_records_cnt = 0;


		function getCountries() {                
			var jSonRequest = new Json.Remote(app_root_url + "modules/countries.php",{onComplete: function(countries){
				countries = countries.countries;				
				countries.each(function(country){					
					var opt = new Element('option', {'value':country.name}).setHTML(country.name);
					opt.injectInside($('selCountry'));
				});	
			}}).send();
		}


		function requestProfiles(mydata) {                
		  $('h5PeopleJoined').addClass('loading');

                var url = app_root_url + "modules/profiles.php";                        
			        mydata.search_name = $("txtSearchName").getValue();			

				var myAjax = new Ajax(url, {
					method: 'post', 					
					postBody: mydata,	
					onComplete: function(responseObj){                                                                        
						jsonobj = Json.evaluate(responseObj);				
						page_info = jsonobj.page_info;
						persons = jsonobj.persons;	

						total_records_cnt = page_info.total_records;

						displayPageInfo(page_info);
						displayPersonsProfile(persons);
					       $('h5PeopleJoined').removeClass('loading');

					},
                                       onFailure: function(){
                                                alert('error');
                                       }
				}).request();    
		}

        function sendInvites(mydata) 
        {
		  $('h5InviteHere').addClass('loading');
                var url = app_root_url + "modules/forward.php";                        
				var myRegAjax = new Ajax(url, {
					method: 'post', 					
					postBody: mydata,					
					onComplete: function(responseObj){              
						 $('txtInvite1').setProperty('value','');                                                          
						 $('txtInvite2').setProperty('value','');                                                          
						 $('txtInvite3').setProperty('value','');                                                          
						 $('txtInvite4').setProperty('value','');                                                          
						 $('txtInvite5').setProperty('value','');                                                          						
						 $('txtInvite6').setProperty('value','');                                                          						
			
						jsonobj = Json.evaluate(responseObj);				
						
			                     if(jsonobj.invalid_emails){
							displayMessage($('forwardoption2'), 'Warning', 'Unable to send invites to the following addresses: ' + jsonobj.invalid_emails + '. Please enter valid email addresses.', 3000);
			                    }else{
							if(parseInt(jsonobj.status)==1){
								displayMessage($('forwardoption2'), 'Success', 'Invites were successfully sent to your friends. Thank you!', 1000);
							}else{
								displayMessage($('forwardoption2'), 'Warning', 'Please enter valid email addresses.', 1000);
							}
			                    }						
						$('h5InviteHere').removeClass('loading'); 

					}
				}).request();                
        }

        function sendFriendsterInvites(mydata) 
        {
		  $('h5InviteHere').addClass('loading');
		  $('spSendingProgress').setHTML('(Sending in progress...This may take a while. Please do not close this window.)');
                var url = app_root_url + "modules/invite.php";                        
				var myRegAjax = new Ajax(url, {
					method: 'post', 					
					postBody: mydata,					
					onComplete: function(responseObj){        
						 $('txtFEmail').setProperty('value','');                                                          
						 $('txtFPassword').setProperty('value','');                                                          

						jsonobj = Json.evaluate(responseObj);				
						
			                     if(parseInt(jsonobj.status)==1){
							displayMessage($('divInviteFormHolder'), 'Success', jsonobj.msg, 3000);
			                    }else{
							displayMessage($('divInviteFormHolder'), 'Warning', jsonobj.msg, 2000);
			                    }						
						$('h5InviteHere').removeClass('loading');
						$('spSendingProgress').setHTML('');
 
					}
				}).request();                
        }


        function addProfile(mydata) 
        {
		  $('h5JoinHere').addClass('loading'); 	
                var url = app_root_url + "modules/register.php";                        
				var myRegAjax = new Ajax(url, {
					method: 'post', 					
					postBody: mydata,					
					onComplete: function(responseObj){

						jsonobj = Json.evaluate(responseObj);	

						switch(parseInt(jsonobj.status))
						{
							case 2:
								 $('hidSenderName').setProperty('value', $('txtFirstName').getValue()+' '+$('txtLastName').getValue());	                           
								 $('hidSenderName2').setProperty('value', $('txtFirstName').getValue()+' '+$('txtLastName').getValue());	                           
								 $('divSignUpFormHolder').setStyle('display', 'none');				 
								 $('divInviteFormHolder').setStyle('display', 'block');
								 accordion.display(1);				
								 displayMessage($('divInviteFormHolder'), 'Success', 'Thanks for signing up and Welcome back to WarmingSign.org!', 2000); 						 
								 break;
							case 3:
								displayMessage($('divSignUpFormHolder'), 'Warning', 'Please enter a valid email address.', 1000);
								break;    
							case 4:
								displayMessage($('divSignUpFormHolder'), 'Warning', 'Please enter values on all fields.', 1000);
							case 5:
								displayMessage($('divSignUpFormHolder'), 'Warning', 'Please make sure that you entered valid values on all fields.', 1500);
								break;    
							case 0:
								displayMessage($('divSignUpFormHolder'), 'Warning', 'Please enter values on all fields.', 1000);
								break;    
							default:
								 $('hidSenderName').setProperty('value', $('txtFirstName').getValue()+' '+$('txtLastName').getValue());	                           
								 $('hidSenderName2').setProperty('value', $('txtFirstName').getValue()+' '+$('txtLastName').getValue());	                           

								 $('hidUserId').setProperty('value', parseInt(jsonobj.status));	                           
								 $('hidUserId2').setProperty('value', parseInt(jsonobj.status));	                           

								 $('divSignUpFormHolder').setStyle('display', 'none');				 
								 $('divInviteFormHolder').setStyle('display', 'block');
								 accordion.display(1);	
								 SendDataToFlashMovie();
								 displayMessage($('divInviteFormHolder'), 'Success', 'Thank you for signing up ' + $('txtFirstName').getValue() + ', and Welcome to WarmingSign.org!', 2000);
		 						 requestProfiles({'pg': 1, 'batch': batch});		
								 break;   
						}
						$('h5JoinHere').removeClass('loading');

					}
				}).request();                
		  	
        }
		
		function resetPageLinks()
		{
			$$('li.first').removeClass('disabled');
			$$('li.prev').removeClass('disabled');
			$$('li.next').removeClass('disabled');
			$$('li.last').removeClass('disabled');
		}
		
		function displayPageInfo(info) {
			resetPageLinks();

			total_pages = parseInt(info.total_pages);
			current_page = parseInt(info.current_page);

			$$('span.totalPages').setHTML(info.total_pages);
			$$('span.currPageNo').setHTML(info.current_page);		
			$('txtPage1').setProperty('value', info.current_page);		
			$('txtPage2').setProperty('value', info.current_page);		
		
			if(info.current_page==1){				
				$$('li.first').addClass('disabled');
				$$('li.prev').addClass('disabled');
			}			
			
			if(info.current_page==info.total_pages){				
				$$('li.last').addClass('disabled');
				$$('li.next').addClass('disabled');
			}
		}
		
		function displayPersonsProfile(persons) {
			var peoples_section = $('ulList').empty();
			var cnt = 0;
			var tmp_pageno = total_records_cnt - (batch * (current_page - 1)); 
			persons.each(function(person){
					
				var li_el     = new Element('li', {'class': 'row'});
				var ul_el = new Element('ul');					
				var itemno   = new Element('li', {'class': 'number'}).setHTML((tmp_pageno-cnt) , '. ' ).injectInside(ul_el);
				var name   = new Element('li', {'class': 'column'}).setHTML(person.fname, ' ', person.lname).injectAfter(itemno);
				var country   = new Element('li', {'class': 'column'}).setHTML(person.location).injectAfter(name);
				ul_el.injectInside(li_el);
				li_el.injectInside(peoples_section);		
				cnt++;
			});
		}		
		
		function initProfiles() {

			var pageno = current_page;

			$('btnGo1').addEvent('click', function(e) {
				e = new Event(e).stop();				
				requestProfiles({'pg': $('txtPage1').getValue(), 'batch': batch});
			});		

			$('btnGo2').addEvent('click', function(e) {
				e = new Event(e).stop();				
				requestProfiles({'pg': $('txtPage2').getValue(), 'batch': batch});				
			});		
            
			$('btnSubmit').addEvent('click', function(e) {
				e = new Event(e).stop();				
				addProfile($('frmSignUp'));
			});		            

			$('btnInvite').addEvent('click', function(e) {
				e = new Event(e).stop();				
				sendInvites($('frmInvite'));
			});		            
			$('btnSend').addEvent('click', function(e) {
				e = new Event(e).stop();				
				sendFriendsterInvites($('frmSendFriendster'));
			});		            

			$$('li.first').addEvent('click', function(e) {
				e = new Event(e).stop();				
				requestProfiles({'pg': 1, 'batch': batch});
			});		
			
			$$('li.last').addEvent('click', function(e) {
				e = new Event(e).stop();				
				requestProfiles({'pg': total_pages, 'batch': batch});
			});		
			
			$$('li.prev').addEvent('click', function(e) {
				e = new Event(e).stop();		
				var newpage = current_page - 1;				
				requestProfiles({'pg': newpage, 'batch': batch});
			});		
			
			$$('li.next').addEvent('click', function(e) {
				e = new Event(e).stop();				
				var newpage = current_page + 1;
				requestProfiles({'pg': newpage, 'batch': batch});
			});		
			
			$('txtPage1').addEvents({
				'keydown' : function(event){
					var e = new Event(event);
					if (e.key=='enter'){
						$('btnGo1').fireEvent('click', event);
					};
					if(((e.code>47) && (e.code<58)) || ((e.code>95) && (e.code<106))){
						return true;
					}else{						
						if (['enter', 'up', 'down', 'left', 'right', 'space', 'backspace', 'delete', 'esc'].contains(e.key)){							
							return true;
						}						
						return false;
					}
				},
				'blur':function(event){
					var e = new Event(event);
					$('btnGo1').fireEvent('click', event);
				}				
			});		


			$('txtPage2').addEvents({
				'keydown' : function(event){
					var e = new Event(event);
					if (e.key=='enter'){
						$('btnGo2').fireEvent('click', event);
					};
					if(((e.code>47) && (e.code<58)) || ((e.code>95) && (e.code<106))){
						return true;
					}else{						
						if (['enter', 'up', 'down', 'left', 'right', 'space', 'backspace', 'delete', 'esc'].contains(e.key)){							
							return true;
						}						
						return false;
					}
				},
				'blur':function(event){
					var e = new Event(event);
					$('btnGo2').fireEvent('click', event);
				}				
			});		

			
			requestProfiles({'pg': 1, 'batch': batch});		
		}
	
		function initAccordionSections(){

			$('divInviteFormHolder').setStyle('display', 'none');
			accordion = new Accordion('h5.accordionToggler', 'div.accordionElement', {
				opacity: true,
				alwaysHide: true,
				onActive: function(toggler, element){
					toggler.setStyle('color', '#a13939');					
				},
 
				onBackground: function(toggler, element){
					toggler.setStyle('color', '#555');
					toggler.setStyle('cursor', 'pointer');					
				}
			}, $('divAccordionSections'));

			 
		}



		function displayMessage(el, err_type, err_msg, delay){
			el_top = parseInt(el.getTop());		
			el_left = parseInt(el.getLeft());		
			var msg_box = 'divMessageBox1';
			if(err_type=='Error'){
				msg_box = 'divMessageBox1';
			}
			if(err_type=='Warning'){
				msg_box = 'divMessageBox';
			}
			if(err_type=='Success'){
				msg_box = 'divMessageBox2';
			}
			$('divMessageBox'+err_type).setHTML(err_msg + '<br><br>&nbsp;');
			$(msg_box).setStyle('top', el_top + 10);
			$(msg_box).setStyle('left', el_left + 80);
			
			var box = $(msg_box);
			var fx = box.effects({duration: 1000, transition: Fx.Transitions.Quart.easeOut}); 
			fx.start({
				'opacity':1	
			}).chain(function() {
				this.start.delay(delay, this, {
					'opacity': 0
				});
			});
			
		}
	
		window.addEvent('domready', function(){
			$$('div.messageBox').setStyle('opacity', '0');					

			$('h5JoinHere').addClass('loading'); 	
			$('h5PeopleJoined').addClass('loading'); 	

			initAccordionSections();				

			getCountries();
			$('h5JoinHere').removeClass('loading'); 	

			initProfiles();		
			$('h5PeopleJoined').removeClass('loading'); 	

		}); 
