var wom = {
	country: {
		id: 			19,
		iso2:			"ZA"
	},
	video: {
		homeID: 		119,
		listID: 		120
	},
	photos: {
		listID: 		121,
		constraint1: 	137,
		constraint2: 	315
	},
	stories: {
		listID: 		122
	}
	};

var msg = {
	noName:				'Please tell us your name',
	noSurname:			'Please supply your last name',
	noEmail:			'You must supply an email address',
	noFriendName:		'Please supply at least one friend\'s name',
	noFriendEmail:		'Please tell us your friend\'s email address',
	invalidEmail:		'The email address supplied is invalid',
	noContactNumber:	'Please supply a contact number',
	noDescription:		'What about description or story?',
	noFile:				'You haven\'t chosen anything to upload',
	noPrivacyPolicy:	'You need to agree with our privacy policy before you can upload'
}

var weatherInfo = { current:0, cities: ['Bloemfontein', 'Cape Town', 'Durban', 'Johannesburg', 'Pretoria'] };
var cal = { itemHeight: 24, o: null }; // d=date object, o=object to update
var scroller = { t:null, d:0, o: null, y:0, min:0, max:0, int: 33, count: 0 };
var sysIE = navigator.appName.indexOf('Microsoft') > -1;
var urlpfx = 'http://' + document.domain + '/shotleft';


// closed system functions
String.prototype.pad=function(l,s,t){return s||(s=" "),(l-=this.length)>0?(s=new Array(Math.ceil(l/s.length)+1).join(s)).substr(0,t=!t?l:t==1?0:Math.ceil(l/2))+this+s.substr(0,l-t):this};
sysAttachEvent=function(o,e,f){if(window.addEventListener){o.addEventListener(e,eval(f),false)}else if(window.attachEvent){o.attachEvent("on"+e,eval(f))}}
sysRemoveEvent=function(o,e,f){if(window.addEventListener){o.removeEventListener(e,eval(f),false)}else if(window.attachEvent){o.detachEvent("on"+e,eval(f))}}
styleClassAdd=function(o,c){if(typeof(o)=='string')o=el(o);if(!o){throw('Object not found in styleClassAdd');return}if(o.className.indexOf(c)==-1)o.className+=' '+c}
styleClassRemove=function(o,c){if(typeof(o)=='string')o=el(o);if(!o){throw('Object not found in styleClassRemove');return}o.className=o.className.replace(c,'')}
hashSet=function(p,v){var h=document.location.hash;p=p.toLowerCase();if(h.substr(0,1)=='#')h=h.substr(1);var ps=h.split('&');var pp,r,fp=false;for(var i=0;i<ps.length;i++){pp=ps[i].split('=');pp[0]=pp[0].toLowerCase();if(pp[0]==p){pp[1]=v;ps[i]=pp.join('=');fp=true;break}}r=ps.join('&');if(!fp)r+=(r!=''?'&':'')+p+'='+v;document.location.hash=r};
hashGet=function(p){var h=document.location.hash;p=p.toLowerCase();if(h.substr(0,1)=='#')h=h.substr(1);var ps=h.split('&');var pp,r='';for(var i=0;i<ps.length;i++){pp=ps[i].split('=');pp[0]=pp[0].toLowerCase();if(pp[0]==p){r=pp[1];break}}return r};
preload=function(){var d=document;if(d.images){if(!d.pA)d.pA=new Array();var i,j=d.pA.length,a=preload.arguments;for(i=0;i<a.length;i++)if(a[i].indexOf("#")!=0){d.pA[j]=new Image;d.pA[j++].src=a[i]}}};
function el(id){return document.getElementById(id)}
function elv(id){if(document.getElementById(id).value){return document.getElementById(id).value}else if(document.getElementById(id).innerHTML){return document.getElementById(id).innerHTML}}
function isEmpty(o,m){if(typeof(o)=='string')o=el(o);if(o.value.replace(/ /g,'')==''){alert(m);o.focus();return true}else{return false}}
function invalidEmail(o,m){if(typeof(o)=='string')o=el(o);var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(reg.test(o.value)==false){alert(m);o.focus();return true}else{return false}}
function elFlash(id){if(document[id]){return document[id]}else if(document.embeds&&document.embeds[id]){return document.embeds[id]}else{return el(id)}}
function sysEvent(e){e=e||window.event;e.obj=e.target||e.srcElement;e.key=e.which||e.keyCode;return e}
function styleActual(o,css){var obj=o;if(typeof(o)=='string')obj=el(o);if(!obj){throw('Object ('+o+') not found in styleActual');return}var strValue = "";if(document.defaultView && document.defaultView.getComputedStyle){strValue=document.defaultView.getComputedStyle(obj,"").getPropertyValue(css);}else if(obj.currentStyle){css = css.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase()});strValue = obj.currentStyle[css]}return strValue}
randomBetween=function(_min,_max){return Math.min(_max, Math.floor(Math.random() * (_max - _min + 1)) + _min)}



