// Copyright 2008, Libertas Technologies, LLC, All Rights Reserved.
// Last mods 20070127 - tbankes@libertastechnologies.com - www.libertastechnologies.com
// Common Javascript functions used throughout entire site
// Note: Be careful not to add functions specific to a single page or routine.  A seperate JS file may need to be created for specific functions
function handleError() {
	return true;
}
window.onerror = handleError;

var loadstatustext="<br/><br/><br/><center><img src='../assets/images/wait30trans.gif' /><br/><br/>One moment, retrieving page content...</center>";
var win = null;
function NewWindow(mypage,myname,w,h,scroll){
// Last mods 02242004 - tbankes@libertastechnologies.com
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings)
if(win.window.focus){win.window.focus();}
}

function confirm_delete()	{
	if(confirm('Are you sure you want to delete this record?'))
		return true;
	else
		return false;
}

function confirm_user_delete()	{
	if(confirm('Are you sure you want to remove this account from the METS system?\n\nWarning, if you select Yes, this account, program and event registrations, news subscriptions, Sametime server access, WebMeetings access, and the user account in Active Directory will all be removed.'))
		return true;
	else
		return false;
}

function confirm_survey_delete()	{
	if(confirm('Are you sure you want to delete this Survey?\n\nWarning, if you select Yes, this survey and all of the questions for this survey will all be removed.  However, existing responses to this survey will remain aviailable for viewing and reporting.'))
		return true;
	else
		return false;
}

function deleterecord(strTable, strColumnName, strRecordID)	{
// Last mods 20070813 - tbankes@libertastechnologies.com
//Used by delete icons in data grid (file upload control for programs, events, and rooms)
// replaced by code behind functionality
if(confirm('Are you sure you want to delete this record?'))	{
	var cQuery = getQueryVariable('c');
	var pQuery = getQueryVariable('p');
	var idQuery = getQueryVariable('id');
	//location.href='./includes/deleterecord.aspx?table=' + strTable + '&col=' + strColumnName + '&delid=' + strRecordID + '&c=' + cQuery + '&p=' + pQuery + '&id=' + idQuery;
	return true;
	}
else	{
	return false;
	}
}

function printDocument(){
	if (window.print){
		window.print() ;
	}else{
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
	}
}

function printWindow() {
    NewWindow('print.aspx','Print','800','600','no');
}
function adminprintWindow() {
    NewWindow('adminprint.aspx','Print','800','600','no');
}
function openExportWindow() {
    NewWindow('includes/export.aspx','Export','800','600','no');
}
function openRepeatsWindow() {
    NewWindow('includes/controls/repeats.aspx','Repeats','800','600','no');
}
function openLibertasWebsite()	{
    if (parseInt(navigator.appVersion)>3) {
     if (navigator.appName=="Netscape") {
      winW = window.innerWidth-16;
      winH = window.innerHeight-16;
     }
     if (navigator.appName.indexOf("Microsoft")!=-1) {
      winW = document.body.offsetWidth-20;
      winH = document.body.offsetHeight-20;
     }
    }
	NewWindow('http://www.libertastechnologies.com','',winW,winH,'yes');
}


