var util = {

	goTo : function (url) {
		window.location = url;
	},
	
	openWindow : function (url) {
		window.open ("http://www.javascript-coder.com","mywindow","location=1,status=1,scrollbars=1"); 
	},

	// Tooltip handling

	toolTip : function (url, e, obj) {

		obj.onmouseout = function () {
			util.hideToolTip();
		}
		
		var posx = 0;
		var posy = 0;
		
		if (!e) 
			var e = window.event;
		
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft +
			document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop +
			document.documentElement.scrollTop;
		}
		
		$('#EventsCalendar').css({
			'top': posy+2,
			'left': posx+2,
			'position': 'absolute'
		});
	
		if (obj !== util.obj) {
			$('#EventsCalendar').text('Loading ...');
			$("#EventsCalendar").load(BASE_URL + url);
			util.obj = obj;
			$("#EventsCalendar").fadeIn('slow');
		}
		
		$("#EventsCalendar").show();
	},
	
	showToolTip : function () {
		$("#EventsCalendar").show();
	},
	
	hideToolTip: function () {
		$("#EventsCalendar").hide();
	},

	// Add more image input in band upload fotos

	imageNum : 5,

	addImage : function () {
		util.imageNum += 1;
		
		if (util.imageNum>15) return;
		
		var imgHtml = '<div class="column col05"><strong>Image ' + util.imageNum + '</strong></div><input name="image' + util.imageNum + '" type="file" size="20" /><br clear="all" />';
		
		$('#add_image').before(imgHtml);
		$('#countImage').val(util.imageNum);
	}
}

