var MAX_TWEETS = 30;

if (! this.createLivePlayer ) {
    function createLivePlayer() {};
}

function createXMLHttpRequestObject() {
    var req = false;
    // branch for native XMLHttpRequest object
    try {
	req = new XMLHttpRequest();
    } catch(e) {
	// branch for IE/Windows ActiveX version
	try {
	    req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	    try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch(e) {
                req = false;
	    }
	}
    }
    return req;
} 

function register() {
    //disable submit button
    document.getElementById('submit').style.textColor= "green";
    document.getElementById('submit').disabled=true;
    // read the form
    var first = document.getElementById('first').value;
    var last = document.getElementById('last').value;
    var email = document.getElementById('email').value;
    var company = document.getElementById('company').value;
    var country = document.getElementById('country').value;
    var pckg;
    if (document.getElementById('fee-conference').checked) { pckg = "conference"; };
    if (document.getElementById('fee-full-pass').checked) { pckg = "full-pass"; };

    // validate data
    var email_match = /\@([a-z0-9\-]+\.)+[a-z]{2,4}\s*$/i;
    if (first == '') {
	alert("Provide your first name, please.");
    } else if (last == '') {
	alert("Provide your last name, please.");
    } else if ( ! email_match.test(email) ) {
	alert("Provide your e-mail name, please.");
    } else if (pckg == undefined) {
	alert("Provide your registration option, please.");
    } else {
	var req = createXMLHttpRequestObject();
	try {
	            var url = "/registration2011?" + 
			"first=" + encodeURIComponent(first) + "&" +
			"last=" + encodeURIComponent(last) + "&" +
			"email=" + encodeURIComponent(email) + "&" +
			"company=" + encodeURIComponent(company) + "&" +
			"country=" + encodeURIComponent(country) + "&" +
			"package=" + encodeURIComponent(pckg);
		    //alert(url);
		    //document.getElementById('submit').style.backgroundColor= "yellow";
		    req.open("GET", url, false);
		    req.send('');
		    if (req.status == 200) { 
			//alert("Update successfull.");
		    } else {
			alert("Edit error: " + req.status + " " + req.statusText);
		    }
		    var resp = req.responseText.split(":");
		    if (resp[0] != 'ok') {
			alert(resp[1]);
		    } else {
			alert("Thank you for registering!");
			window.location.href=resp[1];
		    }
	} catch (e) {
	    alert("INTERNAL ERROR: " + e);
	}
    };
    //enable submit button
    document.getElementById('submit').disabled=false;
    document.getElementById('submit').style.textColor= "black";
}

function paymentOnLoad() {
  // read the query
  var code = window.location.search.substring(6);
  var req = createXMLHttpRequestObject();
  req.open('GET', "/payment2011?code=" + code);
  req.onreadystatechange = function() {
    if (req.readyState == 4) {
	if (! xhr.status == 200) 
	    return 0;
	var respText = req.responseText;
	//alert(respText);
	var data;
	eval ("data="+respText);
	if (data && (data["status"] == 0 || data["status"] == 1)) {
	    document.getElementById("envelope").setAttribute("class", "visible");
	    for (var aux in data) {
		var elem = document.getElementById(aux);
		if (elem) 
		    elem.innerHTML = data[aux];
	    }
	    if (data["status"] == 0) {
		document.getElementById("not-paid-yet").setAttribute("class", "visible");
		var buttonId;
		switch (data["package"]) {
		case "conference":
		    buttonId = "9301814";
		    break;
		case "full-pass":
		    buttonId = "9301925";
		    break;
		}
		document.getElementById("payment-button").setAttribute("value", buttonId);
		document.getElementById("payment-code").setAttribute("value", data["email"] + " " + data["code"]);
		document.getElementById("payment-code-dinner").setAttribute("value", data["email"] + " " + data["code"]);
	    } else if (data["status"] == 1) {	
		document.getElementById("paid").setAttribute("class", "visible");
	    }
	    if (data["package"] == "full-pass") {
		document.getElementById("accompanying-person").setAttribute("class", "visible");
	    }
	}
    }
  }
  req.send("");
}

function initializeTweetsLoad(maxTweets) {
    MAX_TWEETS = maxTweets;
    if ($("tweets")) {
	setTimeout(loadTweets2,500, maxTweets);
	setInterval(loadTweets2,210000, maxTweets);
    }
}

function loadTweets2(maxTweets) {
    if (! $('tweets')) {
	return 1;
    };
    if (! maxTweets) {
	maxTweets = MAX_TWEETS;
    }
    var xhr = createXMLHttpRequestObject();
    xhr.open("GET", "twitterwall/get_auditorium?tweets=" + maxTweets);
    xhr.onreadystatechange = function() {
	if (xhr.readyState == 4) {
	    if (! xhr.status == 200) 
		return 0;
	    var respText = xhr.responseText;
	    var data;
	    try {
		eval ("data =" + respText);
	    } catch (e) {
		alert(e.message);
	    }
	    var tweetsList = '';
	    if (! maxTweets) {
		maxTweets = MAX_TWEETS;
	    }
	    for (var i = 0; i < maxTweets; i++) {
		if (data['tweets'][i+""]) {
		    var tweet = data['tweets'][i+""]['tweet'];
		    tweetsList += "<div class='tweet'>";
		    tweetsList += "<span class='tweetName'>"+data['tweets'][i+""]['author']+"</span>";
		    tweetsList += "<span class='tweetText'>"+tweet+"</span>";
		    tweetsList += "<span class='tweetDateTime'>"+data['tweets'][i+""]['ts']+"</span>";
		    tweetsList += "</div>";
		}
	    }
	    $("tweets").innerHTML = tweetsList;
	}
    }
    xhr.send("");
};

function nextBanner() {
  var oldBanner = document.getElementById("banner-" + currentBannerId);
  currentBannerId = ++currentBannerId > bannerCount ? 1 : currentBannerId;
  var newBanner = document.getElementById("banner-" + currentBannerId);
  oldBanner.style.opacity = 0;
  if (oldBanner.filters) 
    oldBanner.filters.alpha.opacity = 0;
  newBanner.style.opacity = 1;
  if (newBanner.filters)
    newBanner.filters.alpha.opacity = 100;
  setTimeout(nextBanner, 9000);
}

function $(id) {
    return document.getElementById(id);
}


