// Version: "4.0.0"
// Copyright (c) Kore Technologies LLC .  All rights reserved.
var collectPostBacks = false;
function ksPostBacksCollecting() {
	return collectPostBacks;
}

function ksCollectPostBacks(mode) {
	collectPostBacks = mode;
}

function ksSetFocus(column) {
	try {
		var el = document.getElementById(column);
		if (el!=null) {
			el.focus();
			el.select();
		}
	} catch (e) {
	}
}

function ksViewFilter(viewName, filterName) {
	try {
		var frm = ksGetDataForm();
		var tbCtl = frm.toolbar_action;
		if (tbCtl==null) {  // callback should have registered
			alert("Form postback cannot find the action control registered on the parent window.");
		} else {
			// stuff search value into control
			//alert("Setting tbact value");
			tbCtl.value = "ksfrmdatafilter."+viewName+"."+filterName;
			//moves the grid view back to the starting page when a filter option is changed.
			ksSetClientViewSetting("", viewName, "start", 0);
		}
		//alert("Submit");
		frm.submit();
	} catch(e) {
		alert("Client Filter Failed: " + e.message);
	}
	
}

function ksPageClick(page, view, item, val)
{
	ksSetClientViewSetting(page, view, item, val);
	ksGetDataForm().submit();
}
function ksExpandClick(page, view, expand_obj)
{
	var val = !ksGetClientViewSetting(page, view, 'expand');
	ksSetClientViewSetting(page, view, 'expand', val);
	expand_obj.style.display = (val ? '' : 'none');
	ksUpdateIcon(page, view, 'expand', val);
	var alt = (val ? "collapse" : "expand") + " this view";
	ksGetDataForm()[view + '.vci_expand'].alt = alt;
}
function ksUpdateIcon(page, view, tb_name, val)
{
	ksGetDataForm()[view + '.vci_' + tb_name].src = GetSiteThemeReference() + "/images/toolbars_views/vci_" + tb_name + "_" + String(val) + ".gif";
}
function ksGetClientViewSetting(page, view, name)
{
	var val = ksGetDataForm()[view + '.' + name].value;
	if(val == 'true')
	{
		val = true;
	}
	else if(val = 'false')
	{
		val = false
	}
	return(val);
}
function ksSetClientViewSetting(page, view, name, val)
{
	ksGetDataForm()[view + '.' + name].value = val.toString();
}

function changeActiveTab(i) {
	changeActiveTab(i, false);
}

function changeActiveTab(i, refresh) {
	document.getElementById("_selectTab").value = i;
	for( j=0; j < tabCount; ++j ) {
		if( i==j ) { activateTab(j); }
		else { deactivateTab(j); }
	}
	if (refresh && editor==null)
		editorHtmlInit();
		setFooter();
}

function activateTab(i) {
	document.getElementById( "tab-left:"+i ).src= GetSiteThemeReference() + "/images/tabs/tab-left_active.gif";
	document.getElementById( "tab-bg:"+i ).style.background="url(" + GetSiteThemeReference() + "/images/tabs/tab-bg_active.gif)";
	document.getElementById( "tab-right:"+i ).src= GetSiteThemeReference() + "/images/tabs/tab-right_active.gif";
	document.getElementById( "tab-body:"+i ).style.display='block';
}

function deactivateTab(i) {
	// check for tabs that may not be visible due to application installation
	var tabLeft = document.getElementById( "tab-left:"+i );
	var tabBg = document.getElementById( "tab-bg:"+i );
	var tabRight = document.getElementById( "tab-right:"+i );
	var tabBody = document.getElementById( "tab-body:"+i );
	
	if (tabLeft) 
		tabLeft.src= GetSiteThemeReference() + "/images/tabs/tab-left_inactive.gif";
	if (tabBg) 
		tabBg.style.background="url(" + GetSiteThemeReference() + "/images/tabs/tab-bg_inactive.gif)";
	if (tabRight) 
		tabRight.src= GetSiteThemeReference() + "/images/tabs/tab-right_inactive.gif";
	if (tabBody) 
		tabBody.style.display='none';
}

function ksIsFilter(){
	return (false)
}    

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function closeDiv(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    var el = document.getElementById(id);
    if (el == null) return;

    el.style.visibility = "hidden";
    return true;
} 

function pause(millis)
{
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while(curDate-date < millis);
} 


function AddHtmlAfter(controlId, html)
{
    var el = document.getElementById(id);
    if (el == null) return;
    
    // see if the control was already injected;
    var newEl = document.getElementById(controlId);
    if (newEl == null) {
        // if not create it
        newEl = document.createElement('div');
    }
    // capture any curr text in control
    var currHtml = el.innerHTML;
    if (currHtml == null) {
        currHtml = "";
    }
     // append new text
    newEl.innerHTML = currHtml + html;
    
    // position control
    var nextToEl = el.nextSibling;
    if (nextToEl != null) {
        el.parentNode.insertBefore(newEl.Sibling);
    } else {
        el.parentNode.appendChild(newEl);
    }   
}

function GetKeyCode(e)
{
    try {
	    var code;
	    if (!e) var e = window.event
	    if (e.keyCode) code = e.keyCode;
	    else if (e.which) code = e.which;
	    return code;
    } catch (e) {
        ; // interactive don't error on user
    }
}

function ValidateNonNumericKey(e)
{
    try {
	    var code = GetKeyCode(e);
        if ((code > 57 || code < 48) || code == 8) {
            return; 
        } else {
            if (window.event) 
                window.event.returnValue = false;     
            else    
                e.preventDefault();    
        }
    } catch (e) {
        ; // interactive don't error on user
    }
}
 
function ValidateIntegerKey(e)
{
    try {
	    var code = GetKeyCode(e);
        if ((code >= 48 && code <= 57) || code == 9  || code == 8 || code == 13 || 
              code == 35 || code == 36 || code == 37 || code == 38 || code == 39 || code == 40 || code == 45 || code == 109) {
            return; 
        } else {
            if (window.event) 
                window.event.returnValue = false;     
            else    
                e.preventDefault();    
        }
    } catch (e) {
        ; // interactive don't error on user
    }
}
 
function ValidateDecimalKey(e)
{
    try {
	    var code = GetKeyCode(e);
        if ((code >= 48 && code <= 57) || code == 46 || code == 9 || code== 8 || code == 13 || 
              code == 35 || code == 36 || code == 37 || code == 38 || code == 39 || code == 45 || code == 109) {
            return; 
        } else {
            if (window.event) 
                window.event.returnValue = false;     
            else    
                e.preventDefault();    
        }
    } catch (e) {
        ; // interactive don't error on user
    }
 }
 
 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;
				}
		}
	}
	return windowHeight;
}

function setFooter() {
  try {
    if (document.getElementById) {
        var windowHeight=getWindowHeight();
       
            if (typeof document.getElementById('ksTable') != "undefined") {
                if (windowHeight>0) {
                    var contentHeight= document.getElementById('ksTable').offsetHeight;
                    var footerElement= document.getElementById('footerPos');
                    var footerHeight=footerElement.offsetHeight;
                    if (windowHeight-(contentHeight+footerHeight)>=0) {
                        footerElement.style.position='relative';
                        footerElement.style.top=(windowHeight-
                        (contentHeight+footerHeight))+'px';
                     } else {
                        footerElement.style.position='static';
                    }
                }
            }
        
      }
    } catch (e) {
           ; // catch error dont display to user
    }
}