function popfk(v) { el('fk').value=v }
function term(idx) { displayToggle('term' + idx) }

function termsOn() {
	var t = el('lBoxTerms');
	var a = arguments;
	if ( a[0] && a[0] == 'withbackground' ) {
		window.withbackground = true;
		lBoxOn('lBoxTerms');
	} else {
		window.withbackground = false;
		if ( !sysIE ) {
			t.style.opacity = 1;
		} else {
			t.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 100;
		}
		t.style.display = 'block';
	}
	t.style.left = document.documentElement.clientWidth / 2 - (t.offsetWidth / 2) + 'px';
	t.style.top = document.documentElement.clientHeight / 2 - (t.offsetHeight / 2) + document.documentElement.scrollTop + 'px';
	xhr('/terms.htm', terms_r)
}

function terms_r(r) {
	r = r.substr(r.indexOf('<body>') + 6);
	r = r.substr(0, r.indexOf('</body>'));
	el('frmTerms').innerHTML = r;
}
function termsOff(){
	if ( window.window.withbackground ) {
		lBoxOff();
	} else {
		el('lBoxTerms').style.display = 'none';
	}
}

// preload images
function corePL() {
	var p='img/';preload(p+'loading.gif',p+'updates/btnSubmit_o.gif',p+'share/facebook_o.jpg',p+'experiences/btnAddItinerary_o.png',p+'btnSendToFriend_o.png',p+'stories/btnUpload_o.gif',p+'videos/btnUpload_o.gif',p+'photos/btnUpload_o.gif');
	p='img/lBoxes/';preload(p+'bg.png',p+'topleft.png',p+'toprite.png',p+'btnClose_o.png',p+'top.jpg',p+'topbot.jpg',p+'botleft.png',p+'botrite.png',p+'bot.gif')}
function homePL(){var p='img/home/';preload(p+'bgMoreInfo_o.gif',p+'tabPhotos_o.png',p+'btnMoreVideos_o.gif',p+'btnUpload_o.gif')}
function dealsPL(){var p='img/deals/';preload(p+'btnSendToFriend_o.gif',p+'btnReadMore_o.gif',p+'btnBookNow_o.gif',p+'btnSearch_o.gif')}
function calPL(){var p='img/calendar/';preload(p+'monthRight_o.gif',p+'monthLeft_o.gif',p+'cityRight_o.gif',p+'cityLeft_o.gif')}

function mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}

var rating = { original: null, left: 0 };
function ratingGrab(e) {
	e = sysEvent(e);
	var x = e.obj.offsetLeft;
	var p = e.obj.offsetParent;
	var previousLeft=0;
	while ( p ) {
		if ( p.offsetLeft && p.offsetLeft != previousLeft ) x += p.offsetLeft;
		previousLeft = p.offsetLeft;
		p = p.offsetParent;
	}
	rating.left = x;
	rating.original = e.obj.className;
}

function ratingRestore(o) {
	o.className = rating.original;
	rating.original = null;
}

function ratingSubmit(e) {
	e = sysEvent(e);
	rating.original = e.obj.className; 
}

