
function Is() {
  agent       = navigator.userAgent.toLowerCase();
  this.major  = parseInt(navigator.appVersion);
  this.minor  = parseFloat(navigator.appVersion);
  this.ns     = ((agent.indexOf('mozilla')   != -1) &&
                (agent.indexOf('spoofer')    == -1) &&
                (agent.indexOf('compatible') == -1) &&
                (agent.indexOf('opera')      == -1) &&
                (agent.indexOf('webtv')      == -1) &&
                (agent.indexOf('hotjava')    == -1));
  this.ns2    = (this.ns && (this.major      ==  2));
  this.ns3    = (this.ns && (this.major      ==  3));
  this.ns4    = (this.ns && (this.major      ==  4));
  this.ns6    = (this.ns && (this.major      >=  5));

  this.ie     = ((agent.indexOf("msie")      != -1) &&
                (agent.indexOf("opera")      == -1));
  this.ie4    = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 4")     != -1));
  this.ie5    = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 5.")    != -1) &&
                (agent.indexOf("msie 5.5")   == -1) &&
                (agent.indexOf("mac")        == -1));
  this.iem5   = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 5.")    != -1) &&
                (agent.indexOf("mac")        != -1));
  this.ie55   = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 5.5")   != -1));
  this.ie6    = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 6.")    != -1));
  this.ie7    = (this.ie && (this.major      ==  4) &&
                (agent.indexOf("msie 7.")    != -1));

  this.nsx    = (this.ns4 || this.ns6);
  this.iex    = (this.ie4 || this.ie5  || this.iem5 || this.ie55 || this.ie6 || this.ie7);
  this.dom    = (this.ie5 || this.iem5 || this.ie55 || this.ie6  || this.ns6 || this.ie7);
}

var is = new Is();

if(is.ns4) {
  doc = "document[";
  sty = "]";
  htm = "].document";
} else if(is.ie4) {
  doc = "document.all[";
  sty = "].style";
  htm = "].document";
} else if(is.dom) {
  doc = "document.getElementById(";
  sty = ").style";
  htm = ").document";
}

if (document.layers)
document.captureEvents(Rvent.MOUSEMOVE);
if (document.all||document.layers)
 document.onmousemove=track;

function layrSetup() {
	
    available_width  = (is.iex) ? document.body.clientWidth  : innerWidth;
    available_height = (is.iex) ? document.body.clientHeight : innerHeight;
    
    alphaLyr        = eval(doc + '"alphaLayer"' + sty);
    alphaLyr.left   = available_width-290;
    alphaLyr.top    = 100;

    anflagLyr        = eval(doc + '"anflagLayer"' + sty);
    anflagLyr.left   = available_width-75;
    anflagLyr.top    = available_height-55;

    guessLyr        = eval(doc + '"guessLayer"' + sty);
    guessLyr.left   = 400;
    guessLyr.top    = 15;
    
    placesLyr        = eval(doc + '"placesLayer"' + sty);
    placesLyr.left   = 0;
    placesLyr.top    = 10;
    
    giveupLyr        = eval(doc + '"giveupLayer"' + sty);
    giveupLyr.left   = 400;
    giveupLyr.top    = 950;
    
    arrowLyr        = eval(doc + '"arrowLayer"' + sty);
    arrowLyr.left   = available_width-85;
    arrowLyr.top    = (available_height/2)-120;
    
    inputLyr        = eval(doc + '"inputLayer"' + sty);
    inputLyr.left   = 400;
    inputLyr.top    = (available_height/2)-105;
   
    entryLyr        = eval(doc + '"entryLayer"' + sty);
    entryLyr.left   = 400;
    entryLyr.top    = (available_height/2)+15;
   
    menuLyr        = eval(doc + '"menuLayer"' + sty);
    menuLyr.left   = available_width-150;
    menuLyr.top    = 5;
       
    clckLyr        = eval(doc + '"clckLayer"' + sty);
    clckLyr.left   = 400;
    clckLyr.top    = (available_height/2)+15;
   
    clueLyr        = eval(doc + '"clueLayer"' + sty);
    clueLyr.left   = 400;
    clueLyr.top    = -250;
      
    aidLyr        = eval(doc + '"aidLayer"' + sty);
    aidLyr.left   = 400;
    aidLyr.top    = 950;
   
    acknLyr        = eval(doc + '"acknLayer"' + sty);
    acknLyr.left   = 400;
    acknLyr.top    = available_height-80;
   
    acknLyr.visibility = "visible";
    anflagLyr.visibility = "visible";
    placesLyr.visibility = "visible";
    arrowLyr.visibility = "visible";
    inputLyr.visibility = "visible";
    alphaLyr.visibility = "visible";
    document.getct.ct.focus();
    guessLyr.visibility = "visible";
    aidLyr.visibility = "visible";
    clueLyr.visibility = "visible";
    menuLyr.visibility = "visible";
    giveupLyr.visibility = "visible";
        
    mixflag();
}

