function gotoJoinPage() {
	window.location.href = "JoinEvent";
}

function gotoNewEvent() {
	var element1;
	element1 = document.getElementById("newEventSubpane");
	element1.style.display = '';
}

function discardNewEvent() {
	var element1;
	element1 = document.getElementById("newEventSubpane");
	element1.style.display = 'none';
	toggleAdvancedSettings();
}
function whattodofn(code) {
	var element1;
	if (code == "show") {
		element1 = document.getElementById("whattodo");
		element1.style.display = '';
	}
	if (code == "hide") {
		element1 = document.getElementById("whattodo");
		element1.style.display = 'none';
	}
}

function changeMenuBG(image, id) {
	var element = document.getElementById(id);
	element.style.backgroundImage = "url(" + image + ")";
}

function expandCollapseRow(idx) {
	var element1, s1;
	s1 = "details" + idx;
	element1 = document.getElementById(s1);

	if (element1.style.display == 'none') {
		element1.style.display = '';
		// e4.colSpan=10;
	} else if (element1.style.display == '') {
		element1.style.display = 'none';
	}
}

var lastMaximizedRow = -1;
function showRecordings(a) {
	if (lastMaximizedRow != -1) {
		// If you want to show maximum of only one expanded row at a time.
		// Uncomment the below line.
		// hideRecordings(lastMaximizedRow);
	}
	lastMaximizedRow = a;
	var element1;
	element1 = document.getElementById("recordingsTable" + a);
	element1.style.display = '';
	element1 = document.getElementById("collapseEvents" + a);
	element1.style.display = '';
	element1 = document.getElementById("expandEvents" + a);
	element1.style.display = 'none';
}

function hideRecordings(a) {
	var element1;
	element1 = document.getElementById("recordingsTable" + a);
	element1.style.display = 'none';
	element1 = document.getElementById("expandEvents" + a);
	element1.style.display = '';
	element1 = document.getElementById("collapseEvents" + a);
	element1.style.display = 'none';
}

function initCreateEvent() {
	document.getElementById("AdvancedSettings").style.display = 'none';
	rolesChange("ScreenersCheck");
}
function toggleAdvancedSettings() {
	if (document.getElementById("fAdvancedSettingsCheckBox").checked == true) {
		document.getElementById("AdvancedSettings").style.display = '';
	} else {
		document.getElementById("AdvancedSettings").style.display = 'none';
	}
}
function toggleGetPassword(id) {
	var element;
	element = document.getElementById(id);
	if (element.style.display == 'none') {
		element.style.display = '';
	} else if (element.style.display == '') {
		element.style.display = 'none';
	}
}
function closePasswordBox(id) {
	var element;
	element = document.getElementById(id);
	element.style.display = 'none';
}
function rolesChange(role) {

	// Containers
	if (document.getElementById("eventScreenersRole").checked == true) {
		document.getElementById("ScreenersRoleContainers").style.display = '';
	} else {
		document.getElementById("ScreenersRoleContainers").style.display = 'none';
	}

	if (document.getElementById("eventPresentersRole").checked == true) {
		document.getElementById("presentersRoleContainers").style.display = '';
	} else {
		document.getElementById("presentersRoleContainers").style.display = 'none';
	}

	if (document.getElementById("eventParticipantsRole").checked == true) {
		document.getElementById("participantsRoleContainers").style.display = '';
	} else {
		document.getElementById("participantsRoleContainers").style.display = 'none';
	}

	/*
	 * if(document.getElementById("eventViewersRole").checked == true){
	 * document.getElementById("ViewersRoleContainers").style.display = ''; }
	 * else{ document.getElementById("ViewersRoleContainers").style.display =
	 * 'none'; }
	 */
}

function finishEventCreation(event, path) {
	var req;
	document.body.style.cursor = 'wait';
	req = new XMLHttpRequest();
	var str = "http://" + path + "/controlgw/LoadFlow?flow=" + event;
	// alert(str);
	req.open("GET", str, false);
	req.send(null);

	document.body.style.cursor = 'default';
}

function testFunction(str) {
	alert(str);
}

function openNewWindow(sURL) {
	newwindow = open(sURL, "newwin",
			"toolbar=no,directories=no, menu bar=no, resizable=yes,status=yes");
}

function changeImageAndShowBox(idImage, img, idBox) {

	document.getElementById(idImage).src = img;
	showElement(idBox);
}

function changeImageAndHideBox(idImage, img, idBox) {
	hideElement(idBox);
	document.getElementById(idImage).src = img;
}