function ratingUpdate(e) {
	if (!rating.original) return;
	e = sysEvent(e);
	var x;
	if (e.pageX) {
		x = e.pageX;
	} else if (e.clientX) {
	   x = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
	}
	
	x -= rating.left;
	x = Math.max(Math.round((x+5) / 10), 0);
	e.obj.className = 'rate'+x;
}

sysMonths = ["",
  { name: "January", days: 31 },
  { name: "February", days: 28 },
  { name: "March", days: 31 },
  { name: "April", days: 30 },
  { name: "May", days: 31 },
  { name: "June", days: 30 },
  { name: "July", days: 31 },
  { name: "August", days: 31},
  { name: "September", days: 30},
  { name: "October", days: 31},
  { name: "November", days: 30},
  { name: "December", days: 31}
  ];

function calDay(a, v) {
	styleClassRemove('day' + cal.d.getDate(), 'hot');
	styleClassAdd(a, 'hot');
	cal.d.setDate(v);
	eventUpdate();
}

function eventUpdate() {
	var e;
	
	if ( !isNaN(arguments[0]) ) {
		e = events[arguments[0]];
	} else {
		e = thisMonth[ cal.d.getDate() ];
	}
	var h;
	if ( e ) {
		var t = '';
		if ( typeof(e.h) != 'undefined' ) t = String(e.h).pad(2, '0', 0) + 'h' + String(e.n).pad(2, '0', 0);
		if ( el('eventDetails') ) {
			var info = el('eventInfo');
			info.getElementsByTagName('H3')[0].innerHTML = e.t;
			el('description').innerHTML = e.e;
			var detail;
			
			el('eventDate').getElementsByTagName('DIV')[0].innerHTML = e.d + ' ' + sysMonths[e.m].name + ' ' + e.y;
			if ( t != '' ) {
				detail = el('eventTime');
				detail.getElementsByTagName('DIV')[0].innerHTML = t;
				detail.style.display = 'block';
			} else {
				el('eventTime').style.display = 'none';
			}
			if ( typeof(e.showDate) != 'undefined' && e.showDate != false ) {
				el('eventDate').style.display = 'block';
				if ( t != '' ) el('eventTime').style.display = 'block';
			} else {
				el('eventDate').style.display = 'none';
				el('eventTime').style.display = 'none';
			}
			
			h = e.v;
			if ( e.l && e.l != '' ) h += ', ' + e.l;
				
			if ( typeof(e.showVenue) != 'undefined' && e.showVenue != false ) {
				el('eventVenue').style.display = 'block';
			} else {
				el('eventVenue').style.display = 'none';
			}
			el('eventVenue').getElementsByTagName('DIV')[0].innerHTML = h;
			
			detail = el('eventContact');
			if ( typeof(e.mi) != 'undefined' ) {
				detail.getElementsByTagName('DIV')[0].innerHTML = e.mi;
				detail.style.display = 'block';
			} else {
				detail.style.display = 'none';
			}
			
			detail = el('eventCost');
			if ( typeof(e.cost) != 'undefined' ) {
				detail.getElementsByTagName('DIV')[0].innerHTML = e.cost;
				detail.style.display = 'block';
			} else {
				detail.style.display = 'none';
			}
			
			var p = el('eventPic');
			if ( typeof(e.p) != 'undefined' && e.p != '' ) {
				var img = p.getElementsByTagName('IMG')[0];
				img.onload = function() { el('eventPic').style.visibility = 'visible' };
				img.src = e.p;
			} else {
				p.style.visibility = 'hidden';
			}
			el('eventDetails').style.visibility = 'visible';
		} else {	
			h = '<h5>' + e.t + '</h5>';
			h += '<a href="Events.aspx#i=' + e.masterIndex + '">Read more</a>';
			h += e.l + ' | ' + t;
			el('eventIntro').innerHTML = h;
		}
	} else {
		el('eventIntro').innerHTML = 'There are no events.'
	}
}
 