var quizArray = new Array();
    for (var as=0; as<249; as++) {
	var hgy = "flags/"+as.toString()+".gif";
    quizArray[as] = hgy;
}

var pics = new Array();
for (var ss=0; ss<quizArray.length; ss++) {
	pics[ss] = new Image;
	pics[ss].src = quizArray[ss];
}

var flg = 0;
var rand = 0;
var rand = Math.floor(Math.random() * quizArray.length);
var flg = rand;

function mixflag() {
	document.images.pic.src = quizArray[flg];
}

var flagstr = "Afghanistan|Albania|Algeria|American Samoa|Andorra|Angola|Anguila|Arab League|Antarctica|Antigua & Barbuda|Argentina|Armenia|Aruba|Ashmore & Cartier Islands|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belgium|Belize|Benin|Bermuda|Bhutan|Bolivia|Bosnia & Herzegovina|Botswana|Bouvet Island|Brazil|British Indian Ocean Territory|Brunei Darussalem|Bulgaria|Burkina Faso|Burma|Burundi|Bosnia (Old Flag)|Cambodia|Cameroon|Canada|Cape Verde|Cayman Islands|Central African Republic|Chad|Chile|China|Christmas Island|Cocos (Keeling Islands)|Columbia|Comoros|Congo, Democratic Republic|Congo, Republic of the|Cook Islands|Costa Rica|Cote D'Ivoire|Croatia (Hrvatska)|Cuba|Cyprus|Czech Republic|Czechoslovakia (former)|Denmark|Djibouti|Dominica|Dominican Republic|East Timor|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|F.Y.R.O.M.|Falkland Islands|Faroe Islands|Fiji|Finland|France|France (Metropolitan)|French Guiana|French Polynesia|French Southern Territories|Gabon|Gambia|Georgia|Germany|Ghana|Gibraltar|Greece|Greenland|Grenada|Guadaloupe|Guam|Guatemala|Guinea|Guinea-Bissau|Guyana|Haiti|Heard & McDonald Islands|Honduras|Hong Kong (China)|Hungary|Iceland|India|Indonesia|Iran|Iraq|Ireland|Israel|Italy|Jamaica|Japan|Jordan|Kazakhstan|Kenya|Kiribati|Korea (North)|Korea (South)|Kuwait|Kyrgyzstan|Laos|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macau|Madegascar|Malawi|Malaysia|Maldives|Mali|Malta|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia|Moldova|Monaco|Mongolia|Montserrat|Morocco|Mozambique|Myanmar|Namibia|Nauru|Nepal|Netherlands|Netherlands Antilles|NATO|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Organization of African Unity|Pakistan|Palau|Palestine|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcairn|Poland|Portugal|Puerto Rico|Qatar|Reunion|Romania|Russian Federation|Rwanda|S. Georgia & S. Sandwich Islands|Saint Kitts and Nevis|Saint Lucia|Saint Vincent & The Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Senegal|Seychelles|Sierra Leone|Singapore|Slovak Republic|Slovenia|Solomon Islands|Somalia|South Africa|Spain|Sri Lanka|St. Helena|St. Pierre & Miquelon|Sudan|Suriname|Svalbard & Jan Mayen Islands|Swaziland|Sweden|Switzerland|Syria|Taiwan|Tajikistan|Tanzania|Thailand|Togo|Tokelau|Tonga|Trinidad & Tobago|Tunisia|Turkey|Turkmenistan|Turks & Caicos Islands|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom|United States|Uruguay|United Nations Organization|USSR (Former)|Uzbekistan|Vanuatu|Vatican City State (Holy See)|Venezuela|Vietnam|Virgin Islands (British)|Virgin Islands (U.S.)|Wallis & Futuna Islands|Western Sahara|Yemen|Yugoslavia|Zaire|Zambia|Zimbabwe|";

var flgnm = flagstr.split("|");

var loop = true;
var direction = "up";
var speed = 10;
var timer1 = null;

