var cookieName = "surveyCookie";
var cookieExpiry = 60; //days

this.regionalDomains = [
		["New Zealand", "airnz.co.nz", "airnewzealand.co.nz", "www.airnz.co.nz", "www.airnewzealand.co.nz"],
		["Australia", "airnz.com.au", "airnewzealand.com.au", "www.airnz.com.au", "www.airnewzealand.com.au"],
		["Singapore", "airnz.com.sg", "airnewzealand.com.sg", "www.airnz.com.sg", "www.airnewzealand.com.sg"],
		["Japan EN", "jp.airnz.com", "jp.airnewzealand.com", "www.jp.airnz.com", "www.jp.airnewzealand.com"],
		["Japan JP", "airnz.co.jp", "www.airnz.co.jp"],
		["Hong Kong", "airnz.com.hk", "www.airnz.com.hk", "airnewzealand.com.hk", "www.airnewzealand.com.hk"],		
		["Canada", "ca.airnz.com", "www.ca.airnz.com",  "ca.airnewzealand.com", "www.ca.airnewzealand.com"],
		["UK", "airnz.co.uk", "www.airnz.co.uk", "airnewzealand.co.uk", "www.airnewzealand.co.uk"],
		["PI", "pi.airnz.com", "www.pi.airnz.com", "pacificislands.airnz.com", "www.pacificislands.airnz.com", "pacificislands.airnewzealand.com", "www.pacificislands.airnewzealand.com", "www.pi.airnewzealand.com"],
		["EU", "eu.airnz.com", "www.eu.airnz.com", "eu.airnewzealand.com", "www.eu.airnewzealand.com"],
		["CN", "cn.airnz.com", "cn.airnewzealand.com", "www.cn.airnz.com", "www.cn.airnewzealand.com"],
		["TW", "tw.airnz.com", "tw.airnewzealand.com", "www.tw.airnz.com", "www.tw.airnewzealand.com"],
		["RW", "www.rw.airnewzealand.com"],
		["USA", "airnz.com", "www.airnz.com",  "airnewzealand.com", "www.airnewzealand.com"]];

this.regionalSurveyStats = [
		["New Zealand", 	0],
		["Australia", 	0],
		["Singapore", 	0],
		["Japan EN", 	0],
		["Japan JP", 	0],
		["Hong Kong", 	0],
		["Canada", 	0],
		["UK", 		0],
		["USA", 		0]];

this.regionalSurveyURLs = [
		["New Zealand", "http://airnz.terabyte.co.nz/survey.aspx?id=1"],
		["Australia", 	"http://airnz.terabyte.co.nz/survey.aspx?id=2"],
		["Singapore", 	"http://airnz.terabyte.co.nz/survey.aspx?id=5"],
		["Japan EN", 	"http://airnz.terabyte.co.nz/survey.aspx?id=4"],
		["Japan JP", 	"http://airnz.terabyte.co.nz/survey.aspx?id=9"],
		["Hong Kong", 	"http://airnz.terabyte.co.nz/survey.aspx?id=3"],
		["UK",		"http://airnz.terabyte.co.nz/survey.aspx?id=6"], 
		["Canada",	"http://airnz.terabyte.co.nz/survey.aspx?id=8"],
		["USA", 	"http://airnz.terabyte.co.nz/survey.aspx?id=7"]];

function doSurvey() {	
	var currentRegion = getRegion(location.hostname);
	if ( readCookie(cookieName) == null && isSelected(currentRegion) ) {
		writeCookie(cookieName,cookieExpiry);
		popupSurvey(currentRegion);
	}	
}

function popupSurvey(currentRegion) {
	var url = "www.airnz.co.nz/noRegionFound.htm";
	for (var i = 0; i < this.regionalSurveyURLs.length; i++ ) {
		if ( currentRegion == this.regionalSurveyURLs[i][0] ) {
			url = this.regionalSurveyURLs[i][1];
			break;
		}
	}
  	var newWin;
  	var newWinWidth = 565;
  	var newWinHeight = 500;
  	var xpos = screen.availWidth/2 - newWinWidth/2;
  	var ypos = screen.availHeight/2 - newWinHeight/2;
	newWin =  window.open(url, 'AirNZSurvey', 'left='+xpos+','+'top='+ypos+',scrollbars=yes,resizeable=no,width='+newWinWidth+',height='+newWinHeight);
  	newWin.blur();
  	window.focus;
}

function isSelected(currentRegion) {
	if ( location.href.indexOf("http://www.airnewzealand.com/gateway.jsp?mode=select")!=-1 ) return false;
	var sampleFraction = 0;
	for (var i = 0; i < this.regionalSurveyStats.length; i++ ) {
		if ( currentRegion == this.regionalSurveyStats[i][0] ) {
			sampleFraction = this.regionalSurveyStats[i][1];
			break;
		}
	}
	if ( Math.random() < sampleFraction ) return true;
	return false;
}

function getRegion(hostname) {
	for ( var i = 0; i < this.regionalDomains.length; i++ ) {
		for ( var j = 1; j < this.regionalDomains[i].length; j++ ) {
			if ( hostname.indexOf( this.regionalDomains[i][j] ) != -1 ) {
				return this.regionalDomains[i][0];
			}
		}
	}
	return "";
}

function writeCookie(name,days) {
	var date = new Date();
	createCookie(name,date.toGMTString(),days);
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}