function getTop(theObj) {
	var iCount=0;
	while(theObj) {
		iCount+=(theObj.offsetTop?theObj.offsetTop-theObj.scrollTop:0);
		theObj=theObj.offsetParent;
	}
	return iCount;
}

function getLeft(theObj) {
	var iCount=0;
	var sStr="";
	while(theObj) {
		iCount+=(theObj.offsetLeft?theObj.offsetLeft+theObj.scrollLeft:0);
		theObj=theObj.offsetParent;
	}
	return iCount;
}

function ChangeInputName(oInput, sName) {
    if (window.addEventListener) {
        oInput.name = sName;
    } else {

        var sOuterHTML = oInput.outerHTML;
        if (oInput.tagName == "SELECT") {
            var oClonedSelect = oInput.cloneNode(true);
            var iSelected = oInput.selectedIndex;
            oInput.innerHTML = "";
            sOuterHTML = oInput.outerHTML.replace(/\<\/select\>/gi, "");
        } else if (oInput.tagName == "TEXTAREA") {
            var sTextareaValue = oInput.value;
        }

        var oInput2 = document.createElement(sOuterHTML.replace(/\sname\=\"?\w+\"?/gi, " NAME=\"" + sName + "\""));
        oInput.parentNode.replaceChild(oInput2, oInput);

        if (oInput.tagName == "TEXTAREA")
            oInput2.value = sTextareaValue;
        else if (oInput.tagName == "SELECT") {
            for (var i = 0; i < oClonedSelect.options.length; i++) {
                var oOption = document.createElement("OPTION");
                oOption.value = oClonedSelect.options[i].value;
                oOption.innerHTML = oClonedSelect.options[i].innerHTML;
                if (i == iSelected)
                    oOption.selected = true;
                oInput2.appendChild(oOption);
            }
        }

    }
}

function getIndex(oEl) {
    if (oEl.parentNode) {
        var oElParent = oEl.parentNode;
        if (oElParent.hasChildNodes()) {
            var iIndex = -1;
            for (var i=0;i<oElParent.childNodes.length;i++) {
                if (oElParent.childNodes[i].nodeType == 1) {
                    iIndex++;
                    if (oEl == oElParent.childNodes[i])
                        return iIndex;
                }
            }
        } else {
            return -1;
        }
    } else {
        return -1;
    }
}

var Interval_IntelliSense;
function Global_IntelliSenseActions(oEl,sValue,oEvent) {

   var oEvent = window.addEventListener ? oEvent : event;
   var oDiv = document.getElementById("IntelliSense_Obj");
   oDiv.RefrenceTo = oEl;
   
   if (sValue.replace(/\s/gi,"") == "" || (oEvent.keyCode && oEvent.keyCode == 27)) {
       oDiv.style.display = "none";
       return;
   }

   if (oEvent.keyCode) {

       if (oEvent.keyCode == 38) { // Arrow Up
            if (oDiv.style.display == "block") {
                var oSelected = $(oDiv).children(".Selected");
                if (oSelected.length) {
                    var oChildren = $(oDiv).children();
                    var iIndex = getIndex(oSelected.get(0));
                    oSelected.get(0).className = "";
                    
                    if (iIndex == 0) {
                        oChildren.get(oChildren.length-1).className = "Selected";
                    } else {
                        
                        oChildren.get(iIndex-1).className = "Selected";
                    }
                }
            }
            
            return;
       
       } else if (oEvent.keyCode>36 && oEvent.keyCode<40) {
           return;
       } else if (oEvent.keyCode == 40) {
            
            if (oDiv.style.display == "none") {
                
                if (oDiv.innerHTML != "") {
                    $(oDiv).children().each(function() {
                        this.className = "";
                    });
                    $(oDiv).children(":first").get(0).className = "Selected";
                    oDiv.style.display == "block";
                    return;
                }

            } else {
                
                var oChildrens = $(oDiv).children();
                var oSelected = $(oDiv).children(".Selected");
                
                if (oSelected.length) {
                
                    var iSelectedIndex = getIndex(oSelected.get(0));
                    oChildrens.get(iSelectedIndex).className = "";
                    
                    if ((iSelectedIndex + 1) < oChildrens.length)
                        oChildrens.get(iSelectedIndex + 1).className = "Selected";
                    else
                        oChildrens.get(0).className = "Selected";

                } else {
                    oChildrens.get(0).className = "Selected"; 
                }

                return;
            }

       } else if (oEvent.keyCode == 13) {
          if (oDiv.style.display == "block") {
            var sText = $(oDiv).children(".Selected:first").attr("sText");
            if (sText && sText != "") {
                oEl.value = sText;
                oDiv.style.display = "none";
            }
          } else {
            oDiv.style.display = "block";
          }
          return;
       } else if (oEvent.keyCode == 9) {
          if (oDiv.style.display == "block") {
            var sText = $(oDiv).children(".Selected:first").attr("sText");
            if (sText && sText != "") {
                oEl.value = sText;
            } else {
               if ($(oDiv).children().length) {
                   oEl.value = $(oDiv).children(":first").attr("sText");
               }
            }
            
            oDiv.style.display = "none";
            
          } else {
            oDiv.style.display = "block";
          }
          return;
       }
   }
}

