String.prototype.empty = '';
String.prototype.startsWith = function( /*String*/start) {
    if (start == null || start == '') return false;
    return (this.indexOf(start) == 0);
}

String.prototype.endsWith = function( /*String*/end) {
    if (end == null || end == '') return false;

    var endL = end.length;
    var l = this.length;
    if (l < endL) return false;
    var offset = l - endL;

    return (this.lastIndexOf(end) == offset)
}


String.prototype.trim = function() {
    if (this == null || typeof (this) == 'undefined') return this;
    var tmp = this.replace(/^\s+/g, "");
    return tmp.replace(/\s+$/g, "");
}


String.prototype.equals = function( /*Object*/obj) {
    if (obj == null) {
        return (this == obj);
    }
    return this == obj.toString();
}

String.prototype.isEmpty = function() {
    if (this == null) return true;
    return this.equals(String.empty);
}

String.prototype.replaceAll = function(oldStr, newStr) {
    return this.split(oldStr).join(newStr);
}

String.prototype.replaceAllIgnoreCase = function(oldStr, newStr) {
    return this.toLowerCase().split(oldStr.toLowerCase()).join(newStr);
}

String.prototype.containsIgnoreCase = function( /*String*/strToSearch) {
    if (strToSearch != null && typeof (strToSearch).equals("string")) {
        if (!strToSearch.isEmpty()) {

            return this.toUpperCase().contains(strToSearch.toUpperCase());
        }
        return false;
    }
    return false;

}

String.prototype.contains = function( /*String*/strToSearch) {

    if (strToSearch != null && typeof (strToSearch).equals("string")) {
        if (!strToSearch.isEmpty()) {
            return this.indexOf(strToSearch) != -1;
        }
        return false;
    }
    return false;
}


String.prototype.countOf = function(pattern) {
    var ar = this.split(pattern);
    return ar.length - 1;
}


Client = new function() {
    this.screen = parseInt(window.screen.height, 10);
    this.OPERA = 'OPERA';
    this.IE = 'IE';
    this.FIREFOX = 'FIREFOX';
    this.SAFARI = 'SAFARI';
    this.MOZ = 'MOZILLA';
}

Browser = new function() {
    /*private prop*/
    var u = new String(navigator.userAgent), d = document;


    this.ie = (/MSIE /.test(u) && !u.containsIgnoreCase(Client.OPERA)) ? true : false;
    this.ns4 = typeof d.layers != "undefined";
    this.dom = typeof d.getElementById != "undefined";
    this.safari = /Safari/.test(u);
    this.moz = /Gecko/.test(u) && !(u.containsIgnoreCase(Client.SAFARI) || u.containsIgnoreCase(Client.OPERA));
    this.firefox = /Gecko/.test(u) && !(u.containsIgnoreCase(Client.SAFARI) || u.containsIgnoreCase(Client.OPERA)) && u.containsIgnoreCase(Client.FIREFOX);
    this.mie = /MSIE /.test(u) && /Mac/.test(u);
    this.opera = u.containsIgnoreCase(Client.OPERA);
    this.o7 = /Opera 7/.test(u);
    this.o8 = /Opera\/8.0/.test(u);
    /*OS*/
    this.win9x = /Win9/.test(u) || /Windows 9/.test(u);
    this.winNT = /Windows NT 5.1/.test(u);

};



/*workaround for fireFox*/
function collapseElement(/*HTMLElement*/element) {
    if (element.className.toLowerCase().indexOf("elementcollapsed") == -1)
        element.className += ' elementcollapsed';
}
function uncollapseElement(/*HTMLElement*/element) {
    element.className = element.className.replaceAllIgnoreCase('elementcollapsed', '');
}
// end workaround

function getObj(id) {
    return document.getElementById(id);
}


// creatge event hander and dispath for HTMLElement when use FF
try {
    HTMLElement.prototype.click = function() {
        var evt = this.ownerDocument.createEvent('MouseEvents');
        evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
        this.dispatchEvent(evt);
    }
} catch (e) {
    ;
}

/*customize Event.KEYDOWN with my handle */
if (!Browser.ie) {
    window.captureEvents(Event.KEYDOWN);
    window.onkeydown = keyhandler;
} else {
    document.onkeydown = keyhandler;
}

