var d = new Date();
var currentMonth = (d.getUTCMonth()+1) + "/" + d.getFullYear();
var geocoder;


$(document).ready(function() {
	//$("#login").toggle();	
});
function quicklogin() {
	$("#login").show();
}

function geocodePostcode() {
	$("#latitude").val('');
	$("#longitude").val(''); 
var localSearch = new GlocalSearch();
	var pcode = $("#postcode").val();
	if (pcode.length > 0) {
		localSearch.setSearchCompleteCallback(null, function() {
			if (localSearch.results[0]) {		
				var resultLat = localSearch.results[0].lat;
				var resultLng = localSearch.results[0].lng;
				var point = new GLatLng(resultLat,resultLng);
				$("#latitude").val(resultLat);
				$("#longitude").val(resultLng);
			} else {
				alert("Postcode not found!");
			}
		});	
		localSearch.execute(pcode + ", UK");
	}
}

function geocodePostCodes(pcode) {
    var addresses = new Array;
    addresses.push( new MMAddress( { 'postal_code' : pcode, 'country_code' : 'GB' } ) );
    if (addresses.length > 0)
        geocoder.geocode( addresses );
}

function handleGeocodeResults( result_set ) {
    var markers = new Array;
    var addresses = result_set;

    for (var i = 0, j = addresses.length; i < j; i++) {
        var result = addresses[i];
        for (var k = 0, l = result.length; k < l; k++) {
            if (result[k] && result[k].coords) {
                var r = new String(result[k].coords);
				r = r.substring(1, r.length-1);
				r = r.split(",");
				$("#latitude").val(r[0]);
				$("#longitude").val(r[1]);
            }
        }
    }
}

function toggleDateTime(active) {
	
	if (active == 'one-off') {
		$("#oneoff").show();
		$("#recurring").hide();
	} else {
		$("#oneoff").hide();
		$("#recurring").show();		
	}
}

function updateCurrent(current) {
	currentMonth = current;
}

function getActivityTimes(id, range) {
	
	$.post("/common/ajax/activity-times.php", 'id='+id+"&range="+range+"&mon="+currentMonth, function(data, status){
			
		updateCurrent(data.current);
		rebuildTimes(data);
			
	},'json');
}

function getEventTimes(id, range) {
	
	$.post("/common/ajax/event-times.php", 'id='+id+"&range="+range+"&mon="+currentMonth, function(data, status){
			
		updateCurrent(data.current);
		rebuildTimes(data);
			
	},'json');
}

function rebuildTimes(data) {
	
	var options = '';
	var li = '';
	var cl = '';
	var last = '';
	
	for (i=1; i<=data.count; i++) {
		options += '<option value="'+data['val_'+i]+'">'+data['lbl_'+i]+'</option>\n';
		if (i == 1) { cl='class="selected" '; } else { cl=''; }
		if (i == data.count) { last='class="last" '; } else { last=''; }
		li += '<li '+cl+last+' rel="'+data['val_'+i]+'">'+data['lbl_'+i]+'</li>\n';
	}
	
	$("#datetime_mnu").html('<select name="datetime" id="datetime">'+options+'</select>');
	$("#datetime").niceSelect2();
	
	var d = new Date();

	if (currentMonth == (d.getMonth()+1)+"/"+d.getFullYear()) {
		$("#prevMonth").hide();
		$("#divMonth").hide();
	} else {
		$("#prevMonth").show();
		$("#divMonth").show();
	}
}

function toggleAvatars(div) {
	
	if (div) {
		var pos = $("."+div).position();
		$(".avatars").css("left", (pos.left+92)+"px");
		$(".avatars").css("top", pos.top+"px");
	}
	
	$(".avatars").toggle(600);
}
function setAvatar(id, img, save) {
	$("#avatar").val(id);
	$("#myavatar").attr("src", "/images/avatars/"+img);
	$(".avatars").toggle(600);
	
	if (save == 1) {
		$.post("/common/ajax/avatar.php", 'badge_id='+id);
	}
}

function saveRating(mem_act_id, act_id, rating, iteration) {
	$.post("/common/ajax/rating.php", 'member_activity_id='+mem_act_id+"&activity_id="+act_id+"&rating="+rating+"&parent="+iteration,function(data, status) { 
		
		var stars = '';
		
		for (i=1; i<=data.rating; i++) {
			stars += '<img src="/images/star_yellow.gif" alt="star" /> ';
		}
		if (data.rating < 5) {
			for (i=(data.rating+1); i<=5; i++) {
				stars += '<img src="/images/star_grey.gif" alt="star" /> ';
			}
		}
		
		$("#"+data.parent+"_stars").html(stars);
		$("#"+data.parent+"_inst").html("<span>Your rating ("+rating+" stars)...</span>");
		
	}, 'json');
}
function limitChars(textarea, limit, infodiv) {
	var text = textarea.value;	
	var textlength = text.length;
	var info = document.getElementById(infodiv);

	if(textlength > limit)
	{
		//info.innerHTML = 'You cannot write more then '+limit+' characters!';
		textarea.value = text.substr(0,limit);
		return false;
	}
	else
	{
		info.innerHTML = 'You have '+ (limit - textlength) +' characters left.';
		return true;
	}
}

function generatePassword(receiver, length) {
    var length=8;
    var sPassword = "";
    
    if (!length)
    	length = 8;
       
    for (i=0; i < length; i++) {
        numI = getRandomNum();
        while (checkPunc(numI)) { numI = getRandomNum(); }   
        sPassword = sPassword + String.fromCharCode(numI);
    }
    $("#"+receiver).val(sPassword);
    return true;
}

function getRandomNum() {
    var rndNum = Math.random()
    rndNum = parseInt(rndNum * 1000);
    rndNum = (rndNum % 94) + 33;            
    return rndNum;
}

function checkPunc(num) {
    if ((num >=33) && (num <=47)) { return true; }
    if ((num >=58) && (num <=64)) { return true; }    
    if ((num >=91) && (num <=96)) { return true; }
    if ((num >=123) && (num <=126)) { return true; }
    return false;
}

function toggleAddInfo(action) {
	
	switch (action) {
	case "open":
		$("#addinfo").slideDown();
		$("#showmore").hide();
		$("#showless").show();
		break;
	case "close":
		$("#addinfo").slideUp();
		$("#showmore").show();
		$("#showless").hide();
		break;
	}
	
}

function enquiryFilter() {
	$(".enqFilters").toggle("slow");
}