//modified - 26 Jun - 10:00am 
var stTagList = new Array();
stTagList[0] = new Array('Luxury','Luxury');
stTagList[1] = new Array('Top 25','Top 25');
stTagList[2] = new Array('International Travel','International Travel');
stTagList[3] = new Array('Beach','Beach');
stTagList[4] = new Array('City','City');
stTagList[5] = new Array('Family','Family');
stTagList[6] = new Array('Romance','Romance');
stTagList[7] = new Array('Gambling','Gambling');
stTagList[8] = new Array('Transatlantic','Transatlantic');
stTagList[9] = new Array('Spa','Spa');
stTagList[10] = new Array('Golf','Golf');
stTagList[11] = new Array('Nightlife','Nightlife');
stTagList[12] = new Array('Skiing','Skiing');
stTagList[13] = new Array('Spas','Spa');
stTagList[14] = new Array('Beaches','Beach');

var categories = new Array();
categories[0] = new Array('Air','Air');
categories[1] = new Array('Hotel','Hotel');
categories[2] = new Array('Accommodations','Hotel');
categories[3] = new Array('Cruise','Cruise');
categories[4] = new Array('Car','Car');

var countries = ['UnitedStates','Afghanistan','Albania','Algeria','Andorra','Angola','Anguilla','Antarctica','AntiguaandBarbuda','Argentina','Armenia','Aruba','AscensionIsland','Australia','Austria','Azerbaidjan','Bahamas','Bahrain','Bangladesh','Barbados','Belarus','Belgium','Belize','Benin','Bermuda','Bhutan','Bolivia','Bophuthatswana','Bosnia-Herzegovina','Botswana','BouvetIsland','Brazil','BritishIndianOcean','BritishVirginIslands','BruneiDarussalam','Bulgaria','BurkinaFaso','Burundi','Cambodia','Cameroon','Canada','CapeVerdeIsland','CaymanIslands','CentralAfrica','Chad','ChannelIslands','Chile','China,PeoplesRepublic','ChristmasIsland','Cocos(Keeling)Islands','Colombia','ComorosIslands','Congo','CookIslands','CostaRica','Croatia','Cuba','Cyprus','CzechRepublic','Denmark','Djibouti','Dominica','DominicanRepublic','EasterIsland','Ecuador','Egypt','ElSalvador','England','EquatorialGuinea','Estonia','Ethiopia','FalklandIslands','FaeroeIslands','Fiji','Finland','France','FrenchGuyana','FrenchPolynesia','Gabon','Gambia','GeorgiaRepublic','Germany','Ghana','Gibraltar','Greece','Greenland','Grenada','Guadeloupe(French)','Guatemala','GuernseyIsland','GuineaBissau','Guinea','Guyana','Haiti','HeardandMcDonaldIsls','Honduras','HongKong','Hungary','Iceland','India','Indonesia','Iran','Iraq','Ireland','IsleofMan','Israel','Italy','IvoryCoast','Jamaica','Japan','JerseyIsland','Jordan','Kazakhstan','Kenya','Kiribati','Kuwait','Kyrgyzstan','Laos','Latvia','Lebanon','Lesotho','Liberia','Libya','Liechtenstein','Lithuania','Luxembourg','Macao','Macedonia','Madagascar','Malawi','Malaysia','Maldives','Mali','Malta','Martinique(French)','Mauritania','Mauritius','Mayotte','Mexico','Micronesia','Moldavia','Monaco','Mongolia','Montenegro','Montserrat','Morocco','Mozambique','Myanmar','Namibia','Nauru','Nepal','NetherlandsAntilles','Netherlands','NewCaledonia(French)','NewZealand','Nicaragua','Niger','Nigeria','Niue','NorfolkIsland','NorthKorea','NorthernIreland','Norway','Oman','Pakistan','Panama','PapuaNewGuinea','Paraguay','Peru','Philippines','PitcairnIsland','Poland','Polynesia(French)','Portugal','Qatar','ReunionIsland','Romania','Russia','Rwanda','S.GeorgiaSandwichIsls','SaoTome,Principe','SanMarino','SaudiArabia','Scotland','Senegal','Serbia','Seychelles','Shetland','SierraLeone','Singapore','SlovakRepublic','Slovenia','SolomonIslands','Somalia','SouthAfrica','SouthKorea','Spain','SriLanka','St.Helena','St.Lucia','St.PierreMiquelon','St.Martins','St.KittsNevisAnguilla','St.VincentGrenadines','Sudan','Suriname','SvalbardJanMayen','Swaziland','Sweden','Switzerland','Syria','Tadjikistan','Taiwan','Tahiti','Tanzania','Thailand','Togo','Tokelau','Tonga','TrinidadandTobago','Tunisia','Turkey','Turkmenistan','TurksandCaicosIsls','Tuvalu','Uganda','Ukraine','UnitedArabEmirates','UnitedStates','Uruguay','Uzbekistan','Vanuatu','VaticanCityState','Venezuela','Vietnam','VirginIslands(Brit)','Wales','WallisFutunaIslands','WesternSahara','WesternSamoa','Yemen','Yugoslavia','Zaire','Zambia','Zimbabwe','ROARestoftheWorld-Asia','ROWRestoftheWorld-Non-Asia'];
var topDestinations = ['Miami', 'Paris', 'Caribbean', 'Mexico', 'Hawaii','New York','Vegas','London','Washington DC'];
var stUrl = '';
var stCategory = 'Package';
var stTag = '';
var geoTag = '';
var display = 'A';

