/**

 * SWF Object Creation code 

 */

if(typeof deconcept=="undefined"){var deconcept=new Object();}

if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}

if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}

deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){

if(!document.createElement||!document.getElementById){return;}

this.DETECT_KEY=_b?_b:"detectflash";

this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);

this.params=new Object();

this.variables=new Object();

this.attributes=new Array();

if(_1){this.setAttribute("swf",_1);}

if(id){this.setAttribute("id",id);}

if(w){this.setAttribute("width",w);}

if(h){this.setAttribute("height",h);}

if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}

this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7);

if(c){this.addParam("bgcolor",c);}

var q=_8?_8:"high";

this.addParam("quality",q);

this.setAttribute("useExpressInstall",_7);

this.setAttribute("doExpressInstall",false);

var _d=(_9)?_9:window.location;

this.setAttribute("xiRedirectUrl",_d);

this.setAttribute("redirectUrl","");

if(_a){this.setAttribute("redirectUrl",_a);}};

deconcept.SWFObject.prototype={setAttribute:function(_e,_f){

this.attributes[_e]=_f;

},getAttribute:function(_10){

return this.attributes[_10];

},addParam:function(_11,_12){

this.params[_11]=_12;

},getParams:function(){

return this.params;

},addVariable:function(_13,_14){

this.variables[_13]=_14;

},getVariable:function(_15){

return this.variables[_15];

},getVariables:function(){

return this.variables;

},getVariablePairs:function(){

var _16=new Array();

var key;

var _18=this.getVariables();

for(key in _18){

_16.push(key+"="+_18[key]);}

return _16;

},getSWFHTML:function(){

var _19="";

if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){

if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}

_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";

_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";

var _1a=this.getParams();

for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}

var _1c=this.getVariablePairs().join("&");

if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}

_19+="/>";

}else{

if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}

_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";

_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";

var _1d=this.getParams();

for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}

var _1f=this.getVariablePairs().join("&");

if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}

_19+="</object>";}

return _19;

},write:function(_20){

if(this.getAttribute("useExpressInstall")){

var _21=new deconcept.PlayerVersion([6,0,65]);

if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){

this.setAttribute("doExpressInstall",true);

this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));

document.title=document.title.slice(0,47)+" - Flash Player Installation";

this.addVariable("MMdoctitle",document.title);}}

if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){

var n=(typeof _20=="string")?document.getElementById(_20):_20;

n.innerHTML=this.getSWFHTML();

return true;

}else{

if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}

return false;}};

deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){

var _25=new deconcept.PlayerVersion([0,0,0]);

if(navigator.plugins&&navigator.mimeTypes.length){

var x=navigator.plugins["Shockwave Flash"];

if(x&&x.description){_25=new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}

}else{try{

var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");

for(var i=3;axo!=null;i++){

axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);

_25=new deconcept.PlayerVersion([i,0,0]);}}

catch(e){}

if(_23&&_25.major>_23.major){return _25;}

if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){

try{_25=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}

catch(e){}}}

return _25;};

deconcept.PlayerVersion=function(_29){

this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0;

this.minor=parseInt(_29[1])||0;

this.rev=parseInt(_29[2])||0;};

deconcept.PlayerVersion.prototype.versionIsValid=function(fv){

if(this.major<fv.major){return false;}

if(this.major>fv.major){return true;}

if(this.minor<fv.minor){return false;}

if(this.minor>fv.minor){return true;}

if(this.rev<fv.rev){return false;}return true;};

deconcept.util={getRequestParameter:function(_2b){

var q=document.location.search||document.location.hash;

if(q){

var _2d=q.indexOf(_2b+"=");

var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;

if(q.length>1&&_2d>-1){

return q.substring(q.indexOf("=",_2d)+1,_2e);

}}return "";}};

if(Array.prototype.push==null){

Array.prototype.push=function(_2f){

this[this.length]=_2f;

return this.length;};}

var getQueryParamValue=deconcept.util.getRequestParameter;

var FlashObject=deconcept.SWFObject; // for backwards compatibility

var SWFObject=deconcept.SWFObject;



/**

 * Browser Detection Code 

 */