function Global_IntelliSense(oEl,sValue,oEvent,sType) {
   
   var oEvent = window.addEventListener ? oEvent : event;
   var oDiv = document.getElementById("IntelliSense_Obj");
   
   oDiv.RefrenceTo = oEl;
   if ((sValue.replace(/^\s+|\s+$/g,"").length < 3 && sType != "GetAllLinks") || (sType == "GetAllLinks" && sValue.charAt(0) != "/" && sValue.replace(/^\s+|\s+$/g,"").length < 3)) {
       oDiv.style.display = "none";
       return;
   }
   
   if (oEvent.keyCode && ((oEvent.keyCode>36 && oEvent.keyCode<41) || oEvent.keyCode==13 || oEvent.keyCode == 27))
        return;

   try { clearInterval(Interval_IntelliSense) }
   catch(e) {}
   
   Interval_IntelliSense = setInterval(function() {

       try {clearInterval(Interval_IntelliSense);}
       catch(e) {}

       $.ajax({
           type: "POST",
           cache:false,
           url: "/"+oAdmin_Login.Info.Language+"/getXML.aspx",
           dataType:"xml",
           data: "obj=Global&sFunc=GetItems&sType="+sType+"&Count=15&sTextToSearch="+escape(sValue),
           success: function(xml){
           
               var oEl = oDiv.RefrenceTo;
               
               oDiv.innerHTML = "";
               oDiv.style.left = (getLeft(oEl) + 1) + "px";
               oDiv.style.top = (getTop(oEl) + oEl.offsetHeight) + "px";
               oDiv.style.width = (oEl.offsetWidth-2) + "px";

               $(xml).find("Item").each(function() {
                   var oItem = document.createElement("DIV");
                   oItem.setAttribute("sText",$(this).text());
                   Global_IntelliSenseBolder(oItem,sValue,oEl);
                   oDiv.appendChild(oItem);
               });
               
               oDiv.style.display = oDiv.innerHTML != "" ? "block" : "none";
           }
       });
   },320);
   
   $(oDiv).children().each(function() {
       Global_IntelliSenseBolder(this,sValue,oEl);
   });
}

function Global_IntelliSenseBolder(oEl,sValue,oInput) {

    var iCharactersToDispose = Math.floor((oInput.offsetWidth-2)/8);
    var rxDangerousChars = /(\/|\\|\?|\*|\[|\]|\$|\+)/gi;
    var rx = new RegExp("("+sValue.replace(rxDangerousChars,"\\\$1")+")","gi");
    
    oEl.innerHTML = oEl.getAttribute("sText").replace(rx,"<span style=\"font-weight:bold;\">$1</span>");

    var sRealText = $(oEl).text();
    var sTextToAdd; 
    
    if (sRealText.length > iCharactersToDispose) {
        sTextToAdd = "...";
        sRealText = sRealText.substring(0,Math.min(sRealText.length,iCharactersToDispose));
    } else {
        sTextToAdd = "";
    }
    
    var rxLang = new RegExp("^\/\w{2}\/","gi");
    var bHasLang=(rxLang.exec(sValue) == null);
    var newString;

    if ((sRealText.length > 3) && (bHasLang)) {
       var sLangText = sRealText.substring(0,4);
       var sPageText = sRealText.substring(4,sRealText.length);
           
       rx = new RegExp("("+sValue.substring(4,sRealText.length).replace(rxDangerousChars,"\\\$1")+")","gi");
           
       newString = "<span style=\"font-weight:bold;\">"+sLangText+"</span>"+sPageText.replace(rx,"<span style=\"font-weight:bold;\">$1</span>");
    } else newString = sRealText.replace(rx,"<span style=\"font-weight:bold;\">$1</span>");
    
    newString += sTextToAdd;    
    oEl.innerHTML=newString;
    
}

