Number.prototype.NaN0=function() { return isNaN(this) ? 0 : this; }

var USER_DATA = { 
    Browser: {
        KHTML: /Konqueror|KHTML/.test(navigator.userAgent) &&
                !/Apple/.test(navigator.userAgent),
        Safari: /KHTML/.test(navigator.userAgent) &&
                /Apple/.test(navigator.userAgent),
        Opera: !!window.opera,
        MSIE: !!(window.attachEvent && !window.opera),
        Gecko: /Gecko/.test(navigator.userAgent) &&
                !/Konqueror|KHTML/.test(navigator.userAgent),
		Chrome: /Chrome/.test(navigator.userAgent)
    },
 
    OS: {
        Windows: navigator.platform.indexOf("Win") > -1,
        Mac: navigator.platform.indexOf("Mac") > -1,
        Linux: navigator.platform.indexOf("Linux") > -1
    }
}

/*var lStr = 'KHTML-' + USER_DATA['Browser'].KHTML + ' Safari-' + USER_DATA['Browser'].Safari +
	' Opera-' + USER_DATA['Browser'].Opera +' MSIE-' + USER_DATA['Browser'].MSIE +
	' Gecko-' + USER_DATA['Browser'].Gecko +' Chrome-' + USER_DATA['Browser'].Chrome;
alert(lStr);*/

var IS_IE = USER_DATA['Browser'].MSIE;
var IS_CHROME = USER_DATA['Browser'].Chrome

function getAlignedPosition(e) {
    var left = 0;
    var top  = 0;
 
    while (e.offsetParent) {
        left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
        top  += e.offsetTop  + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
        e  = e.offsetParent;
        if (e.scrollLeft) {left -= e.scrollLeft; }
        if (e.scrollTop)  {top  -= e.scrollTop; }
    }
 
    var docBody = document.documentElement ? document.documentElement : document.body;
 
    left += e.offsetLeft + (e.currentStyle ?
                (parseInt(e.currentStyle.borderLeftWidth)).NaN0()
                : 0) +
        (IS_IE ? (parseInt(docBody.scrollLeft)).NaN0() : 0) -
        (parseInt(docBody.clientLeft)).NaN0();
    top  += e.offsetTop  + (e.currentStyle ?
                (parseInt(e.currentStyle.borderTopWidth)).NaN0()
                :  0) +
        (IS_IE ? (parseInt(docBody.scrollTop)).NaN0() : 0) -
        (parseInt(docBody.clientTop)).NaN0();
 
    return {x:left, y:top};
}

function getAlignedPositionOld(e) {
    var left = 0;
    var top  = 0;
    while (e.offsetParent) {
        left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0);
        top  += e.offsetTop  + (e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0);
        e = e.offsetParent;
        if (e.scrollLeft) {left -= e.scrollLeft; }
        if (e.scrollTop) {top -= e.scrollTop; }
    }
    var docBody = document.documentElement ? document.documentElement : document.body;
    left += e.offsetLeft + 
		(e.currentStyle ? (parseInt(e.currentStyle.borderLeftWidth)).NaN0() : 0) +
        (IS_IE ? (parseInt(docBody.scrollLeft)).NaN0() : 0) -
        (parseInt(docBody.clientLeft)).NaN0();
    top  += e.offsetTop  + 
		(e.currentStyle ? (parseInt(e.currentStyle.borderTopWidth)).NaN0() : 0) +
		(IS_IE ? (parseInt(docBody.scrollTop)).NaN0() : 0) -
		(parseInt(docBody.clientTop)).NaN0();
 
    return {x:left, y:top};
}

function getElementWidth(objectId) {
	x = document.getElementById(objectId);
	return x.offsetWidth;
}

function getElementHeight(objectId) {
	x = document.getElementById(objectId);
	return x.offsetHeight;
}

function getClientCenterX() {
	return parseInt(getClientWidth()/2)+getBodyScrollLeft();
}
	
function getClientCenterY() {
	return parseInt(getClientHeight()/2)+getBodyScrollTop();
}
function getClientWidth() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}