var filter = {
	
	getCitiesByCountryState : function (namePrefix, inVenue) {
		
		$('#city').text('Loading ...');

		$.ajax({
			type: "GET",
			url: BASE_URL + "/cities/getCitiesByCountryState/country_id:" + $('select#country_id').val() + '/state_id:' + $('select#state_id').val() + '/namePrefix:' + namePrefix + '/inVenue:' + inVenue,
			success: function(msg){
				
				$('#city').html(msg);

				if(window.location.href.indexOf('featuredItems') > -1){
					filter.getBandsByState();
				}
			}
		});
		
	},	

	getStateByCountry : function (namePrefix, inVenue) {
		
		$('#state').text('Loading ...');
		
		$.ajax({
			type: "GET",
			url: BASE_URL + "/states/getStateByCountry/country_id:" + $('select#country_id').val() + '/namePrefix:' + namePrefix + '/inVenue:' + inVenue,
			success: function(msg){		
				$('#state').html(msg);
				var status = $('#_extra').val();

				if(status == '__nostate')
					filter.getCitiesByCountryState(namePrefix);

				if(window.location.href.indexOf('featuredItems') > -1){
					filter.getBandsByCountry();
				}

				/*
				if (msg != 'no_state') 
					$('#state').html(msg);
				else {
					$('#state').text('No state.');
					filter.getCitiesByCountry(namePrefix);
				}
				*/
			}
		});

	},
	
	getSuburbByCountryStateCity : function (namePrefix, inVenue) {
		
		if(window.location.href.indexOf('featuredItems') > -1){
			filter.getBandsByCity();
		}		
		
		if(!$('#suburb')[0])
			return;
			
		$('#suburb').text('Loading ...');
		
		var url = BASE_URL + "/suburbs/getSuburbsByCountryCityState/city_id:" + $('select#city_id').val() + '/namePrefix:' + namePrefix + '/inVenue:' + inVenue;		
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				
				$('#suburb').html(msg);

			}
		});
		
	},
	
	getCitiesByCountryStateOnBand : function (namePrefix, inVenue) {
		
		$('#city_manager').text('Loading ...');

		$.ajax({
			type: "GET",
			url: BASE_URL + "/cities/getCitiesByCountryStateOnBand/country_id:" + $('select#country_manager_id').val() + '/state_id:' + $('select#state_manager_id').val() + '/namePrefix:' + namePrefix + '/inVenue:' + inVenue,
			success: function(msg){
				
				$('#city_manager').html(msg);

				if(window.location.href.indexOf('bands') > -1){					
					filter.getBandManagerByState();
				}				
				
			}
		});
		
	},	

	getStateByCountryOnBand : function (namePrefix, inVenue) {
		
		$('#state_manager').text('Loading ...');
		
		$.ajax({
			type: "GET",
			url: BASE_URL + "/states/getStateByCountryOnBand/country_id:" + $('select#country_manager_id').val() + '/namePrefix:' + namePrefix + '/inVenue:' + inVenue,
			success: function(msg){		
				$('#state_manager').html(msg);
				var status = $('#_extraManager').val();

				if(status == '__nostate')
					filter.getCitiesByCountryState(namePrefix);

				if(window.location.href.indexOf('bands') > -1){
					filter.getBandManagerByCountry();
				}
				/*
				if (msg != 'no_state') 
					$('#state').html(msg);
				else {
					$('#state').text('No state.');
					filter.getCitiesByCountry(namePrefix);
				}
				*/
			}
		});

	},
	
	getSuburbByCountryStateCityOnBand : function (namePrefix, inVenue) {
		
		if(window.location.href.indexOf('bands') > -1){
			filter.getBandManagerByCity();
		}
		
		
	},
	
	getVenuesBySuburb : function () {
		
		if(!$('#venue')[0])
			return;
		
		$('#venue').text('Loading ...');
		
		var url = BASE_URL + "/venues/getVenuesBySuburb/suburb_id:" + $('select#suburb_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				
				$('#venue').html(msg);
				
			}
		});
	}, 
	
	getBandManagerByCountry : function () {
		
		if(!$('#band_manager')[0])
			return;
		
		$('#band_manager').text('Loading ...');
		
		var url = BASE_URL + "/members/getBandManagerByCountry/country_id:" + $('select#country_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				$('#band_manager').html(msg);
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				*/
				//filter.getStateByCountry(namePrefix);
				
					
			}
		});
	}, 
	
	getBandManagerByState : function () {
		
		if(!$('#band_manager')[0])
			return;
		
		$('#band_manager').text('Loading ...');
		
		var url = BASE_URL + "/members/getBandManagerByState/state_id:" + $('select#state_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				$('#band_manager').html(msg);
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				*/
				//filter.getStateByCountry(namePrefix);
				
					
			}
		});
	}, 
	
	getBandManagerByCity : function () {
		
		if(!$('#band_manager')[0])
			return;
		
		$('#band_manager').text('Loading ...');
		
		var url = BASE_URL + "/members/getBandManagerByCity/city_id:" + $('select#city_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				$('#band_manager').html(msg);
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				*/
				//filter.getStateByCountry(namePrefix);
				
					
			}
		});
	}, 
	
	getBandsByCountry : function () {
		
		if(!$('#band')[0])
			return;
		
		//$('#loadingBand').show();
		//$('#band').hide();
		$('#band').text('Loading ...');
		
		var url = BASE_URL + "/bands/getBandsByCountry/country_id:" + $('select#country_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				$('#band').html(msg);
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				*/
				//filter.getStateByCountry(namePrefix);
				
					
			}
		});
	}, 

	getBandsByState : function () {
		
		if(!$('#band')[0])
			return;
		
		//$('#loadingBand').show();
		//$('#band').hide();
		$('#band').text('Loading ...');
		
		var url = BASE_URL + "/bands/getBandsByState/state_id:" + $('select#state_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
				$('#band').html(msg);
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				
				//filter.getStateByCountry(namePrefix);
				*/
					
			}
		});
	}, 
	
	getBandsByCity : function () {
		
		if(!$('#band')[0])
			return;
		
		//$('#loadingBand').show();
		//$('#band').hide();
		$('#band').text('Loading ...');
		
		var url = BASE_URL + "/bands/getBandsByCity/city_id:" + $('select#city_id').val();
		
		$.ajax({
			type: "GET",
			'url': url,
			success: function(msg){
		
				/*
				if(is_array(msg)){
					var aNames = msg.split(",");					
				}else{
					var aNames = new Array(1);
					aNames[0] = msg.substring(0, msg.length - 2);
				}
		
				new AutoComplete(
					aNames,
					document.getElementById('band'),
					document.getElementById('theDiv'),
					25
				);
				
				$('#loadingBand').hide();
				$('#band').show();
				*/
				$('#band').html(msg);
				
				//filter.getStateByCountry(namePrefix);
				
					
			}
		});
	} 
	
}

var is_array = function (arr) {
    return typeof arr === 'object' && typeof arr.length === 'number' &&
                !(arr.propertyIsEnumerable('length')) &&
                typeof arr.splice === 'function';
};


