﻿
var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op;

function DetectBroser()
{
    d = document;
    n = navigator;
    na = n.appVersion;
    nua = n.userAgent;
    win = (na.indexOf('Win') != -1);
    mac = (na.indexOf('Mac') != -1);
    lin = (nua.indexOf('Linux') != -1);
    if (!d.layers) {
        dom = (d.getElementById);
        op = (nua.indexOf('Opera') != -1);
        konq = (nua.indexOf('Konqueror') != -1);
        saf = (nua.indexOf('Safari') != -1);
        moz = (nua.indexOf('Gecko') != -1 && !saf && !konq);
        ie = (d.all && !op);
        ie4 = (ie && !dom);

        /*
        ie5x tests only for functionality. ( dom||ie5x ) would be default settings. 
        Opera will register true in this test if set to identify as IE 5
        */

        ie5x = (d.all && dom);
        ie5mac = (mac && ie5x);
        ie5xwin = (win && ie5x);
    }
}

function IsMozilla() {
    DetectBroser();
    return moz;
}

//used for adding onload events
var addLoadEvent = function(func)
{
    if (window.addEventListener) 
    {
      window.addEventListener('load', func, false);
    } 
    else 
    {        
      window.attachEvent('onload', func);
    }
}

var progressBarId = '';
function ShowProgress()
{    
    progessBar = document.getElementById(progressBarId);
    if(progessBar != 'undefined')
    {
        progessBar.style.display = '';            
    }
}

function closePanel(behaviorId)
{
    var oBehavior = $find(behaviorId);
    if(oBehavior != null)
        oBehavior.collapsePanel(null);
}

function openPanel(behaviorId)
{
    var oBehavior = $find(behaviorId);
    if(oBehavior != null)
        oBehavior.expandPanel(null);
}

function SyncDropDowns(ddlChanged, ddlToSync, changedValueMustBeGeather)
{
    changedValue = parseFloat(ddlChanged.options[ddlChanged.selectedIndex].value);
    syncValue = parseFloat(ddlToSync.options[ddlToSync.selectedIndex].value);
    if(changedValue == 'NaN') changedValue = 0;
    if(syncValue == 'NaN') syncValue = 0;
    
    if(changedValueMustBeGeather)
    {
        if(changedValue < syncValue)
        {
            SelectValue(ddlToSync, ddlChanged.options[ddlChanged.selectedIndex].value);
        }
    }
    else
    {
        if(changedValue > syncValue)
        {
            SelectValue(ddlToSync, ddlChanged.options[ddlChanged.selectedIndex].value);
        }
    }
}

function SelectValue(ddl, value)
{
    for(var ddlIndex = 0;ddlIndex < ddl.length; ddlIndex++)
    {
        if(ddl[ddlIndex].value == value)
        {
            ddl.selectedIndex = ddlIndex;
            break;
        }
    }
}

try {
  // create a element so that HTMLAnchorElement is accessible
  document.createElement('a');
  HTMLAnchorElement.prototype.click = function () {
    if (typeof this.onclick == 'function') {
      if (this.onclick({type: 'click'}) && this.href) 
        window.open(this.href, this.target ? this.target : '_self');
    }
    else if (this.href)
      window.open(this.href, this.target ? this.target : '_self');
  };
}
catch (e) {
}

function Mortgage_EN_Calculate()
{
        var ir = $get('IR').value.replace(/\$/g, '').replace(/,/g, '');
        var yr = $get('YR').value.replace(/\$/g, '').replace(/,/g, '');
        var la = $get('LA').value.replace(/\$/g, '').replace(/,/g, '');
        var at = $get('AT').value.replace(/\$/g, '').replace(/,/g, '');
        if(at == '')
            at = '0';
        var ai = $get('AI').value.replace(/\$/g, '').replace(/,/g, '');
        
        var mi = parseFloat(ir) / 1200;
        var baza = 1;
        var mbaza = 1 + mi;

        for (var i = 0; i < parseFloat(yr) * 12; i++)
        {
            baza = baza * mbaza;
        }

        $get('PI').value = Math.round((parseFloat(la) * mi / (1 - (1 / baza)))*100)/100;
        $get('MT').value = Math.round((parseFloat(at) / 12)*100)/100;
        $get('MI').value = Math.round((parseFloat(ai) / 12)*100)/100;

        var sum = parseFloat(la) * mi / (1 - (1 / baza)) + parseFloat(at) / 12 + parseFloat(ai) / 12;
        $get('MP').value = Math.round(sum*100)/100;
}


// Sets default buttons.
function fnTrapKD(btnID, event)
{
	var button = document.getElementById(btnID); // only recent browsers
	if (document.all) // IE
	{
		if (event.keyCode == 13)
		{
			event.returnValue = false;
			event.cancel = true;
			button.click();
		}
	}
	else if (document.getElementById)
	{
		if (event.which == 13) 
		{
			event.returnValue = false;
			event.cancel = true;
			button.focus();
			button.click();
		}
	}
}


function bookmark_us(url, title){

if (window.sidebar) // firefox
    window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
    var elem = document.createElement('a');
    elem.setAttribute('href',url);
    elem.setAttribute('title',title);
    elem.setAttribute('rel','sidebar');
    elem.click();
}
else if(document.all)// ie
    window.external.AddFavorite(url, title);
}

function GetSynchronousJSONResponse(url, postData) 
{
    var xmlhttp = null;
    if (window.XMLHttpRequest)
        xmlhttp = new XMLHttpRequest();
    else if (window.ActiveXObject) {
        if (new ActiveXObject("Microsoft.XMLHTTP"))
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        else
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }

    url = url + "?rnd=" + Math.random(); // to be ensure non-cached version

    xmlhttp.open("POST", url, false);
    xmlhttp.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    xmlhttp.send(postData);
    var responseText = xmlhttp.responseText;
    return responseText;
}
//Purpose: A callback function to put Signature in FCKeditor

function ReceiveStringData(arg,context)
{
    //var ifr = document.getElementById(context.id+"___Frame");
    var editor = FCKeditorAPI.GetInstance(context.id);
    if(editor.EditorWindow==null)
    {
        editor.SwitchEditMode();
        setTimeout(function(){ReplaceFckTxt(editor,arg,context)},500);
    }
    else    
        ReplaceFckTxt(editor,arg,context);
}
function ReplaceFckTxt(editor,arg,context)
{
    var str= editor.EditorWindow.parent.FCK.GetHTML();
    var bs="<!--Begins Signature-->";
    var s = str.indexOf(bs);
    bs=str.substring(0,s+23);
    var es="<!--Ends Signature-->";
    var e = str.indexOf(es);  
    es=str.substring(e);
    str=bs+arg+es;
    //context.value=str;
    //ifr.src=ifr.src;
    editor.SetHTML(str);
}

function MicrosoftAjaxHack() {
    try {
        Sys.Browser.WebKit = {}; //Safari 3 is considered WebKit
        if (navigator.userAgent.indexOf('WebKit/') > -1) {
            Sys.Browser.agent = Sys.Browser.WebKit;
            Sys.Browser.version = parseFloat(navigator.userAgent.match(/WebKit\/(\d+(\.\d+)?)/)[1]);
            Sys.Browser.name = 'WebKit';
        }
    } catch (e) { }
}

addLoadEvent(MicrosoftAjaxHack);