function SwapTab(id, currstyle)
{
	var tbl = document.getElementById(id);
	//If currstyle = "selected", then that means reverse and deselect the tab.
	switch(currstyle.toLowerCase())
	{
		case "sel":
			for(var x = 0; x < tbl.getElementsByTagName("tr")[0].getElementsByTagName("td").length; x++)
			{
				if(tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className.indexOf("left") > 0)
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "unsel_left";
				else if(tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className.indexOf("right") > 0)
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "unsel_right";
				else
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "tabdeselected";
		  }
		  break;
		case "unsel":
			for(var x = 0; x < tbl.getElementsByTagName("tr")[0].getElementsByTagName("td").length; x++)
			{
				if(tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className.indexOf("left") > 0)
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "sel_left";
				else if(tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className.indexOf("right") > 0)
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "sel_right";
				else
					tbl.getElementsByTagName("tr")[0].getElementsByTagName("td")[x].className = "tabselected";
		  }
		  break;
	}
}

function Swap(id, currstyle)
{
	SwapTab(id, currstyle);	
	if((document.getElementById("hidLastTab").value != "") && (document.getElementById("hidLastTab").value != id))
	{
		var tmp = document.getElementById("hidLastTab").value;
		SwapTab(tmp, "sel");
		document.getElementById(tmp + "content").style.display = "none";
		document.getElementById(tmp + "content").style.visibility = "hidden";
	}
	document.getElementById("hidLastTab").value = id;
	document.getElementById(id + "content").style.display = "inline";
	document.getElementById(id + "content").style.visibility = "visible";
}

function NumericOnly(e)
{
  var key = GetKeyCode(e);
  if(key == null) return true;
  var keyChar = String.fromCharCode(key);
  var validChar = '0123456789';
  if(validChar.indexOf(keyChar) != -1)
    return true;
  if((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key == 27))
    return true;
  return false;
}

function GetKeyCode(e)
{
  if(window.event)
    return window.event.keyCode;
  else if(e)
    return e.which;
  else
    return null;
}

function DateOnly(e)
{
  var key = GetKeyCode(e);
  if(key == null) return true;
  var keyChar = String.fromCharCode(key);
  var validChar = '0123456789/';
  if(validChar.indexOf(keyChar) != -1)
    return true;
  if((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key == 27))
    return true;
  return false;
}

function IsAgeOverEighteen(date)
{
  var dToday = new Date();
  var dYearNow = dToday.getFullYear();
  var dBDate = ConvertStringToDate(date);
  
  if(date == "") return false;
  if((dToday.getFullYear() - dBDate.getFullYear()) < 18)
    return false;
  else
    return true;
}

function IsGoodExpDate(date)
{
  var dToday = new Date();
  var dYearNow = dToday.getFullYear();
  var dBDate = ConvertStringToDate(date);
  
  if(date == "") return false;
  if((dBDate.getFullYear() - dToday.getFullYear()) < 0)
    return false;
  else  
    return true;
}


function ConvertStringToDate(date)
{
  var dDate = date.split("/");
  var dMonth = (dDate[0].substr(0, 1) == "0" ? dDate[0].substr(1, 1) : dDate[0]);
  var dDay = dDate[1];
  var dYear = dDate[2];
  return new Date(parseInt(dYear), (parseInt(dMonth) - 1), parseInt(dDay));
}

function ParseInfragisticDate(date)
{
  var dDate = date.split("-");
  var dYear = dDate[0];
  var dMonth = dDate[1];
  var dDay = dDate[2];
  return new Date(parseInt(dYear), (parseInt(dMonth) - 1), parseInt(dDay));
}

function ShowDef(term)
{
	document.getElementById(term).style.display = "inline";
	document.getElementById(term).style.visibility = "visible";
}

function HideDef(term)
{
	document.getElementById(term).style.display = "none";
	document.getElementById(term).style.visibility = "hidden";
}

function IsRealDate(date)
{
   var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
   if ((date.value.match(RegExPattern)) && (date.value!=''))
      return true;
   else
      return false;
}

//RefType: CS (Customer Service) / SO (Customer Ombudsman)
function CreateFaxRefNumber(RefType, chkID, txtID, hidID)
{
    var dToday = new Date();
    var strRefNbr = RefType + 
                    ((dToday.getMonth() + 1) < 10 ? "0" + (dToday.getMonth() + 1) : (dToday.getMonth() + 1)).toString() + 
                    (dToday.getDate() < 10 ? "0" + (dToday.getDate()) : dToday.getDate()).toString() + 
                    dToday.getFullYear().toString() +
                    dToday.getHours().toString() + 
                    dToday.getMinutes().toString() +
                    dToday.getSeconds().toString();
    if(document.getElementById(chkID).checked == true)
    {
        document.getElementById(txtID).value = strRefNbr;
        document.getElementById(hidID).value = strRefNbr;
    }
    else
    {
        document.getElementById(txtID).value = "";
        document.getElementById(hidID).value = "";
    }
}

function emailcheck(str) 
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1)
	   return false;
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	   return false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	    return false;
	 if (str.indexOf(at,(lat+1))!=-1)
	    return false;
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	    return false;
	 if (str.indexOf(dot,(lat+2))==-1)
	    return false;
	 if (str.indexOf(" ")!=-1)
	    return false;

	 return true;
}

function ClearNonNumericChar(obj)
{
    obj.value = obj.value.replace("-", "");
    obj.value = obj.value.replace("(", "");
    obj.value = obj.value.replace(")", "");
    obj.value = obj.value.replace(" ", "");
    obj.value = obj.value.replace("/", "");
    obj.select();
}

