
function addAuthor(elem){
	
	text = '<table>' +
	'<tr><td>' +
	'&nbsp;'  +
	'</td></tr>'+
	'<tr><td>' +
	'Author:&nbsp;'  +
	'</td><td>'  +
	'<input type=\"text\" name=\"Author(' + elem.className + ')\">'  +
	'</td></tr>'  +
	
	'<tr><td>'  +
	'Affiliation:&nbsp; '  +
	'</td><td>'  +
	'<input type=\"text\" name=\"Author(' + elem.className + ') Affiliation\">'  +
	'</td></tr>'  +
	
	'<tr><td>'  +
	'Email Address:&nbsp; '  +
	'</td><td>'  +
	'<input type=\"text\" name=\"Author(' + elem.className + ') Email Address\">'  +
	'</td></tr>'+
	'</table>' +
	'</div>';

	elem.className = +elem.className + 1;
	
	nextDivID = +elem.className + 1;
	//alert(nextDivID);
	
	text += '<div id=\"addAuthor'+ nextDivID +'\">'; 
   
   
   writit(text, 'addAuthor' + elem.className);
   
   //elem.className = +elem.className + 1;
   
}

function addParam(name, value, dataString) {
    dataString += (dataString.length > 0 ? "&" : "")
    + escape(name).replace(/\+/g, "%2B") + "="
    + escape(value ? value : "").replace(/\+/g, "%2B");
    
    return dataString;
}

function bodyOnLoadEvent(){
	
	

	//document.getElementById('myGalleryHolder').style.display = 'none';
	//document.getElementById('myGalleryHolder').visibility = 'hidden'
	
	
	document.getElementById('myGallery').visibility = "visible";//'hidden'
	
	
	
	//document.getElementById('myGallery').style.display = 'block';
	
	//fixMenu();
	
	
	
}

function bodyOnLoadEventSlideShow(relPath){
	var galleryD = document.getElementById('myGallery');
	var singleImage = galleryD.childNodes[0];//.getFirstChild();
	
	var toAddToInner = "";
	
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/header2-5.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/header2-11.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/header2-1.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/header2-3.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/header2-9.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/a.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/b.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	toAddToInner += "<img src='" + relPath + "../images/slideShowPics/c.jpg' alt='slide show picture of Vancouver' style='display:none' />";
	
	galleryD.innerHTML += toAddToInner;
	
	//alert(relPath + "\n\n" + galleryD.innerHTML);
	
	$('#myGallery').cycle({
	    fx:    'fade',
	    speed:  4000
 	});
	
	
}

function keywordFilter(filterDiv){

	//alert(filterDiv);
	
	
	
	var allDivs = document.getElementsByTagName("DIV");
	
	
	try{
		//document.getElementById(filterDiv).className = 'advanceProgram_filterDivActive';
	}catch(e){
		//alert(filterDiv);
		//alert(e);
	}
	for(var j = 0; j < allDivs.length; ++j){
		//var div = allDivs[j];
		
		//if(allDivs[j].id.indexOf('filterDiv') > -1){
		//	allDivs[j].className = '';
		//}
		
		//change back the last active div:
		if(allDivs[j].className == 'advanceProgram_filterDivActive'){
			allDivs[j].className = 'advanceProgram_filterDiv';
		}
		
		//if(theActiveDiv == div){
		//	theActiveDiv.className = 'advanceProgram_filterDivActive';
		//} else {
		//	theActiveDiv.className = '';
		//}
		
	}
	//var theActiveDiv = 
	document.getElementById(filterDiv).className = 'advanceProgram_filterDivActive';
	//theActiveDiv.className = 'advanceProgram_filterDivActive';
	
	
	
	// get all of the active keywords:
	var allInputs = document.getElementsByTagName("INPUT");
	
	//see if we are 'show all' or not:
	var showAll = false;
	for (var j = 0; j < allInputs.length; j++) {
		var input = allInputs[j];
		
		if (input.type == "radio" && input.checked == true && input.id == "ignoreThisValue") {
			showAll = true;
		}
				
	}
	
	if (showAll) {
		document.getElementById("indexForShowAll").style.display = "block";
		document.getElementById("indexForSearch").style.display = "none";
	}
	else {
		document.getElementById("indexForShowAll").style.display = "none";
		document.getElementById("indexForSearch").style.display = "block";
	}
	
		// hide/show divs
		var allDivs = document.getElementsByTagName("div");
		for (var i = 0; i < allDivs.length; i++) {
			var div = allDivs[i];
			
			
			//see if the class = Conference_paper
			if (div.className == "Conference_paper") {
				//now see if the id contains an active keyword:
				
				var foundKeyword = false;
				if (!showAll) {
					for (var j = 0; j < allInputs.length && !foundKeyword; j++) {
						var input = allInputs[j];
						
						
						//see if the class = Conference_paper
						if (input.type == "radio" && input.checked == true) {
							//now see if the id contains an active keyword:
							
							//if (input.id != "ignoreThisValue") {
								//alert("hit: " + input.id);
								
								if (div.id.indexOf(input.id) > -1) {
									//we do have this keyword:
									foundKeyword = true;
								}
								else {
								//we don't have this keyword:
								//foundKeyword = false;
								}
							//}
							
							
						}
					}
				} else{
					//skip the search, show all:
					foundKeyword = true;
				}
				
				var linkId = "link_" + div.id.substring(div.id.lastIndexOf(" ") + 1);
				
				if (foundKeyword) {
					document.getElementById(linkId).style.display = "list-item";
					div.style.display = "block";
				}
				else {
					document.getElementById(linkId).style.display = "none";
					div.style.display = "none";
				}
				
			}
		}
	
	
}

