﻿if(document.location.host == "proximity.bbdo.be")
	document.location.href = "http://www." + document.location.host + document.location.href.split(document.location.host)[1];

$(document).ready(function() { init(); });

var _pageTitle;
var _pageDefault;
var _pageCurrent;
var _dReg = {};
var _pTracker;
var _jService;
var _jServiceURL;

function init()
{		
	$("#header, #menu, #content, #logos_livtom").fadeIn("slow");
	$("#loader").fadeOut("slow");
	
	_pageTitle = $("title").html();
	
	Logger.init(false);

	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
	
	setupGeneral();
	setupMenu();
	setupPageLinks();
	
	$.fn.extend({
		highlightError: function() { $(this).animate({backgroundColor: "#f5cbd3"}, 500).animate({opacity: 1.0}, 2000).animate({backgroundColor: "#ffffff"}, 2000); return true; }
	});
	
	_pTracker = _gat._getTracker("UA-1973540-52");
	_pTracker._trackPageview();
	
	checkMedium();
}

function checkMedium()
{
	if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))
	{
		$.iPhone.hideURLbar();
		
		$(".noiphone").remove();
		
		// MENU
		$("#menu").prepend("<li><a href=\"#/About/\" rel=\"/About/\">About</a></li>");
		
		// ABOUT
		var sDescr = $("#description").html();
		
		$("#description").remove();
		
		$("#About").append("<p>" + sDescr + "</p>");
		$("#About").append($("#logos_livtom").clone(true));
		
		// SESSIONS
		$("#Sessions input").remove();
		
		// SUBSCRIBE
		$("#Subscribe").remove();
		
		// PRESENTATIONS
		$("#Presentations").remove();
				
		// DEFAULT PAGE
		_pageDefault = "/About/";
	}
	else
	{
		_jService = new MyService();
		_jServiceURL = "/digitalnatives/ws/scripts/Myservice.ashx";
		
		setupPrefill();
		
		_pageDefault = "/Thanks/"
	}
	
	handleChange({path: ""});
}

function setupPrefill()
{
	var sGuid = $.query.get('GUID').length > 0 ? $.query.get('GUID') : ($.cookie('dn_cookie') && $.cookie('dn_cookie').length > 0 ? $.cookie('dn_cookie') : "");
	
	if(sGuid.length > 0)
	{
		Logger.log($.query.get('GUID'));
		
		_jService.getData(sGuid, function(oData) {
			if(oData && oData.result.guid && oData.result.guid.length > 0)
			{
				Logger.log("Data received");
				
				var data = oData.result;
				
				_pTracker._trackPageview(_pageCurrent + "/"  + "Prefilled");
			
				_dReg.guid = data.guid;

				_dReg.lastname = data.lastname;
				_dReg.firstname = data.firstname;
				_dReg.company = data.company;
				_dReg.func = data.func;
				_dReg.email = data.email;
				_dReg.street = data.street;
				_dReg.number = data.number;
				_dReg.zip = data.zip;
				_dReg.city = data.city;
				_dReg.optin = data.optin;
				
				$("#form_contact").find("#txt_name").attr("value", _dReg.lastname);
				$("#form_contact").find("#txt_surname").attr("value", _dReg.firstname);
				$("#form_contact").find("#txt_company").attr("value", _dReg.company);
				$("#form_contact").find("#txt_email").attr("value", _dReg.email);
				$("#form_contact").find("#txt_street").attr("value", _dReg.street);
				$("#form_contact").find("#txt_number").attr("value", _dReg.number);
				$("#form_contact").find("#txt_zip").attr("value", _dReg.zip);
				$("#form_contact").find("#txt_city").attr("value", _dReg.city);
				$("#form_contact").find("#txt_function").attr("value", _dReg.func);
				$("#form_contact").find("#chk_optin").attr("checked", _dReg.optin == "true" ? true : false);
			}
			else
				Logger.log("Prefill data NOT received");
		});
	}
}

function setupPageLinks()
{
	$("#content a[rel]").each(function() {
		$(this).click(function() {
			SWFAddress.setValue($(this).attr("rel")); 
			
			$(this).blur();
			
			return false;
		});
	});
}

function setupMenu()
{
	$("#menu li a").each(function() {
		$(this).click(function() {
			SWFAddress.setValue($(this).attr("rel")); 
			
			$(this).blur();
			
			checkActiveMenu();
			
			return false;
		});
	});
}

function setupGeneral()
{
	$("#Sessions .sessions_list li").each(function(){
		var clonedTag = $(this).find(".sessions_date").clone(true);
		
		$(this).find(".session_timing").before(clonedTag);
	});
	
	$("h1").css("cursor", "pointer");
	$("h1").click(function(){
		SWFAddress.setValue("/Sessions/"); 
			
		$(this).blur();
			
		return false;
	});
}

