$(window).load(function() {
	
	/*var browserName=navigator.appName; 
	var browserVer=parseInt(navigator.appVersion); 
	if ((browserName != "Netscape" && browserVer>=3) || (browserName != "Microsoft Internet Explorer" && browserVer<=6)) {
			location.href = 'http://www.microsoft.com/windows/internet-explorer/default.aspx';
	}*/
	
	$(function() {
		$.superbox.settings = {
			boxId: "superbox",
			boxClasses: "",
			overlayOpacity: .8,
			loadTxt: "Loading...",
			closeTxt: "Close",
			prevTxt: "Previous",
			nextTxt: "Next"
		};
		$.superbox();
	});

	$(function() {
		$("#pane_list dd").hide();
		$("#pane_list dd:first").show();
		
		$("#pane_list dt").addClass("close");

		$("#pane_list dt").click(function() {
			if (this.className.indexOf("open") != -1) {
				$(this).next().slideUp(200);
				$(this).removeClass("open").addClass("close");
			} else {
				$(this).removeClass("close").addClass("open");
				$(this).next().slideDown(500);
			}
		});

		$("#pane_list dt:first").removeClass("close").addClass("open");
	});

    $("#calendar_block").hide();
    $("#calendar_block").load(baseUrl+"objects/calendar", function(){
       $(".has_content").hover(function(){
          $(".has_content").bt({
           ajaxPath: baseUrl+'objects/getEventDate/' + $(this).attr('id') + '/' + $(".calendar #head #title span").text().substr(0, 3),
           cssStyles: {width: 'auto'},
           width: 250,
           padding: 10,
           positions: ['top']
         });
       });
    }).fadeIn('fast');

    $("#username").blur(function() {
        if (this.value == "")
            $(this).addClass('login');
    });

    $("#password").blur(function() {
        if (this.value == "")
            $(this).addClass('login');
    });

    $("#username").click(function() {
      $(this).removeClass('login');
    });

    $("#password").click(function() {
      $(this).removeClass('login');
    });

    $("#username").focus(function() {
      $(this).removeClass('login');
    });

    $("#password").focus(function() {
      $(this).removeClass('login');
    });

});
/*
function initialize() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(13.751824, 100.501842), 11);
		map.setUIToDefault();
	}
}*/
function keyEnter(e, id) {
	var ENTER_KEY = 13;
	var code = "";

	if (window.event) // IE
	{
		code = e.keyCode;
	}
	else if (e.which) // Netscape/Firefox/Opera
	{
		code = e.which;
	}
	
	if (code == ENTER_KEY)
	{
		$("#"+id).click();
		return false;
	}
}

function get_calendar(method, vol){
    $("#calendar_block").fadeOut('fast');
    $("#calendar_block").load(baseUrl+"objects/calendar/" + method, function(){
       $(".has_content").hover(function(){
          $(".has_content").bt({
           ajaxPath: baseUrl+'objects/getEventDate/' + $(this).attr('id') + '/' + $(".calendar #head #title span").text().substr(0, 3),
           cssStyles: {width: 'auto'},
           width: 250,
           padding: 10,
           positions: ['top']
         });
       });
    });
    $("#calendar_block").fadeIn('slow');
    $("#calendar_block").removeClass('loading');
}

function check_login(formName){
    var reason = "";

    if (validateUsername(formName.username))
    {
        $('input[name=username]').addClass('error');
        reason += validateUsername(formName.username);
    } else {
        $('input[name=username]').removeClass('error');
    }

    if (validatePassword(formName.password))
    {
        $('input[name=password]').addClass('error');
        reason += validatePassword(formName.password);
    } else {
        $('input[name=password]').removeClass('error');
    }

    if (reason != "")
    {
        $('#error_login_message').slideUp("fast");
        $('#error_login_message').text(reason);
        $('#error_login_message').slideDown("fast");

        return false;
    }

    $.post(baseUrl+"login/submit", {username: formName.username.value, password: formName.password.value}, function(data) {
        if (data.result == false)
        {
			if (data.errcode == true) {
				reason = "Your BAMBI membership has expired! \n";
			} else {
				reason = "The username or password is incorrect. Please try again. \n";
			}
			
            $('input[name=username]').addClass('error');
            $('input[name=password]').addClass('error');
            $('#error_login_message').slideUp("fast");
            $('#error_login_message').text(reason);
            $('#error_login_message').slideDown("fast");
        } else {
			var url = baseUrl+"members/your_account";
			$(location).attr('href',url);			
        }
    }, "json");
}