//freqA - Frequency of A being displayed.
var freqA = 50;  
var randVal = Math.floor( Math.random() * 99 );
	display = (randVal < freqA) ? 'A' : 'B';
var inclLuxury = (display=='B'); 

function getStParams()
{ 
	var txt ='';
	var keyword;
	var title = new Array();
	targetArr = new Array();
	//if already present in Ad Block, return
	if(typeof(noshermans) != 'undefined'){
		if(noshermans == false) { return;	}
	}	
	sectName = getSectionName();
	if(window.top!=window){// is an iframe
		stUrl = top.document.URL.toString();
	}else{
		stUrl = document.URL.toString()
	}
	stUrl  = stUrl.toLowerCase();
	for(var i=0; i<categories.length; i++){
		if(stUrl.indexOf(categories[i][0].toLowerCase()) > -1){
			stCategory = categories[i][1];
			break;
		}
	}
	if(stUrl.indexOf("slide") > -1){ //is a slideshow page. get h1 tag for keyword
		keyword = getKeyword(1); 
	}
	else keyword = getKeyword(2); 
	if(keyword != null && keyword != ''){
		stTag += checkTag(keyword.toString().toLowerCase());
		geoTag += checkGeoTag(keyword.toString().toLowerCase());
		//remove last comma
		if(stTag != '' && stTag != null)
			stTag = stTag.substring(0,stTag.length-3);
		if(geoTag != '' && geoTag != null)
			geoTag = geoTag.substring(0,geoTag.length-1);				
	}
	if(inclLuxury && stTag.indexOf('Luxury') < 0) {
		stTag += (stTag=='' || null)?'Luxury':"','Luxury";
	}
	displayWidget();
}
function checkTag(keyword){ 
	var tmpTag = '';
	for(var i=0; i<stTagList.length; i++){
	if(stTagList[i][0].toLowerCase() == 'luxury' & !inclLuxury) continue;
	var reg = new RegExp("([^a-z])"+stTagList[i][0]+"(?![a-z])","gi");
		if((keyword.match(reg) || stUrl.match(reg))&& tmpTag.indexOf(stTagList[i][1]) < 0){
			tmpTag += stTagList[i][1]+"','";
		}
	}
	return tmpTag;
}

function checkGeoTag(keyword){
	var tmpTag = '';
	var exp='';
	var keyReg = '';
	var keylst = keyword.split(',');
	stUrl = stUrl.replace(/-/g,' ');

	for(var j=0;j<keylst.length;j++){
		keylst[j] = keylst[j].replace(/^\s+|\s+$|\.$/g,'');
		keyReg = new RegExp("\\b"+keylst[j]+"\\b","gi");	
		for(var i=0; i<countries.length; i++){
			exp = "\\b"+countries[i]+"\\b";
			var tagElem = new RegExp(exp,"gi");
				if(keylst[j].match(tagElem) && countries[i].match(keyReg) && tmpTag.indexOf(countries[i]) < 0) {
					tmpTag += countries[i]+",";
				}
		}
		for(var i=0; i<topDestinations.length; i++){
			exp = '\\b'+topDestinations[i]+'\\b';
			var tagElem=new RegExp("\\b"+topDestinations[i]+"\\b",'gi');
			var reg = new RegExp("([^a-z])"+topDestinations[i]+"(?![a-z])","gi");
			
			if(((keylst[j].match(tagElem) && topDestinations[i].match(keyReg))||(stUrl.match(reg))) && tmpTag.indexOf(topDestinations[i]) < 0)
			{
				tmpTag += topDestinations[i]+",";
			}
		}
	}
	return tmpTag;
}