function scroll(dir,spd) {
    direction = dir;
    speed = spd;
    var page = placesLyr;
    var y_pos = parseInt(page.top);
    if(loop == true) {
        if(direction == "dn") {
            page.top = (y_pos-(speed));
            clearTimeout(timer1);
            timer1 = setTimeout("scroll(direction,speed)", 1);
        } else if(direction == "up" && y_pos < 10) {
            page.top = (y_pos+(speed));
            clearTimeout(timer1);
            timer1 = setTimeout("scroll(direction,speed)", 1);
        } else if(direction == "top") {
            page.top = 10;
        }
    }
}

var win = 0;
var att = 0;
var hit = 0;
var cten = 0;
var flagnu = 0;
var ypos = 0;
var ny = 0;

function moveList(letter) {
if (win > 0) reloadPage();
for (fp=0; fp<quizArray.length; fp++) {
if (flgnm[fp].charAt(0)==letter) break;
}
placesLyr.top = 10-(fp*25);
if(att==5||att==10||att>=12) clueout();
}

function tracky() {
if (win > 0) reloadPage();
var ny=(document.all) ? event.y : e.pageY;
var flagnu = parseInt(placesLyr.top);
var posnu = (flagnu-10)/25;
var ypos = Math.ceil((ny-10)/25);
var newln = Math.floor(ypos)+Math.abs(posnu);
document.getct.reset();
document.getct.ct.focus();
document.getct.ct.value = newln;
onKeyDown=validate(newln);
}

function track(e) {
var xxx=(document.all) ? event.x : e.pageX;
var yyy=(document.all) ? event.y : e.pageY;
}

function fail(msg) {
 alert(msg);
}

function reloadPage() {
location.reload();
}

var tp = 0;
var tpp = 0;
var lp = 0;
var rp = 0;
var cl = 0;
var cll = 0;
var cly = 0;
var bc = 0;

function shaid() {
	var tp = parseInt(aidLyr.top);
	if (tp > 250) {
	aidLyr.top = tp-20;
	setTimeout("shaid()",1);
	}
}

function reshaid() {
	var tpp = parseInt(aidLyr.left);
	if (tpp > 400) {
	aidLyr.left = tpp-25;
	setTimeout("reshaid()",1);
	}
	else if(tpp < 400) {
	aidLyr.left = tpp+25;
	setTimeout("reshaid()",1);	
	}
}

function flhp() {
	var lp = parseInt(aidLyr.left);
	if (lp > -300) {
	aidLyr.left = lp-25;
	setTimeout("flhp()",1);
	}
	if (cly==0) {
	clu();
	}
	else reclu();
}

function nohl() {
	var rp = parseInt(aidLyr.left);
	if (rp < 1200) {
	aidLyr.left = rp+25;
	setTimeout("nohl()",1);
	}
}

function clu() {
	var cl = parseInt(clueLyr.top);
	if (cl < 250) {
	clueLyr.top = cl+20;
	setTimeout("clu()",1);
	}
	cly++;
}

function reclu() {
	var cll = parseInt(clueLyr.left);
	if (cll > 400) {
	clueLyr.left = cll-25;
	setTimeout("reclu()",1);
	}
}

function clueout() {
	var bc = parseInt(clueLyr.left);
	if (bc < 1200) {
	clueLyr.left = bc+25;
	setTimeout("clueout()",1);
	}
}

var gask = 0;

function gvask() {
	var gask = parseInt(giveupLyr.top);
	if (gask > 250) {
     giveupLyr.top = gask-20;
	setTimeout("gvask()",1);
	}
}

var rgask = 0;

function regvask() {
	var rgask = parseInt(giveupLyr.left);
	if (rgask > 400) {
     giveupLyr.left = rgask-25;
	setTimeout("regvask()",1);
	}
}

function gvup() {
giveupLayer.innerHTML="<b><center><font class='ass'><br><br>"+flgnm[flg]+"<br><br><a href='javascript' onClick='reloadPage(); return false'>Play again ?</a><br><br></font></center></b>";
}

function gvup2() {
giveupLayer.innerHTML="<b><center><font class='ass'><br><br>"+flgnm[flg]+"<br><br><a href='javascript' onClick='reloadPage(); return false'>Play again ?</a><br><br></font></center></b>";
regvask();
}

var grp = 0;

function cntu() {
	var grp = parseInt(giveupLyr.left);
	if (grp < 1200) {
	giveupLyr.left = grp+25;
	setTimeout("cntu()",1);
	}
}