$(document).ready(function(){
	$('#frm-user-search').submit(function(){
		searchTxt = '';
		srch_postcode = $('#postcode').attr('value');
		srch_firstname = $('#user_firstname').attr('value');
		srch_surname = $('#user_surname').attr('value');
		srch_state = $('#work_state').attr('value');
		srch_therapeutic_services = $('#therapeutic_services').attr('value');
		srch_gender = $('input[@name="user_gender"]:checked').attr('value');
		psuburb = $('#psuburb').attr('value');
		therapeutic_services = $('#therapeutic_services').attr('value');
		if (srch_firstname!=''){
			searchTxt += '&srch_firstname='+escape(srch_firstname);
		}
		if (srch_surname!=''){
			searchTxt += '&srch_surname='+escape(srch_surname);
		}
		if (srch_state!=''){
			searchTxt += '&srch_state='+escape(srch_state);
		}
		if (srch_therapeutic_services!=''){
			searchTxt += '&srch_service='+escape(srch_therapeutic_services);
		}
		if (srch_postcode!=''){
			searchTxt += '&psuburb='+escape(srch_postcode);
		}
		if (therapeutic_services!=''){
			searchTxt += '&therapeutic_services='+escape(therapeutic_services);
		}
		searchTxt = 'search=true'+searchTxt;
		getUserList(searchTxt);
		return false;
	});
})

$('#search-user-confirm-btn').click(function(){
	$('#frm-user-search').submit();
});

function getUserList(param){
	doPageLoading();
	$.getJSON('php2xml/getUsersList.php?'+param,
		function(data){
			endPageLoading();
			if (data.items.length == 0){
				//$('#page-body-content').html('<h3>Search Result(s)</h3><table class="field-table"><tr><td>Sorry no matches found. <<a href="search.php">new search</a>></td></tr></table>');
				$('#page-body-content').html('<h3>Search Result(s)</h3><table class="field-table"><tr><td>Sorry no matches found.</td></tr></table>');
			}else{
				$('#page-body-content').html('<h3>Search Result(s)</h3><table class="field-table" width="100%" cellpadding="5" cellspacing="1"></table>');
				$('#page-body-content .field-table').append(
					'<tr class="row-header">'
					+'<th><div class="link" id="sort-user-firstname">Name '+(data.sortby=="firstname" ? (data.orderby) : '')+'</div></th>'
					+'<th><div class="link" id="sort-user-lastname">Suburb '+(data.sortby=="suburb" ? (data.orderby) : '')+'</div></th>'
					+'<th><div class="link" id="sort-user-username">State '+(data.sortby=="state" ? (data.orderby) : '')+'</div></th>'
					+'<th><div class="link" id="sort-user-gender">Phone</div></th>'
					+'<th><div class="link" id="sort-user-group">Email</div></th>'
					+'<th><div class="link" id="sort-user-created">Therapeutic Services</div></th>'
					+'</tr>'
				);
				$.each(data.items, function(i,item){
						suburb = item.suburb == '' ? '-' : item.suburb;
						$('#page-body-content .field-table').append(
							'<tr class="row-'+(i%2==0 ? 'even' : 'odd')+' '+(item.inactive==1 ? 'item-disabled' : '')+'">'
							+'<td>'+item.title+' '+item.fname+' '+item.lname+'</td>'
							+'<td align="center">'+suburb+'</td>'
							+'<td align="center">'+item.state+'</td>'
							+'<td align="center" nowrap>'+item.phone+'</td>'
							+'<td><a href="'+item.email+'">'+item.email+'</a></td>'
							+'<td>'+item.service+'</td>'
							+'</tr>'
						);
				});
				
				data.page = parseInt(data.page);
				data.nopages = parseInt(data.nopages);
				
				pagingTXT = 'Page '+data.page+' of '+data.nopages+'<table cellpadding="3" cellspacing="1"><tr>';
				
				if (data.page > 1){
					pagingTXT += '<td><div class="link" onClick="viewUserPage(1)">first</div></td>';
				}
				
				for (i=(data.page - 5<1 ? 1 : data.page-5);i<=(data.page+5>data.nopages ? data.nopages : data.page+5);i++){
					if (i==data.page){
						pagingTXT += '<td><div class="paging-current"> '+i+' </div></td>';
					}else{
						pagingTXT += '<td><div class="link" onClick="viewUserPage('+i+')"> '+i+' </div></td>';
					}
				}

				if (data.page < data.nopages){
					pagingTXT += '<td><div class="link" onClick="viewUserPage('+data.nopages+')">last</div></td>';
				}

				pagingTXT += '</tr></table>';

				$('#page-body-content .field-table').append(
					'<tr><td colspan="10" align="center">'+pagingTXT+'</td></tr>'
				)
				$('#sort-user-username').click(function(){
					getUserList('sortby=username');
				});
				$('#sort-user-firstname').click(function(){
					getUserList('sortby=firstname');
				});
				$('#sort-user-lastname').click(function(){
					getUserList('sortby=lastname');
				});
				$('#sort-user-gender').click(function(){
					getUserList('sortby=gender');
				});
				$('#sort-user-group').click(function(){
					getUserList('sortby=group');
				});
				$('#sort-user-created').click(function(){
					getUserList('sortby=created');
				});
				$('#sort-user-status').click(function(){
					getUserList('sortby=status');
				});
			}
		}
	);
}

jQuery.extend({
    //dims the screen
    dimScreen: function(speed, opacity, callback) {
        if(jQuery('#__dimScreen').size() > 0) return;
        
        if(typeof speed == 'function') {
            callback = speed;
            speed = null;
        }

        if(typeof opacity == 'function') {
            callback = opacity;
            opacity = null;
        }

        if(speed < 1) {
            var placeholder = opacity;
            opacity = speed;
            speed = placeholder;
        }
        
        if(opacity >= 1) {
            var placeholder = speed;
            speed = opacity;
            opacity = placeholder;
        }

        speed = (speed > 0) ? speed : 500;
        opacity = (opacity > 0) ? opacity : 0.5;
        return $('<div>').attr({
                'id': '__dimScreen'
                ,'fade_opacity': opacity
                ,'speed': speed
            }).css({
            'background-color': '#000'
            ,'height': $(document).height() + 'px'
            ,'left': '0px'
            ,'opacity': 0
            ,'position': 'absolute'
            ,'top': '0px'
            ,'width': $(document).width() + 'px'
            ,'zIndex': 999
        }).appendTo('body').fadeTo(speed, opacity, callback);
    },
    
    //stops current dimming of the screen
    dimScreenStop: function(callback) {
        var x = jQuery('#__dimScreen');
        var opacity = x.attr('fade_opacity');
        var speed = x.attr('speed');
        x.fadeOut(speed, function() {
            x.remove();
            if(typeof callback == 'function') callback();
        });
    }
});


function doPageLoading(){
//	$('#loading-anime').show();
	$.dimScreen(500, 0.7);
}
function endPageLoading(div){
//	$('#loading-anime').fadeOut();
//	sessionTimeOut();
	$.dimScreenStop();
}

function viewUserPage(page){
	getUserList('page='+page)
}