var BrowserDetect = {

        init: function () 

			{

                this.browser = this.searchString(this.dataBrowser) ||"An unknown browser";

                this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";

                this.OS = this.searchString(this.dataOS) || "an unknown OS";

        },

        searchString: function (data) 

			{

                for (var i=0;i<data.length;i++) 

					{

                        var dataString = data[i].string;

                        var dataProp = data[i].prop;

                        this.versionSearchString =data[i].versionSearch || data[i].identity;

                        if (dataString) 

							{

                                if (dataString.indexOf(data[i].subString) != -1)

                                        return data[i].identity;

                        }

                        else if (dataProp)

                                return data[i].identity;

                }

        },

        searchVersion: function (dataString) 

			{

                var index = dataString.indexOf(this.versionSearchString);

                if (index == -1) return;

                return parseFloat(dataString.substring(index+this.versionSearchString.length+1));

        },

        dataBrowser: [

                {

                        string: navigator.vendor,

                        subString: "Apple",

                        identity: "Safari"

                },

                {

                        prop: window.opera,

                        identity: "Opera"

                },

                {

                        string: navigator.vendor,

                        subString: "KDE",

                        identity: "Konqueror"

                },

                {

                        string: navigator.userAgent,

                        subString: "Firefox",

                        identity: "Firefox"

                },

                {       // for newer Netscapes (6+)

                        string: navigator.userAgent,

                        subString: "Netscape",

                        identity: "Netscape"

                },

                {

                        string: navigator.userAgent,

                        subString: "MSIE",

                        identity: "Explorer",

                        versionSearch: "MSIE"

                },

                {

                        string: navigator.userAgent,

                        subString: "Gecko",

                        identity: "Mozilla",

                        versionSearch: "rv"

                },

                {       // for older Netscapes (4-)

                        string: navigator.userAgent,

                        subString: "Mozilla",

                        identity: "Netscape",

                        versionSearch: "Mozilla"

                }

        ],

        dataOS : [

                {

                        string: navigator.platform,

                        subString: "Win",

                        identity: "Windows"

                },

                {

                        string: navigator.platform,

                        subString: "Mac",

                        identity: "Mac"

                },

                {

                        string: navigator.platform,

                        subString: "Linux",

                        identity: "Linux"

                }

        ]



};

BrowserDetect.init();



/* ------------- */

function Exception(name, message)
{
    if (name)
        this.name = name;
    if (message)
        this.message = message;
}


Exception.prototype.setName = function(name)
{
    this.name = name;
}


Exception.prototype.getName = function()
{
    return this.name;
}


Exception.prototype.setMessage = function(msg)
{
    this.message = msg;
}


Exception.prototype.getMessage = function()
{
    return this.message;
}


function FlashTag(src, width, height)
{
    this.src       = src;
    this.width     = width;
    this.height    = height;
    this.version   = '8,0,0,0';
    this.id        = null;
    this.bgcolor   = 'ffffff';
    this.flashVars = null;
}


FlashTag.prototype.setVersion = function(v)
{
    this.version = v;
}


FlashTag.prototype.setId = function(id)
{
    this.id = id;
}


FlashTag.prototype.setBgcolor = function(bgc)
{
    this.bgcolor = bgc;
}


FlashTag.prototype.setFlashvars = function(fv)
{
    this.flashVars = fv;
}


FlashTag.prototype.toString = function()
{
    var ie = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0;
    var flashTag = new String();
    if (ie)
    {
        flashTag += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
        if (this.id != null)
        {
            flashTag += 'id="'+this.id+'" ';
        }
        flashTag += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" ';
        flashTag += 'width="'+this.width+'" ';
        flashTag += 'height="'+this.height+'">';
        flashTag += '<param name="movie" value="'+this.src+'"/>';
        flashTag += '<param name="quality" value="high"/>';
        flashTag += '<param name="bgcolor" value="#'+this.bgcolor+'"/>';
        if (this.flashVars != null)
        {
            flashTag += '<param name="flashvars" value="'+this.flashVars+'"/>';
        }
        flashTag += '</object>';
    }
    else
    {
        flashTag += '<embed src="'+this.src+'" ';
        flashTag += 'quality="high" '; 
        flashTag += 'bgcolor="#'+this.bgcolor+'" ';
        flashTag += 'width="'+this.width+'" ';
        flashTag += 'height="'+this.height+'" ';
        flashTag += 'type="application/x-shockwave-flash" ';
        if (this.flashVars != null)
        {
            flashTag += 'flashvars="'+this.flashVars+'" ';
        }
        if (this.id != null)
        {
            flashTag += 'name="'+this.id+'" ';
        }
        flashTag += 'pluginspage="http://www.macromedia.com/go/getflashplayer">';
        flashTag += '</embed>';
    }
    return flashTag;
}


FlashTag.prototype.write = function(doc)
{
    doc.write(this.toString());
}


function FlashSerializer(useCdata)
{
    this.useCdata = useCdata;
}


