home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2007 November
/
PCWorld_2007-11_cd.bin
/
multimedia
/
mediacoder
/
MediaCoder-0.6.0.3830.exe
/
htdocs
/
mchelper.js
next >
Wrap
Text File
|
2007-03-09
|
6KB
|
263 lines
var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1;
var isMoz = document.implementation && document.implementation.createDocument;
var url = document.location.href;
var xmlhttp = CreateXMLHttpRequest();
if (!xmlhttp) alert("XMLHttpRequest object cannot be created.");
function CreateXMLHttpRequest()
{
return xmlhttpreq = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP");
}
function setPageSize(width, height)
{
window.innerWidth = width;
window.innerHeight = height;
}
function moveCenter()
{
window.moveTo((screen.availWidth - window.outerWidth) / 2, (screen.availHeight - window.outerHeight) / 2);
}
function GetToken(str, token)
{
var idx = str.indexOf(token + '=');
if (idx <= 0) return null;
var argstr = str.substring(idx + token.length + 1);
idx = argstr.indexOf('&');
return idx >=0 ? argstr.substring(0, idx) : argstr;
}
function QueryPref(path, opts)
{
var node;
var requrl = "/prefs/prefs.xml?type&";
if (opts)
requrl += opts + "&";
if (path)
requrl += "path=" + path;
xmlhttp.open("GET", requrl, false);
xmlhttp.send(null);
node = xmlhttp.responseXML.firstChild;
if (!node) {
alert("Failed to retrieve preference data from MediaCoder.");
return null;
}
return getChildNode(node);
}
function QueryPlugin(type, option)
{
var node;
var requrl = "/prefs/plugin.xml?type=" + type;
if (option) requrl += "&" + option;
xmlhttp.open("GET", requrl, false);
xmlhttp.send(null);
node = xmlhttp.responseXML.firstChild;
if (!node) {
alert("Failed to connect to MediaCoder.");
return null;
}
node = getChildNode(node);
if (type) node = getNodeByName(node, type);
return node;
}
function QueryString(url, async)
{
try {
xmlhttp.open("GET", url, async);
xmlhttp.send(null);
return xmlhttp.responseText;
}
catch (ex) {
return null;
}
}
function SetPrefValue(param, val)
{
xmlhttp.open("GET", "/prefs/set?" + param + "=" + val, true);
xmlhttp.send(null);
}
function GetPrefValue(param)
{
xmlhttp.open("GET", "/prefs/get?path=" + param, false);
xmlhttp.send(null);
return xmlhttp.responseText;
}
function RevertPrefValue(param)
{
xmlhttp.open("GET", "/prefs/revert?path=" + param, false);
xmlhttp.send(null);
return xmlhttp.responseText;
}
function OpenURL(urlstring) {
xmlhttp.open('GET', '/openurl?url=' + urlstring, false);
xmlhttp.send(null);
}
function CreateDoc()
{
var xmlDoc;
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", "", null);
//xmlDoc.onload = callback;
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.onreadystatechange = function () {
//if (xmlDoc.readyState == 4) callback()
};
}
else
{
return null;
}
return xmlDoc;
}
function LoadXMLFile(xmlfile)
{
var xmlDoc = CreateDoc();
xmlDoc.async = false;
xmlDoc.load(xmlfile);
return xmlDoc;
}
function NewXML(rootkey)
{
var xmlDoc;
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", rootkey, null);
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else
{
return;
}
return xmlDoc;
}
function PostData(requrl, data)
{
xmlhttp.open("POST", requrl, false);
//xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(data);
}
/******************************** DOM helper functions ********************************/
function getNextNode(node)
{
while ((node = node.nextSibling) && node.nodeType!=1);
return node;
}
function getChildNode(node)
{
node = node.firstChild;
while (node && node.nodeType != 1) {
node = node.nextSibling;
}
return node;
}
function getLastChildNode(node)
{
node=node.lastChild;
while (node && x.nodeType!=1) {
node=node.previousSibling;
}
return node;
}
function getNodeValue(node)
{
return node.firstChild ? node.firstChild.nodeValue : null
}
function getParentNode(node)
{
return node.parentNode;
}
function getNodeByName(node, name)
{
for (; node && node.nodeName != name; node = getNextNode(node));
return node;
}
function getChildNodeValue(node, name)
{
for (node = getChildNode(node); node && node.nodeName != name; node = getNextNode(node));
return node ? getNodeValue(node) : null;
}
function getNodeByAttribute(node, name, attrname, attrvalue)
{
for (; node; node = getNextNode(node)) {
if (node.nodeName == name && node.getAttribute(attrname) == attrvalue) return node;
}
return null;
}
function addAttribute(doc, node, attrname, attrvalue)
{
var attr = doc.createAttribute(attrname);
attr.value= attrvalue;
node.setAttributeNode(attr);
return attr;
}
function addElementNode(doc, node, name)
{
var elementNode = doc.createElement(name);
node.appendChild(elementNode);
return elementNode;
}
function addTextNode(doc, node, text)
{
var textNode = doc.createTextNode(text);
node.appendChild(textNode);
return textNode;
}
function removeFirstChild(node)
{
var c = getChildNode(node);
return c?node.removeChild(c):null;
}
function removeLastChild(node)
{
var c = getLastChildNode(node);
return c?node.removeChild(c):null;
}
function removeChildren(node)
{
var c = getChildNode(node);
while(c) {
var n=getNextNode(c);
node.removeChild(c);
c=n;
}
}
function isMozilla()
{
return navigator.userAgent.indexOf("Mozilla") >= 0;
}