function FormatField(obj, format)
{
    switch(format)
    {
        case "date":
            break;
        case "ssn":
            if(obj.value.length == 9) obj.value = obj.value.substr(0, 3) + "-" + obj.value.substr(3, 2) + "-" + obj.value.substr(5);
            break;
        case "phone":
            if(obj.value.length == 7)
                obj.value = obj.value.substr(0, 3) + "-" + obj.value.substr(3);
            else if(obj.value.length == 10)
                obj.value = "(" + obj.value.substr(0, 3) + ")" + obj.value.substr(3, 3) + "-" + obj.value.substr(6);
            break;
        case "zip":
            if(obj.value.length > 5) obj.value = obj.value.substr(0, 5) + "-" + obj.value.substr(5);
            break;
    }
}


/***********************************************************************************************
 Create a clientside logic for showing a count-down timer
 ***********************************************************************************************/
var tmTime = 0;
var intMaxWait = 4;
var intSecsLeft = 4; 
var dtStart;

function InitTimer() 
{
  dtStart = new Date();
  objTimerID = setTimeout("updateTimer()", 1000);
}

function updateTimer() 
{
  var dtDate, tmDiff;
  var strTail;

  if (tmTime == intMaxWait || intSecsLeft == 0) 
  {
  //  alert(location.protocol + "//" + location.hostname + "/ContactUs.aspx");
  // pfremon 12-17-2008 hardcoded return url becuase of SSL problems 
  //  location.href = "default.aspx";
  //  location.href = "http://www.capitalsourcebank.com/contact/default.aspx";
    location.href = "http://www.capitalsourcebank.com/"; //changed by ADJ 12/15/09
    return;
  }
	
  if (objTimerID)
    clearTimeout(objTimerID);
	
  if (!dtStart) 
    dtStart = new Date();
	
  dtDate = new Date();
  tmDiff = dtDate.getTime() - dtStart.getTime();
	
  dtDate.setTime(tmDiff);
  tmTime = dtDate.getSeconds();
	
  intSecsLeft--;
  objTimerID = setTimeout("updateTimer()", 1000);
}


/****************************************************************************
 01/02/2008 (THung): Following content height calculation only works in these browsers:
   MSIE 6.0 +
   Netscape
   Mozilla (Win + Mac)
   Safari (Mac)
 Browser detections for browsers are as follows:
   Mozilla (Win) => Netscape 5.0
   Netscape 8.0 (IE Mode) => MSIE 4.0
   Netscape 8.0 (Mozilla Mode) => Netscape 5.0
   Opera 8.5 => MSIE 4.0
 NOTE: Opera browser does not detect the clientHeight property correctly and therefore the code below
       does not work in Opera.
 ****************************************************************************/
//Gets the version of the browser being used
var browserVersion = navigator.appVersion;
var browserType = navigator.userAgent;

function GetWindowHeight()
{
    var windowHeight = 0;
    if(typeof(window.innerHeight) == "number")
        windowHeight = window.innerHeight;
    else
    {
        if(document.documentElement && document.documentElement.clientHeight)
            windowHeight = document.documentElement.clientHeight;
        else
        {
            if(document.body && document.body.clientHeight)
                windowHeight = document.body.clientHeight;
        }
    }   //if(typeof(window.innerHeight) == "number")
    return windowHeight;
}   //GetWindowHeight()

function SetFooter()
{
	if(document.getElementById)
	{
		var windowHeight = GetWindowHeight();
		var val = 65;
		if(windowHeight > 0)
		{
			var headerHeight = document.getElementById("header").offsetHeight;
			var contentHeight = (document.getElementById("body") != null ? document.getElementById("body").offsetHeight : 0);
			var footerElement = document.getElementById("footer");
			var footerHeight = footerElement.offsetHeight;
			if(windowHeight - (contentHeight + footerHeight + headerHeight + 45) >= 0)
			{
				footerElement.style.position = "relative";
				if((browserType.toLowerCase().indexOf("firefox") > 0) || 
				   (browserType.toLowerCase().indexOf("safari") > 0))
				  val = 85;
				else if(browserType.toLowerCase().indexOf("opera") >= 0)
				  val = 95;
		        footerElement.style.top = (windowHeight - (contentHeight + footerHeight + headerHeight + val)) + "px";
			}
			else
				footerElement.style.position = "relative";
		}   //if(windowHeight > 0)
	}   //if(document.getElementById)
}   //SetFooter()

function SetColumnOneRightBorder()
{
    if(document.getElementById("column1") != null)
        document.getElementById("column1").style.height = document.getElementById("multi_column").offsetHeight + "px";
    if(document.getElementById("column2") != null)
        document.getElementById("column2").style.height = document.getElementById("multi_column").offsetHeight + "px";
    if(document.getElementById("column3") != null)
        document.getElementById("column3").style.height = document.getElementById("multi_column").offsetHeight + "px";
}

//This function is only called onload of the application.
//Opera by default sets a margin that cannot be cleared by CSS's margin: 0; property.
function SetMarginHeightForOpera()
{
    if(browserType.toLowerCase().indexOf("opera") > 0)
        document.body.style.marginTop = "-10px";
}
 
/*window.onload = function()
{
    SetColumnOneRightBorder();
    SetMarginHeightForOpera();
    SetFooter();
}

window.onresize = function()
{
    SetFooter();
}*/