var popEl = null;
var dpdOpen = false;
var selEl = null;
var dropOpen = null;
var preLoad = null;
var xmlhttp = null;
var slider = null;
var tabArray = Array("news","fun","tell");
var tabPoz = 0;
var cid = 0;
var lng = 0;
numMenus = 6;
var playing = null;      
var pauseRotation = true;
document.onmouseout = hideAllMenus;
var newsObj;
	
function handleForm(formObj,reset) {
	for(i=0; i< formObj.length; i++) {
		var obj = formObj.elements[i]; 
		if(obj.type != 'submit' && obj.type != 'button') {		
			if(obj.name.substr(obj.name.length-1,obj.name.length) != 'I') {
				if(obj.type == 'checkbox') {
					if(!obj.checked) {
					  if(reset) formObj.reset();	
					  return false;
					}
				} else if(obj.type == "select-one") {
					if(obj.selectedIndex <= 0) return false;
				} else if(obj.type == 'radio') {
					var pogoj = false;
					if(!obj.checked) {
						for(j = 0; j < formObj.length; j++) {
							if(formObj.elements[j].name == obj.name && formObj.elements[j].checked) {
							    pogoj = true;
								break;
							}
						}
						if(!pogoj) {
							if(reset) formObj.reset();
						 	return false;	
						}
					}
				} else {
					if(!isNaN(obj.name.substr(obj.name.length-1,obj.name.length))) {
						if(obj.value.length < obj.name.substr(obj.name.length-1,obj.name.length)) {
							if(reset) 
							   formObj.reset();
						    return false;	
						}
					}
					if(obj.value.replace(/ /g,"") == '') {
						if(reset) 
						  formObj.reset();
					   return false;
					} else {
						if(obj.name.indexOf('email') > -1) {
							if(!validateMail(obj.value)) {
								if(reset) formObj.reset();
								return false; 	
							}
						}
	
					}
				}
			} 
		}
	}
	return true;
}
function validateMail(str){ 
	return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)); 
}
function countdown(id) {
	var obj = document.getElementById("timeRem");
	if(obj) {
		var num = new RegExp("[^0-9]","g")
		if(parseInt(obj.innerHTML.replace(num,"")) > 0) {
			changeSelection(null,obj.id,id);
			cid = id;
		} else {
			window.location.href = window.location;	
		}
	}
}	
function changeSelection(obj,prefix,extra) {	
	var selElm = null;
	var clas =  prefix + (obj != null ? "_" + obj.id : "");
	var sel = true;
	var mainObj = document.getElementById(prefix);
   		 if(mainObj) {
			 // get objects with same prefix
		    if(obj != null && obj.className.indexOf("selected") > -1) mainObj.selected = obj.id;
			if(!mainObj.selected) 
			  sel = getGroup(prefix,mainObj);
			if((mainObj.selected && mainObj.selected != obj.id) || !sel) { 
				if(sel && obj != null) {
					selElm = document.getElementById(mainObj.selected);
					if(selElm && selElm != null){
						selElm.className =  selElm.className.replace(/selected/g,"");
						
					}
				}
			if(obj != null) { 
				mainObj.selected = obj.id;
				obj.href = "javascript:;";
				obj.className += " selected"; 
			}
			mainObj.innerHTML = "&nbsp;";
			mainObj.url = "php/lib/ajax.php";
			mainObj.q = clas;
			var ind = mainObj.className.indexOf(mainObj.id);
			if(ind > -1) {
				var mo = mainObj.className.substring(ind+mainObj.id.length,mainObj.className.length).replace(/ /g,"");
				if(mo != '' && extra == -1) extra = mo;
				
			}
			var sObj = document.getElementById(prefix+"scroller");
			if(sObj) {
			    if(sObj.url && sObj.q) {
					 if(sObj.q.indexOf("_") > -1) {
						var ex = sObj.q.split("_");
						sObj.q = ex[0] + "_" + obj.id;					
					} else sObj.q = sObj.q + "_" +obj.id;
				} else {
				   sObj.q = mainObj.q.replace(clas,prefix+"scroller")+"_"+obj.id;
				}
				sObj.page = 1;
				refreshScroll(sObj);
				mainObj.page = 1;
			}
			mainObj.className = mainObj.className +" loading";
			mainObj.extra  = extra;
			if(preLoad == null) {
				preLoad = new Array();
			}	
			extraSelection(obj,prefix);
			preLoad.push(mainObj);
			send(null,null,false);
			}
		}
}
function getGroup(prefix,mainObj) {
   var arr = document.getElementsByTagName("*");	
   var len = arr.length; 
   for(var i=0; i < len; i++) {
	   var tmpOb = arr[i];
	   if(tmpOb.onclick) {
		  var clk = tmpOb.onclick.toString();
		  if((clk.indexOf("changeSelection") > -1) && (clk.indexOf(prefix) > -1) && (tmpOb.className.indexOf("selected") > -1)) {
			mainObj.selected = tmpOb.id;
			return true;
		  }
	   }
   }
   return false;
}
// "abstract" function
function extraSelection(obj,pref) {
	switch(pref) {
		case "myuploads":
		case "mymsgs":
		case "myfriends":
			var tit = document.getElementById("myuTitle");
			if(tit) tit.innerHTML = obj.innerHTML.charAt(0).toUpperCase() + obj.innerHTML.substr(1).toLowerCase();

		break;
	}
	
}
function refreshScroll(obj) {
	if(obj && obj.url) { 
		if(preLoad == null) {
			preLoad = new Array();
		}
		preLoad.push(obj);
	}
}
function send(url,callback,add) {
	     xmlhttp=null
		 var post = null;
		 if (window.XMLHttpRequest){
    	      xmlhttp=new XMLHttpRequest()
          } else if (window.ActiveXObject) {
	          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
          }
	    if (xmlhttp!=null) {  
		      tmpu = url;
			  if(callback != null  && tmpu != '')
				  xmlhttp.onreadystatechange=function() { state_Changed(callback,add); };
		      else if(preLoad.length > 0 && preLoad != null && url == null) {
				  callback = preLoad[0].id;
				  if(!preLoad[0].recive)
				  	xmlhttp.onreadystatechange=function() { state_Changed(callback,add); };	
				  tmpu = preLoad[0].url;
			  }		
			  var rand = Math.floor(Math.random()*25);
			  post = "rand="+rand;
			  var obj = document.getElementById(callback);
			  if(obj && obj.q)
			  	post += "&q="+obj.q; 
			  if(obj && obj.extra)
			  	post += "&extra="+obj.extra;
			  if(obj && obj.page) 
			    post += "&page="+obj.page;	
			  if(lng > 0) 
			  	post +="&l="+lng;
			  xmlhttp.open("POST",tmpu,true);
			  xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        	  xmlhttp.setRequestHeader("Connection", "close");
			  xmlhttp.send(post);
         }       
}
function state_Changed(prefix,add) {
  if(xmlhttp != null) {
	if (xmlhttp.readyState==4) {
	  if (xmlhttp.status==200) {
		if (xmlhttp.responseText != "") {
		   var response = xmlhttp.responseText;	
		    if(response.indexOf("&p=") > -1) {
				
				var sp = response.split("&p=");
				prefix = sp[1];
			    response = response.substring(0,response.indexOf("&p="));
			}
		    var obj = document.getElementById(prefix);
			var re = new RegExp('[0-9]{1,2}$', "g");
  			var matches = re.exec(response);
			if(add)
 				 obj.innerHTML += response;
		    else {
				 obj.innerHTML = response;
			}
			if(prefix == "timeRem") setTimeout("countdown('"+cid+"')",1000);
			
			if(slider != null && response.length > 10) {
				slider.repopulate();
				slider = null;
			} 
			obj.className = obj.className.indexOf("loading") > -1 ? obj.className.replace(/loading/g, "") : obj.className;
			if(preLoad != null) {
				setEnd(preLoad[0]);
				if(preLoad.length > 0) {
					preLoad.shift();
						if(preLoad.length > 0) {
							send(null,null,add);
						} 
				} else
					 preLoad = null;				
			}
		}
	  }
	}
  }
}
function setEnd(obj) {
	if(obj != null && obj && obj.className) {
		var mObj = document.getElementById(obj.className);
		if(mObj)
			mObj.className = mObj.className.replace(/loading/g,"");	
	}
}
function scrollPages(lnk,obj) {
	var new_page = parseInt(lnk.innerHTML.replace(/ /g,""));
	var mObj = document.getElementById(obj);
	if(mObj && new_page > 0) {
		if(mObj.page) 
			var prev = document.getElementById(obj+"_"+mObj.page);				
		else 
			var prev = document.getElementById(obj+"_1");	
	    
		if(new_page != parseInt(prev.innerHTML.replace(/ /g,""))) {
			if(prev && prev.className) {
				prev.className = prev.className.replace(/selected/g,"");
			}
			lnk.className = lnk.className + " selected";
			mObj.page = new_page;	
			var holder = document.getElementById(obj);
			if(!holder.url) {
			    var url = "php/lib/ajax.php";
				holder.url = url;
				if(!holder.selected) {
				   getGroup(obj,holder);	
				} 
				holder.q = obj;
				if(holder.selected) 
					holder.q+="_"+holder.selected;					
			}
			holder.innerHTML = "&nbsp;";					 
			holder.className = holder.className + " loading";
			location.hash = obj;
			var sObj = document.getElementById(mObj.id+"scroller");
		    if(sObj) {
				if((!holder.extra || holder.extra == "") && sObj.extra)	{
					holder.extra = sObj.extra;
					
				}
				sObj.page = new_page;
				refreshScroll(sObj);
			}
			if(preLoad == null) 
				preLoad = new Array();
			preLoad.push(holder);
			send(null,null,false);
		}
	}
}
function getNN4Obj(obj, name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i = 0; i < x.length; i++)
	{
		if (x[i].id == name)
			foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getNN4Obj(x[i], name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function getStyleObject(objectId) {
	if(document.getElementById && document.getElementById(objectId)) 
	{
		return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId))
	{
		return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId])
	{
		return getNN4Obj(document, objectId);
	} else
	{
		return false;
	}
}