/*my custom handle*/
function keyhandler(e) {

    if (document.all) {
        e = event;
    }

    var code = e.keyCode;
    //capture correct code from different browser
    if (code == 13) {
        var el = null;
        if (Browser.ie) {
            el = e.srcElement;
        } else {
            el = e.target;
        }
        // test if source is body do nothing
        if (el.tagName.toUpperCase() == "HTML") {
            return false;
        }
        // if source is button do nothing
        if (el != null && el.type != null) {
            if (el.tagName.toUpperCase() == "TEXTAREA") return true;

            var type = el.type.toUpperCase();
            if (type != 'BUTTON' && !(type == "IMAGE" && el.tagName.toUpperCase() == "INPUT")) {
                // event ==> fire	
                if (eventFire.getTarget() != null) {
                    eventFire.getTarget().focus();
                    eventFire.fire();
                    return false;
                }
                else {
                    return true;
                }
            }
        }
    }

}

/* EventFire Object
use to configure  custom event
fire event on Enter pressed

*/
function _fire() {
    if (this.getTarget() != null) {
        //	alert('click ' + this.getTarget().id)
        this.getTarget().click();
    }
}
function _setSource(/*HTMLElement*/objSource) {
    this._source = objSource;
}

function _getSource() {
    return this._source;
}

function _setTarget(/*HTMLElement*/objTarget) {
    this._target = objTarget;
}

function _getTarget() {
    return this._target;
}

function EventFire() {
    /*private prop*/
    this._source = null;
    this._target = null;
    /*getter and setter*/
    this.setSource = _setSource;
    this.getSource = _getSource;
    this.setTarget = _setTarget;
    this.getTarget = _getTarget;
    /*public method*/
    this.fire = _fire;
}

/*globla object*/

var eventFire = new EventFire();

/*wrapper to set event*/
function setMyCustomEvent(/*HTMLElement*/objSource, /*HTMLElement*/objTarget) {
    //alert('setter ' + objTarget.id)
    eventFire.setSource(objSource);
    eventFire.setTarget(objTarget);
}

// apre la finestra in modalità modale per l'inserimento dell'abstract content
function ModalWindow(sUrl) {
    return window.showModalDialog(sUrl, null, "dialogWidth:800px;dialogHeight:600px;scroll: auto;")
}


//Sezione per il funzionamento dei flash dopo l'applicazione della patch di windows xp
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.

function AC_AddExtension(src, ext) {
    if (src.indexOf('?') != -1)
        return src.replace(/\?/, ext + '?');
    else
        return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) {
    var str = '<object ';
    for (var i in objAttrs)
        str += i + '="' + objAttrs[i] + '" ';
    str += '>';
    for (var i in params)
        str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    str += '<embed ';
    for (var i in embedAttrs)
        str += i + '="' + embedAttrs[i] + '" ';
    str += ' ></embed></object>';

    document.write(str);
}

function AC_FL_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType) {
    var ret = new Object();
    ret.embedAttrs = new Object();
    ret.params = new Object();
    ret.objAttrs = new Object();
    for (var i = 0; i < args.length; i = i + 2) {
        var currArg = args[i].toLowerCase();

        switch (currArg) {
            case "classid":
                break;
            case "pluginspage":
                ret.embedAttrs[args[i]] = args[i + 1];
                break;
            case "src":
            case "movie":
                args[i + 1] = AC_AddExtension(args[i + 1], ext);
                ret.embedAttrs["src"] = args[i + 1];
                ret.params[srcParamName] = args[i + 1];
                break;
            case "onafterupdate":
            case "onbeforeupdate":
            case "onblur":
            case "oncellchange":
            case "onclick":
            case "ondblClick":
            case "ondrag":
            case "ondragend":
            case "ondragenter":
            case "ondragleave":
            case "ondragover":
            case "ondrop":
            case "onfinish":
            case "onfocus":
            case "onhelp":
            case "onmousedown":
            case "onmouseup":
            case "onmouseover":
            case "onmousemove":
            case "onmouseout":
            case "onkeypress":
            case "onkeydown":
            case "onkeyup":
            case "onload":
            case "onlosecapture":
            case "onpropertychange":
            case "onreadystatechange":
            case "onrowsdelete":
            case "onrowenter":
            case "onrowexit":
            case "onrowsinserted":
            case "onstart":
            case "onscroll":
            case "onbeforeeditfocus":
            case "onactivate":
            case "onbeforedeactivate":
            case "ondeactivate":
            case "type":
            case "codebase":
                ret.objAttrs[args[i]] = args[i + 1];
                break;
            case "width":
            case "height":
            case "align":
            case "vspace":
            case "hspace":
            case "class":
            case "title":
            case "accesskey":
            case "name":
            case "id":
            case "tabindex":
                ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i + 1];
                break;
            default:
                ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i + 1];
        }
    }
    ret.objAttrs["classid"] = classid;
    if (mimeType) ret.embedAttrs["type"] = mimeType;
    return ret;
}

