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_ff2=/firefox\/[2-9]|minefield\/3/.test(clientPC);var ff2_bugs=/firefox\/2/.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 opera6_bugs=is_opera_preseven;var opera7_bugs=is_opera_seven&&!is_opera_95;var opera95_bugs=/opera\/(9\.5)/.test(clientPC);}
var ie6_bugs=false;if(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(clientPC)!=null&&parseFloat(RegExp.$1)<=6.0){ie6_bugs=true;}
var doneOnloadHook;if(!window.onloadFuncts){var onloadFuncts=[];}
function addOnloadHook(hookFunct){if(!doneOnloadHook){onloadFuncts[onloadFuncts.length]=hookFunct;}else{hookFunct();}}
function hookEvent(hookName,hookFunct){addHandler(window,hookName,hookFunct);}
function importScript(page){var uri=wgScript+'?title='+
encodeURIComponent(page.replace(/ /g,'_')).replace(/%2F/ig,'/').replace(/%3A/ig,':')+'&action=raw&ctype=text/javascript';return importScriptURI(uri);}
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,media){var l=document.createElement('link');l.type='text/css';l.rel='stylesheet';l.href=url;if(media){l.media=media;}
document.getElementsByTagName('head')[0].appendChild(l);return l;}
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'&&skin=='monobook'){if(opera6_bugs){importStylesheetURI(stylepath+'/'+ skin+'/Opera6Fixes.css');}else if(opera7_bugs){importStylesheetURI(stylepath+'/'+ skin+'/Opera7Fixes.css');}else if(opera95_bugs){importStylesheetURI(stylepath+'/'+ skin+'/Opera9Fixes.css');}else if(ff2_bugs){importStylesheetURI(stylepath+'/'+ skin+'/FF2Fixes.css');}}
if(wgBreakFrames){if(window.top!=window){window.top.location=window.location;}}
function showTocToggle(){if(document.createTextNode){var linkHolder=document.getElementById('toctitle');var existingLink=document.getElementById('togglelink');if(!linkHolder||existingLink){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 tocmain=document.getElementById('toc');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";tocmain.className='toc';}else{changeText(toggleLink,tocShowText);toc.style.display='none';document.cookie="hidetoc=1";tocmain.className='toc tochidden';}}
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 linkContainers=['column-one','mw-head','mw-panel','p-logo'];for(var i in linkContainers){var linkContainer=document.getElementById(linkContainers[i]);if(linkContainer){updateTooltipAccessKeys(linkContainer.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 root=document.getElementById(portlet);if(!root){return null;}
var node=root.getElementsByTagName('ul')[0];if(!node){return null;}
root.className=root.className.replace(/(^| )emptyPortlet( |$)/,"$2");var span=document.createElement('span');span.appendChild(document.createTextNode(text));var link=document.createElement('a');link.appendChild(span);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 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;}
window.ta=[];function akeytt(doId){}
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;if(i>start&&typeof checkboxes[i].onchange=='function'){checkboxes[i].onchange();}}
lastCheckbox=this.index;return true;}
function getElementsByClassName(oElm,strTagName,oClassNames){var arrReturnElements=new Array();if(typeof(oElm.getElementsByClassName)=='function'){var arrNativeReturn=oElm.getElementsByClassName(oClassNames);if(strTagName=='*'){return arrNativeReturn;}
for(var h=0;h<arrNativeReturn.length;h++){if(arrNativeReturn[h].tagName.toLowerCase()==strTagName.toLowerCase()){arrReturnElements[arrReturnElements.length]=arrNativeReturn[h];}}
return arrReturnElements;}
var arrElements=(strTagName=='*'&&oElm.all)?oElm.all:oElm.getElementsByTagName(strTagName);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=false;var ts_number_transform_table=null;var ts_number_regex=null;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+='<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){return getInnerText(el);}
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;}
if(ts_number_transform_table===null){ts_initTransformTable();}
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;}}}
var sortfn=ts_sort_generic;var preprocessor=ts_toLowerCase;if(/^\d\d[\/. -][a-zA-Z]{3}[\/. -]\d\d\d\d$/.test(itm)){preprocessor=ts_dateToSortKey;}else if(/^\d\d[\/.-]\d\d[\/.-]\d\d\d\d$/.test(itm)){preprocessor=ts_dateToSortKey;}else if(/^\d\d[\/.-]\d\d[\/.-]\d\d$/.test(itm)){preprocessor=ts_dateToSortKey;}else if(/(^([-\u2212] *)?[\u00a3$\u20ac\u00a4\u00a5]|\u00a2$)/.test(itm)){preprocessor=ts_currencyToSortKey;}else if(ts_number_regex.test(itm)){preprocessor=ts_parseFloat;}
var reverse=(span.getAttribute('sortdir')=='down');var newRows=new Array();var staticRows=new Array();for(var j=rowStart;j<table.rows.length;j++){var row=table.rows[j];if((' '+ row.className+' ').indexOf(' unsortable ')<0){var keyText=ts_getInnerText(row.cells[column]);if(keyText===undefined){keyText='';}
var oldIndex=(reverse?-j:j);var preprocessed=preprocessor(keyText.replace(/^[\s\xa0]+/,'').replace(/[\s\xa0]+$/,''));newRows[newRows.length]=new Array(row,preprocessed,oldIndex);}else{staticRows[staticRows.length]=new Array(row,false,j-rowStart);}}
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<staticRows.length;i++){var row=staticRows[i];newRows.splice(row[2],0,row);}
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;if(ts_alternate_row_colors){ts_alternate(table);}}
function ts_initTransformTable(){if(typeof wgSeparatorTransformTable=='undefined'||(wgSeparatorTransformTable[0]==''&&wgDigitTransformTable[2]==''))
{digitClass="[0-9,.]";ts_number_transform_table=false;}else{ts_number_transform_table={};ascii=wgSeparatorTransformTable[0].split("\t");localised=wgSeparatorTransformTable[1].split("\t");for(var i=0;i<ascii.length;i++){ts_number_transform_table[localised[i]]=ascii[i];}
ascii=wgDigitTransformTable[0].split("\t");localised=wgDigitTransformTable[1].split("\t");for(var i=0;i<ascii.length;i++){ts_number_transform_table[localised[i]]=ascii[i];}
digits=['0','1','2','3','4','5','6','7','8','9',',','\\.'];maxDigitLength=1;for(var digit in ts_number_transform_table){digits.push(digit.replace(/[\\\\$\*\+\?\.\(\)\|\{\}\[\]\-]/,function(s){return'\\'+ s;}));if(digit.length>maxDigitLength){maxDigitLength=digit.length;}}
if(maxDigitLength>1){digitClass='['+ digits.join('',digits)+']';}else{digitClass='('+ digits.join('|',digits)+')';}}
ts_number_regex=new RegExp("^("+"[-+\u2212]?[0-9][0-9,]*(\\.[0-9,]*)?(E[-+\u2212]?[0-9][0-9,]*)?"+"|"+"[-+\u2212]?"+ digitClass+"+%?"+")$","i");}
function ts_toLowerCase(s){return s.toLowerCase();}
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(s){if(!s){return 0;}
if(ts_number_transform_table!=false){var newNum='',c;for(var p=0;p<s.length;p++){c=s.charAt(p);if(c in ts_number_transform_table){newNum+=ts_number_transform_table[c];}else{newNum+=c;}}
s=newNum;}
num=parseFloat(s.replace(/[, ]/g,'').replace("\u2212",'-'));return(isNaN(num)?-Infinity:num);}
function ts_currencyToSortKey(s){return ts_parseFloat(s.replace(/[^-\u22120-9.,]/g,''));}
function ts_sort_generic(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');messageDiv.style.display='block';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);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);}
function removeHandler(element,remove,handler){if(window.removeEventListener){element.removeEventListener(remove,handler,false);}else if(window.detachEvent){element.detachEvent('on'+ remove,handler);}}
hookEvent('load',runOnloadHook);if(ie6_bugs){importScriptURI(stylepath+'/common/IEFixes.js');}
mw={};