function changeObjectVisibility(objectId, newVisibility)
{
	var styleObject = getStyleObject(objectId, document);
	if(styleObject)
	{
		styleObject.visibility = newVisibility;
		return true;
	} else
	{
		return false;
	}
}
function hideAllMenus() {
	for(counter = 0; counter < numMenus; counter++) 
	{
	changeObjectVisibility('dropDown' + counter, 'hidden');			
	var dd = document.getElementById('dd'+counter);
		if(dd) dd.className = dd.className.replace(/selected/g,"");
	}
}
function showMenu(menuNumber) 
{
	hideAllMenus();
	if(changeObjectVisibility('dropDown' + menuNumber, 'visible')) 
	{
		var dd = document.getElementById('dd'+menuNumber);
		if(dd) {
			var len = dd.offsetWidth;
		    document.getElementById('i' + menuNumber).style.width = len+"px";
			dd.className = dd.className + " selected";
		}
		return true;
	} else 
	{
		return false;
	}
}
function drop(obj,pObj,ex) {
	if(dropOpen != null) {
		dropOpen.className = dropOpen.className.replace(" selected","");
		var dpo = document.getElementById(dropOpen.className);
		if(dpo){
		  if(dropOpen.id == obj.id) 
			  obj.removeChild(dpo);
		  else 
			  dropOpen.removeChild(dpo);
		}
		 if(dropOpen.id != obj.id)
			dropOpen = null;
	}
	if(dropOpen == null) {
		obj.url = "php/lib/ajax.php";
		obj.q = pObj;
		obj.className = obj.className+" selected";
		obj.extra = ex;
		if(preLoad == null) preLoad = Array();
		preLoad.push(obj);
		send(null,null,true);
		dropOpen = obj;	
	} else { 
        if(dropOpen.id == obj.id)
			dropOpen = null;
	}
}
function reportSpam(obj) {
	var objs = document.getElementById(obj);
	if(dropOpen != null) {
		 	dropOpen.style.display ="none";
			dropOpen = null;
	}else if(dropOpen == null) {
		dropOpen = objs;	
		dropOpen.style.display ="block";
	} 
}