function getTestEMail()	{
	strEMail = prompt('Enter the e-mail address to send the test e-mail to.', '');
	if(strEMail == false)	{
		var testEMail = document.getElementById('_ctl0_testEmail');
		testEMail.value = '';
		return false;
	}
	else	{
		if(strEMail == '')	{
			var testEMail = document.getElementById('_ctl0_testEmail');
			testEMail.value = '';
			return false;
		}
		else	{
			var testEMail = document.getElementById('_ctl0_testEmail');
			testEMail.value = strEMail;
//			var testEMailButton = document.getElementById('_ctl0:butTestEmail');
//			testEMailButton.disabled = true;
			return strEMail;
		}
	}
}
function sendEMail()	{
	var jsSubmitButton = document.getElementById('_ctl0:butSubmit');
	jsSubmitButton.disabled = true;
	return true;
}
function determineWindowSize()    {
    if (parseInt(navigator.appVersion)>3) {
     if (navigator.appName=="Netscape") {
      winW = window.innerWidth-16;
      winH = window.innerHeight-16;
     }
     if (navigator.appName.indexOf("Microsoft")!=-1) {
      winW = document.body.offsetWidth-20;
      winH = document.body.offsetHeight-20;
     }
    }
}
function OpenWin(url, title)    {
    //Used by virtual tours code to open new window
    var win = NewWindow(url,title,'550','475','yes');
    //var wif = (screen.width)-720;
    //windowprops = "width=550,height=475,scrollbars=yes,resizable=yes,top=40,left=" + wif;
    //var win=window.open(url,title,windowprops);
    //win.document.close();
    //win.focus();
}
function submitenter(myfield,e)
{
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;
    if (keycode == 13)
       {
       buildquery();
       return false;
       }
    else    {
       return true;
    }
}
function buildquery()
{
    prefix='http://maps.google.com/maps?f=d&hl=en&geocode=&saddr=';
    suffix='&daddr=3861+Olympic+Blvd+W,+erlanger,+ky+41018&ie=UTF8&om=1';
    varAddress = document.getElementById('GoogleAddress');
    addy = varAddress.value;
    var fullurl = prefix + addy.replace(/ /g,'+') + suffix;
    window.open(fullurl,'mywin','left=20,top=20,width=900,height=750,toolbar=1,resizable=1');
}
function getQueryVariable(variable)
{
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
	}
}
function triggerExport(intType)
{
    //Modified 12-18-07 - tbankes@libertastechnologies.com
    //Trigger export button on form (ASP control)
    //1=simple, 2=advanced
    var ddlEvent = document.getElementById('ctl04_ddlFilter');
    if (ddlEvent.value == 'Select an Event...') {
        alert('You must select an event prior to exporting the report to Excel.');
        return false;
    }
    if(intType == 1)    {
        triggerASPButton('ctl04_butExport')
    }
    else    {
        //openAdvancedExport();
        triggerASPButton('ctl04_butCustomExport')
    }
}
function old_openAdvancedExport()
{
    //Modified 12-18-07 - tbankes@libertastechnologies.com
    //Call AJAX function to open div in form to display advanced export options
    //var strTableName = document.getElementById('ctl03$hidTable').value;
    //NewWindow('includes/admin/advancedexport.aspx?tbl=' + strTableName,'','800','400','yes');
    displayStaticMessage(document.getElementById('divDetailedExport').innerHTML, '', 700, 400);
    return false;
}
function triggerASPButton(strButtonname)    {
    document.getElementById(strButtonname).click();
}
function openEmailTestDialog()
{
    //Call AJAX function to open div in form to display option to enter and text e-mail
    displayStaticMessage(document.getElementById('divEmailtest').innerHTML, '', 700, 400);
    return false;
}
//Export Routines
function triggerExportButton(strButtonname)    {
//ctl04_cblColumns_7
    var intColumnTotal = document.getElementById('ctl04_hidColumnCount').value;
    var currentField;
    var selectedList = '';
    for (var i=0;i<intColumnTotal;i++) {
		var currentItem = 'ctl04_cblColumns_' + i.toString();
		currentField = document.getElementById(currentItem);
		if(currentField.checked == true) {
		    selectedList = selectedList + ',' + currentField.name;
		}
	}
    document.getElementById('ctl04_hidAdvancedExportColumns').value = selectedList;
    document.getElementById(strButtonname).click();
}
function selectAllCheckboxes()
{
    var objcheckboxes = document.getElementsByTagName('input');
    for(var i=0; i<objcheckboxes.length; i++){
        if(objcheckboxes[i].getAttribute('type')=='checkbox')   {
            objcheckboxes[i].checked = true;
        }
    }
}
function deselectAllCheckboxes()
{
    var objcheckboxes = document.getElementsByTagName('input');
    for(var i=0; i<objcheckboxes.length; i++){
        if(objcheckboxes[i].getAttribute('type')=='checkbox')   {
            objcheckboxes[i].checked = false;
        }
    }
}
function validateExportColumns(){
// Last mods 20071112 - tbankes@libertastechnologies.com
    var hidColumnCount = document.getElementById('ctl04_hidColumnCount').value;
	for (var i = 0; i<hidColumnCount; i++) {
	 var objCheckbox = document.getElementById('ctl04_cblColumns_' + i);
		if (objCheckbox[0].selected==true){
			return(true);
		}
	}
	alert('Please select at least on item for the Columns to Export.');
	return(false);
}
function validateCheckbox(strCheckbox, strName){
// Last mods 20071112 - tbankes@libertastechnologies.com
    var objCheckbox = document.getElementById(strCheckbox);
	for (var i = 0; i<objCheckbox.length; i++) {
		if (objCheckbox[i].selected==true){
			return(true);
		}
	}
	alert('Please select at least on item for ' + strName +'.');
	objCheckbox[0].focus();
	return(false);
}
function removeRegistration(strRegistrationEmail)    {
    var hf = document.getElementById('ctl07_uclMainContent_ctl02_hidAttendee');
    hf.value = strRegistrationEmail;
    var btn = document.getElementById('ctl07_uclMainContent_ctl02_butRemoveAttendee');
    btn.click();
}
function initUpload(strOpenFileUpload)   {
    document.getElementById(strOpenFileUpload).click();
}
function FileUploadDialogOK()  {
    document.getElementById('ctl04_lblFILE_ATTACHMENT_Photo_Filename').innerHTML='New File Upload pending...';
    //THe following disabled b/c this caused postback which loses handle on uploaded file
    //document.getElementById('ctl04_initUpload').click();
}
function setEndDate(varStartDate, varEndDate)   {
    fldStartDate = document.getElementById(varStartDate);
    fldEndDate = document.getElementById(varEndDate);
    if(fldEndDate.value == '')  {
        fldEndDate.value = fldStartDate.value;
    }
}
function getCrtlPrefix(strFieldName)
{
       var prefix;             
       var objCrtlPrefix = document.getElementById(strFieldName);
       if (objCrtlPrefix)
           prefix = objCrtlPrefix.value;                 
       return prefix;
}
function confirmUpdates()
{
   if(confirm('Click OK to update all future records, Cancel to update only this one.'))
     {
     document.getElementById("ctl04_txtResponse").value = "Yes"; 
     }
   else
     {
     document.getElementById("ctl04_txtResponse").value = "No";
     }
     return true;
}
function swapEditor(strEditorID, strAction)
{
	var divHide = 'divHide_' + strEditorID;
	var divShow = 'divShow_' + strEditorID;
	if(strAction == 'show')	{
		document.getElementById(divHide).style.display = 'block';
		document.getElementById(divShow).style.display = 'none';
		tinyMCE.get(strEditorID).show();
	}
	else	{
		document.getElementById(divShow).style.display = 'block';
		document.getElementById(divHide).style.display = 'none';
		tinyMCE.get(strEditorID).hide();
	}

	tinyMCE.get().show();
}
