// Copyright 2007-2009 NEW3S s.a. - NEW3S.com
// Christophe LEMOINE + Michael BRICOUT

function OpenDoor(zone) {
	switch(zone) {	
		case "ascenseur":
			//mysound.gotoAndStop('/bg02', 'stop');
			TNTDoCommand('ObjectTree("*").PlayAnimation(0,150,false,150)');			
		break;
	}				
}

function CloseDoor(zone) {
	switch(zone) {	
		case "ascenseur":
			//mysound.gotoAndStop('/bg02', 'stop');
			TNTDoCommand('ObjectTree("*").PlayAnimation(150,0,false,0)');			
		break;
	}				
}

function ClickOnBureau (obj, scene, previousscene) {
	var num    = '';
	var object = obj;
	var length = obj.length;
	var nbDigit = 0;
	for (i = length-1 ; i >= 0 ; i--) {
		if (isNaN (obj.charAt (i))) {
			if (nbDigit>0) {
				num    = obj.substr (length-nbDigit, nbDigit);
				object = obj.substr (0, length-nbDigit);
			}
			break;
		} else {
			nbDigit++;
		}
	}
	switch(object) {
		case "hall_bureaux": LoadScene(previousscene); break;
		case "video":
		case "site_web":
		case "email":
		case "localisation":
		case "poster":
		case "sponsor":
		case "skype":
		case "pdf":
		case "agenda":
		case "googlemap":
		case "document_email":
		case "rich_media":
			SceneTracker("Click", obj, "");
			window.open ("media.asp?Id="+scene+"&IdMedia="+obj);
		break;
		case "link":
			SceneTracker("Click", obj, "");
			window.location = "media.asp?Id="+scene+"&IdMedia="+obj;
		break;
		case "informer_un_ami":
			SceneTracker("Click", obj, "");
			window.open ("envoyer-ami.asp?Id="+scene+"&IdMedia="+obj);
		break;
		case "son":
			var lengthB = scene.length;
			var numB    = scene.substr (lengthB-2, 2);
			SceneTracker("Click", obj, "");
			soundManager.play ("B"+numB+"_"+obj, {volume: 100});
		break;
	}
}

function ClickOnStand (obj, scene) {
	var length   = obj.length;
	var numStand = obj.substr (length-2, 2);
	var numRing  = Math.abs (numStand) - 1;
	var object   = obj.substr (0, length-2);
	switch(object) {
		case "rotation": OnClickRing_Scene(obj, numRing); break;
		case "poster":
		case "localisation":
		case "email":
		case "site_web":
		case "skype":
		case "pdf":
		case "document_email":
		case "agenda":
			OnClickStand_Scene("rotation"+numStand, numRing);
			var idStand = scene + "_S" + numStand;
			window.open ("media.asp?Id="+idStand+"&IdMedia="+object);
			SceneTracker("Stand", idStand, object);
		break;
		case "networking":
			OnClickStand_Scene("rotation"+numStand, numRing);
			window.location = "networking.asp?Id="+scene+"_S01&Back="+scene;
			SceneTracker("Stand", scene, object);
		break;
	}
}

function ClickGotoSalon (obj, previous, next, salon) {
	switch(obj) {
		//Liens inter-scene
		case "ascenseur":      LoadScene(obj);  break;
		case "hall_suivant":   LoadScene(next); break;
		case "hall_precedent":
			if (obj.indexOf(salon) == 0) {
				LoadSceneAndGo(previous, "camera21");
			} else {
				LoadScene(next);
			}
			break;
		default:
			var length  = obj.length;
			var numHall = Math.abs (obj.substr (length-2, 2));
			LoadScene(salon+"_"+numHall);
		break;
	}
}

function ClickGotoStand (obj, alias) {
	var length    = obj.length;
	var numStand  = obj.substr (length-2, 2);
	var numCamera = Math.abs (numStand);
	SceneTracker(alias, obj, "");
	ChangeSceneCamera("camera"+numCamera);
}

function ZoneEnterOnStand (zone, physics, alias) {
	var length   = zone.length;
	var numBulle = zone.substr (length-2, 2);
	var object   = zone.substr (0, length-2);
	switch(object) {
		case "bulle_sonore":
			/*soundManager.stopAll ();*/ soundManager.play (alias + 'S' + numBulle + '_IN', {volume: 100} );
		break;
		case "bulle_sponsor":
			/*soundManager.stopAll ();*/ soundManager.play (alias + 'S' + numBulle + '_PUB', {volume: 100} );
		break;
	}
}


var gTimer             = new Date;
var gDisplayedDate     = 0;
var gDisplayedMonth    = 0;
var gDisplayedYear     = 0;
var gDisplayedHours    = 0;
var gDisplayedMinutes  = 0;
var gDisplayedSecondes = 0;
var gDisplayedDays     = 0;
var gClockPrefix       = "";
var gClockTimer        = "";
var gEndTimerAction    = "";

function StopClock() {
	window.clearInterval (gClockTimer);
	gClockTimer = "";
}