function getBodyScrollTop() {
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollHeight() {
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollHeight) || (document.body && document.body.scrollHeight);
}

function getBodyScrollLeft() {
  return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function getAbsoluteLeft(objectId) {
	o = document.getElementById(objectId)
	oLeft = o.offsetLeft
	while(o.offsetParent!=null) {
		oParent = o.offsetParent
		oLeft += oParent.offsetLeft
		o = oParent
	}
	return oLeft
}

function getAbsoluteTop(objectId) {

	o = document.getElementById(objectId)
	
	oTop = o.offsetTop
	while(o.offsetParent!=null) {
		oParent = o.offsetParent
		oTop += oParent.offsetTop
		
		var ScrollTop = oParent.scrollTop
		oTop -= ScrollTop
		
		o = oParent
	}
	return oTop
}

function parseQuery ( query ) {
   var Params = new Object ();
   if ( ! query ) return Params; // return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) continue;
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function blockEvents(evt) {
	if(evt.target){
		evt.preventDefault();
	}else{
		evt.returnValue = false;
	}
}

function mxRandom(AMax, AException) {
	var lRnd = Math.ceil(Math.random() * AMax);
	if (lRnd == AException) {
		return mxRandom(AMax, AException);
	} else {
		return lRnd;
	}
}

function trim(s)
{
	return s.replace(/^\s*(.*?)\s*$/, "$1");
}

function InputFB(ASRC, ADest, AWidth, AHeight) {
	var lTD = document.getElementById(ADest);
	var tdSize = {'width':AWidth,'height':AHeight};
	lStr =
		"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' " +
		"codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' " +
		"width='" + tdSize.width + "' height='" + tdSize.height + "' id='index' align='top'>" + 
		"<param name='allowScriptAccess' value='sameDomain' />" +
		"<param name='movie' value='" + ASRC + "' />" + 
		"<param name='quality' value='high' />" + 
		"<param name='bgcolor' value='#C8D7F8' />" +
		"<embed src='" + ASRC + "' " + 
		"quality='high' bgcolor='#e6e6e6' width='" + tdSize.width + "' height='" + tdSize.height + "' " +
		"name='index' align='top' allowScriptAccess='sameDomain' " + 
		"type='application/x-shockwave-flash' " + 
		"pluginspage='http://www.macromedia.com/go/getflashplayer' /></object>";
	$('#'+ADest).html(lStr);
};

function InputFBV(ASRC, ADest, AWidth, AHeight) {
	var lTD = document.getElementById(ADest);
	var tdSize = {'width':AWidth,'height':AHeight};
	lStr =
		"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' " +
		"codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' " +
		"width='" + tdSize.width + "' height='" + tdSize.height + "' id='index' align='top'>" + 
		"<param name='allowScriptAccess' value='sameDomain' />" +
		"<param name='movie' value='" + ASRC + "' />" + 
		"<param name='quality' value='high' />" + 
		"<param name='bgcolor' value='#C8D7F8' />" +
		"<param name='allowfullscreen' value='true' />" +
		"<embed src='" + ASRC + "' " + 
		"quality='high' bgcolor='#e6e6e6' width='" + tdSize.width + "' height='" + tdSize.height + "' " +
		"name='index' align='top' allowScriptAccess='sameDomain' allowfullscreen='true' " + 
		"type='application/x-shockwave-flash' " + 
		"pluginspage='http://www.macromedia.com/go/getflashplayer' /></object>";
	$('#'+ADest).html(lStr);
};

function OpenMV(AURL) {
	AURL = 'MediaViewer.asp?' + AURL;
	window.open(AURL,'new','width='+screen.availWidth+',height='+screen.availHeight+',toolbar=0,status=0');
	//window.open(AURL,'new','status=0,fullscreen=1,resizable=0,toolbar=0,left=0,top=0');
};

function XINC(AField) {
	jQuery.getScript('incrementer.asp?F='+AField);
};