function monthMove(direction) {
	var m = cal.d.getMonth() + direction;
	var y = cal.d.getFullYear();
	if ( m < 0 ) {
		m = 11;
		y--;
	} else if ( m > 11 ) {
		m = 0;
		y++;
	}
	cal.d = new Date('1 ' + sysMonths[m+1].name + ' ' + y);
	calUpdate();
}

var thisMonth = [];
function cityMove(direction) {
	var c = weatherInfo.current + direction;
	if ( c < 0 ) {
		c = weatherInfo.cities.length - 1;
	} else if ( c == weatherInfo.cities.length ) {
		c = 0;
	}
	weatherInfo.current = c;
	weather(weatherInfo.cities[c]);
	el('city').innerHTML = weatherInfo.cities[c];
}

function calSetup() {
	cal.d = new Date();
	el('calendar').innerHTML = '<div id="calendarInner"><div id="calendarPage"><div id="today">' + new Date().getDate() + '</div><div id="weather"><div id="sky"><div id="cityLoader" class="loading"></div></div><div id="city"></div><a href="javascript:;" class="cityMove" onclick="cityMove(-1)" onfocus="blur()"></a><a href="javascript:;" id="cityNext" class="cityMove" onclick="cityMove(1)" onfocus="blur()"></a></div><div id="monthNav"><div id="monthAndYear"></div><a href="javascript:;" class="monthMove" onclick="monthMove(-1)" onfocus="blur()"></a><a href="javascript:;" id="monthNext" class="monthMove" onclick="monthMove(1)" onfocus="blur()"></a></div><h5><span>Sun</span><span>Mon</span><span>Tue</span><span>Wed</span><span>Thu</span><span>Fri</span><span>Sat</span></h5><div id="calendarDays"></div><div id="eventIntro"></div></div></div>';
	
	calUpdate();
}

function calUpdate() {
	var d = cal.d.getDate();
	var m = cal.d.getMonth() + 1;
	var y = cal.d.getFullYear();
	var monthNameAndYear = sysMonths[ m ].name + ' ' + y
	var evnt;
	
	el('monthAndYear').innerHTML = monthNameAndYear;
		
	var totalDays = 0;
	var days = '';
	var any = new Date( '1 ' + monthNameAndYear).getDay();
	for ( var i = 0; i < any; i++ ) {
		days += '<span></span>';
		totalDays++;
	}
	
	thisMonth = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
	any = events.length;
	for ( var i = 0; i < any; i++ ) {
		evnt = events[i];
		if ( evnt.m == m  && evnt.y == y ) {
			thisMonth[evnt.d] = evnt;
			thisMonth[evnt.d].masterIndex = i;
		}
	}
	
	if ( m == 2 ) sysMonths[ m ].days = ( y % 4 == 0 ? 29 : 28 );
	d = sysMonths[ m ].days;
	for ( var i = 1; i <= d; i++ ) {
		if ( thisMonth[i] != 0 ) m = ' class="on"'; else m='';
		days += '<a id="day' + i + '" href="javascript:;" onclick="calDay(this, ' + i + ')"' + m + ' onfocus="blur()">' + i + '</a>';
		totalDays++;
	}
	any = el('calendarDays');
	if ( totalDays > 35 ) m = 'extended'; else m = '';
	any.className = m;
	any.innerHTML = days;
	el('eventIntro').innerHTML = '';
}

var tLift, dropped;
function drop(o) {
	clearTimeout(tLift);
	if ( dropped ) doLift(o.parentNode);
	
	if ( o.parentNode.id.indexOf('sub') == -1 ) {
		dropped = el(o.parentNode.id + 'sub');
		if (dropped) dropped.style.display = 'block';
	}
}

function doLift() {
	var o = arguments[0];
	if (o) {
		if ( o == dropped ) return;
	}
	if ( dropped ) dropped.style.display = 'none';
}

function lift() { tLift = setTimeout(doLift, 300) }

var dots = 0;
function dotsSlide() { setInterval(_dotsSlide, 150) }