function chkWordLimit(txt, lim) {
	/*$.post(baseUrl + "objects/chkWordLimit", {text: txt, limit: lim}, function(data) {
		if (data.result) {
			alert("post not allow, more than " + lim + " word");
			return(false);
		} else {
			return(true);
		}
	}, "json");*/
	nWords = txt.match(/\s/g).length;
	if(nWords == lim) {
		alert("post not allow, more than " + lim + " word");
		return(false);
	} else {
		return(true);
	}
}

function newsletter(vol) {
   var error = "";
   var data = trim(vol);
   var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
   var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

   if (vol == "") {
       error = "You didn't enter an email address.\n";
   } else if (!emailFilter.test(data)) {              //test email for illegal characters
       error = "Please enter a valid email address.\n";
   } else if (vol.match(illegalChars)) {
       error = "The email address contains illegal characters.\n";
   } else {
       error = "";
   }
    
   if (error.length > 0) {
      alert(error);
   } else {
      $.post(baseUrl+"objects/newsletter", {email: vol}, function(data) {
         if (data.result) {
            alert("Your email is entered into our database. Thank you for subscribing to our newsletter.");
            $('input[name=enews]').val('Enter your email');
         } else {
			 alert("Your email has duplicated.");
			 $('input[name=enews]').val('Enter your email');
		 }
      }, 'json');
   }
}

function validSearch(form) {
   var txt = form.searchtxt;

   if (txt.value.length == 0) {
      alert('The search text has not been filled in.');
      exit();
   } else {
      form.submit();
   }
}

function validateEmpty(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        //fld.style.background = 'Yellow'; 
        error = "The required field has not been filled in.\n"
    } else {
        //fld.style.background = 'White';
    }
    return error;  
}

function validateUsername(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
 
    if (fld.value == "") {
        //fld.style.background = 'Yellow';
        error = "You didn't enter a username.\n";
    } else if ((fld.value.length < 2) || (fld.value.length > 25)) {
        //fld.style.background = 'Yellow'; 
        error = "The username is the wrong length.\n";
    } else if (illegalChars.test(fld.value)) {
        //fld.style.background = 'Yellow'; 
        error = "The username contains illegal characters.\n";
    } else {
        //fld.style.background = 'White';
    }
    return error;
}

function validatePassword(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") {
        //fld.style.background = 'Yellow';
        error = "You didn't enter a password.\n";
    } else if ((fld.value.length < 1) || (fld.value.length > 25)) {
        error = "The password is the wrong length. \n";
        //fld.style.background = 'Yellow';
    } else if (illegalChars.test(fld.value)) {
        error = "The password contains illegal characters.\n";
        //fld.style.background = 'Yellow';
    } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
        error = "The password must contain at least one numeral.\n";
        //fld.style.background = 'Yellow';
    } else {
        //fld.style.background = 'White';
    }
   return error;
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        //fld.style.background = 'Yellow';
        error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        //fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        //fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
    } else {
        //fld.style.background = 'White';
    }
    return error;
}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        error = "You didn't enter a phone number.\n";
        //fld.style.background = 'Yellow';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        //fld.style.background = 'Yellow';
    } else if (!(stripped.length == 10)) {
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
        //fld.style.background = 'Yellow';
    }
    return error;
}