function findPos(obj) {
    var curleft = curtop = 0;
    if(obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while(obj = obj.offsetParent) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
            //alert(curleft);
        }
    }
    return [curleft,curtop];
}

function fixImagesOnBCTourist(){
	
	var divs = document.getElementsByTagName("div");
	var standardHeight = 0;
	var standardHeightElement;
	
	for (var i = 0; i < divs.length; i++){
			var element = divs[i];
	
			if(element.className == 'standardHeightDivForImagesToFix'){
				standardHeight = findPos(element)[1];
				standardHeightElement = element;
			}
			
			if(element.className == 'imagesToFix'){
				element.style.paddingBottom = '2px';
			}
	}
	
	
	if(standardHeight != 0){
		
		var times = 0;
		var done = false;
		while(!done && times < 100){
			++times;
			
			for (var i = 0; (i < divs.length) && (!done); i++){
				var element = divs[i];
		
				if(element.className == 'imagesToFix'){
				
					element.style.paddingBottom = 1 + parseInt(element.style.paddingBottom.substring(0, element.style.paddingBottom.indexOf("px"))) + "px";
				
				
					if(findPos(standardHeightElement)[1] != standardHeight){
						element.style.paddingBottom = -1 + parseInt(element.style.paddingBottom.substring(0, element.style.paddingBottom.indexOf("px"))) + "px";
						done = true;
					}
					
				}
			}	
			
		}
		
		//alert(findPos(standardHeightElement)[0]);
		
	}
}


function fixMenu(){
	
	//this fixes our menu lenght:
	var navlist = document.getElementById("navlist");
	var lis = navlist.getElementsByTagName("li");
	var standardHeight = findPos(lis[0])[1];
	var counter = 0;
	var done = false;
	var alreadySet = false;
	
	var paddingLeftOfMenu = 1;
	
	
	while(!done){
		
		for (var i = 0; (i < lis.length) && (!done); i++){
			var element = lis[i];
			
			if(element.className == 'spacerLi'){
				//counter--;
				//paddingLeftOfMenu--;
				element.style.clear;
			}
			else{
			
				//alert(standardHeight + " " + findPos(element)[1]);
				
				if(findPos(element)[1] != standardHeight){
					done = true;
				} 
				else{
				
					if(counter == 0){
						element.firstChild.style.paddingLeft = 1 + "px";
						element.firstChild.style.paddingRight = 1 + "px";
						
					}
					else{
											
						element.firstChild.style.paddingLeft = paddingLeftOfMenu + "px";//1 + parseInt(element.firstChild.style.paddingLeft.substring(0, element.firstChild.style.paddingLeft.indexOf("px"))) + "px";
						element.firstChild.style.paddingRight = paddingLeftOfMenu + "px";//1 + parseInt(element.firstChild.style.paddingRight.substring(0, element.firstChild.style.paddingRight.indexOf("px"))) + "px";
						
					}
				}
				
				if(paddingLeftOfMenu > 100){
					done = true;
				}
				
			}
		}
		counter ++;
		paddingLeftOfMenu++;
	}
	

	for (var i = 0; i < lis.length; i++){
		var element = lis[i];
		
		if(element.className == 'spacerLi'){
				
		}
		else{
		
			element.firstChild.style.paddingLeft = -1 + parseInt(element.firstChild.style.paddingLeft.substring(0, element.firstChild.style.paddingLeft.indexOf("px"))) + "px";
			element.firstChild.style.paddingRight = -1 + parseInt(element.firstChild.style.paddingRight.substring(0, element.firstChild.style.paddingRight.indexOf("px"))) + "px";
		}

	}
	
	//now we will fine tune it:
	done = false;
	var element = lis[lis.length - 1];
	while(!done){
		
		
		if(findPos(element)[1] != standardHeight){
			done = true;
		} 
		else{
					
				element.firstChild.style.paddingLeft = paddingLeftOfMenu + "px";//1 + parseInt(element.firstChild.style.paddingLeft.substring(0, element.firstChild.style.paddingLeft.indexOf("px"))) + "px";
				element.firstChild.style.paddingRight = paddingLeftOfMenu + "px";//1 + parseInt(element.firstChild.style.paddingRight.substring(0, element.firstChild.style.paddingRight.indexOf("px"))) + "px";

			
		}
		
		if(paddingLeftOfMenu > 200){
			done = true;
		}
		
	
		counter ++;
		paddingLeftOfMenu++;
	}
	
	var element = lis[lis.length - 1];
		
	element.firstChild.style.paddingLeft = -1 + parseInt(element.firstChild.style.paddingLeft.substring(0, element.firstChild.style.paddingLeft.indexOf("px"))) + "px";
	element.firstChild.style.paddingRight = -1 + parseInt(element.firstChild.style.paddingRight.substring(0, element.firstChild.style.paddingRight.indexOf("px"))) + "px";
	
	
	//need to fix safari:
	if(BrowserDetect.browser.match("Safari")){
		element.firstChild.style.paddingLeft = -1 + parseInt(element.firstChild.style.paddingLeft.substring(0, element.firstChild.style.paddingLeft.indexOf("px"))) + "px";
		element.firstChild.style.paddingRight = -1 + parseInt(element.firstChild.style.paddingRight.substring(0, element.firstChild.style.paddingRight.indexOf("px"))) + "px";
	}

	for (var i = 0; i < lis.length; i++){
		var element = lis[i];
		
		element.style.visibility = 'visible';

	}

}


