﻿function GetKeyStatus(keyName, e) {
    // NOTE: Assumes browser is newer than Netscape 4!!!
    var evt = navigator.appName == "Netscape" ? e : event;
    switch (keyName) {
        case "shift":
            return evt.shiftKey;

        case "alt":
            return evt.altKey;

        case "ctrl":
            return evt.ctrlKey;
    }
}

function GetCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=")
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1
            c_end = document.cookie.indexOf(";", c_start)
            if (c_end == -1) c_end = document.cookie.length
            return unescape(document.cookie.substring(c_start, c_end))
        }
    }
    return ""
}
function limitContent(s, sLimit){
	var tmp = '';
	for(i = 0; i < s.length; i++){if(sLimit.indexOf(s.charAt(i)) > -1){tmp += s.charAt(i);}}
	return tmp;
}
function SetCookie(name, value, expires, path, domain, secure) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime(today.getTime());

    /*
    if the expires variable is set, make the correct 
    expires time, the current script below will set 
    it for x number of days, to make it for hours, 
    delete * 24, for minutes, delete * 60 * 24
    */
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));

    document.cookie = name + "=" + escape(value)
        + ((expires) ? ";expires=" + expires_date.toGMTString() : "")
        + ((path) ? ";path=" + path : "")
        + ((domain) ? ";domain=" + domain : "") 
        + ((secure) ? ";secure" : "");
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
    //alert('In eraseCookie');
    createCookie(name, "", -1);
}

function removeChars(str) {
    var tmp1 = str.replace(/$/g, ''); 	//remove dollar sign
    var tmp2 = tmp1.replace(/,/g, ''); 	//remove commas
    return tmp2;
}

function IsNullOrEmpty(value) {
  var isNullOrEmpty = true;
  if (value == undefined || value == null) { return true; }
        if(typeof (value) == 'string') {
            if ( StringFunctions.trim(value) != '' )
                isNullOrEmpty = false;
        }
        if(typeof (value) == 'number') {
            if(!(isNaN(value)))
                isNullOrEmpty = false;
        }
  return isNullOrEmpty;
 }
 
 function isEven(num) {
  return !(num % 2);
}

function popUpCenteredWindow(url) {
    if (url == null) throw "null url passed to popUpCenteredWindow(). Find caller in call stack.";
    var iMyWidth;
    var iMyHeight;
    try {
    	iMyWidth = (window.screen.width/2) - (500);
        iMyHeight = (window.screen.height/2) - (400);
        }
    catch(e) {
        //something not working. just set a default height/width
        iMyWidth = 300;
        iMyHeight = 200;
        }
    var randomId = "window"+parseInt(Math.random()*50);
    try {
        var win2 = window.open(url,randomId,"status=no,height=600,width=995,resizable=yes,left="+iMyWidth+",top="+iMyHeight+",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",scrollbars=yes,toolbar=no,location=no,menubar=no");
        win2.focus();
    }
    catch(e)
    {
		alert(e.description);
    }
} 

//Add commas to a number
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function getSalesCodeDesc(salescode)
{
	switch(salescode)
    {
    case 0:
    case '0':
    case 'U':
    case 'Unknown':
        return "Unknown";
		//Desconocido
      break    
    case 'A':
    case 'ActualSalePrice':
        return "Actual sale price";
		//Precio de venta actual
      break
    case 'C':
    case 'V':
    case 'Confirmed':
        return "Confirmed";
		//Confirmado
      break
    case 'E':
    case 'Estimated':
        return "Estimated";
		//Estimado
      break
	 case 'F':
	 case 'ActualSalePriceFull':
        return "Actual sale price (full)";
		//Precio de venta actual (completo)
      break
	 case 'L':
	 case 'LessLiensAndEncumberances':
        return "Less liens and encumberances";
		//Menos embargos y gravámenes
      break
	 case 'N':
	 case 'NonDisclosedSalePriceFromStampsOnBackOfDeed':
        return "Non-disclosed sale price";
		//Precio de venta no divulgado-de los sellos en la parte de atrás de la escritura.
      break
	 case 'P':
	 case 'ActualSalePricePartial':
        return "Actual sale price (partial)";
		//Precio de venta actual (parcial)
      break
	 case 'R':
	 case 'Lease':
        return "Lease";
		//Arrendamiento
      break
	 case 'S':
	 case 'CountySource':
        return "County source";
		//fuente, origen del Condado
      break
    default:
        return "N/A";
    }
}
function clearDefault(obj,value) {
    if(obj.value==value) {
        obj.value='';
        }
}
function $(element) {
    return document.getElementById(element);
}
function clearRadio(obj) { 
  var or = document.getElementsByName(obj);
     for (var i = 0; i < or.length; i++) {
         or[i].checked = false;
     }
}

Array.prototype.has=function(v){
for (i=0; i<this.length; i++){
if (this[i]==v) return true;
}
return false;
} 