var clientPC=navigator.userAgent.toLowerCase();var is_gecko=/gecko/.test(clientPC)&&!/khtml|spoofer|netscape\/7\.0/.test(clientPC);var webkit_match=clientPC.match(/applewebkit\/(\d+)/);if(webkit_match){var is_safari=clientPC.indexOf('applewebkit')!=-1&&clientPC.indexOf('spoofer')==-1;var is_safari_win=is_safari&&clientPC.indexOf('windows')!=-1;var webkit_version=parseInt(webkit_match[1]);}
var is_khtml=navigator.vendor=='KDE'||(document.childNodes&&!document.all&&!navigator.taintEnabled);var is_ff2=/firefox\/[2-9]|minefield\/3/.test(clientPC);var is_ff2_win=is_ff2&&clientPC.indexOf('windows')!=-1;var is_ff2_x11=is_ff2&&clientPC.indexOf('x11')!=-1;if(clientPC.indexOf('opera')!=-1){var is_opera=true;var is_opera_preseven=window.opera&&!document.childNodes;var is_opera_seven=window.opera&&document.childNodes;var is_opera_95=/opera\/(9.[5-9]|[1-9][0-9])/.test(clientPC);}
var doneOnloadHook;if(!window.onloadFuncts){var onloadFuncts=[];}
function addOnloadHook(hookFunct){if(!doneOnloadHook){onloadFuncts[onloadFuncts.length]=hookFunct;}else{hookFunct();}}
function hookEvent(hookName,hookFunct){if(window.addEventListener){window.addEventListener(hookName,hookFunct,false);}else if(window.attachEvent){window.attachEvent("on"+hookName,hookFunct);}}
function importScript(page){return importScriptURI(wgScript+'?action=raw&ctype=text/javascript&title='+encodeURIComponent(page.replace(/ /g,'_')));}
var loadedScripts={};function importScriptURI(url){if(loadedScripts[url]){return null;}
loadedScripts[url]=true;var s=document.createElement('script');s.setAttribute('src',url);s.setAttribute('type','text/javascript');document.getElementsByTagName('head')[0].appendChild(s);return s;}
function importStylesheet(page){return importStylesheetURI(wgScript+'?action=raw&ctype=text/css&title='+encodeURIComponent(page.replace(/ /g,'_')));}
function importStylesheetURI(url){return document.createStyleSheet?document.createStyleSheet(url):appendCSS('@import "'+url+'";');}
function appendCSS(text){var s=document.createElement('style');s.type='text/css';s.rel='stylesheet';if(s.styleSheet)s.styleSheet.cssText=text
else s.appendChild(document.createTextNode(text+''))
document.getElementsByTagName('head')[0].appendChild(s);return s;}
if(typeof stylepath!='undefined'&&typeof skin!='undefined'){if(is_opera_preseven){importStylesheetURI(stylepath+'/'+skin+'/Opera6Fixes.css');}else if(is_opera_seven&&!is_opera_95){importStylesheetURI(stylepath+'/'+skin+'/Opera7Fixes.css');}else if(is_khtml){importStylesheetURI(stylepath+'/'+skin+'/KHTMLFixes.css');}}
if(wgBreakFrames){if(window.top!=window){window.top.location=window.location;}}
function toggleVisibility(_levelId,_otherId,_linkId){var thisLevel=document.getElementById(_levelId);var otherLevel=document.getElementById(_otherId);var linkLevel=document.getElementById(_linkId);if(thisLevel.style.display=='none'){thisLevel.style.display='block';otherLevel.style.display='none';linkLevel.style.display='inline';}else{thisLevel.style.display='none';otherLevel.style.display='inline';linkLevel.style.display='none';}}
function showTocToggle(){if(document.createTextNode){var linkHolder=document.getElementById('toctitle');if(!linkHolder){return;}
var outerSpan=document.createElement('span');outerSpan.className='toctoggle';var toggleLink=document.createElement('a');toggleLink.id='togglelink';toggleLink.className='internal';toggleLink.href='javascript:toggleToc()';toggleLink.appendChild(document.createTextNode(tocHideText));outerSpan.appendChild(document.createTextNode('['));outerSpan.appendChild(toggleLink);outerSpan.appendChild(document.createTextNode(']'));linkHolder.appendChild(document.createTextNode(' '));linkHolder.appendChild(outerSpan);var cookiePos=document.cookie.indexOf("hidetoc=");if(cookiePos>-1&&document.cookie.charAt(cookiePos+8)==1){toggleToc();}}}
function changeText(el,newText){if(el.innerText){el.innerText=newText;}else if(el.firstChild&&el.firstChild.nodeValue){el.firstChild.nodeValue=newText;}}
function toggleToc(){var toc=document.getElementById('toc').getElementsByTagName('ul')[0];var toggleLink=document.getElementById('togglelink');if(toc&&toggleLink&&toc.style.display=='none'){changeText(toggleLink,tocHideText);toc.style.display='block';document.cookie="hidetoc=0";}else{changeText(toggleLink,tocShowText);toc.style.display='none';document.cookie="hidetoc=1";}}
var mwEditButtons=[];var mwCustomEditButtons=[];function escapeQuotes(text){var re=new RegExp("'","g");text=text.replace(re,"\\'");re=new RegExp("\\n","g");text=text.replace(re,"\\n");return escapeQuotesHTML(text);}
function escapeQuotesHTML(text){var re=new RegExp('&',"g");text=text.replace(re,"&amp;");re=new RegExp('"',"g");text=text.replace(re,"&quot;");re=new RegExp('<',"g");text=text.replace(re,"&lt;");re=new RegExp('>',"g");text=text.replace(re,"&gt;");return text;}
var tooltipAccessKeyPrefix='alt-';if(is_opera){tooltipAccessKeyPrefix='shift-esc-';}else if(!is_safari_win&&is_safari&&webkit_version>526){tooltipAccessKeyPrefix='ctrl-alt-';}else if(!is_safari_win&&(is_safari||clientPC.indexOf('mac')!=-1||clientPC.indexOf('konqueror')!=-1)){tooltipAccessKeyPrefix='ctrl-';}else if(is_ff2){tooltipAccessKeyPrefix='alt-shift-';}
var tooltipAccessKeyRegexp=/\[(ctrl-)?(alt-)?(shift-)?(esc-)?(.)\]$/;function updateTooltipAccessKeys(nodeList){if(!nodeList){var columnOne=document.getElementById("column-one");if(columnOne)
updateTooltipAccessKeys(columnOne.getElementsByTagName("a"));updateTooltipAccessKeys(document.getElementsByTagName("input"));updateTooltipAccessKeys(document.getElementsByTagName("label"));return;}
for(var i=0;i<nodeList.length;i++){var element=nodeList[i];var tip=element.getAttribute("title");if(tip&&tooltipAccessKeyRegexp.exec(tip)){tip=tip.replace(tooltipAccessKeyRegexp,"["+tooltipAccessKeyPrefix+"$5]");element.setAttribute("title",tip);}}}
function addPortletLink(portlet,href,text,id,tooltip,accesskey,nextnode){var node=document.getElementById(portlet);if(!node)return null;node=node.getElementsByTagName("ul")[0];if(!node)return null;var link=document.createElement("a");link.appendChild(document.createTextNode(text));link.href=href;var item=document.createElement("li");item.appendChild(link);if(id)item.id=id;if(accesskey){link.setAttribute("accesskey",accesskey);tooltip+=" ["+accesskey+"]";}
if(tooltip){link.setAttribute("title",tooltip);}
if(accesskey&&tooltip){updateTooltipAccessKeys(new Array(link));}
if(nextnode&&nextnode.parentNode==node)
node.insertBefore(item,nextnode);else
node.appendChild(item);return item;}
function akeytt(doId){if(!window.ta)window.ta=new Array;var ta;if(doId){ta=[doId];}else{ta=window.ta;}
var watchCheckboxExists=document.getElementById('wpWatchthis')?true:false;for(var id in ta){var n=document.getElementById(id);if(n){var a=null;var ak='';if(ta[id][0].length>0){if(n.nodeName.toLowerCase()=="a"){a=n;}else{a=n.childNodes[0];}
if(a&&((id!='ca-watch'&&id!='ca-unwatch')||!watchCheckboxExists)){a.accessKey=ta[id][0];ak=' ['+tooltipAccessKeyPrefix+ta[id][0]+']';}}else{a=n;ak='';}
if(a){a.title=ta[id][1]+ak;}}}}
var checkboxes;var lastCheckbox;function setupCheckboxShiftClick(){checkboxes=[];lastCheckbox=null;var inputs=document.getElementsByTagName('input');addCheckboxClickHandlers(inputs);}
function addCheckboxClickHandlers(inputs,start){if(!start)start=0;var finish=start+250;if(finish>inputs.length)
finish=inputs.length;for(var i=start;i<finish;i++){var cb=inputs[i];if(!cb.type||cb.type.toLowerCase()!='checkbox')
continue;var end=checkboxes.length;checkboxes[end]=cb;cb.index=end;cb.onclick=checkboxClickHandler;}
if(finish<inputs.length){setTimeout(function(){addCheckboxClickHandlers(inputs,finish);},200);}}
function checkboxClickHandler(e){if(typeof e=='undefined'){e=window.event;}
if(!e.shiftKey||lastCheckbox===null){lastCheckbox=this.index;return true;}
var endState=this.checked;var start,finish;if(this.index<lastCheckbox){start=this.index+1;finish=lastCheckbox;}else{start=lastCheckbox;finish=this.index-1;}
for(var i=start;i<=finish;++i){checkboxes[i].checked=endState;}
lastCheckbox=this.index;return true;}
function toggle_element_activation(ida,idb){if(!document.getElementById){return;}
document.getElementById(ida).disabled=true;document.getElementById(idb).disabled=false;}
function toggle_element_check(ida,idb){if(!document.getElementById){return;}
document.getElementById(ida).checked=true;document.getElementById(idb).checked=false;}
function getElementsByClassName(oElm,strTagName,oClassNames){var arrElements=(strTagName=="*"&&oElm.all)?oElm.all:oElm.getElementsByTagName(strTagName);var arrReturnElements=new Array();var arrRegExpClassNames=new Array();if(typeof oClassNames=="object"){for(var i=0;i<oClassNames.length;i++){arrRegExpClassNames[arrRegExpClassNames.length]=new RegExp("(^|\\s)"+oClassNames[i].replace(/\-/g,"\\-")+"(\\s|$)");}}
else{arrRegExpClassNames[arrRegExpClassNames.length]=new RegExp("(^|\\s)"+oClassNames.replace(/\-/g,"\\-")+"(\\s|$)");}
var oElement;var bMatchesAll;for(var j=0;j<arrElements.length;j++){oElement=arrElements[j];bMatchesAll=true;for(var k=0;k<arrRegExpClassNames.length;k++){if(!arrRegExpClassNames[k].test(oElement.className)){bMatchesAll=false;break;}}
if(bMatchesAll){arrReturnElements[arrReturnElements.length]=oElement;}}
return(arrReturnElements)}
function redirectToFragment(fragment){var match=navigator.userAgent.match(/AppleWebKit\/(\d+)/);if(match){var webKitVersion=parseInt(match[1]);if(webKitVersion<420){return;}}
if(is_gecko){addOnloadHook(function(){if(window.location.hash=="")
window.location.hash=fragment;});}else{if(window.location.hash=="")
window.location.hash=fragment;}}
var ts_image_path=stylepath+"/common/images/";var ts_image_up="sort_up.gif";var ts_image_down="sort_down.gif";var ts_image_none="sort_none.gif";var ts_europeandate=wgContentLanguage!="en";var ts_alternate_row_colors=true;var SORT_COLUMN_INDEX;function sortables_init(){var idnum=0;var tables=getElementsByClassName(document,"table","sortable");for(var ti=0;ti<tables.length;ti++){if(!tables[ti].id){tables[ti].setAttribute('id','sortable_table_id_'+idnum);++idnum;}
ts_makeSortable(tables[ti]);}}
function ts_makeSortable(table){var firstRow;if(table.rows&&table.rows.length>0){if(table.tHead&&table.tHead.rows.length>0){firstRow=table.tHead.rows[table.tHead.rows.length-1];}else{firstRow=table.rows[0];}}
if(!firstRow)return;for(var i=0;i<firstRow.cells.length;i++){var cell=firstRow.cells[i];if((" "+cell.className+" ").indexOf(" unsortable ")==-1){cell.innerHTML+='&nbsp;&nbsp;<a href="#" class="sortheader" onclick="ts_resortTable(this);return false;"><span class="sortarrow"><img src="'+ts_image_path+ts_image_none+'" alt="&darr;"/></span></a>';}}
if(ts_alternate_row_colors){ts_alternate(table);}}
function ts_getInnerText(el){if(typeof el=="string")return el;if(typeof el=="undefined"){return el};if(el.textContent)return el.textContent;if(el.innerText)return el.innerText;var str="";var cs=el.childNodes;var l=cs.length;for(var i=0;i<l;i++){switch(cs[i].nodeType){case 1:str+=ts_getInnerText(cs[i]);break;case 3:str+=cs[i].nodeValue;break;}}
return str;}
function ts_resortTable(lnk){var span=lnk.getElementsByTagName('span')[0];var td=lnk.parentNode;var tr=td.parentNode;var column=td.cellIndex;var table=tr.parentNode;while(table&&!(table.tagName&&table.tagName.toLowerCase()=='table'))
table=table.parentNode;if(!table)return;if(table.rows.length<=1)return;var rowStart=(table.tHead&&table.tHead.rows.length>0?0:1);var itm="";for(var i=rowStart;i<table.rows.length;i++){if(table.rows[i].cells.length>column){itm=ts_getInnerText(table.rows[i].cells[column]);itm=itm.replace(/^[\s\xa0]+/,"").replace(/[\s\xa0]+$/,"");if(itm!="")break;}}
sortfn=ts_sort_caseinsensitive;if(itm.match(/^\d\d[\/. -][a-zA-Z]{3}[\/. -]\d\d\d\d$/))
sortfn=ts_sort_date;if(itm.match(/^\d\d[\/.-]\d\d[\/.-]\d\d\d\d$/))
sortfn=ts_sort_date;if(itm.match(/^\d\d[\/.-]\d\d[\/.-]\d\d$/))
sortfn=ts_sort_date;if(itm.match(/^[\u00a3$\u20ac]/))
sortfn=ts_sort_currency;if(itm.match(/^[\d.,]+\%?$/))
sortfn=ts_sort_numeric;var reverse=(span.getAttribute("sortdir")=='down');var newRows=new Array();for(var j=rowStart;j<table.rows.length;j++){var row=table.rows[j];var keyText=ts_getInnerText(row.cells[column]);var oldIndex=(reverse?-j:j);newRows[newRows.length]=new Array(row,keyText,oldIndex);}
newRows.sort(sortfn);var arrowHTML;if(reverse){arrowHTML='<img src="'+ts_image_path+ts_image_down+'" alt="&darr;"/>';newRows.reverse();span.setAttribute('sortdir','up');}else{arrowHTML='<img src="'+ts_image_path+ts_image_up+'" alt="&uarr;"/>';span.setAttribute('sortdir','down');}
for(var i=0;i<newRows.length;i++){if((" "+newRows[i][0].className+" ").indexOf(" sortbottom ")==-1)
table.tBodies[0].appendChild(newRows[i][0]);}
for(var i=0;i<newRows.length;i++){if((" "+newRows[i][0].className+" ").indexOf(" sortbottom ")!=-1)
table.tBodies[0].appendChild(newRows[i][0]);}
var spans=getElementsByClassName(tr,"span","sortarrow");for(var i=0;i<spans.length;i++){spans[i].innerHTML='<img src="'+ts_image_path+ts_image_none+'" alt="&darr;"/>';}
span.innerHTML=arrowHTML;ts_alternate(table);}
function ts_dateToSortKey(date){if(date.length==11){switch(date.substr(3,3).toLowerCase()){case"jan":var month="01";break;case"feb":var month="02";break;case"mar":var month="03";break;case"apr":var month="04";break;case"may":var month="05";break;case"jun":var month="06";break;case"jul":var month="07";break;case"aug":var month="08";break;case"sep":var month="09";break;case"oct":var month="10";break;case"nov":var month="11";break;case"dec":var month="12";break;}
return date.substr(7,4)+month+date.substr(0,2);}else if(date.length==10){if(ts_europeandate==false){return date.substr(6,4)+date.substr(0,2)+date.substr(3,2);}else{return date.substr(6,4)+date.substr(3,2)+date.substr(0,2);}}else if(date.length==8){yr=date.substr(6,2);if(parseInt(yr)<50){yr='20'+yr;}else{yr='19'+yr;}
if(ts_europeandate==true){return yr+date.substr(3,2)+date.substr(0,2);}else{return yr+date.substr(0,2)+date.substr(3,2);}}
return"00000000";}
function ts_parseFloat(num){if(!num)return 0;num=parseFloat(num.replace(/,/g,""));return(isNaN(num)?0:num);}
function ts_sort_date(a,b){var aa=ts_dateToSortKey(a[1]);var bb=ts_dateToSortKey(b[1]);return(aa<bb?-1:aa>bb?1:a[2]-b[2]);}
function ts_sort_currency(a,b){var aa=ts_parseFloat(a[1].replace(/[^0-9.]/g,''));var bb=ts_parseFloat(b[1].replace(/[^0-9.]/g,''));return(aa!=bb?aa-bb:a[2]-b[2]);}
function ts_sort_numeric(a,b){var aa=ts_parseFloat(a[1]);var bb=ts_parseFloat(b[1]);return(aa!=bb?aa-bb:a[2]-b[2]);}
function ts_sort_caseinsensitive(a,b){var aa=a[1].toLowerCase();var bb=b[1].toLowerCase();return(aa<bb?-1:aa>bb?1:a[2]-b[2]);}
function ts_sort_default(a,b){return(a[1]<b[1]?-1:a[1]>b[1]?1:a[2]-b[2]);}
function ts_alternate(table){var tableBodies=table.getElementsByTagName("tbody");for(var i=0;i<tableBodies.length;i++){var tableRows=tableBodies[i].getElementsByTagName("tr");for(var j=0;j<tableRows.length;j++){var oldClasses=tableRows[j].className.split(" ");var newClassName="";for(var k=0;k<oldClasses.length;k++){if(oldClasses[k]!=""&&oldClasses[k]!="even"&&oldClasses[k]!="odd")
newClassName+=oldClasses[k]+" ";}
tableRows[j].className=newClassName+(j%2==0?"even":"odd");}}}
function jsMsg(message,className){if(!document.getElementById){return false;}
var messageDiv=document.getElementById('mw-js-message');if(!messageDiv){messageDiv=document.createElement('div');if(document.getElementById('column-content')&&document.getElementById('content')){document.getElementById('content').insertBefore(messageDiv,document.getElementById('content').firstChild);}else if(document.getElementById('content')&&document.getElementById('article')){document.getElementById('article').insertBefore(messageDiv,document.getElementById('article').firstChild);}else{return false;}}
messageDiv.setAttribute('id','mw-js-message');if(className){messageDiv.setAttribute('class','mw-js-message-'+className);}
if(typeof message==='object'){while(messageDiv.hasChildNodes())
messageDiv.removeChild(messageDiv.firstChild);messageDiv.appendChild(message);}
else{messageDiv.innerHTML=message;}
return true;}
function injectSpinner(element,id){var spinner=document.createElement("img");spinner.id="mw-spinner-"+id;spinner.src=stylepath+"/common/images/spinner.gif";spinner.alt=spinner.title="...";if(element.nextSibling){element.parentNode.insertBefore(spinner,element.nextSibling);}else{element.parentNode.appendChild(spinner);}}
function removeSpinner(id){var spinner=document.getElementById("mw-spinner-"+id);if(spinner){spinner.parentNode.removeChild(spinner);}}
function runOnloadHook(){if(doneOnloadHook||!(document.getElementById&&document.getElementsByTagName)){return;}
doneOnloadHook=true;updateTooltipAccessKeys(null);akeytt(null);setupCheckboxShiftClick();sortables_init();for(var i=0;i<onloadFuncts.length;i++){onloadFuncts[i]();}}
function addHandler(element,attach,handler){if(window.addEventListener){element.addEventListener(attach,handler,false);}else if(window.attachEvent){element.attachEvent('on'+attach,handler);}}
function addClickHandler(element,handler){addHandler(element,'click',handler);}
hookEvent("load",runOnloadHook);