function displaySeeLinkRunWidget(settings) {
	var pages = getReferrer(settings);
	var r = pages.r;
	if(settings.blocked) {
		var i;
		var blocked = settings.blocked;
		var l = blocked.length;
		for(i=0;i<l;i++) {
			blocked[i] = blocked[i].replace(' ','');
			blocked[i] = blocked[i].replace('http://www.','http://');
			if(r.match(blocked[i])) {
				r = null;
				break;
			}
		}
	} else if(settings.authorized) {
		var j;
		var authorized = settings.authorized;
		var l = authorized.length;
		var refAllowed = false;
		for(j=0;j<l;j++) {
			authorized[j] = authorized[j].replace(' ','');
			authorized[j] = authorized[j].replace('http://www.','http://');
			if(r.match(authorized[j])) {
				refAllowed = true;
				break;
			}
		}
		if(!refAllowed) {
			r = null;
		}
	}
	
	if(r) {
		settings.r = r;
	} else {
		settings.r = null;
	}
	settings.l = pages.l;
	
	dimensionWidget(settings.num,settings.align);
	displayTopBackground(settings.shellBg, settings.num, settings.align);
	displayIFrame(settings);
	displayBottomBackground(settings.shellBg, settings.num, settings.align);
}

function displayIFrame(settings) {
	var widget = document.getElementById("seeLinkRun-wgt");
	var iframe = document.createElement("iframe");
	iframe.frameBorder = 0;
	iframe.style.border = 'none';
	iframe.style.display = 'block';
	iframe.scrolling = 'no';
	iframe.style.width = widget.style.width;
	if(settings.align == 'v') {
		iframe.style.height = (settings.num*80 + 110) + 'px';
		iframe.width = '200';
		iframe.height = (settings.num*80 + 110);
	} else {
		iframe.style.height = '86px';
		iframe.height = '86';
		iframe.width = (settings.num*150 + 220);
	}
	iframe.src = 'http://seelinkrun.com/ServerCode.php?l=' + settings.l + '&r=' + settings.r + '&n=' + settings.num + '&a=' + settings.align + '&m=' + settings.method + '&shellBg=' + settings.shellBg.replace('#','%23') + '&linksBg=' + settings.linksBg.replace('#','%23') + '&linkText=' + settings.linkText.replace('#','%23') + '&infoText=' + settings.infoText.replace('#','%23') + '&bgText=' + settings.bgText.replace('#','%23') + '&activeTab=' + settings.activeTab.replace('#','%23');
	widget.appendChild(iframe);
	
}

function dimensionWidget(num, align) {
	var widget = document.getElementById("seeLinkRun-wgt");
	if(align == 'v') {
		widget.style.width = '200px';
	} else {
		widget.style.width = ((num*150) + 220) + 'px';
	}
}
		
	
function displayTopBackground(bgColor, num, align) {
	var widget = document.getElementById('seeLinkRun-wgt');
	var bTop = document.createElement('b');
	bTop.display = 'block';
	var bTops = new Array();
	var i;
	for(i=0;i<4;i++) {
		bTops[i] = document.createElement('b');
		bTops[i].style.display = 'block';
		bTops[i].style.height = '1px';
		bTops[i].style.overflow = 'hidden';
		bTops[i].style.backgroundColor = bgColor;
		bTop.appendChild(bTops[i]);
	}
	bTops[0].style.margin = '0 5px';
	bTops[1].style.margin = '0 3px';
	bTops[2].style.margin = '0 2px';
	bTops[3].style.margin = '0 1px';
	bTops[3].style.height = '2px';
	widget.appendChild(bTop);
}

function displayBottomBackground(bgColor, num, align) {
	var widget = document.getElementById('seeLinkRun-wgt');
	var bTop = document.createElement('b');
	bTop.display = 'block';
	var bTops = new Array();
	var i;
	for(i=0;i<4;i++) {
		bTops[i] = document.createElement('b');
		bTops[i].style.display = 'block';
		bTops[i].style.height = '1px';
		bTops[i].style.overflow = 'hidden';
		bTops[i].style.backgroundColor = bgColor;
		bTop.appendChild(bTops[i]);
	}
	bTops[0].style.margin = '0 1px';
	bTops[1].style.margin = '0 2px';
	bTops[2].style.margin = '0 3px';
	bTops[3].style.margin = '0 5px';
	bTops[0].style.height = '2px';
	widget.appendChild(bTop);
}



function getReferrer(settings) {
	var l;
	if(typeof settings.myLoc != 'undefined') {
		l = settings.myLoc;
	} else {
		l = location.href;
	}
	l = l.replace('http://www.', 'http://');
	var r = document.referrer.replace('http://www.','http://');
	if(r.match('http://google.'))
	{
		var restart = r.indexOf('?q=');
		if(restart= -1) { restart = r.indexOf('&q='); }
		var temp = r.substring(restart+1);
		var moreVars = temp.indexOf('&');
		if(moreVars != -1) {
			r = r.substring(0,r.indexOf('?')+1) + temp.substring(0,moreVars);
		} else {
			r = r.substring(0,r.indexOf('?')+1) + temp;
		}
	} else {
		var q = r.indexOf('&');
		if(q!=-1){r=r.substring(0,q);}
		q = l.indexOf('&');
		if(q!=-1){l=l.substring(0,q);}
		q = r.indexOf('#');
		if(q!=-1){r=r.substring(0,q);}
		q = l.indexOf('#');
		if(q!=-1){l=l.substring(0,q);}
		r = r.replace('http://seelinkrun.com/ServerCode.php?l=','');
		q = r.indexOf('?');
		if(q!=-1){r=r.substring(0,q);}
		q = l.indexOf('?');
		if(q!=-1){l=l.substring(0,q);}
		if(r == l) {r=null;}
	}
	var pages = new Object();
	pages.l = l;
	pages.r = r;
	return pages;
}