function hideElement(id) {
	document.getElementById(id).style.display = 'none';
}
function showElement(id) {
	document.getElementById(id).style.display = '';
}

function scheduleNowFn(id) {
	if (document.getElementById(id).checked == true) {
		document.getElementById("eventMonthDis").disabled = true;
		document.getElementById("eventDayDis").disabled = true;
		document.getElementById("eventYearDis").disabled = true;
		document.getElementById("eventStartHourDis").disabled = true;
		document.getElementById("eventStartMinDis").disabled = true;
		document.getElementById("eventAmPmDis").disabled = true;
	} else {
		document.getElementById("eventMonthDis").disabled = false;
		document.getElementById("eventDayDis").disabled = false;
		document.getElementById("eventYearDis").disabled = false;
		document.getElementById("eventStartHourDis").disabled = false;
		document.getElementById("eventStartMinDis").disabled = false;
		document.getElementById("eventAmPmDis").disabled = false;
	}
}

function updateLocalInstantCreate() {
	var sDate = new Date(); // Date entered by User
	// convert local time to UTC
	/*
	 * document.getElementById("eventYear").value=sDate.getUTCFullYear();
	 * document.getElementById("eventMonth").value=sDate.getUTCMonth();
	 * document.getElementById("eventDay").value=sDate.getUTCDate();
	 * document.getElementById("eventStartHour").value=sDate.getUTCHours();
	 * document.getElementById("eventStartMin").value=sDate.getUTCMinutes();
	 */
	// document.getElementById("clientTimeStamp").value=sDate.getTime();
	// alert(sDate.toString()+" "+sDate.toDateString()+"
	// "+sDate.toLocaleDateString()+" "+sDate.toLocaleString()+"
	// "+sDate.toLocaleTimeString());
	// alert(sDate.toString());
	/*
	 * var jan = new Date(sDate.getFullYear(), 0, 1); var jul = new
	 * Date(sDate.getFullYear(), 7, 1); alert(jan.getTimezoneOffset()+"
	 * "+jul.getTimezoneOffset()); var stdTimeZoneOffset =
	 * Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
	 * 
	 * dst = sDate.getTimezoneOffset() - stdTimeZoneOffset;
	 * 
	 * alert(sDate.getTimezoneOffset()+" "+dst);
	 */

	document.getElementById("clientTimeZoneOffset").value = (-sDate
			.getTimezoneOffset());

	var zoneName;
	var str = sDate.toTimeString().toString();
	if ((str.indexOf('(') != -1) && (str.indexOf(')') != -1)) {
		// for browsers Firefox, Chrome and Safari which return the client time
		// zone name
		zoneName = str.substring(str.indexOf('(') + 1, str.indexOf(')'));
	} else {
		// for browsers like IE and Opera
		zoneName = str.substring(9, str.length);
	}
	document.getElementById("clientTimeZoneName").value = zoneName;
	// alert("clientTimeZoneName:
	// "+document.getElementById("clientTimeZoneName").value);
}

function daysInMonth(year, month) {
	var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if (month == 1) { // FEB
		if (year % 4 == 0) {
			return 29;
		} else {
			return 28;
		}
	}
	return daysInMonth[month];
}