function Contains(oFather,oChild) {
    if (!((oFather) && (oChild)))
        return;
    while (oChild.tagName != "BODY") {
        if (oChild == oFather)
            return true;
        oChild = oChild.parentNode;
    }
    
    return false;
}



function DragMe(oEvent,sObj,obj) {

    var bRtl = false;
    var oBaseEl = $.browser.mozilla ? oEvent.target : oEvent.srcElement;
    var oEl = oBaseEl;
       
    if ((oEl.tagName=="INPUT") || (oEl.tagName=="TEXTAREA"))
        return true;    

    
    while (oEl.tagName && oEl.tagName!="BODY") {
    

 
        if (oEl.className && oEl.className.indexOf("DoNotDrag") > -1) {
            break;
        }
 
        if (oEl.style.direction == "rtl")
           bRtl = true;
               
        if (oEl.className && oEl.className.indexOf("DragMe") > -1) {
           
           if (window.addEventListener && (!bRtl &&((oEl.offsetWidth + oEl.offsetLeft) - oEvent.clientX) <= 18) || (bRtl && (oEvent.clientX - getLeft(oBaseEl)) <= 18)) // should not drag while scroller in mozilla
               return false;
            
            document.documentElement.onselectstart = function() {
                return false;
            }
       
            offsetY=oEvent.clientY-getTop(obj);
	        offsetX=oEvent.clientX-getLeft(obj);
	        
       	
	        document.documentElement.onmouseup = function() {
	            document.documentElement.onmouseup = null;
	            document.documentElement.onmousemove = null;
	            document.documentElement.onselectstart = null;
	        };
	        
	        var iButtonShouldBe = $.browser.mozilla ? 0 : 1;
        	
            document.documentElement.onmousemove = function(e) {            
                var ev = e ? e : event;
                if (ev.button == iButtonShouldBe) {					
		            obj.style.top = (ev.clientY - offsetY) + "px";
		            obj.style.left = (ev.clientX - offsetX) + "px";
		        }
        	};
        	                   
            break;
        
        }
        oEl=oEl.parentNode;
    }
    
    return false;
}

function getOuterHTML(oEl) {

    var oTempDiv = document.createElement("DIV");
    var oClonedEl = oEl.cloneNode(true);
    
    oTempDiv.appendChild(oClonedEl);
    var sReturn = oTempDiv.innerHTML;
    
    delete oTempDiv;
    delete oClonedEl;
    
    oTempDiv = null;
    oClonedEl = null;
    
    return sReturn;

}