function numbersonly(id, e)
{
	var formObj = document.getElementById("form");	
	var f1 = document.getElementById("ttt1");
	var f2 = document.getElementById("ttt2");
	var re = new RegExp("[0-9]","g");
	var valid = formObj[id].value.replace(re,"") != '' ? false : true;
	if(id == 0 && f1.value.length == f1.maxLength && valid && !isNaN(f1.value))
	{	
		f2.focus(); 
	} else if(id == 1 && f1.value.length != f1.maxLength) {
		f1.focus();	
	}
	if(valid) return true;
    else {
		formObj[id].value = formObj[id].value.replace(/\D/g,'');
		return false;
	}
}
function storeCaret(obj)
{
	if (obj.createTextRange)
	{
		obj.caretPos = document.selection.createRange().duplicate();
	}
}
function textareaFuncs(lnk,type) {
 var textarea = document.getElementById('forms').comment;
 var sel_end = -1;
 var sel_start = -1;
 var tag = "<"+lnk.title+(lnk.id != '' ? "="+lnk.id : '')+">";
 var tagE = "</"+lnk.title+">";
	 if(type == 0) 
	   curTag = lnk.title;
	 else if(type == 1)
		  if(lnk.innerHTML.indexOf("*") > -1) 
			  curTag = tagE;
		   else 
			  curTag = tag;

	 if(typeof(textarea.selectionStart) == 'number') {
			sel_start = textarea.selectionStart;
			sel_end = textarea.selectionEnd;
			if(type == 0 || (type == 1 && sel_start == sel_end)) 
			  textarea.value = textarea.value.substring(0,sel_start) + curTag +" " + textarea.value.substring(sel_start,textarea.value.length); 
			else 
			  textarea.value = textarea.value.substring(0,sel_start) + " "+ tag + textarea.value.substring(sel_start,sel_end) + tagE + " "+ textarea.value.substring(sel_end,textarea.value.length); 
														  
	}else if(document.selection) {
			 var range = document.selection.createRange();
			 var range_all = document.body.createTextRange();
			 range_all.moveToElementText(textarea);
			 
				 for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start ++)
				   range_all.moveStart('character', 1);
				   
				 for (var i = 0; i <= sel_start; i ++) 
					if (textarea.value.charAt(i) == '\n')
					 sel_start ++;
			 var range_all = document.body.createTextRange();
			 range_all.moveToElementText(textarea);
			 
			 for (sel_end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; sel_end ++)
				  range_all.moveStart('character', 1);
		
			 for (var i = 0; i <= sel_end; i ++) 
			   if (textarea.value.charAt(i) == '\n')
				 sel_end ++;
			 
			 if(sel_end != sel_start) {
				textarea.value = textarea.value.substring(0,sel_start) + " " + tag + textarea.value.substring(sel_start,sel_end) + tagE + " " + textarea.value.substring(sel_end,textarea.value.length); 	
				
			 } else {
				if(textarea.createTextRange && textarea.caretPos){
					var caretPos = textarea.caretPos;
					caretPos.text = curTag+" ";
				} else {
					textarea.value+=curTag+" ";
				}
		
		}
  }
  if(type == 1 && sel_end == sel_start) {
	  if(lnk.innerHTML.indexOf("*") > -1)
		  lnk.innerHTML = lnk.innerHTML.replace("*","");
	  else 
		  lnk.innerHTML = lnk.innerHTML + "*";
  }
  textarea.focus();
}
function preload(url) {
 if(preLoad == null) 	
  preLoad = new Array();
  var arr = document.getElementsByTagName("div");
  for(i = 0; i < arr.length; i++) {	
	var obj = arr[i];
	 if(obj && obj.className && obj.id && obj.id.length != obj.className.length) {
		 var ind = obj.className.indexOf(obj.id);
		  if(ind > -1 && ind != "undefined") {
			 var extra = url;
			 var mo = obj.className.substring(ind+obj.id.length,obj.className.length).replace(/ /g,"");
			 extra = (mo != '' ? mo :"");	
			 if(url != "") mo+="-"+url
			 var qry = obj.id;  
			  obj.extra = extra;	
			  obj.url = "php/lib/ajax.php";
			  obj.q = qry;
			  obj.innerHTML = "<a name='"+obj.id+"'></a>"+obj.innerHTML;
			  preLoad.push(obj);
		  }
	 }
  }
  var swf = new SWFObject("miniMp3.swf", "mp3", "0", "0", "0", "");
  swf.write("flashcontent");
  if(preLoad.length > 0)
	 send(null,null,true);
  newsObj = document.getElementById('gnews');
	if(newsObj) {
		setTimeout("rotateTabs()", 8000);	
	}
	
}

