﻿function focusControl(id) {
    var ctrl = document.getElementById(id);
    try {
        ctrl.focus();
        ctrl.select();
    } catch (msg){ };
};
function fieldKeyPress(e, submitId) {
    
    var targ;
	if (!e) var e = window.event;
	targ = (e.target)? e.target : targ = e.srcElement;
	
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

    if(targ.tagName.toUpperCase() == "TEXTAREA")
        return true;
    
    var keyCode = e.keyCode ? e.keyCode : e.wich;
    if (keyCode == 13) {
        document.getElementById(submitId).click();
        return false;
    };
    return true;
};
function isPercent(textboxValue,keyCode) {
    var newChar = '';
    
    if (keyCode >= 48 && keyCode <= 57)
        newChar = (keyCode - 48)
        
    if (keyCode >= 96 && keyCode <= 105)
        newChar = (keyCode - 96)
        
    var newText = parseInt(textboxValue + newChar);
    return (newText <= 100 && newText >= 0);
};

function isNumbericKeyCode(code) {
    if ( code == 46 || code == 8 || code == 9 || code == 13 || code == 27) 
        return true;

    if ((code >= 35 && code <= 39) || (code >= 48 && code <= 57) || (code >= 96 && code <= 105) || (code >= 112 && code <= 123))
        return true;

    return false;
};
$(document).ready(function() {
	$("input[ispercent=true]").keydown(function(event) {
	    if(!isNumbericKeyCode(event.keyCode) || !isPercent($(this).val(),event.keyCode))
            event.preventDefault();	
	});
	$("input[isnumeric=true]").keydown(function(event) {
	    if(!isNumbericKeyCode(event.keyCode))
            event.preventDefault();	
	});
	$("input[isdec=true]").keydown(function(event) {
	    if(isNumbericKeyCode(event.keyCode))
	        return true;
	    //dot character
        if((event.keyCode == 110 || event.keyCode == 190) && $(event.currentTarget).val().indexOf(".") == -1) 
            return true
            
        event.preventDefault();
	});
	$("input[isdate=true]").keydown(function(event) {
	    if(isNumbericKeyCode(event.keyCode))
	        return true;
	    //slash character
        if((event.keyCode == 111 || event.keyCode == 191)) 
            return true
            
        event.preventDefault();
	});
});
$(document).mouseup(function(e) {
    $("#dpIframe").slideUp("fast",function(){$(this).remove()});
});
function openDatePicker(openner,date,txtid) {    
    var offset = $(openner).offset();
    $("#dpIframe").remove();
    $(document.body).append("<iframe id='dpIframe' width='250px' height='180px'></iframe>");
    $("#dpIframe").attr('scrolling','no').attr('frameborder','0').attr('src','/CDN/Calendar.aspx?date='+date+'&txtid='+ txtid +'&r'+Math.random()).css('position','absolute').css("left" , offset.left - 90).css("top" , (offset.top + $(openner).height()+5)).hide();
    $("#dpIframe").slideDown();
};
function getFlashVersion(){
  try {
    try {
      var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
      try { axo.AllowScriptAccess = 'always'; }
      catch(e) { return '6,0,0'; }
    } catch(e) {}
    return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
  } catch(e) {
    try {
      if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
        return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
      }
    } catch(e) {}
  }
  return '0,0,0';
};
function isInstalled(fileVersion) {
    var sysVersion = getFlashVersion().split(',');
    var fileVersion = fileVersion.split(',');
    
    for(var i=0; i< sysVersion.length; i++) 
        if(sysVersion[i]<parseInt(fileVersion[i]))
            return false;
    
    return true;
};
function removeVersionComma(v) {
    while(v.indexOf(',')>0)
        v = v.replace(',','');
    return v
};
function checkFlashVersion(flashObjectId,version,imageUrl) {
    if (isInstalled(version)){
        $('#' + flashObjectId).show();
        return;
    };
    var parent = $("#" + flashObjectId).parent()[0];
    $('#' + flashObjectId).remove();
    
    if (imageUrl.indexOf('')>-1){
        var msg = "you need flash player version " + version + " or higher.";
        $(parent).append("<a title='" + msg + "' href='http://www.adobe.com/products/flashplayer/' target='_blank'><img border='0' alt='" + msg + "' src='" + imageUrl + "'/></a>");
    } else
    {
        $(parent).append("<img alt='" + msg + "' src='" + imageUrl + "'/>");
    }
};
function initExGrid(id){
    $("#" + id).find("TR").mouseover(function(){$(this).find("TD").addClass("ex-grid-rowhover")})
    $("#" + id).find("TR").mouseout(function(){$(this).find("TD").removeClass("ex-grid-rowhover")})
};
