var actRef = location.href;

var getCDATA = function(element) {
	var ie = (typeof window.ActiveXObject != 'undefined');
	var returnText;
	if(ie) {
		if(element.hasChildNodes)
			returnText = element.childNodes[0].nodeValue;
	}
	else {
		if(element.hasChildNodes)
			returnText = element.childNodes[1].nodeValue;
	}
	return returnText;
}
	
var srcriptsToEval = new Array();

/*var evalScript = function(script) {
	var cnt = srcriptsToEval.lenght;
	srcriptsToEval[cnt] = script;
}

var evalAllScripts = function() {
	for(var i=0; i<srcriptsToEval.length; i++)
		eval(srcriptsToEval[i]);
}*/

var ajaxSuccess = function(t) {
	
	var rXML = t.responseXML;
	var elements = rXML.getElementsByTagName("element");
	
	var allElements = new Array(elements.length);
	
	for(var i=0; i<elements.length; i++) {
	
		var el = elements[i];
		
		var elementName = '';
		var elementDisplay = '';
		var elementContent = 0;
		
		for(var j=0; j<el.childNodes.length; j++)
			if(typeof el.childNodes[j].tagName != "undefined") {
				if(el.childNodes[j].tagName == "name")
					elementName = el.childNodes[j].firstChild.nodeValue;
				else if(el.childNodes[j].tagName == "display")
					elementDisplay = el.childNodes[j].firstChild.nodeValue;
				else if(el.childNodes[j].tagName == "content") {
					elementContent = el.childNodes[j].firstChild.nodeValue;
				}
			}
			
		var docEl = $(elementName);
		
		var elDisp = false;
		if(elementDisplay == 1)
			elDisp = true;
		var docElDisp = true;
		if(docEl.style.display == "none")
			docElDisp = false;
		
		allElements[i] = {
			name: elementName,
			display: elementDisplay,
			content: elementContent
		};
		
	}
	
	var timeOffset = 0;
	
	// Цикл сворачивания
	
	for(i=allElements.length-1; i>=0; i--) {
		var el = allElements[i];
		var docEl = $(el.name);
		var elDisp = false;
		if(el.display == 1)
			elDisp = true;
		var docElDisp = true;
		if(docEl.style.display == "none")
			docElDisp = false;
		
		if(elDisp != docElDisp) {
			if(elDisp == true) {
			}
			else {
				//$(docEl).setStyle({display:"none"});
				if(el.name == "catSwitcher_inner_1" ||
				   el.name == "catSwitcher_inner_2" ||
				   el.name == "catSwitcher_inner_3" ||
				   el.name == "catSwitcher_inner_4")
					window.setTimeout("Effect.SlideUp($('"+el.name+"'), {duration: 0.2});",timeOffset);
				else
					window.setTimeout("Effect.Fade($('"+el.name+"'), {duration: 0.2});",timeOffset);
				timeOffset += 200;
			}
		} else if(el.name=="b-text-div" && elDisp == true) {
			$(el.name).setStyle({display: "none"});
		}
	}
	
	// Цикл замены HTML
	
	for(i=0; i<elements.length; i++) {
		var el = allElements[i];
		var docEl = $(el.name);
		if(typeof docEl == "object" && typeof el.content == "string") {
			if(el.name != "b-title") {
				docEl.innerHTML = el.content;
				var exp = '<script[^>]*>([^<]*)<[\/]{1}script>';
				var reg = new RegExp(exp, 'gi');
				var myText = el.content;
				var arr = myText.match(reg);
				
				if(arr) {
					var newMatch;
					for(var j=0;j<arr.length;j++){
						reg = new RegExp(exp, 'gi');
						newMatch = reg.exec(arr[j]);
						eval(newMatch[1]);
					}
				}
			}
		}
	}
	
	// Цикл разворачивания
	
	for(i=0; i<elements.length; i++) {
		var el = allElements[i];
		var docEl = $(el.name);
		var elDisp = false;
		if(el.display == 1)
			elDisp = true;
		var docElDisp = true;
		if(docEl.style.display == "none")
			docElDisp = false;
		
		if(elDisp != docElDisp) {
			if(elDisp == true) {
				//$(docEl).setStyle({display:""});
				if(el.name == "catSwitcher_inner_1" ||
				   el.name == "catSwitcher_inner_2" ||
				   el.name == "catSwitcher_inner_3" ||
				   el.name == "catSwitcher_inner_4")
					window.setTimeout("Effect.SlideDown($('"+el.name+"'), {duration: 0.2});",timeOffset);
				else
					window.setTimeout("Effect.Appear($('"+el.name+"'), {duration: 0.2});",timeOffset);
				
				timeOffset += 200;
			}
			else {
			}
		} else if(el.name=="b-text-div" && elDisp == true) {
			window.setTimeout("Effect.Appear($('"+el.name+"'), {duration: 0.2});",timeOffset);
			timeOffset += 200;
		}
	}
	
	window.setTimeout(ancherReplace, timeOffset);
//	ancherReplace();
}

var ajaxlocate = function(aHandle) {
	var href = aHandle.href;
	
	yaCounter1138538.hit(href, href, actRef);
	actRef = href;
	
	if(href.indexOf("?") == -1)
		href += "?updateAjax=1";
	else
		href += "&updateAjax=1";
	new Ajax.Request(
		href, {
			method: 'get',
			onSuccess: ajaxSuccess,
			onFailure: function(t){alert("Error: "+t.statusText)}
		}
	);
}

var ajaxlocateaddress = function(address) {
	
	yaCounter1138538.hit(address, address, actRef);
	actRef = address;
	
	if(address.indexOf("?") == -1)
		address += "?updateAjax=1";
	else
		address += "&updateAjax=1";
	new Ajax.Request(
		address, {
			method: 'get',
			onSuccess: ajaxSuccess,
			onFailure: function(t){alert("Error: "+t.statusText)}
		}
	);
}

var ancherReplace = function () {
	var host = location.host;
	host.replace('.','\.');
	var reg = new RegExp(host);
	var allAnchers = $$('a:not([rel~=nofollow])');
	for(i=0; i<allAnchers.length; i++) {
		if(reg.test(allAnchers[i].href) && allAnchers[i].className != "lightview" && allAnchers[i].className != "highslide") {
			allAnchers[i].stopObserving('click');
			allAnchers[i].observe("click", function(e){e.preventDefault(); ajaxlocate(this)});
		}
	}
}

addLoadEvent(ancherReplace);