function StartClock(obj) {
	if (gClockTimer != "") { StopClock(); }
	gClockPrefix = obj;
	gDisplayedDate     = 0;
	gDisplayedMonth    = 0;
	gDisplayedYear     = 0;
	gDisplayedHours    = 0;
	gDisplayedMinutes  = 0;
	gDisplayedDays     = 0;
	//gDisplayedSecondes = 0;
	var freq = 1000; // if display seconds then = 250 else = 1000
	gClockTimer = self.setInterval ("UpdateClock()", freq);
	focus();
}

function UpdateClock() {
	UpdateClockDisplay(1);
}

function StopTimer() {
	window.clearInterval (gClockTimer);
	gClockTimer = "";
}

function StartTimer(obj, timeInMS, action) {
	var thisDate = new Date();
	gTimer.setTime (thisDate.getTime() + timeInMS)
	if (gClockTimer != "") { StopClock(); }
	gClockPrefix = obj;
	gDisplayedDate     = 0;
	gDisplayedMonth    = 0;
	gDisplayedYear     = 0;
	gDisplayedHours    = 0;
	gDisplayedMinutes  = 0;
	gDisplayedSecondes = 0;
	gDisplayedDays     = 0;
	gEndTimerAction    = action;    
	var freq = 250; // if display seconds then = 250 else = 1000
	gClockTimer = self.setInterval ("UpdateTimer()", freq);
	focus();
}

function UpdateTimer() {
	var thisDate = new Date();
	var date     = parseInt(thisDate.getDate());
	var month    = parseInt(thisDate.getMonth())+1;
	var fullYear = thisDate.getFullYear().toString();
	var length   = fullYear.length;
	var year     = Math.abs(fullYear.substr (length-2, 2));
	var hours    = parseInt(thisDate.getHours());
	var minutes  = parseInt(thisDate.getMinutes());
	var seconds  = parseInt(thisDate.getSeconds());
	UpdateClockDisplay(2);
}

function UpdateClockDisplay(mode) {
	var date     = 0;
	var month    = 0;
	var year     = 0;
	var hours    = 0;
	var minutes  = 0;
	var seconds  = 0;
	var days     = 0;
	var thisDate = new Date();

    switch (mode) {
    	case 1 :
			date     = parseInt(thisDate.getDate());
			month    = parseInt(thisDate.getMonth())+1;
			fullYear = thisDate.getFullYear().toString();
			length   = fullYear.length;
			year     = Math.abs(fullYear.substr (length-2, 2));
			hours    = parseInt(thisDate.getHours());
			minutes  = parseInt(thisDate.getMinutes());
			//seconds  = parseInt(thisDate.getSeconds());
		break;
		case 2 :
			var delta = parseInt((gTimer.getTime() - thisDate.getTime()) / 1000);
			if (delta <= 0) {
				StopTimer();
				if (gEndTimerAction != "") {
					CLEexecScript (gEndTimerAction);
				}
			} else {
				seconds  = parseInt(delta % 60); delta = parseInt(delta / 60);
				minutes  = parseInt(delta % 60); delta = parseInt(delta / 60);
				hours    = parseInt(delta % 24); delta = parseInt(delta / 24);
				days     = parseInt(delta);
			}
		break;
	}
	var i = 1;
	if (gDisplayedHours != hours) {
		gDisplayedHours = hours;
		hours/=10;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+hours%10+')'); i++;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedHours%10+')'); i++;
	} else {
		i +=2;
	}
	if (gDisplayedMinutes != minutes) {
		gDisplayedMinutes = minutes;
		minutes/=10;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+minutes%10+')'); i++;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedMinutes%10+')'); i++;
	} else {
		i +=2;
	}
	if (gDisplayedSecondes != seconds) {
		gDisplayedSecondes = seconds;
		seconds/=10;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+seconds%10+')'); i++;
		TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedSecondes%10+')'); i++;
	} else {
		if (mode == 2) { i +=2; }
	}
	if (mode == 1) {
		if (gDisplayedDate != date) {
			gDisplayedDate = date;
			date/=10;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+date%10+')'); i++;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedDate%10+')'); i++;
		} else {
			i +=2;
		}
		if (gDisplayedMonth != month) {
			gDisplayedMonth = month;
			month/=10;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+month%10+')'); i++;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedMonth%10+')'); i++;
		} else {
			i +=2;
		}
		if (gDisplayedYear != year) {
			gDisplayedYear = year;
			year/=10;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+year%10+')'); i++;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedYear%10+')'); i++;
		} else {
			i +=2;
		}
	} else {
		if (gDisplayedDays != days) {
			gDisplayedDays = days;
			days/=100;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+days%10+')'); i++;
			days = (gDisplayedDays - days)/10
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+days%10+')'); i++;
			TNTDoCommand('Objects('+gClockPrefix+i+').SetFrame('+gDisplayedDays%10+')'); i++;
		} else {
			i +=3;
		}
	}
}

function NbDigit (string) {
	var length = string.length;
	var nbDigit = 0;
	for (i = length-1 ; i >= 0 ; i--) {
		if (isNaN (string.charAt (i))) {
			break;
		} else {
			nbDigit++;
		}
	}
	return nbDigit;
}

// Copyright 2007-2009 NEW3S s.a. - NEW3S.com
// Christophe LEMOINE + Michael BRICOUT

