function updateXStandard() {
    //Set the latest version
    latestVersion = '2.0.0.0';
    
    //Check if browser is Firefox
    if (navigator.userAgent.toLowerCase().indexOf('firefox') != -1) {
        //Go through all the object tags on the page
        var objects = document.getElementsByTagName('object');
        for (var i=0; i<objects.length; i++) {
            var obj = objects[i];
            try {
                //Check if object is XStandard
                if(typeof(obj.EscapeUnicode) == 'undefined') {
                    throw "Error"
                } else {
                    //Check the editor is the latest version
                    if (obj.Version != latestVersion) {
                        //Redirect to update page
                        window.location.replace('http://xstandard.com/upgrade-firefox-version/');
                        break;
                    }
                }           
            }
            catch(er) {}
        }
    }
    else if (navigator.userAgent.indexOf('MSIE 7') != -1) {
        var objects = document.getElementsByTagName('object');
        for (var i=0; i<objects.length; i++) {
            var obj = objects[i];
            try {
                //Check if object is XStandard
                if(typeof(obj.EscapeUnicode) == 'undefined') {
                    throw "Error"
                } else {
                    //Check the editor is the latest version
                    if (obj.Version != latestVersion) {
                        //replace "type" attribute by "classid"
                        obj.type=null;
                        obj.classid="clsid:0EED7206-1661-11D7-84A3-00606744831D";
                        break;
                    }
                }           
            }
            catch(er) {}
        }        
    }
}

window.onload = updateXStandard;

var xstandard_editors = new Array();

function XStandardOnSubmitEventHandler() {
  
    for (i = 0; i < xstandard_editors.length; i++) {
        var name = xstandard_editors[i];

        try {
            if(typeof(document.getElementById(name+'_editor').EscapeUNICODE) == 'undefined') {
                    throw "Error"
            } else {
                    document.getElementById(name+'_editor').EscapeUNICODE = true;
                    document.getElementById(name).value = document.getElementById(name+'_editor').value;
            }
        }
        catch(er) {
            document.getElementById(name).value = document.getElementById('alternate_'+name).value;
        }
    }
}

function xstandardAddOnSubmit() {
    var fs = document.getElementsByTagName('form');
    for (var i=0; i<fs.length; i++) {
        os = fs[i].getElementsByTagName('object');
        for (var j=0; j< os.length; j++) {
            if (os[j].className == 'xstandard') {
                fs[i].onsubmit=XStandardOnSubmitEventHandler;
                break;
            }
        }
    }
}