function _dotsSlide() {	el('dots1').style.backgroundPosition =  '0 ' + (dots--) + 'px' }

function weather(t) {
	xhr('iWeather.ashx?city=' + t, weather_r, 'cityLoader');
}

function weather_r(r) {
	var o = el('sky');
	r = r.split(',');
	o.style.backgroundImage = 'url(img/weather/' + r[0] + ')';
	o.title = r[1];
	el('city').innerHTML = weatherInfo.cities[weatherInfo.current];
}

function displayToggle(id) {
	var o = el(id);
	if ( styleActual(o, 'display') == 'block' ) {
		o.style.display = 'none';
	} else {
		o.style.display = 'block';
	}
}

// BEGIN: Lightboxes
var lBox = { bg: null, frm: null, opacity: 0, opacityIE: 0, timer: null, fadeDir: 1, fadeStep: 0.25 };
function lBoxOn(id) {
	clearInterval(lBox.timer);
	if ( lBox.frm ) lBox.frm.style.display = 'none';
	lBox.frm = el(id);
	if ( !lBox.bg ) {
		var d = document.createElement('DIV');
		document.body.appendChild(d);
		d.id = 'lBoxBg';
		lBox.bg = d;
	}
	
	lBox.fadeDir = 1 * lBox.fadeStep;
	lBox.bg.style.display = 'block';
	lBox.frm.style.display = 'block';
	
	lBoxAdjust();
	
	if ( !sysIE ) {
		lBox.bg.style.opacity = lBox.opacity;
		lBox.frm.style.opacity = lBox.opacity;
	} else {
		if ( lBox.bg.filters.length == 0 ) {
			lBox.bg.style.filter += 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)';
		}
		if ( lBox.frm.filters.length == 0 ) {
			lBox.frm.style.filter += 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)';
		}
	}
	id = id.replace('lBox', '');
	el('frm' + id ).style.display = 'block';
	
	var f = el('frm' + id).getElementsByTagName('INPUT')[0];
	if ( f ) f.focus();
	
	id = id.toLowerCase();
	id = el(id + 'Confirm');
	if ( id ) id.style.display = 'none';
	sysAttachEvent(document, 'keydown', lBoxKeypress);
	lBox.timer = setInterval(lBoxFade, 40);
}

function lBoxOff() {
	clearInterval(lBox.timer);
	lBox.fadeDir = -1 * lBox.fadeStep;
	sysRemoveEvent(document, 'keydown', lBoxKeypress);
	lBox.timer = setInterval(lBoxFade, 40);
}
function lBoxKeypress(e) {
	e = sysEvent(e);
	if ( e.key == 27 ) lBoxOff();
}

var intervals = '';
function lBoxFade() {
	lBox.opacity += lBox.fadeDir;
	if ( lBox.opacity < 0 ) {
		lBox.opacity = 0;
		clearInterval(lBox.timer);
		lBox.bg.style.display = 'none';
		lBox.frm.style.display = 'none';
	} else if ( lBox.opacity > 1 ) {
		lBox.opacity = 1;
		clearInterval(lBox.timer);
	}
	lBox.opacityIE = lBox.opacity * 100;
	if ( !sysIE ) {
		lBox.bg.style.opacity = lBox.opacity;
		lBox.frm.style.opacity = lBox.opacity;
	} else {
		if ( lBox.opacity <= 0.6) lBox.bg.filters.item("DXImageTransform.Microsoft.Alpha").opacity = lBox.opacityIE;
		lBox.frm.filters.item("DXImageTransform.Microsoft.Alpha").opacity = lBox.opacityIE;
	}
}