function ScrollAll() {
    ObjHdPos = document.getElementById("HdPos");
    if (ObjHdPos != null) {
        var currentpos = ObjHdPos.value;
        window.scroll(0, currentpos);
    }
}
function SetPosition() {
    var currentpos;
    if (document.all)
        currentpos = IECompatBody().scrollTop;
    else
        currentpos = window.pageYOffset;

    ObjHdPos = document.getElementById("HdPos");
    if (ObjHdPos != null) ObjHdPos.value = currentpos;
}


function IECompatBody() {
    return (document.compatMode != "BackCompat") ? document.documentElement : document.body
}

function setSecureAction() {
    var actionURL = "";
    actionURL += "https://";
    actionURL += location.host;
    if (location.pathname == "/") actionURL += "/default.aspx"; else actionURL += location.pathname;
    actionURL += location.search;
    //var objForm = document.forms['frmMain'];
    //objForm.action = actionURL;
    document.forms[0].action = actionURL;
}

function ChangePIC(imgName) {
    if (imgName != "" && document.all("prodImage") != null) {
        document.all("prodImage").src = imgName
    }
}

// per evitare che il validatore del w3c restituisca errori sui tag <embed> nel doctype xhtml 1.0 transitional
// iniettiamo il codice per il video all'interno di un div fissato all'interno del controllo che lo renderizza
//

/*
function CreateVideoX (videoSrc, w, h, clsID, autoS, showC, uiMode, codeB, idVideo)
{
var showControl;
if(showC=='0')
showControl = "False";
else
showControl = "True";

var autoStart;
if(autoS=='0')
autoStart = "False";
else
autoStart = "True";
	
var string = ''+ 
'<object id="'+idVideo+'" name="'+idVideo+'" width="'+w+'" height="'+h+'" classid="'+clsID+'" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="'+codeB+'">'+				
'<param name="URL" value="'+videoSrc+'" />'+
'<param name="ShowControls" value="'+showControl+'" />'+
'<param name="AutoStart" value="'+autoStart+'" />'+
'<embed id="'+idVideo+'" src="'+videoSrc+'" width="'+w+'" height="'+h+'" type="application/x-mplayer2" AutoStart="'+autoS+'" ShowControl='+showC+'" />'+
'</object>';

document.write(string);    
}
*/
/*
function addVideo (contentID, videoSrc, w, h, clsID, autoS, showC, uiMode, codeB, idVideo) 
{
obj = document.getElementById(contentID);
var showControl;
    
if(showC=='0')
showControl = "False";
else
showControl = "True";
    
var autoStart; 
    
if(autoS=='0')
autoStart = "False"; 
else 
autoStart = "True";
 
var v = ''+
 
'<object id="'+idVideo+'" width="'+w+'" height="'+h+'" classid="'+clsID+'" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="'+codeB+'">'+
 
'<embed src="'+videoSrc+'" name="'+idVideo+'" width="'+w+'" height="'+h+'" type="application/x-mplayer2" AutoStart="'+autoS+'" fullScreen="False" uiMode="'+uiMode+'" />'+
 
'<param name="filename" value="'+videoSrc+'" />'+
 
'<param name="ShowControls" value="'+showControl+'" />'+
 
'<param name="AutoStart" value="'+autoStart+'" />'+
 
'</object>'; 
    
return v;
}
 
function createPlayer2(contentID, videoSrc, w, h, clsID, autoS, showC, uiMode, codeB, idVideo) 
{
var out = addVideo(contentID, videoSrc, w, h, clsID, autoS, showC, uiMode, codeB, idVideo);
var obj=document.createElement(out);
document.getElementById(contentID).appendChild(obj);
}

*/