function handleChange(e) 
{
	var page = (e.path.length == 0 || e.path == "/") ? _pageDefault : e.path;

	page = page.substr(1, page.length - 2).replace(/\//g, ' / ');
	page = page.substr(0, 1).toUpperCase() + page.substr(1).toLowerCase();
	
	SWFAddress.setTitle(_pageTitle + " | " + page);
	
	if(_pageCurrent != page)
	{
		$("#" + _pageCurrent).slideUp("fast");
		
		if(_pageCurrent)
			$("#" + page).slideDown("slow");
		else
			$("#" + page).fadeIn("fast");
			
		_pageCurrent = page;
		
		_pTracker._trackPageview(_pageCurrent);
	}
	
	checkActiveMenu();
	checkActivePage();
}

function checkActiveMenu()
{
	$("#menu li a").each(function() {
		if("#/" + _pageCurrent + "/" == $(this).attr("href"))
		{
			$(this).parent().parent().find("li.active").removeClass("active");
			
			$(this).parent().addClass("active");
		}
	});
}

function checkActivePage()
{
	window.scrollTo(0, 1);
	
	switch(_pageCurrent)
	{
		/* SESSIONS SPECIFIC */
		case "Sessions":
		
			initSessions();
		
			break;
			
		/* PRESENTATIONS SPECIFIC */
		case "Presentations":
		
			initPresentations();
		
			break;
			
		/* CONTACT SPECIFIC */
		case "Contact":
		
			initContact();
		
			break;
			
		/* THANKS SPECIFIC */
		case "Thanks":
		
			initThanks();
		
			break;
			
		default: break;
	}
}

function initSessions()
{
	Logger.log("Init Sessions");
	
	$("#Sessions .sessions_list .sessions_desc").css("display", "none");
	
	$("#Sessions .sessions_list h3, #Sessions .sessions_list h3 + p").css("cursor", "pointer");
	
	$("#Sessions .sessions_list").find("li").not(".last").find("h3, h3 + p").click(function() {
		Logger.log("Show Session " + $(this).parent().find("h3").text().split(":")[0]);
		
		_pTracker._trackPageview(_pageCurrent + "/" + $(this).parent().find("h3").text().split(":")[0]);
		
		$(this).parent().parent().find("li.active").find("img.slideshare_img").attr("src", "assets/img/slideshare.gif");
		$(this).parent().parent().find("li.active").removeClass("active");
		
		$(this).parent().addClass("active");
		$(this).parent().find("img.slideshare_img").attr("src", "assets/img/slideshare_wit.gif");
		
		var sDesc = $(this).parent().find(".sessions_desc").html();
		
		$("#sessions_active").fadeOut("fast");
		$("#sessions_active").queue(function() {
			$(this).html(sDesc);
			$(this).fadeIn("slow");
			$(this).dequeue();
			
			// IPHONE
			if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))
			{
				if($(this).find(".iphone_session_back").length == 0)
					$(this).append("<a href='#' class='iphone_session_back'>Back to sessions list</a>");
			
				$(this).find(".iphone_session_back").click(function() {
					$("#Sessions .sessions_list").animate({opacity: 1.0}, 250).animate({marginLeft: "0px"}, 500);
					$("#sessions_active").animate({opacity: 1.0}, 100).animate({left: "320px"}, 300);
					$("#sessions_active").animate({opacity: 1.0}, 500).hide("slow");
					
					return false;
				});
				
				$("#Sessions .sessions_list").animate({opacity: 1.0}, 250).animate({marginLeft: "-320px"}, 500);
				$("#sessions_active").show();
				$("#sessions_active").animate({left: "0px"}, 300);
				
				window.scrollTo(0, $("#content").position().top);
			}
			else
			{
				// GET WHO'S WHO
				_jService.getSubscribers($(this).find("h4").text().split(":")[0].split(" ")[1], function(data) {
					Logger.log("Subscribers received");
					
					_pTracker._trackPageview(_pageCurrent + "/"  + "WhosWhoReceived");
					
					var arrSubs = data.result;
					var sList = "";
					
					if(arrSubs.length > 0)
						$("#sessions_active .whoscoming").show();
						
					$("#sessions_active .whoscoming p").html();
					
					for(var i = 0; i < arrSubs.length; i++)
					{
						var oVisitor = arrSubs[i];
						
						sList += oVisitor.firstname + " " + oVisitor.lastname + ", ";
					}
					
					sList = sList.substring(0, sList.length - 2);
					
					$("#sessions_active .whoscoming p").html(sList);
				});
			}
		});	
	});
	
	// FIRST ONE // IPHONE
	if(!navigator.userAgent.match(/iPhone/i) && !navigator.userAgent.match(/iPod/i))
	{
		if($.query.get('SESSION'))
			$("#Sessions .sessions_list li:eq(" + ($.query.get('SESSION') - 1) + ") h3").click();
		else
			$("#Sessions .sessions_list li:eq(0) h3").click();	
	}
	else
	{
		$("#Sessions .sessions_list").animate({marginLeft: "0px"}, 500);
		$("#sessions_active").animate({opacity: 1.0}, 100).animate({left: "320px"}, 300);
		$("#sessions_active").animate({opacity: 1.0}, 500).hide("slow");
	}
	
	// LAST ONE
	$("#Sessions .sessions_list li.last").find("h3, h3 + p").click(function(){
		SWFAddress.setValue("/Contact/"); 
			
		$(this).blur();
			
		return false;
	});
	
	if($.cookie('dn_cookie_poll') && $.cookie('dn_cookie_poll').length > 0 && $.cookie('dn_cookie_poll') == "DONE")
		fillPoll();
	else
	{
		$("#Sessions #sessions_extra .whoareyou li").css("cursor", "pointer");
		$("#Sessions #sessions_extra .whoareyou li a").click(function() {
			Logger.log("Vote for " + $(this).attr("class").split("_")[1]);

			_jService.addPoll((_dReg && _dReg.guid && _dReg.guid.length > 0 ? _dReg.guid : ""), $(this).attr("class").split("_")[1], function(data) {
				if(data.result.returner == "OK")
				{
					$.cookie('dn_cookie_poll', "DONE", { expires: 90, path: '/' });
					
					fillPoll();
				}
			});
			
			return false;
		});
	}
}