function lBoxAdjust() {
	if ( lBox.bg ) {
		var s = document.documentElement.scrollWidth || document.body.scrollWidth;
		s = Math.max(s, document.documentElement.clientWidth);
		lBox.bg.style.width = s + 'px';
		s = document.documentElement.scrollHeight || document.body.scrollHeight;
		s = Math.max(s, document.documentElement.clientHeight);
		lBox.bg.style.height = s + 'px';
	}
	if ( lBox.frm ) {
		lBox.frm.style.left = document.documentElement.clientWidth / 2 - (lBox.frm.offsetWidth / 2) + 'px';
		itemTop = parseInt(document.documentElement.clientHeight / 2 - (lBox.frm.offsetHeight / 2) + document.documentElement.scrollTop);
		if (itemTop<0) itemTop = 0;
		lBox.frm.style.top = itemTop  + 'px';
	}
}
sysAttachEvent( window, 'resize', lBoxAdjust);
// END: Lightboxes

function blurLink(e) {
	e = sysEvent(e);
	e.obj.blur();
}

function blurLinks() {
	var a = document.getElementsByTagName('A');
	for ( var i = 0; i < a.length; i++ ) {
		if ( a[i].href == 'javascript:;' ) a[i].onfocus = blurLink;
	}
}

function eventSetup() {
	var id = hashGet('i');
	if ( id == '' ) id = nextEvent;
	eventUpdate(id);
}

function videosetup(r){
	var movie = elFlash('playerVideo');
	
	if ( movie.src ){
		movie.src = r;
	} else {
		movie.movie = r;
	}
}

function fetchVideo() {
	xhr('iVideo.ashx?contentArea='+wom.video.listID + '&width=105&height=68', fetchVideo_r);
}

function fetchVideo_r(r) {
	r = r.split('|||');
	var idx = Math.floor(Math.random() * r.length);
	
	r = r[idx].split(':::');
	el('rating').className = 'rate' + r[1];
	videosetup(r[2]);
}

function subscribeSubmit() { lBoxSuccess('Subscribe') }

function registerSATSubmit() {
	if ( el('registerLoading').style.display == 'block' ) return;
	
	if ( isEmpty('txtName', msg.noName) ) return;
	if ( isEmpty('txtEmail', msg.noEmail) ) return;
	if ( invalidEmail('txtEmail', msg.invalidEmail) ) return;
	
	xhr('iMail.ashx?req=subscribe&name=' + elv('txtName') + '&email=' + elv('txtEmail') + '&mobile=' + elv('txtMobile'), registerSATSubmit_r, 'registerLoading');
	
}

function registerSATSubmitSpotlight(){

var axel = Math.random()+"";
var a = axel * 10000000000000;
document.write('<div style="height:0px;width:0px;padding:0px;margin:0px;"><iframe src="http://fls.doubleclick.net/activityi;src=2085640;type=shotl560;cat=recei614;ord=1;num='+ a + '?" width="1" height="1" frameborder="0"></iframe></div>');

	
}

function registerSATSubmit_r(r) {
	
	lBoxOn('lBoxRegistered');
	el('txtName').value = '';
	el('txtEmail').value = '';
	el('txtMobile').value = '';	
	
	
}

function lBoxSuccess(id) {
	el('frm' + id).style.display = 'none';
	el(id.toLowerCase() + 'Confirm').style.display = 'block';
}

function uploadSubmit() {
	
	if ( el('uploadLoading').style.display == 'block' ) return;
	if ( isEmpty('uploadFirstname', msg.noName) ) return;
	if ( isEmpty('uploadLastname', msg.noSurname) ) return;
	if ( isEmpty('uploadEmail', msg.noEmail) ) return;
	if ( isEmpty('uploadContact', msg.noContactNumber) ) return;
	if ( isEmpty('uploadDescription', msg.noDescription) ) return;
	if ( isEmpty('uploadSource', msg.noFile) ) return;
	
	if ( !el('uploadPolicy').checked ) {
		alert(msg.noPrivacyPolicy);
		return;
	}
	
	var ifr = el('iUpload');
	if ( !ifr ) {
		var d = document.createElement('DIV');
		d.innerHTML = '<iframe style="display:none" src="about:blank" id="iUpload" name="iUpload" onload="uploadSubmit_r()"></iframe>';
		document.body.appendChild(d);
	}
	
	el('uploadLoading').style.display = 'block';
	var f = el('aspnetForm');
	f.action = 'iUpload.ashx?countryid=' + wom.country.id + '&countryiso2=' + wom.country.iso2;
	f.method = 'POST';
	f.setAttribute( 'enctype', 'multipart/form-data');
	f.setAttribute( 'target', 'iUpload');
	//f.target = 'iUpload';
	f.submit();
	
	//xhr('iMail.ashx?req=&name=' + elv('txtName') + '&email=' + elv('txtEmail') + '&mobile=' + elv('txtMobile'), registerSATSubmit_r, 'registerLoading');
}

