
	var d = document;
	var remainedTimeVal = 0;
	var liveTimerTitleVal = "";
	
	String.prototype.fetchAssocArray = function (value)
	{
		if(this != "")
		{
			var tmpArr = this.split(value);
			if(tmpArr.length > 0)
			{
				var arr = new Array();
				for(var i = 0; i < tmpArr.length; i++)
				{
					if(i % 2 == 1)
					{
						arr[tmpArr[(i - 1)]] = tmpArr[i];
					}
				}
				return arr;
			}
		}
		return false;
	}
	
	function popUpWindow(url, w, h)
	{
		mywin =	window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=' + w + ',height=' + h);
	}

	////
	// submits top search form...
	//
	function searchPost(cmdSearch)
	{
		if (d.advanced_search_form.elements.keywordtmp.value == ""
		    || d.advanced_search_form.elements.keywordtmp.value == "search"
		    || d.advanced_search_form.elements.keywordtmp.value == "Please, enter keyword..."
		   )
		{
			d.advanced_search_form.elements.keywordtmp.value = "Please, enter keyword...";
			return false;
		}

		if(cmdSearch == "search")
		{
			frmName = "search_form";
			frm = d.getElementById(frmName);
			frm.elements.band_name.value = d.advanced_search_form.elements.keywordtmp.value;
			frm.submit();
			return;
		}
		else
		{
			frmName = "advanced_search_form";
			frm = d.getElementById(frmName);
			frm.elements.keyword.value = d.advanced_search_form.elements.keywordtmp.value;
			frm.submit();
			return;
		}
	} // /searchPost()



	////
	// ...
	//
	function showTab(buttonObj)
	{
		var parentObj = buttonObj.offsetParent;
		while(parentObj.nodeName != "TD")
		{
			parentObj = parentObj.offsetParent;
		}
		var aArr = parentObj.getElementsByTagName("A");
		var divArr = parentObj.getElementsByTagName("DIV");
		var tabsCount = 0, curentId = 0, tab = null;
		for(var i = 0; i < aArr.length; i++)
		{
			if(aArr[i].className == "smallButtonOff" || aArr[i].className == "smallButtonOn" || aArr[i].className == "smallButtonHidden")
			{
				if(aArr[i] == buttonObj)
				{
					curentId = tabsCount;
				}
				aArr[i].className = "smallButtonOff";
				tabsCount++;
			}
		}
		buttonObj.className = "smallButtonOn";
		curentId = "tab" + (tabsCount - curentId);
		for(var i = 0; i < divArr.length; i++)
		{
			if(divArr[i].getAttribute("name") == "tab")
			{
				if(divArr[i].getAttribute("id") == curentId)
				{
					divArr[i].style.display = "block";
					var UrlDiv = divArr[i].getElementsByTagName("DIV");
					if(UrlDiv && UrlDiv[0] && UrlDiv[0].id == "tab_url")
					{
						aArr[0].href = UrlDiv[0].innerHTML;
					}
				}else
				{
					divArr[i].style.display = "none";
				}
				
			}
		}

		return false;
	}
	// /showTab()



	function showLiveTimer(remainedTime)
	{
		if(remainedTimeVal == 0)
		{
			remainedTimeVal = remainedTime;
		}else
		{
			remainedTimeVal--;
		}

		var dayS = 24*60*60;
		var hourS = 60*60;
		var minutesS = 60;

		var seconds = remainedTimeVal;
		var day = (seconds - (seconds % dayS)) / dayS;
		day = (day < 10) ? "0" + day : day;
		seconds = seconds % dayS;
		var hour = (seconds - (seconds % hourS)) / hourS;
		hour = (hour < 10) ? "0" + hour : hour;
		seconds = seconds % hourS;
		var minutes = (seconds - (seconds % minutesS)) / minutesS;
		minutes = (minutes < 10) ? "0" + minutes : minutes;
		seconds = seconds % minutesS;
		seconds = (seconds < 10) ? "0" + seconds : seconds;

		d.getElementById("liveTimerDaysVal").innerHTML = day;
		d.getElementById("liveTimerHoursVal").innerHTML = hour;
		d.getElementById("liveTimerMinutesVal").innerHTML = minutes;
		d.getElementById("liveTimerSecondsVal").innerHTML = seconds;

		if(remainedTimeVal > 0)
		{
			setTimeout("showLiveTimer(0);", 1000);
		}else
		{
			liveTimeNow();
		}
		return true;
	}// end showLiveTimer()

	function liveTimeNow()
	{
		removeElementById("liveTimerDHMS_tr");
		d.getElementById("liveTimerDHMSVal").style.padding = "8px 0px 0px 0px";
		d.getElementById("liveTimerDHMSVal").innerHTML = '<a class="siteColor" href="' + d.getElementById("liveTimerLink").innerHTML + '">LIVE NOW</a>';
	}//end liveTimeNow()

	function showLiveTitle(titleLen)
	{
		var spase = " ***** ";
		liveTimerTitleVal = (liveTimerTitleVal == "") ? (d.getElementById("liveTimerTitleRealVal").innerHTML + spase) : liveTimerTitleVal;
		var fin = liveTimerTitleVal.length - 1;
		var newTitle = "";
		for(var i = 0; i < fin; i++)
		{
			newTitle += liveTimerTitleVal.charAt(i + 1);
		}
		newTitle += liveTimerTitleVal.charAt(0);
		liveTimerTitleVal = newTitle;
		d.getElementById("liveTimerTitleVal").innerHTML = liveTimerTitleVal.substr(0, titleLen);
		setTimeout("showLiveTitle(" + titleLen + ");", 250);
	}// end showLiveTitle()


	function removeElementById(elementId)
	{
		var obj = d.getElementById(elementId);
		obj.parentNode.removeChild(obj);
	}// end removeElementById()


	function hideElement(elmnt)
	{
		if(document.getElementById(elmnt))
		{
			document.getElementById(elmnt).style.display = 'none';
		}
	}

	function getProfileComments(elmnt)
	{
		if(document.getElementById(elmnt))
		{
			document.getElementById(elmnt).style.display = 'block';
			hideElement('innerProfileComments');
			hideElement('addComment');
		}
	}

	function addProfileComment(elmnt)
	{
		if(document.getElementById(elmnt))
		{
			document.getElementById(elmnt).style.display = 'block';
			hideElement('innerProfileComments');
			hideElement('innerAllProfileComments');
		}
	}
	
	
	function setElementOpacity(elem, opacity)
	{
	  var opacityProperty = getOpacityProperty();	
	  if (!elem || !opacityProperty) return;
	  if (opacityProperty == "filter")
	  {
	    elem.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
	  }
	  else
	  {
	    elem.style[opacityProperty] = opacity;
	  }
	}

	function getOpacityProperty()
	{
	  if (typeof d.body.style.opacity == 'string') return 'opacity'; // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9)
	  else if (typeof d.body.style.MozOpacity == 'string') return 'MozOpacity'; // Mozilla 1.6-, Firefox 0.8 
	  else if (typeof d.body.style.KhtmlOpacity == 'string') return 'KhtmlOpacity'; // Konqueror 3.1, Safari 1.1
	  else if (d.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) return 'filter'; // Internet Exploder 5.5+
	  return false;
	}
	
	var disappearActive = false;
	var appearActive = false;
	var opacityLevel = 100;
	var nID = 0;
	
	function setNews()
	{
		if(opacityLevel == 100 && !disappearActive)
		{
			disappearActive = true;
			appearActive = false;
			setTimeout("disappearElement(news)", delay * 1000);
		}
		else if(opacityLevel == 0 && !appearActive)
		{
			nID++;
			nID = (nID >= newsArr.length) ? 0 : nID;
			news.innerHTML = newsArr[nID];
			appearActive = true;
			disappearActive = false;
			appearElement(news);
		}
		setTimeout("setNews()", 100);
		return false;
	}
	
	function appearElement(elem)
	{
		if(opacityLevel < 100 && appearActive)
		{
			opacityLevel += step;
			setElementOpacity(elem, opacityLevel / 100);
			setTimeout("appearElement(news, timeout, step)", timeout);
		}
		return true;
	}
	
	
	function disappearElement(elem)
	{
		if(opacityLevel > 0 && disappearActive)
		{
			opacityLevel -= step;					
			setElementOpacity(elem, opacityLevel / 100);
			setTimeout("disappearElement(news, timeout, step)", timeout);
		}
		return true;
	}
	
	////////////////////////
	// basic AJAX Methods
	//
	var http;
	
	function createRequestObject()
	{
		var ro;
		if (window.XMLHttpRequest)
		{
			ro = new XMLHttpRequest();
		} else
		{
			ro = new ActiveXObject('Msxml2.XMLHTTP');
			if(!ro)
			{
				ro = new ActiveXObject('Microsoft.XMLHTTP');
			}
		}
		return ro;
	}

	function sndReq(url, parameters, method, handleResponse)
	{
		http = createRequestObject();
		http.onreadystatechange = handleResponse;

		if (method == "GET")
		{
			http.open('GET', url + "?" + parameters, true);
			http.send(null);
		}
		else if(method == "POST")
		{
			http.open('POST', url, true);
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", parameters.length);
			http.setRequestHeader("Connection", "close");
			http.send(parameters);
		}
	}
	//
	//
	////////////////////////
	
	
	function hide()
	{
		if(hide.arguments.length > 0)
		{
			var el = hide.arguments[0];
			el = (typeof(el) == "string") ? d.getElementById(el) : el;
			if(el && typeof(el) == "object")el.style.display = "none";
		}
		return false;
	}
	
	function show()
	{
		var display = "block";
		if(show.arguments.length > 0)
		{
			if(show.arguments.length > 1)
			{
				display=show.arguments[1];
			}
			var el = show.arguments[0];
			el = (typeof(el) == "string") ? d.getElementById(el) : el;
			if(el && typeof(el) == "object")el.style.display = display;
		}
		return false;
	}
	
	function setParam()
	{
		if(setParam.arguments.length > 1)
		{
			var el = setParam.arguments[0];
			el = (typeof(el) == "string") ? d.getElementById(el) : el;
			return eval("el." + setParam.arguments[1]);
		}
		return false;
	}
	
	function createOver(o)
	{
		if(o)return o;
		o = d.createElement("DIV");
		d.body.appendChild(o);
		o.style.width = "100%";
		o.style.display = "none";
		o.style.background = "black";
		o.style.position = "absolute";
		o.style.top = "0";
		o.style.left = "0";
		o.style.height = d.body.offsetHeight + "px";
		setElementOpacity(o, 0.85);
		return o;
	}
	
	function getScrollXY()
	{
	  var scrOfX = 0, scrOfY = 0;
	  if(typeof(window.pageYOffset) == 'number')
	  {
	    //Netscape compliant
	    scrOfY = window.pageYOffset;
	    scrOfX = window.pageXOffset;
	  }else if(d.body && d.body.scrollTop)
	  {
	    //DOM compliant
	    scrOfY = d.body.scrollTop;
	    scrOfX = d.body.scrollLeft;
	  }else if(d.documentElement && d.documentElement.scrollTop)
	  {
	    //IE6 standards compliant mode
	    scrOfY = d.documentElement.scrollTop;
	    scrOfX = d.documentElement.scrollLeft;
	  }
  	return [scrOfX, scrOfY];
	}
	
	function getWindowSize()
	{
		var w = 0, h = 0;
		if(window.innerWidth)
		{
			w = window.innerWidth;
			h = window.innerHeight;
		} else if(d.body && d.documentElement.clientWidth)
		{
			w = d.documentElement.clientWidth;
			h = d.documentElement.clientHeight;
		}
		return [w, h];
	}
	
	var ajaxSubmitedForm;
	
	function ajaxSubmit(frm)
	{
		ajaxSubmitedForm = (typeof(frm) == "string") ? d.getElementById(frm) : frm;
		if(ajaxSubmitedForm.validate_fields_f && !eval(ajaxSubmitedForm.validate_fields_f.value + "(ajaxSubmitedForm)"))	return false;
		var params = ajaxRequest();
		if(params != "")
		{
			if(ajaxSubmitedForm.loading_f) eval(ajaxSubmitedForm.loading_f.value + "()");
			sndReq("/wf/index.php", params, "POST", ajaxHandleResponse);
		}
		return false;
	}
	
	function ajaxRequest()
	{
		var res = "";
		for(var i = 0; i < ajaxSubmitedForm.elements.length; i++)
		{
			if(ajaxSubmitedForm.elements[i].type == "checkbox" || ajaxSubmitedForm.elements[i].type == "radio")
			{
				if(ajaxSubmitedForm.elements[i].checked)
				{
					res += ajaxSubmitedForm.elements[i].name + "=" + ajaxSubmitedForm.elements[i].value + "&";
				}
			}else
			{
				res += ajaxSubmitedForm.elements[i].name + "=" + ajaxSubmitedForm.elements[i].value + "&";
			}
		}
		return encodeURI(res);
	}

	function ajaxHandleResponse()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;
			if(ajaxSubmitedForm.after_post_f) eval(ajaxSubmitedForm.after_post_f.value + "(t,ajaxSubmitedForm)");
		}
	}
	
	/********************/
	/* overlays
	*/
	var over = null;
	var scrollXY, windowSize, divObj;
	var divsTop = new Array;
	
	function overlayInit()
	{
		scrollXY = getScrollXY();
		windowSize = getWindowSize();
		over = createOver(over);
		show(over);
	}
	
	function overlayOpen(divID)
	{
		if(divObj = d.getElementById(divID))
		{
			overlayInit();
			
			if(!divsTop[divObj.id])
			{
				var marginTop = divObj.style.marginTop && parseInt(divObj.style.marginTop) > 0 ? parseInt(divObj.style.marginTop) : 0;
				divsTop[divObj.id] = marginTop > 0 ? marginTop : 150;
				divObj.style.marginTop = "0px";
			}
			
			divObj.style.position = "absolute";
			divObj.style.top = scrollXY[1] + divsTop[divObj.id] + "px";
			divObj.style.left = "0px";
			divObj.style.textAlign = "center";
			divObj.style.zIndex = "10000";
			divObj.style.width = windowSize[0] + "px";
			
			
			show(divObj);
		}
		return false;
	}
	
	function overlayClose()
	{
		hide(divObj);
		hide(over);
		return false;
	}
	
	function overlayLoadingOn()
	{
		hide(divObj.id + "_content");
		show(divObj.id + "_loading");
		return false;
	}
	
	function overlayLoadingOff()
	{
		hide(divObj.id + "_loading");
		show(divObj.id + "_content");
		return false;
	}