Menetrendek tab sorrend

By Kovi Last update Jan 13, 2008 — Installed 74 times. Daily Installs: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
// ==UserScript==
// @name           Menetrendek tab sorrend
// @namespace      menetrendek.hu
// @description    menetrendek.hu-n a tab sorrend kijavítása, küldés enter-rel, két reklám eltávolítása
// @include        http://www.menetrendek.hu/cgi-bin/menetrend/html.cgi
// ==/UserScript==


function log(line)
{
//console.log(line)
}


function getXPath( xpath, root)
{
return document.evaluate(
    xpath,
    root,
    null, 
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    null);
}


function deleteElement(element)
{
if (element) element.parentNode.removeChild(element);
}


function getFirstElementXPath(path)
{
var allElements =0;
allElements = getXPath('/html/body/table/tbody/tr/td[2]/div', document);
if (allElements.snapshotLength>0)
  return allElements.snapshotItem(0);
else
  return 0;
}



allElements = getXPath('//a[@tabindex="1"]', document);
if (allElements.snapshotLength>0) allElements.snapshotItem(0).focus();

//log("hello")
allElements = getXPath('/html/body/table/tbody/tr/td[2]/div[5]/center/table/tbody/tr/td/form/table/tbody/tr/td/input[@type="text"]', document);
if (allElements.snapshotLength>1)
{
allElements.snapshotItem(0).focus();
allElements.snapshotItem(0).tabIndex = 2;
allElements.snapshotItem(1).tabIndex = 3;
}

allElements = getXPath('/html/body/table/tbody/tr/td[2]/div[5]/center/table/tbody/tr/td/form/p[2]/input', 
document);
if (allElements.snapshotLength>0)
{
allElements.snapshotItem(0).tabIndex = 4;
// küldés Enter-rel:
// nagyon trükkös, át kell nevezni, mert különben a Firefeox beleteszi a POST-ba, h keres.x = 0, és akkor nem veszi elküldöttnek a menetrendek.hu
allElements.snapshotItem(0).setAttribute("name","keres2");
}

var form = document.forms[0];

var el = document.createElement("INPUT"); 
el.type="hidden"; 
el.name="keres.x"; 
el.value="5"; 
form.appendChild(el); 

el = document.createElement("INPUT"); 
el.type="hidden"; 
el.name="keres.y"; 
el.value="8"; 
form.appendChild(el);

deleteElement(getFirstElementXPath('/html/body/table/tbody/tr/td[2]/div'));


// elsó reklám törlése
if (getFirstElementXPath('/html/body/table/tbody/tr/td[2]/table/tbody/tr/td/a/img')) // kezdőoldalun vagyunk
{
  allElements = getXPath('/html/body/table/tbody/tr/td[2]/table', document);
  if (allElements.snapshotLength>0) deleteElement(allElements.snapshotItem(0));
}
else
{
  allElements = getXPath('/html/body/table/tbody/tr/td[2]/table/tbody/tr[2]', document);
  if (allElements.snapshotLength>0) deleteElement(allElements.snapshotItem(0));
}