function getFlashMovieObject(movieName){
  if (window.document[movieName]) {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)  {
    if (document.embeds && document.embeds[movieName]) return document.embeds[movieName]; 
  } else {
    return document.getElementById(movieName);
  }
}

function preview() {    
   var flash = getFlashMovieObject("previewswf");
   var tt1 = (document.getElementById('t1') ? document.getElementById('t1').value : '')+","+(document.getElementById('t2') ? document.getElementById('t2').value : '');
   flash.SetVariable("/:ff",tt1);
}
function selectObj(obj,e) {
    var targ;
	var obj = document.getElementById(obj);
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) 
		targ = targ.parentNode;
	if(obj && (targ && targ.id != obj.id)) {
		if(obj.type == "checkbox" || obj.type == "radio") {
			if(!obj.checked) obj.checked = true;	
		}
	}
}
function disableElement(obj,dobj,extra) {
	var dob = document.getElementById(dobj);
	if(obj) {
	 if(obj.value != 0 && obj.value != '') {	
	 		if(dob) {
				dob.value = "";
		 		dob.disabled = true;	
			}
			document.getElementById('userPreview').className = "<input type='hidden' value='' name='userID1' />"; 
	    	changeSelection(null,'userPreview',obj.value+"-"+extra);
	 } else {
		 if(dob)  dob.disabled = false;	 
		 document.getElementById('userPreview').innerHTML = "<input type='hidden' value='' name='userID1' />"; 
	 }
	}
}
function openBox(id) {
	var obj = document.getElementById(id);
	if(obj) {
		if(obj.style.display == "none") 
			obj.style.display = "block";
		else 
			obj.style.display = "none";	
	}
}
function search(form) {
	var len = form.length;
	var action = form.action;
	var tmpaction ="";
	var checked = 0;
	if(form.q.value != form.q.defaultValue && form.q.value.replace(/ /g,'') != '') {
		for(var i = 0; i < len; i++) {
			var obj = form.elements[i]; 
			if(obj.type == "checkbox" && obj.checked) {
				tmpaction += ((tmpaction != '' ? "," : "")+obj.name);
				obj.checked = false;
				checked++;
			}
		}
		if(tmpaction == "" || checked == 8) tmpaction = "all";
		if(tmpaction != ''){ 
			form.type.value = tmpaction;
		}
		return true;
	}
	return false;
}	
function folowLink(obj) {
 var objs = obj.getElementsByTagName('a');
 if(objs.length > 0) window.location.href=objs[0].href;
}
function rotateTabs() {
	if(tabArray.length > 0 && newsObj) {
		if(!pauseRotation) {
			tabPoz++;
			if(tabPoz > tabArray.length-1) tabPoz = 0;
			var obj = document.getElementById(tabArray[tabPoz]);
			var ex = obj.className.replace(newsObj.id+"_"+obj.id,"").replace("selected","").replace(/ /g,"");
			if(ex != '') {
				changeSelection(obj,newsObj.id,ex);
		 	 } else changeSelection(obj,newsObj.id,-1);
			
		
		setTimeout("rotateTabs()", 8000);	
		}
	}
}
function drawPopup(obj,e) {
	if(obj) {
		if(!e) 
		if(window.event) e = window.event;
		var imgs = obj.getElementsByTagName("img");
		if(imgs.length > 0) {
		   var img = imgs[0];
		   var mX = 0;
		   var mY = 0;
		   if(popEl == null && img.title && img.name) {
				createPopup(img);
			}
		   if(popEl != null) {
			   if (e.pageX) {
					 mX = e.pageX;
					 mY = e.pageY;
			   } else if(e.clientX) {  
					 mX = e.clientX;
					 mY = e.clientY;
				   if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
					   mX += document.body.scrollLeft;
					   mY += document.body.scrollTop;
				   } else if(document.documentElement && ( document.documentElement.scrollLeft ||  document.documentElement.scrollTop)) {
					   mX += document.documentElement.scrollLeft;
					   mY += document.documentElement.scrollTop;
				   }
			  }
			  popEl.style.left = (mX -3)-243 + "px";
			  popEl.style.top = mY + "px";			   
		   }  		   
		}
	}
}
function createPopup(img) {
	 var main = document.createElement("div");
	 main.style.zIndex = 1;
	 main.className = "popup";
	 main.style.position = "absolute";
	 var hld = document.createElement("div");
	 hld.className = "pholder";
	 main.appendChild(hld);
	 var popp = document.getElementsByTagName("body")[0];
	 var title = document.createElement("span");
	 title.innerHTML = img.title;
	 var text = document.createElement("div");
	 text.innerHTML = img.name;
	 hld.appendChild(title);
	 hld.appendChild(text);				
	 popp.appendChild(main);
	 popEl = main;
}
function removePopup() {
	if(popEl != null) {
		var popp = document.getElementsByTagName("body")[0];
		if(popp){	
			popp.removeChild(popEl);
			popEl = null;
		}
	}
}
function soundComplete(id) {
    if(id != '' && playing != null && playing) {
      playing.className = playing.className.replace(" playing","");
      playing.playing = "0";  
      var mobj = getFlashMovieObject("mp3");
      mobj.SetVariable("/:cbPlay",playing.playing); 
    }  
}
function playStop(obj,id) {
    if(obj) {
      if(!obj.playing || (playing != null && playing.id != obj.id))  obj.playing = "0"; 
      var mobj = getFlashMovieObject("mp3");
        if(mobj) {
          if(playing != null && playing.id != obj.id) {
              playing.playing = "0"; 
              playing.className = playing.className.replace("playing","");           
          } 
          if(obj.playing == "1") {
             obj.playing = "0";   
             obj.className = obj.className.replace(" playing","");  
          } else if(obj.playing == "0"){
            obj.playing = "1";  
             obj.className = obj.className + " playing";   
          } 
          playing = obj; 
          mobj.SetVariable("/:cbId",id);
          mobj.SetVariable("/:cbPlay",obj.playing);
        }
    }
}
function rate(id,objId,rate) {
	var obj = document.getElementById(objId);
	if(obj) {
		var cur = obj.getElementsByTagName("*")[0];
		if(cur) {
			var sobj = document.createElement("div");
			var newCur = document.createElement("div");
			newCur.style.width = Math.round(((parseInt(cur.style.width))+(rate*10))/2)+"%";
			newCur.className = obj.className+"-curr";
			obj.innerHTML = "";
			obj.appendChild(newCur);
			obj.url = "php/lib/ajax.php";
			obj.q = obj.className;
			obj.recive = "0";
			obj.extra = id+"-"+rate;	
			if(preLoad == null) preLoad = new Array();
			preLoad.push(obj);
			send(null,null,false);
		}
	}
}
function reloadPage() {
	window.location=window.location.href;
}
function selectElement(obj,val) {
	if(obj) {
		if(selEl != null && obj != selEl) {
			selEl.className = selEl.className.replace(/selectedEl/g,"");	
		}
		if(obj != selEl)
			obj.className = obj.className+" selectedEl";
		selEl = obj;
		var ss = document.getElementById("ss");
		if(ss) ss.value = val;
	}
}
function getMaxLen(obj,id) {
	var objs = document.getElementById(id);
	if(objs && obj) {
		var maxLen = parseInt(objs.id.replace("chars",""));
		if(obj.value.length > maxLen) {
			obj.value = obj.value.substr(0,maxLen);	
		}
		objs.innerHTML = maxLen-obj.value.length;
	}
}