function programDayDivClick(callingElem){
	var elemToShow = document.getElementById(callingElem.id.substring(1));
	
	for(i = 16; i < 25; ++i){
		try{
			elem = document.getElementById("day" + i);
			
			if(callingElem.id.match("day" + i)){
				elem.style.display = "block";
				elem.style.visibility = "visible";
			}else {
				elem.style.display = "none";
				elem.style.visibility = "hidden";
			}
		}
		catch(e){}
		
	}
}


function showHideSchedule(caller, toToggle){
	
	//see if we are 'show' or 'hide'
	var text = caller.innerHTML.substring(0, 4);
	//alert(text);
	
	if(text == "Show"){
		text = "Hide";
	}else {
		text = "Show";
	}
	
	caller.innerHTML = text + caller.innerHTML.substring(4);
	$(toToggle).slideToggle("slow");
}


function writit(text,id){
//alert('write to id: ' + id);
	if (document.getElementById)
	{
		x = document.getElementById(id);
		//x.innerHTML = '';
		x.innerHTML = x.innerHTML + text;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = x.innerHTML + text;
	}
	else if (document.layers)
	{
		x = document.layers[id];
		text2 = '<P>' + text + '</P>';
		x.document.open();
		x.document.write(text2);
		x.document.close();
	}
}

function writeToLog(text, formName){
	
	//fill our data string with the right values
    var dataString = "";
    
    //add values
    dataString = addParam("o", formName, dataString);
    dataString = addParam("m", text, dataString);
    
    //now send the request
    var http;
    try{
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(err){
        http = new XMLHttpRequest();
    }
    
    http.open("POST", "formSubmitHandler.php?n=writeToLog", true);
    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
    http.send(dataString); 

}

function writeToLogForMentorRequest(formToGetDataFrom, formName){

	
	
	text = "Browser: " + BrowserDetect.browser + " " + BrowserDetect.version + ", OS: " + BrowserDetect.OS + "\n";
	//text = "Click Event from mentor request from :\n";
	
	for(i = 0; i < formToGetDataFrom.elements.length; i++){
		
		if(formToGetDataFrom.elements[i].value.toString() != "" && formToGetDataFrom.elements[i].name != ""){
			if(formToGetDataFrom.elements[i].type == "checkbox"){
				if(formToGetDataFrom.elements[i].checked == true){
					text += formToGetDataFrom.elements[i].name + ": Checked\n";
				}
			}else {
				text += formToGetDataFrom.elements[i].name + ": " + formToGetDataFrom.elements[i].value + "\n";
			}
		}
	}
	
	//elems = formToGetDataFrom
	
	
	
	writeToLog(text, formName);
	
	//alert("click3");
}












//browser detect:
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
//end browserDetect