function addVideo(contentID, videoSrc, w, h, clsID, autoS, showC, uiMode, codeB, idVideo) {
    obj = document.getElementById(contentID);

    var showControl;
    if (showC == '0')
        showControl = "False";
    else
        showControl = "True";

    var autoStart;
    if (autoS == '0')
        autoStart = "False";
    else
        autoStart = "True";

    obj.innerHTML = '' +

		'<object id="' + idVideo + '" width="' + w + '" height="' + h + '" classid="CLSID:' + clsID + '" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="' + codeB + '">' +
		'<embed  src="' + videoSrc + '" name="' + idVideo + '" width="' + w + '" height="' + h + '" type="application/x-mplayer2" AutoStart="' + autoS + '" fullScreen="False" uiMode="' + uiMode + '" />' +
		'<param name="url" value="' + videoSrc + '" />' +
		'<param name="ShowControls" value="' + showControl + '" />' +
		'<param name="AutoStart" value="' + autoStart + '" />' +
		'</object>';
    // alert(obj.innerHTML);		
}


//
//
//
function clickButton(e, buttonid) {

    var evt = e ? e : window.event;
    var bt = document.getElementById(buttonid);

    if (bt) {
        if (evt.keyCode == 13) {
            bt.click();
            return false;
        }
    }
}


function getPars(strKey, strValue) {
    return strKey + "=" + strValue + "&";
}

function accodeQueryParameters(strKey, strValue) {
    return "&" + strKey + "=" + strValue;
}

