
function $(id)
{return document.getElementById(id);}
var action=0;var cpage={comments:0,favorites:0,videos:0}
var cur=new Array();var curDiv;var curw={'videos':0};var delTrans={'faded':0,'interval':0,'newdiv':0,'olddiv':0,'opacity':0,'pos':0,'row':0};var divWidth=950;var heights=new Array();var inertia=0;var inertiabase=2;var interval;var linked;var npage={comments:1,favorites:1,videos:1}
var processed;var queue;var queueRan;var total=0;var sinterval;var showAllo=0;var speed=40;var setNpage=0;var useragent=navigator.userAgent.toLowerCase();var ie=((useragent.indexOf('msie')!=-1)&&(useragent.indexOf('opera')==-1)&&(useragent.indexOf('webtv')==-1));function buildContent(div,result){result=result.split('[;;::;;]');total_pages=(result[0]>0)?parseInt(result[0]):0;result=result[1];if(((npage[div]>total_pages)&&(total_pages!=0))||processed==1)
{linked=0;return 0;}
if((result=result.split('[::;;::]'))&&(total_pages>0))
{switch(div)
{default:document.getElementById(div+'Nav').innerHTML='';if(npage[div]>1)
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showPrevious(\''+div+'\');">&laquo; Previous </a>';for(x=1;x<=total_pages;x++)
{if(x==npage[div])
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <span class="selectedNav">'+x+'</span> ';else
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showPage(\''+div+'\','+x+')">'+x+'</a> ';}
if(npage[div]<total_pages)
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showNext(\''+div+'\');">Next &raquo;</a>';var el=document.createElement('div');el.setAttribute('id',div+'_'+npage[div]);el.setAttribute('class','fullWidthSlide');if(npage[div]>cpage[div])
document.getElementById(div+'Content').appendChild(el);else
{el.setAttribute('style','margin:0 0 0 -'+divWidth+'px;');document.getElementById(div+'Content').insertBefore(el,document.getElementById(div+'_'+cpage[div]));}
document.getElementById(div+'_'+npage[div]).className='fullWidthSlide';var newHTML='';for(x=0;x<result.length;x++)
{result[x]=result[x].split('[:;:]');rating=(parseInt(result[x][5])>0)?'<span class="rating'+result[x][5]+'"></span><br />':'<span class="rating">Not yet rated</span><br />';delLink=(myuid==uid&&div=='favorites')?'<a href="#" onclick="removeFavorites('+result[x][8]+', this.parentNode);return false;"><img class="remove" src="/images/profile/userElements/remove.gif" onmouseover="Tip(\'Click here to remove this from favorites.\')" onmouseout="UnTip()" /></a>':'';result[x][6]=result[x][6].split(' ');keywords='';for(i=0;i<result[x][6].length;i++)
{keywords=keywords+'<a href="/tags/'+result[x][6][i]+'">'+result[x][6][i]+'</a> ';}
newHTML=newHTML+'     <div class="video">'+"\n"+'      <a href="'+result[x][0]+'"><img class="thumbnail" width="80" height="58" src="'+result[x][1]+'" alt="'+result[x][2]+'" />'+"\n"+'      <h2>'+result[x][2]+'</h2></a>'+"\n"+
delLink+'      '+rating+"\n"+'      <p class="info"><strong>Time:</strong> '+result[x][4]+'</p>'+"\n"+'      <p>'+result[x][3]+'</p>'+"\n"+'      <p class="tags"><h3><i>Tags</i></h3>'+keywords+'</p>'+"\n"+'     </div>'+"\n";if(((x+1)%4==0)&&(x/4<4))
newHTML=newHTML+'</div><div class="row">';}
document.getElementById(div+'_'+npage[div]).innerHTML='<div class="row">'+newHTML+'</div>';scroll(0,0);document.getElementById(div+'Loading').style.display='none';show(div);break;case'comments':document.getElementById(div+'Nav').innerHTML='';if(npage[div]>1)
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showPrevious(\''+div+'\');">&laquo; Previous </a>';for(x=1;x<=total_pages;x++)
{if(x==npage[div])
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <span class="selectedNav">'+x+'</span> ';else
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showPage(\''+div+'\','+x+')">'+x+'</a> ';}
if(npage[div]<total_pages)
document.getElementById(div+'Nav').innerHTML=document.getElementById(div+'Nav').innerHTML+' <a href="javascript:;" onclick="showNext(\''+div+'\');">Next &raquo;</a>';var el=document.createElement('div');el.setAttribute('id',div+'_'+npage[div]);el.setAttribute('class','fullWidthSlide');if(npage[div]>cpage[div])
document.getElementById(div+'Content').appendChild(el);else
{el.setAttribute('style','margin:0 0 0 -'+divWidth+'px;');document.getElementById(div+'Content').insertBefore(el,document.getElementById(div+'_'+cpage[div]));}
document.getElementById(div+'_'+npage[div]).className='fullWidthSlide';document.getElementById(div+'_'+npage[div]).innerHTML='<div class="row">';commentHTML=(myuid==0||nocomment==1)?'':'       <div class="comment">'+"\n"+'        <p><textarea rows="2" id="commentText'+npage[div]+'" width="100%" onclick="commentCheck(this)" onblur="commentCheck(this, 1)">Type your comment here...</textarea></p>'+"\n"+'        <p class="signature"><input type="submit" value="Add Comment" onclick="modifyComment();" /></p>'+"\n"+'       </div>'+"\n";document.getElementById(div+'_'+npage[div]).innerHTML='      <div id="'+div+'Left_'+npage[div]+'" class="left">'+"\n"+
commentHTML+'      </div>'+"\n";for(x=0;x<result.length;x++)
{result[x]=result[x].split('[:;:]');postedBy=(result[x][3]!='')?'<a href="'+result[x][3]+'">'+result[x][1]+'</a>':result[x][1];deleteComment=(myuid==uid)?'&nbsp;&nbsp;(<a class="delete" href="#" onclick="modifyComment(1,'+result[x][0]+'); return false;">Delete comment</a>)':'';document.getElementById(div+'Left_'+npage[div]).innerHTML=document.getElementById(div+'Left_'+npage[div]).innerHTML+'       <div class="comment">'+"\n"+'        <p>'+result[x][2]+'</p>'+"\n"+'        <p class="signature"><strong>Posted by: '+postedBy+' <i>'+result[x][4]+'</i></strong>'+deleteComment+'</p>'+"\n"+'       </div>'+"\n";}
document.getElementById(div+'_'+npage[div]).innerHTML=document.getElementById(div+'_'+npage[div]).innerHTML+'      <div id="'+div+'Right_'+npage[div]+'" class="right">'+"\n"+'      </div>';updateAd(document.getElementById(div+'Right_'+npage[div]));document.getElementById(div+'Loading').style.display='none';scroll(0,0);show('comments');break;}
processed=1;return 1;}
else
{if(total_pages==0)
{switch(div){case'comments':commentHTML=(myuid==0||nocomment==1)?'':'       <div class="comment">'+"\n"+'        <p><textarea rows="2" id="commentText" width="100%" onclick="commentCheck(this)" onblur="commentCheck(this, 1)">Type your comment here...</textarea></p>'+"\n"+'        <p class="signature"><input type="submit" value="Add Comment" onclick="modifyComment();" /></p>'+"\n"+'       </div>'+"\n";document.getElementById(div+'_'+npage[div]).innerHTML='      <div id="commentsLeft" class="left">'+"\n"+
commentHTML+'       <div class="noContent">No one has commented on this user.</div>'+"\n"+'      </div>'+"\n"+'      <div class="right">'+"\n";document.getElementById(div+'_'+npage[div]).innerHTML=document.getElementById(div+'_'+npage[div]).innerHTML+'       Adspace'+"\n";document.getElementById(div+'_'+npage[div]).innerHTML=document.getElementById(div+'_'+npage[div]).innerHTML+'      </div>';break;}
document.getElementById(div+'Loading').style.display='none';processed=1;return 1;}}
processed=1;return 0;}
function commentCheck(object,blur)
{if(blur==1)
{if(object.value=='')
{object.value='Type your comment here...';object.style.color='#000';}}
else
{if(object.value=='Type your comment here...')
{object.value='';object.style.color='#000';}}}
function delTransition(div,newdiv)
{if(delTrans['pos']==0)
{vCon=getElementsByClassName('row','div',document.getElementById('favorites_'+cpage['favorites']));for(i=0;i<vCon.length;i++)
{vCon2=getElementsByClassName('video','div',vCon[i]);for(i2=0;i2<vCon2.length;i2++)
{if(div==vCon2[i2])
{delTrans['pos']=(i2+1);delTrans['row']=(i+1);}}}}
if(delTrans['faded']==0)
{div.style.border='1px solid #ff0000';div.style.background='#fc9f9f';delTrans['opacity']-=10;div.style.opacity=(delTrans['opacity']/100);div.style.filter="alpha(opacity="+(delTrans['opacity'])+")";if(delTrans['opacity']==0)
{UnTip();delTrans['faded']=1;}}
else if(delTrans['faded']==1)
{vCon=getElementsByClassName('row','div',document.getElementById('favorites_'+cpage['favorites']));if((showAllo==1)&&(cpage['favorites']==1)&&(delTrans['row']<3))
{oCon=getElementsByClassName('row','div',document.getElementById('favorites_0'));rChild=getElementsByClassName('video','div',oCon[(delTrans['row']-1)]);oCon[(delTrans['row']-1)].removeChild(rChild[(delTrans['pos']-1)]);nDiv=getElementsByClassName('video','div',vCon[2])
if(nDiv[0])
oCon[1].appendChild(nDiv[0].cloneNode(true));}
div.parentNode.removeChild(div);move=0;for(i=0;i<vCon.length;i++)
{if(move==1)
{if(vCon[i].getElementsByTagName('div')[0]&&vCon[i].getElementsByTagName('div')[0].className=='video')
{vCon[(i-1)].appendChild(vCon[i].getElementsByTagName('div')[0]);if(i<2&&delTrans['row']<=i&&cpage['favorites']==1)
oCon[(i-1)].appendChild(oCon[i].getElementsByTagName('div')[0]);}}
else
{if(vCon[i].getElementsByTagName('div').length<8)
move=1;}}
if(newdiv!=0)
{newdiv.className='video';vCon[(vCon.length-1)].appendChild(newdiv);}
action=0;clearInterval(delTrans['interval']);}}
function getContent(div){npage[div]=parseInt(npage[div]);action=1;if(window.XMLHttpRequest){http_request=new XMLHttpRequest();}else if(window.ActiveXObject){try{http_request=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{http_request=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}
if(!http_request){alert('Cannot create XMLHTTP instance');return false;}
parameters="?action="+div+"&uid="+uid+"&page="+npage[div];if(npage[div]<0)
{linked=0;return;}
document.getElementById(div+'Loading').style.display='block';if(ie)
{document.getElementById(div+'Loading').style.height=document.getElementById(div).childNodes[1].offsetHeight+'px';ieFixCorners();}
http_request.onreadystatechange=function(){if(http_request.readyState==4){if(http_request.status==200){result=http_request.responseText;processed=0;if(buildContent(div,result))
{if(linked==1)
{linked=0;total++;dhtmlHistory.add(div+"/page/"+npage[div]);}}}else{}}};http_request.open('GET','/ajax/process.php'+parameters,true);http_request.setRequestHeader("Content-type","application/x-www-form-urlencoded");http_request.setRequestHeader("Content-length",parameters.length);http_request.setRequestHeader("Connection","close");http_request.send(null);}
function historyChange(newLocation){if(action==1)
{queue=newLocation;queueRan=0;setTimeout("runQueue()",200);return;}
action=1;if((newLocation===null)||(newLocation===undefined)||(newLocation==""))
{if(showAllo==0)
return;if(ie)
linked=0;else
linked=1;showAll(curDiv,1);}
else
{linked=0;newLocation=newLocation.replace('#','').split('/');div=newLocation[0];if((div!=curDiv)&&(showAllo==1))
{if(cpage[curDiv]!=0)
document.getElementById(curDiv+'Content').removeChild(document.getElementById(curDiv+'_'+cpage[curDiv]));document.getElementById(curDiv+'_'+0).style.margin='';document.getElementById(curDiv+'Content').style.height='360px';document.getElementById(curDiv+'Nav').style.display='none';document.getElementById(curDiv).style.height='0px';cur[curDiv]=0;cpage[curDiv]=0;document.getElementById(div).style.height='';document.getElementById(div+'Content').style.height='920px';document.getElementById(div+'Nav').style.display='none';curDiv=div;}
if(newLocation.length>=3)
npage[div]=newLocation[2];else
npage[div]=1;if(showAllo==0&&newLocation!='')
showAll(div);else
getContent(div);}}
function ieFixCorners(){var el=document.getElementsByTagName("div");for(i=0;i<el.length;i++)
{if(el[i].className=="topLeftCorner"||el[i].className=="bottomLeftCorner")
{el[i].style.margin='0';el[i].style.margin='0 0 0 -5px';}}}
function initialize(){if(document.getElementById('videoPlayer'))
{heights['videoPlayer']=(ie)?document.getElementById('videoPlayer').offsetHeight:document.defaultView.getComputedStyle(document.getElementById('videoPlayer'),null).getPropertyValue('height',null).replace('px','');cur['videoPlayer']=parseInt(heights['videoPlayer']);}
if(document.getElementById('userInfo'))
{heights['userInfo']=(ie)?document.getElementById('userInfo').offsetHeight:document.defaultView.getComputedStyle(document.getElementById('userInfo'),null).getPropertyValue('height',null).replace('px','');cur['userInfo']=parseInt(heights['userInfo']);}
if(document.getElementById('favorites'))
{heights['favorites']=(ie)?document.getElementById('favorites').offsetHeight:document.defaultView.getComputedStyle(document.getElementById('favorites'),null).getPropertyValue('height',null).replace('px','');cur['favorites']=parseInt(heights['favorites']);}
if(document.getElementById('videos'))
{heights['videos']=(ie)?document.getElementById('videos').offsetHeight:document.defaultView.getComputedStyle(document.getElementById('videos'),null).getPropertyValue('height',null).replace('px','');cur['videos']=parseInt(heights['videos']);}
if(document.getElementById('comments'))
{heights['comments']=(ie)?document.getElementById('comments').offsetHeight:document.defaultView.getComputedStyle(document.getElementById('comments'),null).getPropertyValue('height',null).replace('px','');cur['comments']=parseInt(heights['comments']);}
curLocation=new String(window.location.hash);if(curLocation.match('#'))
{curLocation=curLocation.replace('#','').split('/');if(curLocation[0]==''||!curLocation[0]||curLocation=='')
return;div=curLocation[0];if(curLocation.length>=3)
npage[div]=curLocation[2];else
npage[div]=1;showAll(div,1);getContent(div);}}
function removeFavorites(vid,videoDiv)
{action=1;if(window.XMLHttpRequest){http_request=new XMLHttpRequest();}else if(window.ActiveXObject){try{http_request=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{http_request=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}
if(!http_request){alert('Cannot create XMLHTTP instance');return false;}
parameters=(showAllo==0)?"action=delfavorites&uid="+uid+"&vid="+vid+"&page=0":"action=delfavorites&uid="+uid+"&vid="+vid+"&page="+cpage['favorites'];http_request.onreadystatechange=function(){if(http_request.readyState==4){if(http_request.status==200){result=http_request.responseText;delTrans['olddiv']=videoDiv;delTrans['faded']=0;delTrans['opacity']=100;delTrans['pos']=0;delTrans['row']=0;if(result.match('none'))
{delTrans['interval']=setInterval("delTransition (delTrans['olddiv'], 0)",50);}
else
{delTrans['newdiv']=document.createElement('div');delTrans['newdiv'].setAttribute('class','video');delTrans['newdiv'].innerHTML=result;delTrans['interval']=setInterval("delTransition (delTrans['olddiv'], delTrans['newdiv'])",50);}}else{}}};http_request.open('POST','/ajax/process.php',true);http_request.setRequestHeader("Content-type","application/x-www-form-urlencoded");http_request.setRequestHeader("Content-length",parameters.length);http_request.setRequestHeader("Connection","close");http_request.send(parameters);}
function runQueue(){if(action==1)
{setTimeout("runQueue()",200);return;}
if(queueRan==1)
return;historyChange(queue);queue='';queueRan=1;}
function showAll(div,init){action=1;if(showAllo==1)
{document.getElementById(div+'Nav').style.display='none';clearInterval(interval);interval=setInterval("slideVert('"+div+"',2)",100);if(ie)
ieFixCorners();so.write('player');npage[div]=0;if(linked==0)
dhtmlHistory.add('#');linked=0;action=1;show(div);showAllo=0;}
else
{document.getElementById(div+'Nav').style.display='block';document.getElementById('player').innerHTML='';clearInterval(interval);interval=setInterval("slideVert('"+div+"',1)",100);if(ie)
ieFixCorners();curDiv=div;if(init!=1)
{linked=1;npage[div]=1;getContent(div);}
showAllo=1;}}
function showNext(div){npage[div]=(cpage[div]+1);linked=1;getContent(div);}
function showPage(div,page){npage[div]=page;linked=1;getContent(div);}
function showPrevious(div){npage[div]=(cpage[div]-1);linked=1;getContent(div);}
function slideHoriz(div,dir){switch(div)
{default:if(dir==1)
{curw[div]-=speed+inertia;if(curw[div]<=(parseInt(-divWidth)))
curw[div]=(parseInt(-divWidth));inertia+=inertiabase;document.getElementById(div+"_"+cpage[div]).style.margin="0 0 0 "+curw[div]+"px";if((curw[div]<=(parseInt(-divWidth)))&&(cur[div+'C']==heights[div+'C']))
{if(cpage[div]>0)
document.getElementById(div+'Content').removeChild(document.getElementById(div+'_'+cpage[div]));action=0;cpage[div]=npage[div];clearInterval(sinterval);return;}}
else if(dir==2)
{curw[div]+=speed+inertia;if(curw[div]>=0)
curw[div]=0;inertia+=inertiabase;document.getElementById(div+"_"+cpage[div]).style.margin="0 0 0 0";document.getElementById(div+"_"+npage[div]).style.margin="0 0 0 "+(curw[div])+"px";if((curw[div]>=0)&&(cur[div+'C']==heights[div+'C']))
{if(cpage[div]>0)
document.getElementById(div+'Content').removeChild(document.getElementById(div+'_'+cpage[div]));action=0;cpage[div]=npage[div];clearInterval(sinterval);return;}}
break;}}
function slideVert(div,dir){if(dir==1)
{if(div=='videos'||div=='favorites')
document.getElementById(div+'Content').style.height='920px';inertia+=inertiabase;if(document.getElementById('videoPlayer'))
{if(div!='videoPlayer')
{cur['videoPlayer']-=(inertia+speed);if(cur['videoPlayer']<0)
cur['videoPlayer']=0;document.getElementById('videoPlayer').style.height=cur['videoPlayer']+"px";}
else
document.getElementById('videoPlayer').style.height='';}
if(document.getElementById('userInfo'))
{if(div!='userInfo')
{cur['userInfo']-=(inertia+speed);if(cur['userInfo']<0)
cur['userInfo']=0;document.getElementById('userInfo').style.height=cur['userInfo']+"px";}
else
document.getElementById('userInfo').style.height='';}
if(document.getElementById('favorites'))
{if(div!='favorites')
{cur['favorites']-=(inertia+speed);if(cur['favorites']<0)
cur['favorites']=0;document.getElementById('favorites').style.height=cur['favorites']+"px";}
else
document.getElementById('favorites').style.height='';}
if(document.getElementById('videos'))
{if(div!='videos')
{cur['videos']-=(inertia+speed);if(cur['videos']<0)
cur['videos']=0;document.getElementById('videos').style.height=cur['videos']+"px";}
else
document.getElementById('videos').style.height='';}
if(document.getElementById('comments'))
{if(div!='comments')
{cur['comments']-=(inertia+speed);if(cur['comments']<0)
cur['comments']=0;document.getElementById('comments').style.height=cur['comments']+"px";}
else
document.getElementById('comments').style.height='';}
done=1;if(cur['videoPlayer']>0&&div!='videoPlayer')
done=0;if(cur['userInfo']>0&&div!='userInfo')
done=0;if(cur['favorites']>0&&div!='favorites')
done=0;if(cur['videos']>0&&div!='videos')
done=0;if(cur['comments']>0&&div!='comments')
done=0;if(done==1)
{cur['page']=1;clearInterval(interval);}}
else if(dir==2)
{if(div=='videos'||div=='favorites')
document.getElementById(div+'Content').style.height='360px';inertia+=inertiabase;if(document.getElementById('videoPlayer'))
{if(div!='videoPlayer')
{cur['videoPlayer']=parseInt(cur['videoPlayer'])+(inertia+speed);if(cur['videoPlayer']>=heights['videoPlayer'])
cur['videoPlayer']=heights['videoPlayer'];document.getElementById('videoPlayer').style.height=cur['videoPlayer']+"px";}
else
document.getElementById('videoPlayer').style.height='';}
if(document.getElementById('userInfo'))
{if(div!='userInfo')
{cur['userInfo']+=(inertia+speed);if(cur['userInfo']>=heights['userInfo'])
cur['userInfo']=heights['userInfo'];document.getElementById('userInfo').style.height=cur['userInfo']+"px";}
else
document.getElementById('userInfo').style.height='';}
if(document.getElementById('favorites'))
{if(div!='favorites')
{cur['favorites']+=(inertia+speed);if(cur['favorites']>=heights['favorites'])
cur['favorites']=heights['favorites'];document.getElementById('favorites').style.height=cur['favorites']+"px";}
else
document.getElementById('favorites').style.height='';}
if(document.getElementById('videos'))
{if(div!='videos')
{cur['videos']+=(inertia+speed);if(cur['videos']>=heights['videos'])
cur['videos']=heights['videos'];document.getElementById('videos').style.height=cur['videos']+"px";}
else
document.getElementById('videos').style.height='';}
if(document.getElementById('comments'))
{if(div!='comments')
{cur['comments']+=(inertia+speed);if(cur['comments']>=heights['comments'])
cur['comments']=heights['comments'];document.getElementById('comments').style.height=cur['comments']+"px";}
else
document.getElementById('comments').style.height='';}
done=1;if(cur['videoPlayer']<heights['videoPlayer'])
done=0;if(cur['userInfo']<heights['userInfo'])
done=0;if(cur['favorites']<heights['favorites'])
done=0;if(cur['videos']<heights['videos'])
done=0;if(cur['comments']<heights['comments'])
done=0;if(done==1)
clearInterval(interval);}}
function show(div)
{inertia=0;if(npage[div]>cpage[div])
{clearInterval(sinterval);sinterval=setInterval("slideHoriz('"+div+"',1)",20);curw[div]=0;}
else
{clearInterval(sinterval);sinterval=setInterval("slideHoriz('"+div+"',2)",50);curw[div]=parseInt(-divWidth);}}
function updateAd(div)
{div.innerHTML='<iframe class="ad" frameborder="0" src="/ajax/ad.html"></iframe>';}
var getElementsByClassName=function(className,tag,elm){if(document.getElementsByClassName){getElementsByClassName=function(className,tag,elm){elm=elm||document;var elements=elm.getElementsByClassName(className),nodeName=(tag)?new RegExp("\\b"+tag+"\\b","i"):null,returnElements=[],current;for(var i=0,il=elements.length;i<il;i+=1){current=elements[i];if(!nodeName||nodeName.test(current.nodeName)){returnElements.push(current);}}
return returnElements;};}
else if(document.evaluate){getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck="",xhtmlNamespace="http://www.w3.org/1999/xhtml",namespaceResolver=(document.documentElement.namespaceURI===xhtmlNamespace)?xhtmlNamespace:null,returnElements=[],elements,node;for(var j=0,jl=classes.length;j<jl;j+=1){classesToCheck+="[contains(concat(' ', @class, ' '), ' "+classes[j]+" ')]";}
try{elements=document.evaluate(".//"+tag+classesToCheck,elm,namespaceResolver,0,null);}
catch(e){elements=document.evaluate(".//"+tag+classesToCheck,elm,null,0,null);}
while((node=elements.iterateNext())){returnElements.push(node);}
return returnElements;};}
else{getElementsByClassName=function(className,tag,elm){tag=tag||"*";elm=elm||document;var classes=className.split(" "),classesToCheck=[],elements=(tag==="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag),current,returnElements=[],match;for(var k=0,kl=classes.length;k<kl;k+=1){classesToCheck.push(new RegExp("(^|\\s)"+classes[k]+"(\\s|$)"));}
for(var l=0,ll=elements.length;l<ll;l+=1){current=elements[l];match=false;for(var m=0,ml=classesToCheck.length;m<ml;m+=1){match=classesToCheck[m].test(current.className);if(!match){break;}}
if(match){returnElements.push(current);}}
return returnElements;};}
return getElementsByClassName(className,tag,elm);};