FlashSerializer.prototype.serialize = function(args)
{
    var qs = new String();

    for (var i = 0; i < args.length; ++i)
    {
        switch(typeof(args[i]))
        {
            case 'undefined':
                qs += 't'+(i)+'=undf';
                break;
            case 'string':
                qs += 't'+(i)+'=str&d'+(i)+'='+escape(args[i]);
                break;
            case 'number':
                qs += 't'+(i)+'=num&d'+(i)+'='+escape(args[i]);
                break;
            case 'boolean':
                qs += 't'+(i)+'=bool&d'+(i)+'='+escape(args[i]);
                break;
            case 'object':
                if (args[i] == null)
                {
                    qs += 't'+(i)+'=null';
                }
                else if (args[i] instanceof Date)
                {
                    qs += 't'+(i)+'=date&d'+(i)+'='+escape(args[i].getTime());
                }
                else // array or object
                {
                    try
                    {
                        qs += 't'+(i)+'=xser&d'+(i)+'='+escape(this._serializeXML(args[i]));
                    }
                    catch (exception)
                    {
                        throw new Exception("FlashSerializationException",
                                            "The following error occurred during complex object serialization: " + exception.getMessage());
                    }
                }
                break;
            default:
                throw new Exception("FlashSerializationException",
                                    "You can only serialize strings, numbers, booleans, dates, objects, arrays, nulls, and undefined.");
        }

        if (i != (args.length - 1))
        {
            qs += '&';
        }
    }

    return qs;
}


FlashSerializer.prototype._serializeXML = function(obj)
{
    var doc = new Object();
    doc.xml = '<fp>'; 
    this._serializeNode(obj, doc, null);
    doc.xml += '</fp>'; 
    return doc.xml;
}


FlashSerializer.prototype._serializeNode = function(obj, doc, name)
{
    switch(typeof(obj))
    {
        case 'undefined':
            doc.xml += '<undf'+this._addName(name)+'/>';
            break;
        case 'string':
            doc.xml += '<str'+this._addName(name)+'>'+this._escapeXml(obj)+'</str>';
            break;
        case 'number':
            doc.xml += '<num'+this._addName(name)+'>'+obj+'</num>';
            break;
        case 'boolean':
            doc.xml += '<bool'+this._addName(name)+' val="'+obj+'"/>';
            break;
        case 'object':
            if (obj == null)
            {
                doc.xml += '<null'+this._addName(name)+'/>';
            }
            else if (obj instanceof Date)
            {
                doc.xml += '<date'+this._addName(name)+'>'+obj.getTime()+'</date>';
            }
            else if (obj instanceof Array)
            {
                doc.xml += '<array'+this._addName(name)+'>';
                for (var i = 0; i < obj.length; ++i)
                {
                    this._serializeNode(obj[i], doc, null);
                }
                doc.xml += '</array>';
            }
            else
            {
                doc.xml += '<obj'+this._addName(name)+'>';
                for (var n in obj)
                {
                    if (typeof(obj[n]) == 'function')
                        continue;
                    this._serializeNode(obj[n], doc, n);
                }
                doc.xml += '</obj>';
            }
            break;
        default:
            throw new Exception("FlashSerializationException",
                                "You can only serialize strings, numbers, booleans, objects, dates, arrays, nulls and undefined");
            break;
    }
}

FlashSerializer.prototype._addName= function(name)
{
    if (name != null)
    {
        return ' name="'+name+'"';
    }
    return '';
}


FlashSerializer.prototype._escapeXml = function(str)
{
    if (this.useCdata)
        return '<![CDATA['+str+']]>';
    else
        return str.replace(/&/g,'&amp;').replace(/</g,'&lt;');
}


function FlashProxy(uid, proxySwfName)
{
    this.uid = uid;
    this.proxySwfName = proxySwfName;
    this.flashSerializer = new FlashSerializer(false);
}


FlashProxy.prototype.call = function()
{

    if (arguments.length == 0)
    {
        throw new Exception("Flash Proxy Exception",
                            "The first argument should be the function name followed by any number of additional arguments.");
    }

    var qs = 'lcId=' + escape(this.uid) + '&functionName=' + escape(arguments[0]);


    if (arguments.length > 1)
    {
        var justArgs = new Array();
        for (var i = 1; i < arguments.length; ++i)
        {
            justArgs.push(arguments[i]);
        }
        qs += ('&' + this.flashSerializer.serialize(justArgs));
    }

    var divName = '_flash_proxy_' + this.uid;
    if(!document.getElementById(divName))
    {
        var newTarget = document.createElement("div");
        newTarget.id = divName;
        document.body.appendChild(newTarget);
    }
    var target = document.getElementById(divName);
    var ft = new FlashTag(this.proxySwfName, 1, 1);
    ft.setVersion('6,0,65,0');
    ft.setFlashvars(qs);
    target.innerHTML = ft.toString();
}


FlashProxy.callJS = function()
{
    var functionToCall = eval(arguments[0]);
    var argArray = new Array();
    for (var i = 1; i < arguments.length; ++i)
    {
        argArray.push(arguments[i]);
    }
    functionToCall.apply(functionToCall, argArray);
}



var lcId = 9876543210;
var flashProxy = new FlashProxy(lcId, "JavaScriptFlashGateway.swf");

function addItem(item) {
	var selectList = document.listForm.list;
	var len = selectList.options.length;
	selectList.options[len] = new Option(item.label, item.value, false, false);
}

function transferItemToFlash(x) {

	var nodeValue = parseInt(x);
	flashProxy.call("fromJS",nodeValue);
	
}

