window.onload = function (){
	
	//Autocomplete - CHECK IF .autocomplete_txt CLASS EXISTS > THEN RUNS AUTOCOMPLETE FOR SPECIFIC TYPE OF DATA eg. Loc,Listing
	$$('input.autocomplete_txt').each(function(s) {
		
		//LOCATION AUTOCOMPLETE
		if( s.hasClassName('location_ac') ){ 

			new Ajax.Autocompleter(s.id, "autocomplete_choices", "/feeds/get_location_html_list.asp", {
			  method: "get",
			  paramName: "location", 
			  minChars: 2, 
			  frequency: 0.01,
			  afterUpdateElement : getSelectionId
			});//autocomplete
		
		}//if
		
		//LISTING AUTOCOMPLETE
		if( s.hasClassName('listing_ac') ){ 

			new Ajax.Autocompleter(s.id, "autocomplete_choices", "/feeds/get_listing_html_list.asp", {
			  method: "get",
			  paramName: "listing", 
			  minChars: 2, 
			  frequency: 0.1,			  
			  afterUpdateElement : getSelectionId
			});//autocomplete
		
		}//if			
		//EVENT AUTOCOMPLETE
		if( s.hasClassName('event_ac') ){ 

			new Ajax.Autocompleter(s.id, "autocomplete_choices", "/feeds/get_event_html_list.asp", {
			  method: "get",
			  paramName: "listing", 
			  minChars: 2, 
			  frequency: 0.1,			  
			  afterUpdateElement : getSelectionId
			});//autocomplete
		
		}//if			



	});//each
	
	//=============================================================

	//JS STYLE LOOPS
	//================================
	//STOP ANCHOR LINKS (IF JS ENABLED) - FOR AJAX FUNCTIONS
	//var ajax_links = $$('a.ajax_click'); //$$ search through whole document
	if( $('bd') ){
		var ajax_links = $('bd').select('a.ajax_click'); // search inside a specific element - TODO:for faster results wrap ajax clicks inside specific class/id
		if(ajax_links.length > 0 ){
			for (i=0, l=ajax_links.length; i != l ; i++){
				Event.observe(ajax_links[i], 'click', function(event) {
					Event.stop(event);
				});
			}//for
		}//if
	}

	//ATTACHED FUNCTION TO IMAGE (ADD/REMOVE )
	var ajax_img_links = $$('img.ajax_click');
	if(ajax_img_links.length > 0 ){	
		for (i=0, l=ajax_img_links.length; i != l ; i++){
			Event.observe(ajax_img_links[i].id, 'click', action_listing);		
		}//for
	}//if


	//PROTOTYPE STYLE LOOPS USING EACH
	//================================
/*
	//STOP ANCHOR LINKS (IF JS ENABLED) - FOR LANDING/SEARCH
	$$('table.list tbody tr td a.ajax_click').each(function(s) {
		Event.observe(s, 'click', function(event) {
			Event.stop(event);
		});
	});
	
	//STOP ANCHOR LINKS (IF JS ENABLED) - FOR PROFILE
	$$('.profile_feature a.ajax_click').each(function(s) {
		//alert( s.inspect() );
		Event.observe(s, 'click', function(event) {
			Event.stop(event);
		});
	});

	//ATTACHED FUNCTION TO ADD/REMOVE IMAGE
	$$('img.ajax_click').each(function(s) {
		//alert( s.inspect() );							   
		Event.observe(s.id, 'click', action_listing);		
	});
*/

}//onload