function uploadSubmit_r() {
	el('uploadLoading').style.display = 'none';
	lBoxSuccess('Upload');
}

function referSubmit() {
	if ( el('referLoading').style.display == 'block' ) return;
	
	if ( isEmpty('referername', msg.noName) ) return;
	if ( isEmpty('refereremail', msg.noEmail) ) return;
	if ( invalidEmail('refereremail', msg.invalidEmail) ) return;
	if ( isEmpty('fname1', msg.noFriendName) ) return;
	if ( isEmpty('femail1', msg.noFriendEmail) ) return;
	if ( invalidEmail('femail1', msg.invalidEmail) ) return;
	
	xhr('iMail.ashx?req=sendtofriend&name=' + elv('referername') + '&email=' + elv('refereremail') + '&fname1=' + elv('fname1') + '&femail1=' + elv('femail1') + '&fname2=' + elv('fname2') + '&femail2=' + elv('femail2'), referSubmit_r, 'referLoading');
}

function referSubmitSpotlight() {
	var axel = Math.random()+"";
	var a = axel * 10000000000000;
	document.write('<div style="height:0px;width:0px;padding:0px;margin:0px;"><iframe src="http://fls.doubleclick.net/activityi;src=2085640;type=shotl560;cat=consu316;ord=1;num='+ a + '?"" width="1" height="1" frameborder="0"></iframe></div>');
}
function referSubmit_r(r) { 

lBoxSuccess('ReferAFriend');
referSubmitSpotlight();
}

var banners = {
	idx: 0,
	source: [
			 { 
			 	alt: 'Don\'t let your postal code smother you, the best of Mzansi is a Sho\'t Left away',
				href: 'Promotions.aspx',
				src: 'funBus.gif',
				target: '_self'
			 }
			 ]
};
function bannerRotate() {
	banners.idx += 1;
	var be = el('bannerDeals');
	
	if ( banners.idx == banners.source.length ) banners.idx = 0;
	var b = banners.source[banners.idx];
	be.href = b.href;
	be.setAttribute('title', b.alt);
	be.setAttribute('target', b.target);
	var img = be.getElementsByTagName('IMG')[0];
	if ( img ) img.src = 'img/deals/' + b.src;
}

function bodyOnLoad() {
	if ( !el("bottom") ) {
		setTimeout(bodyOnLoad, 33);
		return;
	} else {
		if ( el('eventDetails') ) eventSetup();
		if ( el('events') ) {
			calSetup();
			weather(weatherInfo.cities[weatherInfo.current]);
			calPL();
		}
		
		var contentClass = el('content').className;
		if ( contentClass.indexOf('home') > -1 ) {
			
			fetchVideo();
			homePL();
			
		} else if ( contentClass.indexOf('experiences') > -1 ) {
			
			if ( el('photos') ) {
				grabthumbnails();
				photosPreload();
			}
			
			if ( el('thumbnails') ) fetchVideos();
		
			if ( contentClass.indexOf('stories') > -1 ) {
				fetchstories();
			}
			el('snaps').style.display = 'block';
			el('peeps').style.display = 'block';
			
		} else if ( contentClass.indexOf('deals') > -1 ){
			dealsPL();
		}
		
		
		if ( el('bannerDeals') && contentClass.indexOf('home') == -1 ) setInterval(bannerRotate, 8000);
		
		blurLinks();
	}
}

setTimeout(bodyOnLoad, 33);
sysAttachEvent(window, 'load', corePL);