var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){$(J).remove();E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();

function InitFlash(sSWF,sID,iWidth,iHeight) {
	sSWF=encodeURI(sSWF);
	swfobject.embedSWF(sSWF, sID, iWidth, iHeight, "7.0.0");
}

function StringBuilder() {
    this.aStrings = [];
    this.Append = function(sStr) {
        this.aStrings.push(sStr);
    }
    this.ToString = function() {
        return this.aStrings.join("");
    }
}

function copyToClipboard(str) {
	var flashcopier = 'flashcopier';
	if(!document.getElementById(flashcopier)) {
	  var divholder = document.createElement('div');
	  divholder.id = flashcopier;
	  document.body.appendChild(divholder);
	}
	document.getElementById(flashcopier).innerHTML = '';
	var divinfo = '<embed src="/flash/_clipboard.swf" FlashVars="clipboard='+str+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
	document.getElementById(flashcopier).innerHTML = divinfo;
}

var $X = {
    val: function(aNode, sFieldname) {
        return $T(XPath(aNode, "Value[@FieldName='"+sFieldname+"']")[0]);
    },
    attr: function(aNode, sFieldname, sAttribute) {
        return XPath(aNode, "Value[@FieldName='"+sFieldname+"']").getAttribute(sAttribute);
    }
}

function XPath(aNode, aExpr) {

    if (window.addEventListener) {

        var xpe = new XPathEvaluator();
        var nsResolver = xpe.createNSResolver(aNode.ownerDocument == null ?
    aNode.documentElement : aNode.ownerDocument.documentElement);
        var result = xpe.evaluate(aExpr, aNode, nsResolver, 0, null);
        var found = [];
        var res;
        while (res = result.iterateNext())
            found.push(res);

    } else {
        found = aNode.selectNodes(aExpr);
    }     
        
    return found;
}

function $T(oObj) {
    if (window.addEventListener) {
        return oObj.textContent;
    } else {
        return oObj.text;
    }
}

function CleanTBody(sId) {
    var xml_object_Descriptions = (typeof(sId) == "object") ? sId : document.getElementById(sId);
    var oTrsDescriptions = xml_object_Descriptions.getElementsByTagName("TR");
    while (oTrsDescriptions.length)
        xml_object_Descriptions.removeChild(oTrsDescriptions[0]);
}

function Prompt(sMessage,fn) {
    var oPromptDiv = document.createElement("DIV");
    oPromptDiv.id = "Prompt";
    oPromptDiv.className = "Prompt";
    oPromptDiv.innerHTML = "<div class=\"bg\"></div><div class=\"PromptContent\"><div style=\"text-align:right;\">" + sMessage + "<br/><input type=\"text\" id=\"Prompt_Name\" /><input type=\"button\" id=\"Prompt_Button\" value=\"OK\"/></div></div>";
    
    document.body.insertBefore(oPromptDiv, document.body.firstChild);

    var oPromptBtn = document.getElementById("Prompt_Button");
    oPromptBtn.fnRun = fn;
    oPromptBtn.onclick = function() {
        this.fnRun(document.getElementById("Prompt_Name").value);
        oPromptDiv.parentNode.removeChild(oPromptDiv);
    }
}

$(document).ready(function() {

    $(".DragMe").each(function() {
        this.onmousedown = function() {
            var oEvent = $.browser.mozilla ? arguments[0] : event;
            return DragMe(oEvent, this.id, this);
        } 
    });

    // Initialize IntelliSense
    var oDiv = document.createElement("DIV");
    oDiv.className = "IntelliSense";
    oDiv.id = "IntelliSense_Obj";

    oDiv.onmouseout = function() {
        var oEvent = window.addEventListener ? arguments[0] : event;
        var oEl = window.addEventListener ? oEvent.target : oEvent.srcElement;
        if (oEl.parentNode && oEl.parentNode.id == "IntelliSense_Obj")
            oEl.className = "";
    }

    oDiv.onmouseover = function() {
        var oEvent = window.addEventListener ? arguments[0] : event;
        var oEl = window.addEventListener ? oEvent.target : oEvent.srcElement;

        if (oEl.parentNode && oEl.parentNode.id == "IntelliSense_Obj") {
            $("#IntelliSense_Obj").children().each(function() {
                this.className = "";
            });
            oEl.className = "Selected";
        }
    }

    oDiv.onmousedown = function() {
        var oEvent = window.addEventListener ? arguments[0] : event;
        var oEl = window.addEventListener ? oEvent.target : oEvent.srcElement;

        if (oEl.parentNode && oEl.parentNode.id == "IntelliSense_Obj" && oEl.parentNode.RefrenceTo) {
            oEl.parentNode.RefrenceTo.value = oEl.getAttribute("sText");
        }
    }

    document.body.insertBefore(oDiv, document.body.firstChild);

    // End Initialize IntelliSense

});



function Site_CategoryHover(oEvent) {
	var oEl = window.addEventListener ? oEvent.target : oEvent.srcElement;
	while (!oEl.className || oEl.className.indexOf("Category") == -1)
	{
		if (oEl.className == "Categories")
			return;
		oEl = oEl.parentNode;
	}
	oEl.className = "Category CategorySelected";
}

function Site_CategoryOut(oEvent) {
	var oEl = window.addEventListener ? oEvent.target : oEvent.srcElement;
	while (!oEl.className || oEl.className.indexOf("Category") == -1)
	{
		if (oEl.className == "Categories")
			return;
		oEl = oEl.parentNode;
	}

	oEl.className = "Category";
}

























var UFO = {
	req: ["movie", "width", "height", "majorversion", "build"],
	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing", "allowfullscreen"],
	optAtt: ["id", "name", "align"],
	optExc: ["swliveconnect"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	ua: navigator.userAgent.toLowerCase(),
	pluginType: "",
	fv: [0,0],
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
		UFO.getFlashVersion();
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createCSS("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		FO.mainCalled = false;
		return FO;
	},

	domLoad: function(id) {
		var _t = setInterval(function() {
			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(_t);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
		}
	},

	main: function(id) {
		var _fo = UFO.foList[id];
		if (_fo.mainCalled) return;
		UFO.foList[id].mainCalled = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequired(id)) {
			if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
				UFO.writeSWF(id);
			}
			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
				UFO.createDialog(id);
			}
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0]; 
		var _s = UFO.createElement("style");
		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen"); 
		_h.appendChild(_s);
		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	
	setContainerCSS: function(id) {
		var _fo = UFO.foList[id];
		var _w = /%/.test(_fo.width) ? "" : "px";
		var _h = /%/.test(_fo.height) ? "" : "px";
		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
		if (_fo.width == "100%") {
			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
		}
		if (_fo.height == "100%") {
			UFO.createCSS("html", "height:100%; overflow:hidden;");
			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
		}
	},

	createElement: function(el) {
		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	createObjParam: function(el, aName, aValue) {
		var _p = UFO.createElement("param");
		_p.setAttribute("name", aName);	
		_p.setAttribute("value", aValue);
		el.appendChild(_p);
	},

	uaHas: function(ft) {
		var _u = UFO.ua;
		switch(ft) {
			case "w3cdom":
				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
			case "xml":
				var _m = document.getElementsByTagName("meta");
				var _l = _m.length;
				for (var i = 0; i < _l; i++) {
					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
				}
				return false;
			case "ieMac":
				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
			case "ieWin":
				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
			case "gecko":
				return /gecko/.test(_u) && !/applewebkit/.test(_u);
			case "opera":
				return /opera/.test(_u);
			case "safari":
				return /applewebkit/.test(_u);
			default:
				return false;
		}
	},
	
	getFlashVersion: function() {
		if (UFO.fv[0] != 0) return;  
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			UFO.pluginType = "npapi";
			var _d = navigator.plugins["Shockwave Flash"].description;
			if (typeof _d != "undefined") {
				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
				UFO.fv = [_m, _r];
			}
		}
		else if (window.ActiveXObject) {
			UFO.pluginType = "ax";
			try { // avoid fp 6 crashes
				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e) {
				try { 
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					UFO.fv = [6, 0];
					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
				}
				catch(e) {
					if (UFO.fv[0] == 6) return;
				}
				try {
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e) {}
			}
			if (typeof _a == "object") {
				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
				if (typeof _d != "undefined") {
					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
				}
			}
		}
	},

	hasRequired: function(id) {
		var _l = UFO.req.length;
		for (var i = 0; i < _l; i++) {
			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(major, release) {
		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
	},

	writeSWF: function(id) {
		var _fo = UFO.foList[id];
		var _e = document.getElementById(id);
		if (UFO.pluginType == "npapi") {
			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
				while(_e.hasChildNodes()) {
					_e.removeChild(_e.firstChild);
				}
				var _obj = UFO.createElement("object");
				_obj.setAttribute("type", "application/x-shockwave-flash");
				_obj.setAttribute("data", _fo.movie);
				_obj.setAttribute("width", _fo.width);
				_obj.setAttribute("height", _fo.height);
				var _l = UFO.optAtt.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
				}
				var _o = UFO.opt.concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
				}
				_e.appendChild(_obj);
			}
			else {
				var _emb = "";
				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
				}
				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
			}
		}
		else if (UFO.pluginType == "ax") {
			var _objAtt = "";
			var _l = UFO.optAtt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
			}
			var _objPar = "";
			var _l = UFO.opt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
			}
			var _p = window.location.protocol == "https:" ? "https:" : "http:";
			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
		}
	},
		
	createDialog: function(id) {
		var _fo = UFO.foList[id];
		UFO.createCSS("html", "height:100%; overflow:hidden;");
		UFO.createCSS("body", "height:100%; overflow:hidden;");
		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
		var _b = document.getElementsByTagName("body")[0];
		var _c = UFO.createElement("div");
		_c.setAttribute("id", "xi-con");
		var _d = UFO.createElement("div");
		_d.setAttribute("id", "xi-dia");
		_c.appendChild(_d);
		_b.appendChild(_c);
		var _mmu = window.location;
		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
		}
		else {
			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		}
		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
		UFO.writeSWF("xi-dia");
	},

	expressInstallCallback: function() {
		var _b = document.getElementsByTagName("body")[0];
		var _c = document.getElementById("xi-con");
		_b.removeChild(_c);
		UFO.createCSS("body", "height:auto; overflow:auto;");
		UFO.createCSS("html", "height:auto; overflow:auto;");
	},

	cleanupIELeaks: function() {
		var _o = document.getElementsByTagName("object");
		var _l = _o.length
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}

};

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
	window.attachEvent("onunload", UFO.cleanupIELeaks);
}

function InitFlash(sSWF,sID,iWidth,iHeight) {
	sSWF=encodeURI(sSWF);
	var FO = { movie:sSWF, width:iWidth, height:iHeight, majorversion:"7",wmode:"transparent",build:"0"};
	UFO.create(FO, sID);
}

