var popupLoaded = false;
var showPopup = false;
var useAbsURL = false;


function setPopupLoaded() {
	popupLoaded = true;
	if (showPopup) {
		try {
			$('loading').style.display = 'none';
		}
		catch (e) {}
		signup();
	}
}

function loadPopup() {
	if (!popupLoaded) {
		if (showPopup) {
			try {
			$('loading').style.display = 'inline';
			}
			catch (e) {}
		}
		try {
			$('signup').innerHTML = '<iframe frameborder="0" onload="setPopupLoaded();" allowtransparency="true" class="signupFrame" id="signupFrame" src="'+(useAbsURL?'http://newaccounts.freewebs.com':'')+'/Signup/signup.jsp"></iframe>';
		}
		catch (e) {
			setTimeout('loadPopup();', 500);
		}
	}
}

var docHash = '';

window.onload = function() {
	setInterval(function() {
		var hash_reg = document.location.href.match(/^.*[#](.*)$/) || ['', ''];
		var hash = hash_reg[1];
		if (hash != docHash) {
			docHash = hash;
			
			if (docHash == '') {
				closeSignup();
			} else if (docHash == 'signupStep') {
				signup();
			}
		}
	}, 400);

	// Check for c1
	if (document.cookie.match(/c1=(.*?)(?:;|$)/i) == null) {
		// No cookie, preload
		loadPopup();
	}
}

function setOpacity(obj, opacity){
	if (opacity == 0){
		if(obj.style.visibility != "hidden") obj.style.visibility = "hidden";
	} else {
		if(obj.style.visibility != "visible") obj.style.visibility = "visible";
	}
	if (window.ActiveXObject) obj.style.filter = "alpha(opacity=" + opacity*100 + ")";
	obj.style.opacity = opacity;
}

function sin(pos){return ((-Math.cos(pos*Math.PI)/2) + 0.5);}; 

function showSignup() {
	$('shutter').style.height = (Math.max((window.innerHeight || 0), document.body.clientHeight, document.documentElement.clientHeight))+'px';
	this.changeElements('object', 'visibility', 'hidden');
	this.changeElements('object', 'zIndex', 0);
	this.changeElements('embed', 'visibility', 'hidden');
	this.changeElements('embed', 'zIndex', 0);

	var shutter = $('shutter');
	if (shutter.style.display == 'none') {
		shutter.style.display='block';
		var max = 80.0;
		setOpacity(shutter, 0);

		var dur = 100.0;

		var d = new Date();
		var start = d.getTime();
		var end = start + dur;

		var opac = 0;

		var fade = setInterval(function() {
			var d = new Date();
			var pos = d.getTime();
			

			var opac = sin((pos-start)/dur)*max;
			if (opac > max) {
				opac = max;
			}

			if (pos > end) {
				opac = max;
				clearInterval(fade);
				setTimeout(function() {
					$('signup').style.display = 'block';
					$('signupFrame').style.display = 'block';
					try {
						Tracker.track("signup1-popup", "Signup");
					} catch(ex) {}
				}, 100);
			}
			setOpacity(shutter, (opac/100.0));
		}, 10);
	}
}



function signup(useAbsoluteURL) {
	if (/WebKit/i.test(navigator.userAgent) || window.opera) {
		document.location = '/newAccounts.jsp';
		return;
	}

	if(useAbsoluteURL && useAbsoluteURL==true) {
		useAbsURL = true;
	}

	if (popupLoaded) {
		if (top.document.location.hash != 'signupStep') {
			top.document.location.hash='signupStep';
			document.documentElement.scrollTop = 0;
		}
		showSignup();
		showPopup = false;
	} else {
		showPopup = true;
		loadPopup();
	}
}

function closeSignup() {
	$('signup').style.display = 'none';
	$('signupFrame').style.display = 'none';
	$('shutter').style.display='none';
	if (top.document.location.hash != '' && top.document.location.hash != '#') {
		top.document.location.hash='#';
		document.documentElement.scrollTop = 0;
	}
	
	this.changeElements('object', 'visibility', 'visible');
	this.changeElements('embed', 'visibility', 'visible');
}

function changeElements(elementName, attribute, value, condition) {
	var elements = document.getElementsByTagName(elementName);
	for (var i=0;i < elements.length;i++) {
		if (condition === undefined || condition(elements[i])) {
			elements[i].style[attribute] = value;
		}
	}
}


var loader = new Image(32, 32);
loader.src='http://images.freewebs.com/Images/spinnerBig.gif';