//Desc:ADD/REMOVE LISTING ON SEARCH / LANDING PAGE VIA AJAX.
//Date:30/09/2008
//Author:DA
//=================================================
function action_listing(){
	//alert( this.match('.event') );

	var elid 		= this.id;												//id of listing element
	var listing_id 	= elid.sub('listing_', '');
	var url 		= '/ajax/ajax_add_remove_listing.asp';					//ajax  page	

	var AdType	= shortlist_ad_type; //'<#messages name="AdType" ifblank="0">';	//org=1|venues=3|events=4	
	if ( this.match('.event') ){
		AdType	= 4;
	}
	//alert( AdType );
	
	var loading_image	= "/images/icons/ajax_loading_results.gif";	
	var action_type = ( $('span_' +  listing_id).className == "minus" ) ? "remove" : "add"; //add or remove

	//POST CAT & LOC ID
	var CatID = 0; 	var LocID = 0; var add_loc_cat = 0;
	if ( $('CatID') ){ CatID = $('CatID').value; }
	if ( $('LocID') ){ LocID = ($('LocID').value == "") ? 0 : $('LocID').value ; }
	//if ( $('add_loc_cat') ){ add_loc_cat = $('add_loc_cat').value; }
	
	
	switch(action_type)
	{
	case "remove":
		var action 				= "plus";
		var action_text			= " removed from shortlist";
		var row_class_alt 		= "alt";
		var row_class 			= "";	
		var hilite_start_color 	= "#D63A33";
		var hilite_end_color   	= "#434343";
		var msg_box_bg_col   	= "#D63A33";
		break;    
	case "add":
		var action 				= "minus";
		var action_text			= " added to shortlist";
		var row_class_alt 		= "alt add";
		var row_class 			= "add";			
		var hilite_start_color 	= "#799F3F";
		var hilite_end_color   	= "#434343";
		var msg_box_bg_col   	= "#799F3F";	
		break;
	default:
	}

	var pars 		=  'id='     	+  listing_id;					//AJAX Parameters
		pars   		+= '&AdType=' 	+  AdType;
		pars 		+= '&action=' 	+  action_type;
		pars 		+= '&CatID=' 	+  CatID;		
		pars 		+= '&LocID=' 	+  LocID;
		//pars 		+= '&add_loc_cat=' 	+  add_loc_cat;		
		//alert('id = ' + elid + "\nAdType = " + AdType + "\nPars = " + pars);

	//REPLACE IMG WITH LOADING IMG
	$(elid).src = loading_image;
	//DISABLE CLICK ON LOADING IMG
	$(elid).stopObserving( 'click', action_listing );

	new Ajax.Request(url, {
	method: 'post',
	parameters: pars,

		onSuccess: function(transport) {
		
			if ( transport.responseText != "ko" ) {

				//GET RESULTS INTO ARRAY
				var result = transport.responseText.split("###");//alert(result.inspect());

				//SWAP PLUS IMAGE WITH MINUS AND CHANGE ALT/TITLE 
				$(elid).src 	= "/images/icons/" + action + ".gif";
				if(action == "plus"){
					$(elid).title	= "Add to shortlist";
					$(elid).alt		= "Add to shortlist";
				
				}else{
					$(elid).title	= "Remove from shortlist";
					$(elid).alt		= "Remove from shortlist";
				}
				//REMOVE ADD_REMOVE_MSG IF EXIST
				if ($('add_remove_msg'))
					$('add_remove_msg').remove();
	
				//UPDATE SHORTLIST EFFECT
				$$('.shortlist_no').each(function(s) {
					new Effect.Highlight(s.parentNode, { startcolor: hilite_start_color, endcolor: hilite_end_color })
				});


				//========================================================
				//========================================================
				//SHOW POP IF NO COOKIES AND 1ST LISTING ADDED
				if ((result[0] == 1) && (action == "minus")) {
				
					cookieName = getCookie('dontshow_sl');	//alert(cookieName);
				
					//only display if no cookie
					if( cookieName==null || cookieName=="" ){			
					
						var pars2 = "listing_name=" + result[1]; 
						
						Lightview.show({
							href: '/sl_popup_iframe.asp',
							rel: 'ajax',
							//title: 'Listing Added',
							//caption: 'Listing Added',
							options: {
								autosize: false,
								height: 500,
								//topclose: true,
								ajax: {
									method: 'get',
									parameters: pars2 ,
									//evalScripts: true,
									onComplete: function(){ 
													//$('name').focus(); alert("yo yo ");
												}
								}
							}
						});
				
					}//if
					
				}//if
				//========================================================
				//========================================================
				
				
				//UPDATE SHORTLIST NO 
				$$('.shortlist_no').each(function(s) {
					s.innerHTML = result[0];
				});

				$$('.shortlist_link').each(function(s) {
					s.title = result[0] +  " items on your shortlist";
				});				
				
				//IF NO ITEMS ARE IN SHORLIST > DISABLE NEXT BUTTONS. INSERT $('no_items_help') IF ALL ITEM ARE REMOVED
				if ( $('form_shortlist_step1') ){
					if( result[0]==0 ){
						$('btn_shortlist_next_top').hide();
						$('btn_shortlist_next_bot').hide();

						$('form_shortlist_step1').insert( {top: '<p id="no_items_help" class="page_help">You have removed all items from your shortlist.</p>' } );
					}
					else{
						$('btn_shortlist_next_top').show();
						$('btn_shortlist_next_bot').show();
						if($('no_items_help')){
							$('no_items_help').remove();
						}
					}
				}
			
				
				//CREATE  add_remove_msg DIV
				var msg_box = new Element( 'div' );
				msg_box.id = "add_remove_msg";
				msg_box.setStyle( 'background-color: ' + msg_box_bg_col );
				msg_box.update(result[1] + action_text);

				//SHOW USER UPDATE MESSAGE 				
				//Element.insert( $('doc4'), {'after':msg_box} );
				Element.insert( $('doc4'), {'after':msg_box} );
				

				//FADE OUT UPDATE MESSAGE
				new Effect.Fade('add_remove_msg', { 
					duration: 4.0,
					from: 0.9, 
					to: 0.0
				});

				//IF IN LANDING/SEARCH PAGE - CHANGE CLASS OF ROW
				if ( $('listing_results') ){
					if( $('tr_' + listing_id).match('.alt') ){ 
						$('tr_' + listing_id).className = row_class_alt;
					}else{
						$('tr_' + listing_id).className = row_class;
					}
				}
				
				//CHANGE OUTSIDE SPAN FROM PLUS TO MINUS - !IMPORTANT! - THE ACTION_TYPE IS RULED BY THIS 
				$('span_' +  listing_id).className = action;
				
				//RE-INITIATE FUNCTION TO CLICK
				$(elid).observe( 'click', action_listing );
	
			}//if
			
		}//onSuccess
	});

}//funciton