function getSectionName(){
	var sectArr = new Array();
	if(window.top!=window){ 
		sectArr = (top.document.URL.toString()).split("/");
	}
	else{	
		sectArr = (document.URL.toString()).split("/");
	}
	var sectList = new Array(5);
	sectList[0] = new Array (2);
	sectList[1] = new Array (2);
	sectList[2] = new Array (2);
	sectList[3] = new Array (2);
	sectList[4] = new Array (2);
	sectList[0][0]="inspirations";
	sectList[0][1]="inspirations,luxury,food-drink,best-lists,islands-beaches,golf,skiing,adventure,cruises-yachts,jets-planes,gadgets-gear,celebrity,spas";
	sectList[1][0]="destinations";
	sectList[1][1]="destinations,experts,video";
	sectList[2][0]="accommodations";
	sectList[2][1]="accommodations,resorts-hotels,forbes400,hotel-review";
	sectList[3][0]="vacations";
	sectList[3][1]="vacations,tools,-guide.html";
	sectList[4][0]="reservations";
	sectList[4][1]="reservations";

	sectName = 'other';
	
	if(sectArr.length <= 3){
		sectName = 'other';
	}
	else if(sectArr.length > 3){ 
		if(sectArr[3] == ''){
			sectName = 'home';
		}
		if(sectArr[3] != null && sectArr[3] != ''){
			for(var j=0;j<sectList.length;j++){ 
				if((sectArr[3].indexOf(".")) > -1) {
					if((sectArr[3].indexOf("-guide.html") > -1)&&(sectList[3][1].indexOf("-guide.html") > -1))
						return sectList[3][0];
					stPageName = (sectArr[3].split("."))[0];				}
				else stPageName = sectArr[3];
				if(sectList[j][1].indexOf(stPageName) > -1){
					sectName = sectList[j][0];
					return sectName;
				}
			}
		}
	}
	return sectName;
}

function getKeyword(no)
{
	var keyword;

	switch(no){
		case 1:
		var h1keyword;
			if(window.top!=window){// is an iframe
				h1keyword = top.document.getElementsByTagName("h1").length > 0? top.document.getElementsByTagName("h1")[0].innerHTML:null;			
			}else{
				h1keyword = document.getElementsByTagName("h1").length > 0? document.getElementsByTagName("h1")[0].innerHTML:null;
			}
			if(h1keyword != null && h1keyword.indexOf(":") > -1) { 
				h1keyword = h1keyword.split(":");
				//remove string after colon
				h1keyword.length = h1keyword.length-1;
				h1keyword = h1keyword.toString();
			}
			if(h1keyword != null && h1keyword.indexOf(",") > -1) { 
				h1keyword = h1keyword.split(",");
				if(h1keyword.length >2) {//remove name 
					h1keyword.shift();}
			}
			keyword = h1keyword;
			break;
		case 2: 
		var keywordArr;
			if(window.top!=window){
				keywordArr = top.document.title.split("-");
			}else{
				keywordArr = document.title.split("-");
			}
			if(keywordArr.length > 1) {
				keywordArr.length -= 1;
			}
			var common = /\bin\b|\band\b|\bfor\b|\bfrom\b|\bto\b|\bis\b|\bor\b/gi; 
			keyword = keywordArr.toString();
			var match = keyword.match(common);
			keyword=keyword.replace(common,'');
			
			break;
		case 3:
			keyword = stPageName;
			break;
	}
	return keyword;
}

function displayWidget(){
	var category=stCategory;
	var tagMatch= inclLuxury?'all':'any';
	var tmpGeoTag= geoTag;
	//var format="300x250";
	var format="336x280";
	var tags=escape(stTag);
		document.write('<iframe src="http://www.forbestraveler.com/media/deals/shermans/shermans_widget.htm?format='+format+'&tags='+tags+'&to='+tmpGeoTag+'&tagMatch='+tagMatch+'&category='+category+'&display='+display+'" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" height="282" scrolling="no" width="340"></iframe>');
		
	if(inclLuxury) display='B';
	document.write('<img src="http://ads.forbestraveler.com/RealMedia/ads/adstream_nx.ads/forbestraveler.com/shermans/module/'+sectName+'/'+display+'@x113?'+(Math.random()*100000000000000000)+'">');
	document.write('<br><br>');
}
getStParams();