function fillPoll()
{
	_jService.getPollData(function(data) {
		var nCounter = 1;
		$("#Sessions #sessions_extra .whoareyou li a").each(function() {
			$(this).addClass("result");
			$(this).html(data.result["percentage" + nCounter] + "%");
			
			nCounter++;
		});
	});
}

function initPresentations()
{
	Logger.log("Init Presentations");
}

function initThanks()
{
	Logger.log("Init Thanks");
	
	$("#quotes").cycle({timeout: 12000});
}

function initContact()
{
	Logger.log("Init Contact");
	
	$("#form_contact").submit(function() {
		Logger.log("Contact!");
		
		_pTracker._trackPageview(_pageCurrent + "/" + "Submit");
		
		var regexp = /^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i;
		var bError = false;

		_dReg.lastname = $(this).find("#txt_name").attr("value");
		_dReg.firstname = $(this).find("#txt_surname").attr("value");
		_dReg.company = $(this).find("#txt_company").attr("value");
		_dReg.func = $(this).find("#txt_function").attr("value");
		_dReg.email = $(this).find("#txt_email").attr("value");
		_dReg.street = $(this).find("#txt_street").attr("value");
		_dReg.number = $(this).find("#txt_number").attr("value");
		_dReg.zip = $(this).find("#txt_zip").attr("value");
		_dReg.city = $(this).find("#txt_city").attr("value");
		_dReg.language = $(this).find("#sel_lang").val();
		
		_dReg.optin = $(this).find("#chk_optin").attr("checked") ? "true" : "false";
		_dReg.optin2 = $(this).find("#chk_optin2").attr("checked") ? "true" : "false";
		
		if(_dReg.lastname.length < 1)
			 bError = $(this).find("#txt_name").highlightError();
			 
		if(_dReg.firstname.length < 1)
			 bError = $(this).find("#txt_surname").highlightError();
		
		Logger.log(_dReg.email);
		
		if(!regexp.test(_dReg.email))
			bError = $(this).find("#txt_email").highlightError();
			 
		if(_dReg.street.length <= 2)
			 bError = $(this).find("#txt_street").highlightError();
			 
		if(_dReg.number.length == 0)
			 bError = $(this).find("#txt_number").highlightError();
			 
		if(_dReg.zip.length <= 2)
			 bError = $(this).find("#txt_zip").highlightError();
			 
		if(_dReg.city.length <= 1)
			 bError = $(this).find("#txt_city").highlightError();

		if(!bError)
		{				
			$("#button_contact").attr("value", "Please Wait...");
			$("#button_contact").attr("disabled", "true"); 
			
			_jService.addContact(_dReg, function(data) {
				Logger.log("You have now contacted (" + data.result.returner + ")");
				
				if(data.result.returner != "NOK")
				{
					_pTracker._trackPageview(_pageCurrent + "/"  + "Contact");
				
					$.cookie('dn_cookie', data.result.returner, { expires: 90, path: '/' });
					
					_dReg.guid = data.result.returner;
					
					$("#form_contact").replaceWith($("#contact_thanks").html());
				}
				else
					$("#form_contact").highlightError();
			});
		}
		
		return false;
	});
}
