function isOver18() {
  var o18 = false;
  var form = document.forms["dob"];
  var eighteenYearsAgo = new Date();
  eighteenYearsAgo = new Date( eighteenYearsAgo.getFullYear()-18, eighteenYearsAgo.getMonth(), eighteenYearsAgo.getDate() );

  if ( ! /^[0-9]{1,2}$/.test(form.dd.value) ) {
    alert( "Please enter a valid date of birth." );
    return "invalid";
  }

  if ( ! /^[0-9]{1,2}$/.test(form.mm.value) ) {
    alert( "Please enter a valid date of birth." );
    return "invalid";
  }

  if ( ! /^[0-9]{2,4}$/.test(form.yy.value) ) {
    alert( "Please enter a valid date of birth." );
    return "invalid";
  }

  var dateOfBirth = new Date( parseInt( form.yy.value ), parseInt( form.mm.value )-1, parseInt( form.dd.value ) );
  if ( Date.parse( eighteenYearsAgo ) - Date.parse( dateOfBirth ) > -1 ) {
    return true;
  } else {
    //alert( "You must be 18 or over to enter this site." );
    return false;
  }
}

var checked = false;

function initLanding() {
	$(".error_underage").css({"visibility":"hidden"});
	$("#btn_enter").click(function () {
		checked = isOver18();
		if ( checked == true ) {
			remember();
		}
		if ( checked == false ) {
			document.cookie = "ageCheck="+checked+";";			
			$(".error_underage").css({"visibility":"visible"});
		}
	})	
}

/*var checked = false;
function initLanding() {
	
	$(".prettyCheckbox").click(function () {
		if(checked == false){
			$(".prettyCheckbox").css({'background-position':'0 -19px'});
			checked = true;
		}else{
			$(".prettyCheckbox").css({'background-position':'0 0'});
			checked = false; 
		}
	});	
	$("#btn_enter").click(function () {
		if ( checked == true ) {
			remember();
		}
		else {
			document.cookie = "ageCheck="+checked+";";
			document.location.href = "underage.html";
		}
	})
	/*if ( checked == true ) {
		addEvent(document.getElementById("btn_enter"), "click", remember);
	} else {
		addEvent(document.getElementById("btn_enter"), "click", function() { alert("you are underage!");});
	}*/
	//addEvent(document.getElementById("quit"), "click", function() {document.location.href = "underage.html";});}

hasSubmitted = false;
function noDoubleSubmit() {
	if(!hasSubmitted) {
		hasSubmitted = true;
		return true;
	} else {
		return false;
	}
}


function remember() {
	/*var today = new Date();
    today.setTime(today.getTime()); 
	var expires = new Date( today.getTime() + (5 *1000 * 60) ); 

	if(/Safari/.test(navigator.userAgent))
	{
		document.cookie = 'ageCheck=true;expires=' + expires;
	}else
	{*/
	document.cookie = "ageCheck="+checked+";";
	//alert ("cookie:"+document.cookie);
	//}
	returnToPage();
}

function canView() {

	var cookies = document.cookie.split(';');
	
	//alert(document.cookie.indexOf("ageCheck"));
	var pickup = '';
	 
	for( var x = 0; x < cookies.length; x++) {

		if(cookies[x].indexOf("ageCheck") >=0) {
			pickup = cookies[x];
			
		}
	} 
	//alert(cookies[8]);
	/*if(document.cookie == '') {
		return false;
	} else {*/
//	  alert(pickup);
	 
		if(pickup.substr(pickup.indexOf("=") + 1, pickup.length - 1) == 'true') {
	
			return true;
		}else {
	
			return false;
		}
	//}
}

function verifyView() {
	if( !canView() ) {
		document.location.href = "/agecheck.html?return=" + document.location.href;
	}
}

function returnToPage() {
	if(document.location.search && document.location.search.indexOf("?return=") == 0) {
		document.location.href = document.location.search.substr(8);
	} else {
		document.location.href = "/origins.htm";
	}
}

function addEvent(elem, type, fnc) {
	if(elem.addEventListener) {
		elem.addEventListener(type, fnc, false);
	} else {
		elem.attachEvent("on" + type, fnc);
	}
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=420,height=360,left = 440,top = 341.5');");
}

/* Post Code code */


function enterUniqueCodebyKey(e) {
	return false;
}

/* Get postcode code */

function getKey() {
	var key, domain = document.location.host;
	//DEV
	//key = "ABQIAAAAdG3LesKXUxYbZef36ymWARSi1AP-eG4QuAdqXw-KzzcESFSkQBSkxXubR1595eFbUg0TDro5SC_5xA";
	
	key = "ABQIAAAAT8O3KSjci25J8v2fCBdiABQeNsMARXDy3u0h9PqCrJGboY1v2BTXJPzQaYUky6PJcp5yl7ui42goFg";
	return key;
}

function writeGAScriptTag() {
	document.write("<scri" + "pt src=\"http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=" + getKey() + "\" type=\"text/javascript\"></scri" + "pt>");
}

function getPostCode() {
	if( ! document.getElementById("address1").value || ! document.getElementById("address3").value ) {
		alert( "Please fill in your address details" );
		return;
	}
	var address = [];
	if(document.getElementById("address1").value) {
		address.push(document.getElementById("address1").value);
	}	
	if(document.getElementById("address2").value) {
		address.push(document.getElementById("address2").value);
	}
	if(document.getElementById("address3").value) {
		address.push(document.getElementById("address3").value);
	}	
	address.push("New Zealand");
	strAddress = address.join(",");
	geocoder.getLocations(strAddress, writePostCode); 
}
function writePostCode(response) {
	var postcode = getPostcodeFromResponse(response);
	if( postcode ) {
		document.getElementById("post-code").value = getPostcodeFromResponse(response);
	} else {
		alert("Sorry, we could not find a postcode for that address.\nPlease check your address and try again.");
	}
}
function getPostcodeFromResponse(response) {
	if(! response) return;
	if( response.Status.code != 200) return;
	if( response.Placemark && response.Placemark.length != 1) return;
	if( response.Placemark[0].AddressDetails.Accuracy != 8) return;
	if(response.Placemark[0].AddressDetails.Country) {
		var country = response.Placemark[0].AddressDetails.Country;
		
		return findInObject(country, "PostalCode").PostalCodeNumber;
	}
}
function findInObject( object, key ) {
	var tmp;
	for( var child in object ) {
		if( child == key ) return object[key];
		if( typeof object[child] == "object" ) {
			tmp = findInObject(object[child], key);
			if(tmp != null) return tmp;
		}
	}
}