$(function() {

    $('.external-link').each(function(index) {

        $(this).bind('click', function() {
            var t = $(this).attr('title');
            $(this).attr('target', '_blank');
            return window.confirm;
        });
    });
});

	function injectFlashObject(targetDivId, objectId, swfPath, width, height, allowfullscreen, flashvars) {

	    if (swfPath.indexOf(".swf") == -1) {
	        swfPath += ".swf";
	    }
	    var html = "<object id=\"" + objectId + "\" type=\"application/x-shockwave-flash\" data=\"" + swfPath + "\" width=\"" + width + "\" height=\"" + height + "\" menu=\"false\"><param name=\"movie\" value=\"" + swfPath + "\" /><param name=\"menu\" value=\"false\" /> <param name=\"allowfullscreen\" value=\"" + allowfullscreen + "\" /><param name=\"flashvars\" value=\"" + flashvars + "\" /></object>";

	    $("#" + targetDivId).html(html);
	}


	/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
	* Licensed under the MIT License (LICENSE.txt).
	*
	* Version 2.1.2
	*/

	(function($) {

	    $.fn.bgiframe = ($.browser.msie && /msie 6\.0/i.test(navigator.userAgent) ? function(s) {
	        s = $.extend({
	            top: 'auto', // auto == .currentStyle.borderTopWidth
	            left: 'auto', // auto == .currentStyle.borderLeftWidth
	            width: 'auto', // auto == offsetWidth
	            height: 'auto', // auto == offsetHeight
	            opacity: true,
	            src: 'javascript:false;'
	        }, s);
	        var html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="' + s.src + '"' +
                   'style="display:block;position:absolute;z-index:-1;' +
                       (s.opacity !== false ? 'filter:Alpha(Opacity=\'0\');' : '') +
                       'top:' + (s.top == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')' : prop(s.top)) + ';' +
                       'left:' + (s.left == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')' : prop(s.left)) + ';' +
                       'width:' + (s.width == 'auto' ? 'expression(this.parentNode.offsetWidth+\'px\')' : prop(s.width)) + ';' +
                       'height:' + (s.height == 'auto' ? 'expression(this.parentNode.offsetHeight+\'px\')' : prop(s.height)) + ';' +
                '"/>';
	        return this.each(function() {
	            if ($(this).children('iframe.bgiframe').length === 0)
	                this.insertBefore(document.createElement(html), this.firstChild);
	        });
	    } : function() { return this; });

	    // old alias
	    $.fn.bgIframe = $.fn.bgiframe;

	    function prop(n) {
	        return n && n.constructor === Number ? n + 'px' : n;
	    }

	})(jQuery);



	/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
	*/
	var swfobject = function() { var D = "undefined", r = "object", S = "Shockwave Flash", W = "ShockwaveFlash.ShockwaveFlash", q = "application/x-shockwave-flash", R = "SWFObjectExprInst", x = "onreadystatechange", O = window, j = document, t = navigator, T = false, U = [h], o = [], N = [], I = [], l, Q, E, B, J = false, a = false, n, G, m = true, M = function() { var aa = typeof j.getElementById != D && typeof j.getElementsByTagName != D && typeof j.createElement != D, ah = t.userAgent.toLowerCase(), Y = t.platform.toLowerCase(), ae = Y ? /win/.test(Y) : /win/.test(ah), ac = Y ? /mac/.test(Y) : /mac/.test(ah), af = /webkit/.test(ah) ? parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, X = ! +"\v1", ag = [0, 0, 0], ab = null; if (typeof t.plugins != D && typeof t.plugins[S] == r) { ab = t.plugins[S].description; if (ab && !(typeof t.mimeTypes != D && t.mimeTypes[q] && !t.mimeTypes[q].enabledPlugin)) { T = true; X = false; ab = ab.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); ag[0] = parseInt(ab.replace(/^(.*)\..*$/, "$1"), 10); ag[1] = parseInt(ab.replace(/^.*\.(.*)\s.*$/, "$1"), 10); ag[2] = /[a-zA-Z]/.test(ab) ? parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0 } } else { if (typeof O.ActiveXObject != D) { try { var ad = new ActiveXObject(W); if (ad) { ab = ad.GetVariable("$version"); if (ab) { X = true; ab = ab.split(" ")[1].split(","); ag = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)] } } } catch (Z) { } } } return { w3: aa, pv: ag, wk: af, ie: X, win: ae, mac: ac} } (), k = function() { if (!M.w3) { return } if ((typeof j.readyState != D && j.readyState == "complete") || (typeof j.readyState == D && (j.getElementsByTagName("body")[0] || j.body))) { f() } if (!J) { if (typeof j.addEventListener != D) { j.addEventListener("DOMContentLoaded", f, false) } if (M.ie && M.win) { j.attachEvent(x, function() { if (j.readyState == "complete") { j.detachEvent(x, arguments.callee); f() } }); if (O == top) { (function() { if (J) { return } try { j.documentElement.doScroll("left") } catch (X) { setTimeout(arguments.callee, 0); return } f() })() } } if (M.wk) { (function() { if (J) { return } if (!/loaded|complete/.test(j.readyState)) { setTimeout(arguments.callee, 0); return } f() })() } s(f) } } (); function f() { if (J) { return } try { var Z = j.getElementsByTagName("body")[0].appendChild(C("span")); Z.parentNode.removeChild(Z) } catch (aa) { return } J = true; var X = U.length; for (var Y = 0; Y < X; Y++) { U[Y]() } } function K(X) { if (J) { X() } else { U[U.length] = X } } function s(Y) { if (typeof O.addEventListener != D) { O.addEventListener("load", Y, false) } else { if (typeof j.addEventListener != D) { j.addEventListener("load", Y, false) } else { if (typeof O.attachEvent != D) { i(O, "onload", Y) } else { if (typeof O.onload == "function") { var X = O.onload; O.onload = function() { X(); Y() } } else { O.onload = Y } } } } } function h() { if (T) { V() } else { H() } } function V() { var X = j.getElementsByTagName("body")[0]; var aa = C(r); aa.setAttribute("type", q); var Z = X.appendChild(aa); if (Z) { var Y = 0; (function() { if (typeof Z.GetVariable != D) { var ab = Z.GetVariable("$version"); if (ab) { ab = ab.split(" ")[1].split(","); M.pv = [parseInt(ab[0], 10), parseInt(ab[1], 10), parseInt(ab[2], 10)] } } else { if (Y < 10) { Y++; setTimeout(arguments.callee, 10); return } } X.removeChild(aa); Z = null; H() })() } else { H() } } function H() { var ag = o.length; if (ag > 0) { for (var af = 0; af < ag; af++) { var Y = o[af].id; var ab = o[af].callbackFn; var aa = { success: false, id: Y }; if (M.pv[0] > 0) { var ae = c(Y); if (ae) { if (F(o[af].swfVersion) && !(M.wk && M.wk < 312)) { w(Y, true); if (ab) { aa.success = true; aa.ref = z(Y); ab(aa) } } else { if (o[af].expressInstall && A()) { var ai = {}; ai.data = o[af].expressInstall; ai.width = ae.getAttribute("width") || "0"; ai.height = ae.getAttribute("height") || "0"; if (ae.getAttribute("class")) { ai.styleclass = ae.getAttribute("class") } if (ae.getAttribute("align")) { ai.align = ae.getAttribute("align") } var ah = {}; var X = ae.getElementsByTagName("param"); var ac = X.length; for (var ad = 0; ad < ac; ad++) { if (X[ad].getAttribute("name").toLowerCase() != "movie") { ah[X[ad].getAttribute("name")] = X[ad].getAttribute("value") } } P(ai, ah, Y, ab) } else { p(ae); if (ab) { ab(aa) } } } } } else { w(Y, true); if (ab) { var Z = z(Y); if (Z && typeof Z.SetVariable != D) { aa.success = true; aa.ref = Z } ab(aa) } } } } } function z(aa) { var X = null; var Y = c(aa); if (Y && Y.nodeName == "OBJECT") { if (typeof Y.SetVariable != D) { X = Y } else { var Z = Y.getElementsByTagName(r)[0]; if (Z) { X = Z } } } return X } function A() { return !a && F("6.0.65") && (M.win || M.mac) && !(M.wk && M.wk < 312) } function P(aa, ab, X, Z) { a = true; E = Z || null; B = { success: false, id: X }; var ae = c(X); if (ae) { if (ae.nodeName == "OBJECT") { l = g(ae); Q = null } else { l = ae; Q = X } aa.id = R; if (typeof aa.width == D || (!/%$/.test(aa.width) && parseInt(aa.width, 10) < 310)) { aa.width = "310" } if (typeof aa.height == D || (!/%$/.test(aa.height) && parseInt(aa.height, 10) < 137)) { aa.height = "137" } j.title = j.title.slice(0, 47) + " - Flash Player Installation"; var ad = M.ie && M.win ? "ActiveX" : "PlugIn", ac = "MMredirectURL=" + O.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + ad + "&MMdoctitle=" + j.title; if (typeof ab.flashvars != D) { ab.flashvars += "&" + ac } else { ab.flashvars = ac } if (M.ie && M.win && ae.readyState != 4) { var Y = C("div"); X += "SWFObjectNew"; Y.setAttribute("id", X); ae.parentNode.insertBefore(Y, ae); ae.style.display = "none"; (function() { if (ae.readyState == 4) { ae.parentNode.removeChild(ae) } else { setTimeout(arguments.callee, 10) } })() } u(aa, ab, X) } } function p(Y) { if (M.ie && M.win && Y.readyState != 4) { var X = C("div"); Y.parentNode.insertBefore(X, Y); X.parentNode.replaceChild(g(Y), X); Y.style.display = "none"; (function() { if (Y.readyState == 4) { Y.parentNode.removeChild(Y) } else { setTimeout(arguments.callee, 10) } })() } else { Y.parentNode.replaceChild(g(Y), Y) } } function g(ab) { var aa = C("div"); if (M.win && M.ie) { aa.innerHTML = ab.innerHTML } else { var Y = ab.getElementsByTagName(r)[0]; if (Y) { var ad = Y.childNodes; if (ad) { var X = ad.length; for (var Z = 0; Z < X; Z++) { if (!(ad[Z].nodeType == 1 && ad[Z].nodeName == "PARAM") && !(ad[Z].nodeType == 8)) { aa.appendChild(ad[Z].cloneNode(true)) } } } } } return aa } function u(ai, ag, Y) { var X, aa = c(Y); if (M.wk && M.wk < 312) { return X } if (aa) { if (typeof ai.id == D) { ai.id = Y } if (M.ie && M.win) { var ah = ""; for (var ae in ai) { if (ai[ae] != Object.prototype[ae]) { if (ae.toLowerCase() == "data") { ag.movie = ai[ae] } else { if (ae.toLowerCase() == "styleclass") { ah += ' class="' + ai[ae] + '"' } else { if (ae.toLowerCase() != "classid") { ah += " " + ae + '="' + ai[ae] + '"' } } } } } var af = ""; for (var ad in ag) { if (ag[ad] != Object.prototype[ad]) { af += '<param name="' + ad + '" value="' + ag[ad] + '" />' } } aa.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ah + ">" + af + "</object>"; N[N.length] = ai.id; X = c(ai.id) } else { var Z = C(r); Z.setAttribute("type", q); for (var ac in ai) { if (ai[ac] != Object.prototype[ac]) { if (ac.toLowerCase() == "styleclass") { Z.setAttribute("class", ai[ac]) } else { if (ac.toLowerCase() != "classid") { Z.setAttribute(ac, ai[ac]) } } } } for (var ab in ag) { if (ag[ab] != Object.prototype[ab] && ab.toLowerCase() != "movie") { e(Z, ab, ag[ab]) } } aa.parentNode.replaceChild(Z, aa); X = Z } } return X } function e(Z, X, Y) { var aa = C("param"); aa.setAttribute("name", X); aa.setAttribute("value", Y); Z.appendChild(aa) } function y(Y) { var X = c(Y); if (X && X.nodeName == "OBJECT") { if (M.ie && M.win) { X.style.display = "none"; (function() { if (X.readyState == 4) { b(Y) } else { setTimeout(arguments.callee, 10) } })() } else { X.parentNode.removeChild(X) } } } function b(Z) { var Y = c(Z); if (Y) { for (var X in Y) { if (typeof Y[X] == "function") { Y[X] = null } } Y.parentNode.removeChild(Y) } } function c(Z) { var X = null; try { X = j.getElementById(Z) } catch (Y) { } return X } function C(X) { return j.createElement(X) } function i(Z, X, Y) { Z.attachEvent(X, Y); I[I.length] = [Z, X, Y] } function F(Z) { var Y = M.pv, X = Z.split("."); X[0] = parseInt(X[0], 10); X[1] = parseInt(X[1], 10) || 0; X[2] = parseInt(X[2], 10) || 0; return (Y[0] > X[0] || (Y[0] == X[0] && Y[1] > X[1]) || (Y[0] == X[0] && Y[1] == X[1] && Y[2] >= X[2])) ? true : false } function v(ac, Y, ad, ab) { if (M.ie && M.mac) { return } var aa = j.getElementsByTagName("head")[0]; if (!aa) { return } var X = (ad && typeof ad == "string") ? ad : "screen"; if (ab) { n = null; G = null } if (!n || G != X) { var Z = C("style"); Z.setAttribute("type", "text/css"); Z.setAttribute("media", X); n = aa.appendChild(Z); if (M.ie && M.win && typeof j.styleSheets != D && j.styleSheets.length > 0) { n = j.styleSheets[j.styleSheets.length - 1] } G = X } if (M.ie && M.win) { if (n && typeof n.addRule == r) { n.addRule(ac, Y) } } else { if (n && typeof j.createTextNode != D) { n.appendChild(j.createTextNode(ac + " {" + Y + "}")) } } } function w(Z, X) { if (!m) { return } var Y = X ? "visible" : "hidden"; if (J && c(Z)) { c(Z).style.visibility = Y } else { v("#" + Z, "visibility:" + Y) } } function L(Y) { var Z = /[\\\"<>\.;]/; var X = Z.exec(Y) != null; return X && typeof encodeURIComponent != D ? encodeURIComponent(Y) : Y } var d = function() { if (M.ie && M.win) { window.attachEvent("onunload", function() { var ac = I.length; for (var ab = 0; ab < ac; ab++) { I[ab][0].detachEvent(I[ab][1], I[ab][2]) } var Z = N.length; for (var aa = 0; aa < Z; aa++) { y(N[aa]) } for (var Y in M) { M[Y] = null } M = null; for (var X in swfobject) { swfobject[X] = null } swfobject = null }) } } (); return { registerObject: function(ab, X, aa, Z) { if (M.w3 && ab && X) { var Y = {}; Y.id = ab; Y.swfVersion = X; Y.expressInstall = aa; Y.callbackFn = Z; o[o.length] = Y; w(ab, false) } else { if (Z) { Z({ success: false, id: ab }) } } }, getObjectById: function(X) { if (M.w3) { return z(X) } }, embedSWF: function(ab, ah, ae, ag, Y, aa, Z, ad, af, ac) { var X = { success: false, id: ah }; if (M.w3 && !(M.wk && M.wk < 312) && ab && ah && ae && ag && Y) { w(ah, false); K(function() { ae += ""; ag += ""; var aj = {}; if (af && typeof af === r) { for (var al in af) { aj[al] = af[al] } } aj.data = ab; aj.width = ae; aj.height = ag; var am = {}; if (ad && typeof ad === r) { for (var ak in ad) { am[ak] = ad[ak] } } if (Z && typeof Z === r) { for (var ai in Z) { if (typeof am.flashvars != D) { am.flashvars += "&" + ai + "=" + Z[ai] } else { am.flashvars = ai + "=" + Z[ai] } } } if (F(Y)) { var an = u(aj, am, ah); if (aj.id == ah) { w(ah, true) } X.success = true; X.ref = an } else { if (aa && A()) { aj.data = aa; P(aj, am, ah, ac); return } else { w(ah, true) } } if (ac) { ac(X) } }) } else { if (ac) { ac(X) } } }, switchOffAutoHideShow: function() { m = false }, ua: M, getFlashPlayerVersion: function() { return { major: M.pv[0], minor: M.pv[1], release: M.pv[2]} }, hasFlashPlayerVersion: F, createSWF: function(Z, Y, X) { if (M.w3) { return u(Z, Y, X) } else { return undefined } }, showExpressInstall: function(Z, aa, X, Y) { if (M.w3 && A()) { P(Z, aa, X, Y) } }, removeSWF: function(X) { if (M.w3) { y(X) } }, createCSS: function(aa, Z, Y, X) { if (M.w3) { v(aa, Z, Y, X) } }, addDomLoadEvent: K, addLoadEvent: s, getQueryParamValue: function(aa) { var Z = j.location.search || j.location.hash; if (Z) { if (/\?/.test(Z)) { Z = Z.split("?")[1] } if (aa == null) { return L(Z) } var Y = Z.split("&"); for (var X = 0; X < Y.length; X++) { if (Y[X].substring(0, Y[X].indexOf("=")) == aa) { return L(Y[X].substring((Y[X].indexOf("=") + 1))) } } } return "" }, expressInstallCallback: function() { if (a) { var X = c(R); if (X && l) { X.parentNode.replaceChild(l, X); if (Q) { w(Q, true); if (M.ie && M.win) { l.style.display = "block" } } if (E) { E(B) } } a = false } } } } ();


	/*jQuery CSS Property Monitoring Plug-in */


	$.fn.watch = function(props, func, interval, id) {
	    /// <summary>
	    /// Allows you to monitor changes in a specific
	    /// CSS property of an element by polling the value.
	    /// when the value changes a function is called.
	    /// The function called is called in the context
	    /// of the selected element (ie. this)
	    /// </summary>    
	    /// <param name="prop" type="String">CSS Properties to watch sep. by commas</param>    
	    /// <param name="func" type="Function">
	    /// Function called when the value has changed.
	    /// </param>    
	    /// <param name="interval" type="Number">
	    /// Optional interval for browsers that don't support DOMAttrModified or propertychange events.
	    /// Determines the interval used for setInterval calls.
	    /// </param>
	    /// <param name="id" type="String">A unique ID that identifies this watch instance on this element</param>  
	    /// <returns type="jQuery" /> 
	    if (!interval)
	        interval = 200;
	    if (!id)
	        id = "_watcher";

	    return this.each(function() {
	        var _t = this;
	        var el$ = $(this);
	        var fnc = function() { __watcher.call(_t, id) };
	        var itId = null;

	        var data = { id: id,
	            props: props.split(","),
	            func: func,
	            vals: [props.split(",").length],
	            fnc: fnc,
	            origProps: props,
	            interval: interval
	        };
	        $.each(data.props, function(i) { data.vals[i] = el$.css(data.props[i]); });
	        el$.data(id, data);

	        hookChange(el$, id, data.fnc);

	    });

	    function hookChange(el$, id, fnc) {
	        el$.each(function() {
	            var el = $(this);
	            if (typeof (el.get(0).onpropertychange) == "object")
	                el.bind("propertychange." + id, fnc);
	            else if ($.browser.mozilla)
	                el.bind("DOMAttrModified." + id, fnc);
	            else
	                itId = setInterval(fnc, interval);
	        });
	    }
	    function __watcher(id) {
	        var el$ = $(this);
	        var w = el$.data(id);
	        if (!w) return;
	        var _t = this;

	        if (!w.func)
	            return;

	        // must unbind or else unwanted recursion may occur
	        el$.unwatch(id);

	        var changed = false;
	        var i = 0;
	        for (i; i < w.props.length; i++) {
	            var newVal = el$.css(w.props[i]);
	            if (w.vals[i] != newVal) {
	                w.vals[i] = newVal;
	                changed = true;
	                break;
	            }
	        }
	        if (changed)
	            w.func.call(_t, w, i);

	        // rebind event
	        hookChange(el$, id, w.fnc);
	    }
	}
	$.fn.unwatch = function(id) {
	    this.each(function() {
	        var el = $(this);
	        var fnc = el.data(id).fnc;
	        try {
	            if (typeof (this.onpropertychange) == "object")
	                el.unbind("propertychange." + id, fnc);
	            else if ($.browser.mozilla)
	                el.unbind("DOMAttrModified." + id, fnc);
	            else
	                clearInterval(id);
	        }
	        // ignore if element was already unbound
	        catch (e) { }
	    });
	    return this;
	}

