﻿
function handleImgErr(img, errurl) {
    if (!img.errHandled) {
        img.errHandled = true;
        img.src = errurl;
    }
}

function toggleDisplay(elID) {
    var oEl = document.getElementById(elID);
    if (oEl) {
        if (oEl.style.display == 'block' || oEl.style.display == '') {
            oEl.style.display = 'none';
        } else {
            oEl.style.display = 'block';
        }
    }
}

function xordecode(Key, DataIn) {
    var intXOrValue1 = 0;
    var intXOrValue2 = 0;
    var sOut = '';
    for (var lonDataPtr = 0; lonDataPtr < ((DataIn.length / 2)); lonDataPtr++) {
         intXOrValue1 = h2d((DataIn.substr((2 * lonDataPtr), 2)));
         intXOrValue2 = Key.substr(lonDataPtr % Key.length, 1).charCodeAt(0);
         sOut += String.fromCharCode(intXOrValue1 ^ intXOrValue2);
    }
    return sOut;
}

function d2h(d) {return d.toString(16);}
function h2d(h) {return parseInt(h,16);} 

/* from http://www.emanueleferonato.com/2007/09/21/complete-javascript-popup-opener/ */
var popwin = function(o) {
	o.url = (typeof o.url == 'undefined') ? 'about:blank': o.url;
	o.width = (typeof o.width == 'undefined') ? screen.width/2 : o.width;
	o.height = (typeof o.height == 'undefined') ? screen.height/2 : o.height;
	if((o.width<=1)&&(o.width>0)){o.width*=screen.width}
	if((o.height<=1)&&(o.height>0)){o.height*=screen.height}
	o.xpos = (typeof o.xpos == 'undefined') ? (screen.width/2)-(o.width/2) : o.xpos;
	o.ypos = (typeof o.ypos == 'undefined') ? (screen.height/2)-(o.height/2) : o.ypos;
	o.xoffset = (typeof o.xoffset == 'undefined') ? 0 : o.xoffset;
	o.yoffset = (typeof o.yoffset == 'undefined') ? 0 : o.yoffset;
	o.name = (typeof o.name == 'undefined') ? 'propup' : o.name;
	o.scrollbars = (typeof o.scrollbars == 'undefined') ? 'yes' : o.scrollbars;
	o.resizable = (typeof o.resizable == 'undefined') ? 'yes' : o.resizable;
	o.status = (typeof o.status == 'undefined') ? 'no' : o.status;
	o.locat = (typeof o.locat == 'undefined') ? 'no' : o.locat;
	o.toolbar = (typeof o.toolbar == 'undefined') ? 'no' : o.toolbar;
	if(o.xpos == "left"){o.xpos=0;}
	if(o.xpos == "right"){o.xpos = screen.width-o.width;}
	if(o.ypos == "top"){o.ypos=0;}
	if(o.ypos == "bottom"){o.ypos = screen.height-o.height;}
	o.xpos += o.xoffset
	o.ypos += o.yoffset
	var scrollbarstext = 'scrollbars = '+o.scrollbars+",";
	var resizabletext = 'resizable = '+o.resizable+",";
	var statustext = 'status = '+o.status+",";
	var locationtext = 'location = '+o.locat+",";
	var toolbartext = 'toolbar = '+o.toolbar+",";
	features = scrollbarstext+resizabletext+statustext;
	features = features + locationtext+toolbartext;
	features = features + 'width = '+o.width+',height = '+o.height;
	features = features + ',top = ' + o.ypos;
	features = features + ',left = ' + o.xpos;
	var win = null;
	win = window.open(o.url, o.name, features);
	return win;
}