//*************************************
// Functions needed ONLOAD
//*************************************
function baninit() {
	bannerImpressions(); //increments impression count for all banners on a page
	PGbannerImpressions(); //increments impression count for all paid banners on a page
	MiniButtonImpressions(); //increments impression count for all mini buttons on a page
	initialize();
}
//*************************************
// AJAX GetXmlHttpObject()
// and xmlhttp variable
//*************************************
var xmlhttp
function GetXmlHttpObject(){
	if (window.XMLHttpRequest){
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
		if (window.ActiveXObject){
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}
//************************************************************************************************************************************************
// 																					EMAIL!
//************************************************************************************************************************************************

function checkPass(str1, str2) {
	var pass1 = str1;
	var pass2 = str2;
	
	if (pass1 != pass2) {
		document.getElementById('NewPassword2').value='';
		alert("PASSWORDS DO NOT MATCH");
	}
}

function selectNewName(str) {
	var newName = str;
	//use that name
	document.getElementById('username').value = newName;
	//hide check button
	document.getElementById('checkEmailButton').style.visibility = 'hidden';
	//hide suggestion box
	document.getElementById('wrapperUsernames').innerHTML='';
	//move focus
	document.getElementById('NewPassword1').focus();
}


function allowedChar(e) {
	var chars='ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZabcçdefghijklmnñopqrstuvwxyzàáÀÁéèÈÉíìÍÌïÏóòÓÒúùÚÙüÜ1234567890_'
	var k;
	k=document.all?parseInt(e.keyCode): parseInt(e.which);
	return (chars.indexOf(String.fromCharCode(k))!=-1);
}
function checkLength(str) {
		var passString = str;
		if (passString.length > 5) {
			document.getElementById('NewPassword2').disabled=false;
		} else {
			document.getElementById('NewPassword2').disabled=true;
		}
}
function checkNameLen(Username) {
		var UsernameString = Username;

		if (UsernameString.length > 1) {
			document.getElementById('checkEmailButton').style.visibility = 'visible';
		} else {
			document.getElementById('checkEmailButton').style.visibility = 'hidden';
			//main submit button too!
			//is available too!
		}
}
function checkUsername(Username, firstName, lastName) {
	if (Username.length > 0) {
	
		document.getElementById("wrapperUsernames").innerHTML='<div id="suggestedUsernames"><p>Checking Username Availablity!</p></div>';
	
		var UsernameString = Username;
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null){
			alert ("Your browser does not support AJAX!");
			return;
		}
		var url="/inc/asp/showAvailableEmail.asp";
		url=url+"?q="+UsernameString;
		url=url+"&f="+firstName;
		url=url+"&l="+lastName;
		xmlhttp.onreadystatechange=stateChangedCheckUsername;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}
// stateChangedCheckUsername()
function stateChangedCheckUsername(){
	if (xmlhttp.readyState==4){
		document.getElementById("wrapperUsernames").innerHTML=xmlhttp.responseText;
	}
}
//************************************************************************************************************************************************
// 																					RSS FUNCTIONS
//************************************************************************************************************************************************
//************************************
// showWeatherByCity(theNum)
//************************************
function showWeatherByCity(theCity){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/showWeatherByCity.asp";
	url=url+"?q="+theCity;
	xmlhttp.onreadystatechange=stateChangedshowWeatherByCity;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
// stateChangedshowWeatherByCity()
function stateChangedshowWeatherByCity(){
	if (xmlhttp.readyState==4){
		document.getElementById("middleColumnWeather").innerHTML=xmlhttp.responseText;
	}
}
//************************************
// showTinyWeatherByCity(theNum)
//************************************
function showTinyWeatherByCity(theCity){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/showTinyWeatherByCity.asp";
	url=url+"?q="+theCity;
	xmlhttp.onreadystatechange=stateChangedshowTinyWeatherByCity;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
// stateChangedshowWeatherByCity()
function stateChangedshowTinyWeatherByCity(){
	if (xmlhttp.readyState==4){
		document.getElementById("TinyWeather").innerHTML=xmlhttp.responseText;
	}
}


//************************************
// loadWideTwoColumnFeed(theNum)
//************************************
function loadWideTwoColumnFeed(theFeed, num, theDiv){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showWideTwoColumnFeed.asp";
	url=url+"?f="+theFeed;
	url=url+"&n="+num;
     
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

//************************************
// loadTwoColumnFeed(theNum)
//************************************
function loadTwoColumnFeed(theFeed, num, theDiv){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showTwoColumnFeed.asp";
	url=url+"?f="+theFeed;
	url=url+"&n="+num;
     
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
//************************************
// loadVimeoFeed(theNum)
//************************************
function loadVimeoFeed(theFeed, num, theDiv){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showVimeoFeed.asp";
	url=url+"?f="+theFeed;
	url=url+"&n="+num;
     
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
//************************************
// loadNlSoldFeed(theNum, theDiv)
//************************************
function loadNlSoldFeed(theFeed, theDiv){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showNlSoldFeed.asp";
	url=url+"?f="+theFeed;
     
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


//************************************
// loadBuySellAutoFeed(theNum, theDiv)
//************************************
function loadBuySellFeeds(theFeed, theDiv, num){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showBuySellFeeds.asp";
	url=url+"?f="+theFeed;
   url=url+"&n="+num;
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


//************************************
// loadBuySellAutoFeed(theNum, theDiv)
//************************************
function loadFreeAdFeeds(theFeed, theDiv, num){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showFreeAdFeeds.asp";
	url=url+"?f="+theFeed;
   url=url+"&n="+num;
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


//************************************
// loadRottenTomatoesTwoColumnFeed(theNum)
//************************************
function loadRottenTomatoesTwoColumnFeed(theFeed, num, theDiv){
	if (theFeed.length==0){ 
 		document.getElementById(theDiv).innerHTML=""
 		return
	}
	var xmlHttp = GetXmlHttpObject();
	var url = "/inc/asp/showRottenTomatoesTwoColumnFeed.asp";
	url=url+"?f="+theFeed;
	url=url+"&n="+num;
     
	if (!xmlHttp){
 		alert ("Your browser does not support HTTP AJAX!")
 		return
	}
	xmlHttp.onreadystatechange=function(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		document.getElementById(theDiv).innerHTML=xmlHttp.responseText;
  	}
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
//************************************************************************************************************************************************
// 																					BANNERS!
//************************************************************************************************************************************************
//************************************
// bannerImpressions()
//************************************
function bannerImpressions(){
	var matches = getElementsByClassName("banner");
	var numberOfBanners = matches.length;
	var x;
	if (numberOfBanners > 0) {	
		for (x=0;x<numberOfBanners;x++){
			setBannerImpressions(matches[x].id);
		}
	}
}
//************************************
// setBannerImpressions(theBannerID)
//************************************
function setBannerImpressions(theBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setBannerImpressions.asp";
	url=url+"?q="+theBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
//************************************
// setBannerClicks(theBannerID)
//************************************
function setBannerClicks(theBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setBannerClicks.asp";
	url=url+"?q="+theBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//************************************************************************************************************************************************
// 																					PAID BANNERS!
//************************************************************************************************************************************************

//************************************
// PGbannerImpressions()
//************************************
function PGbannerImpressions(){
	var matches = getElementsByClassName("PGbanner");
	var numberOfBanners = matches.length;
	var x;
	if (numberOfBanners > 0) {	
		for (x=0;x<numberOfBanners;x++){
			setPGBannerImpressions(matches[x].id);
		}
	}
}
//************************************
// setPGBannerImpressions(theBannerID)
//************************************
function setPGBannerImpressions(thePGBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setPGBannerImpressions.asp";
	url=url+"?q="+thePGBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
//************************************
// setPGBannerClicks(theBannerID)
//************************************
function setPGBannerClicks(thePGBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setPGBannerClicks.asp";
	url=url+"?q="+thePGBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//************************************************************************************************************************************************
// 																					PAID MINI BANNERS!
//************************************************************************************************************************************************

//************************************
// MiniButtonImpressions()
//************************************
function MiniButtonImpressions(){
	var matches = getElementsByClassName("minibanner");
	var numberOfBanners = matches.length;
	var x;
	if (numberOfBanners > 0) {	
		for (x=0;x<numberOfBanners;x++){
			setMiniButtonImpressions(matches[x].id);
		}
	}
}
//************************************
// setMiniButtonImpressions(theBannerID)
//************************************
function setMiniButtonImpressions(theMBBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setMiniButtonImpressions.asp";
	url=url+"?q="+theMBBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
//************************************
// setPGBannerClicks(theBannerID)
//************************************
function setMiniButtonClicks(theMBBannerID){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	var url="/inc/asp/setMiniButtonClicks.asp";
	url=url+"?q="+theMBBannerID;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}



//************************************************************************************************************************************************
//                                           						 MISC. FUNCTIONS
//************************************************************************************************************************************************

//************************************
// initialize() - Google Map
//************************************
function initialize() {
	var latlng = new google.maps.LatLng(50.94, -57.0);
	var myOptions = {
		zoom: 4,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("map_canvas"),
		myOptions);
}


//************************************
// removePic()
//************************************
function removePic(){
	document.getElementById("zoom_searchbox").style.backgroundImage="none";
}
//************************************
// addPic()
//************************************
function addPic(){
	document.getElementById("zoom_searchbox").style.backgroundImage="url(/inc/img/tnovaSearch.png)";
}
//************************************
// addBookmark(url,desc)
//************************************
function addBookmark(url,desc){
	var bookmarkurl = url;
	var bookmarktitle = desc;
	var nonie = 'Sorry, only Mozilla Firefox and Internet Explorer support this method to add a bookmark/favourite\n But please feel free to visit the site\'s home page to add a bookmark manually';

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(bookmarktitle, bookmarkurl,"");
	} else if(document.all){ // IE Favourites
		//window.external.setHomePage(bookmarkurl,bookmarktitle);
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage(bookmarkurl);

	} else {
		document.location.href = 'http://www.newfoundlandlive.com/makeHomepage.asp';
	}
}
//************************************
// getElementsByClassName()
//************************************
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