function setDaysBasedOnMonthAndYear() {
	var year = document.getElementById("eventYearDis").value;
	var month = document.getElementById("eventMonthDis").value;
	var date = document.getElementById("eventDayDis").value;

	var num = daysInMonth(year, month);
	var selectedDate = (date < num) ? date : num;

	var str = "<select class=\"select_effect\" name=\"eventDayDis\" type=\"text\" id=\"eventDayDis\" style=\"width:45px; height:20px;\" value=\"day\" size=\"1\">";
	for (vi = 1; vi < (selectedDate); vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + vi + "</option>";
	for (vi = vi + 1; vi <= num; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "</select>";
	document.getElementById("peventDayDis").innerHTML = str;

}

function setYear(year) {
	var str;
	var vi;
	var d = new Date();

	currYear = d.getFullYear();

	// Year
	str = "<select  class=\"select_effect\" name=\"eventYearDis\" type=\"text\" id=\"eventYearDis\" style=\"width:60px; height:20px;\" value=\"year\" size=\"1\" onChange=\"setDaysBasedOnMonthAndYear();\" tabindex=\"6\">";
	for (vi = currYear; vi < year; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + vi + "</option>";
	for (vi = year + 1; vi <= (currYear + 4); vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "</select>";
	document.getElementById("peventYearDis").innerHTML = str;
}

var monthsArray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
		"Aug", "Sep", "Oct", "Nov", "Dec");

function setMonth(month) {
	var str;
	var vi;
	var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
			"Aug", "Sep", "Oct", "Nov", "Dec");

	// Month
	str = "<select class=\"select_effect\" name=\"eventMonthDis\" type=\"text\" id=\"eventMonthDis\" style=\"width:45px; height:20px;\" value=\"mon\" size=\"1\" onChange=\"setDaysBasedOnMonthAndYear();\" tabindex=\"4\">";
	for (vi = 0; vi < month; vi++) {
		str += "<option value=\"" + vi + "\">" + months[vi] + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + months[vi] + "</option>";
	for (vi = month + 1; vi < 12; vi++) {
		str += "<option value=\"" + vi + "\">" + months[vi] + "</option>";
	}
	str += "</select>";
	document.getElementById("peventMonthDis").innerHTML = str;
}
function selectedDate(callBack, date) {
	// alert(callBack);

	if (callBack == "startTime") {
		var dt = new Date(date);
		setYear(dt.getFullYear());
		setMonth(dt.getMonth());

		document.getElementById("eventYearDis").value = dt.getFullYear();
		document.getElementById("eventMonthDis").value = dt.getMonth();
		document.getElementById("eventDayDis").value = dt.getDate();
		setDaysBasedOnMonthAndYear();
	}
	if (callBack == "recurringTillTime") {

		;
	}
}
function updateLocalHostEdit() {
	//This function doesnt seemed to be used anymore.
	//to be checked again and cleared.
	
	if (document.getElementById("startTime") == null) {
		return;
	}

	/*var FifteenMinutes = Number(15 * 60 * 1000);
	document.getElementById("startTime").value = Number(document
			.getElementById("startTime").value)
			+ Number(FifteenMinutes);
	document.getElementById("endTime").value = Number(document
			.getElementById("endTime").value)
			+ Number(FifteenMinutes);
	*/
	
	d = new Date(document.getElementById("startTime").value);
	d.setTime(document.getElementById("startTime").value);

	year = d.getFullYear();
	month = d.getMonth();
	date = String(d.getDate());
	hrs = String(d.getHours());
	mins = String(d.getMinutes());
	setDateFields(year, month, date, hrs, mins);
}

function updateLocalHost() {
	if (document.getElementById("startTime") == null
			|| document.getElementById("endTime") == null) {
		return;
	}
	// alert("Date: "+document.getElementById("startTime").value+"
	// "+document.getElementById("endTime").value);

	/*var FifteenMinutes = Number(15 * 60 * 1000);
	document.getElementById("startTime").value = Number(document
			.getElementById("startTime").value)
			+ Number(FifteenMinutes);
	document.getElementById("endTime").value = Number(document
			.getElementById("endTime").value)
			+ Number(FifteenMinutes);
	 */
	var s = new Date();
	s.setTime(document.getElementById("startTime").value);
	// alert(s.getTime());

	var year = s.getFullYear();
	var month = s.getMonth();
	var date = String(s.getDate());
	var hrs = String(s.getHours());
	var mins = String(s.getMinutes());
	setDateFields(year, month, date, hrs, mins);
	// alert(year+" "+month+" "+date+" "+hrs+" "+mins);

	var t = new Date();
	t.setTime(document.getElementById("recurringTillTimeDefault").value);
	//alert(t.getMonth()+" "+t.getDate());
	// var ThirtyDaysInMillis = new Number(30*24*60*60*1000);

	// alert(document.getElementById("startTime").value);
	// var tVal = s.getMilliseconds() + Number(ThirtyDaysInMillis);
	// t.setMilliseconds(tVal);
	var tillStr = (t.getMonth() + Number(1)) + "/" + t.getDate() + "/"
			+ t.getFullYear();
	document.getElementById("recurringTillDisplay").value = tillStr;

	var e = new Date();
	e.setTime(document.getElementById("endTime").value);

	var d = new Date();
	var diffMS = e.getTime() - s.getTime();
	d.setTime(diffMS);
	hrs = String(d.getUTCHours());
	mins = String(d.getUTCMinutes());
	setDuration(hrs, mins);

}
function setDuration(hrs, mins) {
	// Hour
	str = "<select  class=\"select_effect\" style=\"width:45px; height:20px;\" name=\"eventDurationHour\" id=\"eventDurationHour\" size=\"1\" tabindex=\"10\">";
	for (vi = 0; vi < hrs; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + vi + "</option>";
	for (vi = vi + 1; vi <= 23; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "</select>";
	document.getElementById("peventDurationHourDis").innerHTML = str;

	// Minute
	var minutes = new Array(00, 15, 30, 45);
	var dispMinutes = new Array("00", "15", "30", "45");

	str = "<select  class=\"select_effect\" style=\"width:45px; height:20px;\" name=\"eventDurationMin\" id=\"eventDurationMin\" size=\"1\" tabindex=\"11\">";

	for (vi = 0; minutes[vi] < mins && vi <= 2; vi++) {
		str += "<option value=\"" + minutes[vi] + "\">" + dispMinutes[vi]
				+ "</option>";
	}

	str += "<option value=\"" + minutes[vi] + "\" selected >" + dispMinutes[vi]
			+ "</option>";

	for (vi = vi + 1; vi <= 3; vi++) {
		str += "<option value=\"" + minutes[vi] + "\">" + dispMinutes[vi]
				+ "</option>";
	}
	str += "</select>";
	document.getElementById("peventDurationMinDis").innerHTML = str;
}
function setDateFields(year, month, date, hrs, mins) {
	var ampm = "AM";

	year = Number(year);
	month = Number(month);
	date = String(date);
	hrs = String(hrs);
	mins = String(mins);

	if (hrs > 12) {
		ampm = "PM";
		hrs -= 12;
	}

	if (hrs == 12) {
		ampm = "PM";
	}

	if (hrs == 0) {
		hrs = 12;
	}

	var vi;

	// Year
	setYear(year);

	// Month
	setMonth(month);

	// Date
	str = "<select class=\"select_effect\" name=\"eventDayDis\" type=\"text\" id=\"eventDayDis\" style=\"width:45px; height:20px;\" value=\"day\" size=\"1\" tabindex=\"5\">";
	for (vi = 1; vi < (date); vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + vi + "</option>";
	for (vi = vi + 1; vi <= daysInMonth(year, month); vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "</select>";
	document.getElementById("peventDayDis").innerHTML = str;

	// Hour
	str = "<select  class=\"select_effect\" style=\"width:45px; height:20px;\" name=\"eventStartHourDis\" id=\"eventStartHourDis\" size=\"1\" tabindex=\"7\">";
	for (vi = 1; vi < hrs; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "<option value=\"" + vi + "\" selected >" + vi + "</option>";
	for (vi = vi + 1; vi <= 12; vi++) {
		str += "<option value=\"" + vi + "\">" + vi + "</option>";
	}
	str += "</select>";
	document.getElementById("peventStartHourDis").innerHTML = str;

	// Minute
	var minutes = new Array();
	var dispMinutes = new Array();
	var interval = 5;
	var maxIdx = 60/interval;
	for(var idx=0; idx < maxIdx; idx++)
	{
		var currentMin = idx*interval;
		minutes[idx] = currentMin;
		if((""+currentMin).length == 1)
			dispMinutes[idx] = "0"+currentMin;
		else
			dispMinutes[idx] = ""+currentMin;
	}
	
	var index = Math.floor(mins / interval);
	str = "<select  class=\"select_effect\" style=\"width:45px; height:20px;\" name=\"eventStartMinDis\" id=\"eventStartMinDis\" size=\"1\" tabindex=\"8\">";
	for (vi = 0; vi < index; vi++) {
		str += "<option value=\"" + minutes[vi] + "\">" + dispMinutes[vi]
				+ "</option>";
	}

	str += "<option value=\"" + minutes[vi] + "\" selected >" + dispMinutes[vi]
			+ "</option>";

	for (vi = vi + 1; vi < maxIdx; vi++) {
		str += "<option value=\"" + minutes[vi] + "\">" + dispMinutes[vi]
				+ "</option>";
	}
	str += "</select>";

	document.getElementById("peventStartMinDis").innerHTML = str;

	// AMPM
	str = "<select class=\"select_effect\" style=\"width:45px; height:20px;\" name=\"eventAmPmDis\" id=\"eventAmPmDis\" tabindex=\"9\">";
	if (ampm == "AM") {
		str += "<option selected value=\"AM\">AM</option>";
		str += "<option value=\"PM\">PM</option>";
	} else {
		str += "<option value=\"AM\">AM</option>";
		str += "<option selected value=\"PM\">PM</option>";
	}
	str += "</select>";
	document.getElementById("peventAmPmDis").innerHTML = str;
}

function prepareForm() 
{
	/*
	 * var fullStr = document.getElementById("eventDescription").value; fullStr =
	 * fullStr.replace(/\n+/g,"\\n"); //need to put the string with \\n in the
	 * meeting invitation document.getElementById("eventDescription").value =
	 * fullStr;
	 */

	document.getElementById("creationConfirmButtons").style.display = 'none';
	document.getElementById("creationStatus").style.display = '';

	if (document.getElementById("userClient").checked == true) 
	{
		document.getElementById("userEmailClientDiv").style.display = '';
		document.getElementById("redirectparam").value = "userEmail";
	}
	
	var form = document.getElementById("formCreateEvent");
	
	var  formString = "EventControl?";
	for (var i=0; i < form.elements.length; i++) 
	{
		var element = form.elements[i];
		
		if (element.type == "checkbox") 
		{
			if (element.checked)
			{
				formString += element.name + "=" + element.value + "&";
				if(element.name == "isRSVPEvent")
				{
					formString += getRSVPDetails(); 
				}
			}
			else 
			{
				formString += element.name + "=&";
			}
		}
		else if (element.type == "radio") 
		{
			if (element.checked) 
			{
				formString += element.name + "=" + element.value + "&";
			}
		}
		else
		{
			formString += element.name+"="+encodeURIComponent(element.value)+"&";
		}
	}
	
	var xhr; 
    try 
    {  
    	xhr = new ActiveXObject('Msxml2.XMLHTTP');   
    }
    catch (e)
    { 
    	
        try 
        {
        	xhr = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch (e2) 
        {
          try 
          { 
        	  xhr = new XMLHttpRequest();     
          }
          catch (e3) 
          {   
        	  xhr = false;   
          }
        }
    }
    xhr.onreadystatechange  = function()
    { 	
    	if(xhr.readyState  == 4)
        {
              if(xhr.status  == 200) 
              {
            	  
            	  try //Internet Explorer
            	  {
		           	  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		           	  xmlDoc.async="false";
		           	  xmlDoc.loadXML(xhr.responseText);
            	  }
            	  catch(e)
            	  {
	            	  try // Firefox, Mozilla, Opera, etc.
	            	  {
	            		  parser=new DOMParser();
	            		  xmlDoc=parser.parseFromString(xhr.responseText,"text/xml");
	            	  }
	            	  catch(e)
	            	  {
	            	    alert(e.message);
	            	    return;
	            	   }
            	  }	

            	  if(document.getElementById("userClient").checked == true)
        		  {
        			  clientEmailFunctionPortal(xhr.responseText);
        		  }
            	  if(document.getElementById("userClientViewer") && document.getElementById("userClientViewer").checked == true)
            	  {
            		  clientEmailFunctionPortalViewer(xhr.responseText);
            	  }
            	  
            	  window.location = 'myhome.jsp';
              }
         }
    }; 
    xhr.open("POST", formString,  true); 
	xhr.send(null); 

	//document.formCreateEvent.submit();
}


function getRSVPDetails()
{
	var el = document.getElementById('rsvpdetails');
	var nodes = el.getElementsByTagName('div');
	var returnString = "";
	for(var c = 0; (c < nodes.length && nodes[c].id != "new_field"); c++)
	{
		returnString += "rsvpDetail"+c+"="+encodeURIComponent(nodes[c].id)+"&";
	}
	return returnString;
}

function clientEmailFunctionPortal(xmlstr){
	
	agenda = document.getElementById("agenda").value;
	
	sidx = xmlstr.indexOf('<name>',0);
	eidx = xmlstr.indexOf('</name>',0);
	eventName = xmlstr.substring(sidx+6,eidx);
	eventName = decodeURIComponent(eventName.replace(/\+/g,  " "));
	sidx = xmlstr.indexOf('<StartTime>',0);
	eidx = xmlstr.indexOf('</StartTime>',0);
	when1 = xmlstr.substring(sidx+11,eidx);
	
	var dt = new Date();
	dt.setTime(Number(when1));
	when = dt.toString();
	
	sidx = xmlstr.indexOf('<ParticipantURL>',0);
	eidx = xmlstr.indexOf('</ParticipantURL>',0);
	url = xmlstr.substring(sidx+16,eidx);

	var to = "";
	var subject = "Invitation to join '"+eventName+"'.";
	var mailbody = "Hello, %0A%0AYou are invited to join '"+eventName+"'."+
	" %0A "+
	" %0A  When %09%09: "+when+
	" %0A  Link %09%09: "+url+	
	" %0A  Agenda %09: "+agenda+"%0A%0A";
	if(document.getElementById("isRSVPEvent").checked == true)
	{
		mailbody += " %0A  "+
					" %0A  You may share the link "+url+" to allow participants to register for the event. The same link can be used to join and view the event from 30 minutes before the scheduled start time.";
	}
	//alert(mailbody);
	
	var mailto_link = 'mailto:'+to+'?subject='+subject+'&body='+mailbody;

	win = window.open(mailto_link,'emailWindow');
}

function clientEmailFunctionPortalViewer(xmlstr){
	
	agenda = document.getElementById("agenda").value;
	
	sidx = xmlstr.indexOf('<name>',0);
	eidx = xmlstr.indexOf('</name>',0);
	eventName = xmlstr.substring(sidx+6,eidx);
	eventName = decodeURIComponent(eventName.replace(/\+/g,  " "));
	sidx = xmlstr.indexOf('<StartTime>',0);
	eidx = xmlstr.indexOf('</StartTime>',0);
	when1 = xmlstr.substring(sidx+11,eidx);
	
	var dt = new Date();
	dt.setTime(Number(when1));
	when = dt.toString();
	
	sidx = xmlstr.indexOf('<ParticipantURL>',0);
	eidx = xmlstr.indexOf('</ParticipantURL>',0);
	url = xmlstr.substring(sidx+16,eidx);
	url = url.replace("Join","View");
	var to = "";
	var subject = "Invitation to View '"+eventName+"'.";
	var mailbody = "Hello, %0A%0AYou are invited to view '"+eventName+"'."+
	" %0A "+
	" %0A  When %09%09: "+when+
	" %0A  Link %09%09: "+url+	
	" %0A  Agenda %09: "+agenda+"%0A%0A";
	
	//alert(mailbody);
	
	var mailto_link = 'mailto:'+to+'?subject='+subject+'&body='+mailbody;

	win = window.open(mailto_link,'emailWindowViewer',"",false);
}


function mailsCheck(fullStr, role, id) {
	var ar = new Array();
	fullStr = fullStr.replace(/\s+/g, ",");
	fullStr = fullStr.replace(/;+/g, ",");
	fullStr = fullStr.replace(/ +/g, ",");
	fullStr = fullStr.replace(/\n+/g, ",");
	fullStr = fullStr.replace(/,+/g, ",");
	ar = fullStr.split(",");

	var pattern = /^([a-zA-Z0-9_.+-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;

	var str = "";
	var errMsg = "";
	var i = 0;
	for (i = 0; i < ar.length; i++) {
		if (!(ar[i] == "")) {
			str += ar[i] + "\n";
			if (!pattern.test(ar[i])) {
				errMsg += ar[i] + ",";
			}
		}
	}
	if (!(errMsg == "")) {
		document.getElementById(id).value = str;
		alert("Please check " + role + "'s email ids:\n" + errMsg);
		return false;
	}
	document.getElementById(id).value = str;
	return true;
}

function updateLocal(count) {
	var i, str, result = "none";
	var year, month, date, hrs, mins;
	var d;
	var utc;
	var months = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
			"Aug", "Sep", "Oct", "Nov", "Dec");
	var uye, umo, uda, uho, umi;
	for (i = 0; i < count; i++) {

		if (document.getElementById("start" + i) == null) {
			continue;
		}

		d = new Date();
		d.setTime(document.getElementById("start" + i).value);

		/*
		 * //str = ; if( (document.getElementById("UTCYear"+i) == null) ||
		 * (document.getElementById("UTCMonth"+i) == null) ||
		 * (document.getElementById("UTCDate"+i) == null) ||
		 * (document.getElementById("UTCHours"+i) == null) ||
		 * (document.getElementById("UTCMinutes"+i) == null) ){ continue; }
		 * 
		 * uye = document.getElementById("UTCYear"+i).value; umo =
		 * document.getElementById("UTCMonth"+i).value; uda =
		 * document.getElementById("UTCDate"+i).value; uho =
		 * document.getElementById("UTCHours"+i).value; umi =
		 * document.getElementById("UTCMinutes"+i).value;
		 */

		// d.setUTCFullYear(uye,umo,uda);
		// d.setUTCHours(uho, umi, 0, 0);
		year = d.getFullYear();
		month = d.getMonth();
		date = String(d.getDate());
		hrs = String(d.getHours());
		mins = String(d.getMinutes());
		if (date.length < 2) {
			date = "0" + date;
		}
		if (hrs.length < 2) {
			hrs = "0" + hrs;
		}
		if (mins.length < 2) {
			mins = "0" + mins;
		}
		result = hrs + ":" + mins;

		// document.getElementById("localT"+i).value=result;
		if (document.getElementById("plocalT" + i) != null) {
			document.getElementById("plocalT" + i).innerHTML = "<strong>"
					+ result + "</strong>";
		}

		result = months[month] + " " + date + ", " + year
				+ " <br/>&nbsp;&nbsp;&nbsp;&nbsp; " + hrs + ":" + mins;
		// document.getElementById("localDT"+i).value=result;
		if (document.getElementById("plocalDT" + i) != null) {
			document.getElementById("plocalDT" + i).innerHTML = "<strong>"
					+ result + "</strong>";
		}
	}
}

// This is a function to validate email ID

function checkEmail(emField) { // reference to email field passed as argument

	var fieldValue = emField.value // store field's entire value in variable

	// Begin Valid Email Address Tests

	// if field is not empty
	if (fieldValue != "") {
		var atSymbol = 0

		// loop through field value string
		for ( var a = 0; a < fieldValue.length; a++) {

			// look for @ symbol and for each @ found, increment atSymbol
			// variable by 1
			if (fieldValue.charAt(a) == "@") {
				atSymbol++
			}

		}

		// if more than 1 @ symbol exists
		if (atSymbol > 1) {
			// then cancel and don't submit form
			alert("Please Enter A Valid Email Address")
			return false
		}

		// if 1 @ symbol was found, and it is not the 1st character in string
		if (atSymbol == 1 && fieldValue.charAt(0) != "@") {
			// look for period at 2nd character after @ symbol
			var period = fieldValue.indexOf(".", fieldValue.indexOf("@") + 2)

			// "." immediately following 1st "." ?
			var twoPeriods = (fieldValue.charAt((period + 1)) == ".") ? true
					: false

			// if period was not found OR 2 periods together OR field contains
			// less than 5 characters OR period is in last position
			if (period == -1 || twoPeriods || fieldValue.length < period + 2
					|| fieldValue.charAt(fieldValue.length - 1) == ".") {
				// then cancel and don't submit form
				alert("Please Enter A Valid Email Address")
				return false
			}

		}
		// no @ symbol exists or it is in position 0 (the first character of the
		// field)
		else {
			// then cancel and don't submit form
			alert("Please Enter A Valid Email Address")
			return false
		}
	}
	// if field is empty
	else {
		// then cancel and don't submit form
		alert("Please Enter A Valid Email Address")
		return false
	}

	// all tests passed, submit form
	// alert("VALID EMAIL ADDRESS!")
	return true
}

// This funtion validates both Email ID and Password

function checkEmailPassword(emField, passField) { // reference to email field
													// passed as argument

	var fieldValue = emField.value // store field's entire value in variable
	// Begin Valid Email Address Tests

	var passValue = passField.Value

	if (passwordValidator(passField) == false) {
		return false;
	}

	// if field is not empty
	if (fieldValue != "") {

		var atSymbol = 0;

		// loop through field value string
		for ( var a = 0; a < fieldValue.length; a++) {

			// look for @ symbol and for each @ found, increment atSymbol
			// variable by 1
			if (fieldValue.charAt(a) == "@") {
				atSymbol++
			}

		}

		// if more than 1 @ symbol exists
		if (atSymbol > 1) {
			// then cancel and don't submit form
			alert("Please Enter A Valid Email Address")
			return false
		}

		// if 1 @ symbol was found, and it is not the 1st character in string
		if (atSymbol == 1 && fieldValue.charAt(0) != "@") {
			// look for period at 2nd character after @ symbol
			var period = fieldValue.indexOf(".", fieldValue.indexOf("@") + 2)

			// "." immediately following 1st "." ?
			var twoPeriods = (fieldValue.charAt((period + 1)) == ".") ? true
					: false

			// if period was not found OR 2 periods together OR field contains
			// less than 5 characters OR period is in last position
			if (period == -1 || twoPeriods || fieldValue.length < period + 2
					|| fieldValue.charAt(fieldValue.length - 1) == ".") {
				// then cancel and don't submit form
				alert("Please Enter A Valid Email Address")
				return false
			}

		}
		// no @ symbol exists or it is in position 0 (the first character of the
		// field)
		else {
			// then cancel and don't submit form
			alert("Please Enter A Valid Email Address")
			return false
		}
	}
	// if field is empty
	else {
		// then cancel and don't submit form
		alert("Please Enter A Valid Email Address")
		return false
	}

}

// The below function is needed only when using an image to invoke the function
// NOTE: the form in the example is named, "imageForm" and the field is named,
// "email". Either name your form and field the same or change the references
// //in the script below to reflect your form and field names.

function submitFormJoin() {
	var myForm = document.joinForm
	var eField = myForm.email
	if (checkEmail(eField) != false) {
		myForm.submit()
	}
}

function submitFormCreate() {
	var myForm = document.hostForm
	var eField = myForm.email
	var pField = myForm.password
	if (checkEmail(eField) != false) {
		if (passwordValidator(pField) != false) {
			myForm.submit()
		}
	}

}

// Password can not be empty
function passwordValidator(pField) {
	// Check the value of the element named text_name
	// from the form named text_form
	if (pField.value == "") {
		// If null display and alert box
		alert("Please Enter A Password");
		// Place the cursor on the field for revision
		pField.focus();
		// return false to stop further processing
		return (false);
	}
	// If text_name is not null continue processing
	return (true);
}

function deleteEvent(eventName) {
	var req, element;
	var status = confirm("Do you want to delete this event?");
	if (status) {
		var str = "DeleteEvent?flow=" + eventName;
		isDeleteEventCalled = true;
		makeWebCall(str, null, callback);
		// hostEvent.getEvents();
	}
}

/*
 * If a delete event request is called from HostEvents list (myhome.jsp),
 * First archive it and then delete it. Don't ever delete an event  
 * without checking for end status.
 * 
 */
function archiveAndDeleteEvent(eventName) {
	var req, element;
	var status = confirm("Do you want to delete this event?");
	if (status) {
		var str = "DeleteEvent?flow=" + eventName+"&pre=archive";
		isDeleteEventCalled = true;
		makeWebCall(str, null, callback);
		// hostEvent.getEvents();
	}
}

function archiveEvent(eventName)
{
	var status = confirm("Do you want to end this event and move to archives?");
	if (status) 
	{
		window.location = "archiveEvent.jsp?eventName="+eventName;
	}
}
 var isDeleteRecordingCalled = false;
 var isDeleteEventCalled = false;
function callback(str) {
	if(hostEvent)
	{
		hostEvent.getEvents();
	}
	//alert('inside callback');
	if(!isDeleteRecordingCalled && isDeleteEventCalled){
		//alert('Calling previous page');
		totalEventsCount--;
		getPrevEvents(true);
	}else{
		getPrevEvents(true);
	}
	//alert('after callback');
	isDeleteRecordingCalled = false;
	isDeleteEventCalled = false;
}
function updatePage() {
	hostEvent.getPrevEvents();
}
function deleteRecording(eventName, recordingID) {
	var status = confirm("Do you want to delete this recording?");
	if (status) {
		var str = "deleteRecording.jsp?eventName=" + eventName
				+ "&recordingID=" + recordingID;
		isDeleteRecordingCalled = true;
		makeWebCall(str, null, callback);
	}
}

function updateRecordingTimeToLocal(row) {
	var currentDate = new Date();
	var offset = currentDate.getTimezoneOffset() * 60000 * (-1);
	offset = offset
			- parseInt(document.getElementById("serverTimeOffset").value);
	var timeString = "";
	var serverTimeStr = document.getElementById("pRecLocalYear" + row).value
			+ "";
	if (serverTimeStr == "Not Available") {
		timeString = "Not Available";
	} else {
		currentDate
				.setFullYear(
						parseInt(document.getElementById("pRecLocalYear" + row).value),
						parseInt(document
								.getElementById("pRecLocalMonth" + row).value),
						parseInt(document.getElementById("pRecLocalDay" + row).value))
		currentDate.setHours(parseInt(document.getElementById("pRecLocalHours"
				+ row).value), parseInt(document
				.getElementById("pRecLocalMinutes" + row).value), 0, 0)
		currentDate.setMilliseconds(currentDate.getMilliseconds() + offset);
		timeString = monthsArray[currentDate.getMonth()] + " "
				+ currentDate.getDate() + ", " + currentDate.getFullYear()
				+ " " + currentDate.getHours() + ":" + currentDate.getMinutes();
	}
	document.getElementById("pRecLocalDate" + row).innerHTML = timeString;
}

function updateArchives(tag) {
	// alert(tag);
	location.href = "archives.jsp?eventTag=" + tag;
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

function toggleRecurringEventOptions() {
	var element1;
	element1 = document.getElementById("recurringEventDetails");
	if (element1.style.display == 'none') {
		element1.style.display = '';
	} else if (element1.style.display == '') {
		element1.style.display = 'none';
	}
}

