/* Global variables */
	var data;
	var dataCollection = '';
	var waiting = '<img style="position: relative; top: 2px;" src="templates/common/images/ajax.gif" alt="..." />';
	var site_vdir = '';

	repairTroubleWithJS = function () {/*document.body.style.fontSize = 68 + Math.random()/6 + 0.75 + '%';*/}
	refreshCodeImage 	= function (){if ($('codeimageChangeable')) $('codeimageChangeable').src = 'codeimage/'+Math.random();}

/* Common functions */

	function getElementsByClass(searchClass,node,tag) {
		
		var classElements = new Array();
		if (node == null)	{node = document;}
		if (tag == null)	{tag = '*';}
		
		var els 	= node.getElementsByTagName(tag);
		var elsLen 	= els.length;
		var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
		
		for (i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className)) {
				classElements[j] = els[i];
				j++;
			}
		}	
		return classElements;
	}

	function hide (id) {
		if ($(id)) $(id).style.display = 'none';
		return true;
	}

	function show (id) {
		if ($(id)) $(id).style.display = '';
		return true;
	}


	function $() 
	{    
		  var elements = new Array();    
			for (var i = 0; i < arguments.length; i++) 
		  {    
				var element = arguments[i];    
				if (typeof element == 'string')    
				  element = document.getElementById(element);    
				if (arguments.length == 1)    
				  return element;    
				elements.push(element);    
		  } 
		  return elements;    
	}
	
	function newWindow(url, width, height)
	{
		var left = Math.round((screen.width/2)-(width/2));
		var top = Math.round((screen.height/2)-(height/2));
		FormWin = window.open(url, '', "width="+width+", height="+height+", status=no, menubar=no, resizable=no, scrollbars=no,  border=no, toolbar=no, left="+left+", top="+top);
	}
	
	printit = function ()
	{
		if(window.print) window.print(); return false;
		var WebBrowser = '<object id="WebBrowserPrint" width="0" height="0" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowserPrint.ExecWB(6, 2);
	}
	
	MyUserFunction = function () {}
	
	checkmail = function (email) 
	{ 
		dog = email.indexOf("@"); 
		if (dog == -1) return false; 
		if (email.indexOf(".") == -1) return false; 
		if ((dog < 1) || (dog > email.length - 5)) return false;  
		if ((email.charAt(dog - 1) == '.') || (email.charAt(dog + 1) == '.')) return false; 
		return true;
	} 
	

/* Text tabs function */

	function hideTabElement(id) {$(id).style.display = 'none';}
	
	function hideAllTabElements()
	{
		for(var i = 0; i < document.getElementsByTagName('div').length; i++)
		if (document.getElementsByTagName('div')[i].className == 'tab-text')
		{
			document.getElementsByTagName('div')[i].style.display = 'none';
			$('link-'+document.getElementsByTagName('div')[i].id).className = '';
		}
	}
	
	function toggleTabElement(id)
	{
		hideAllTabElements();
		if ($(id).style.display == 'none')
		{
			$(id).style.display = '';
			$('link-'+id).className = 'link-hovered';
		}
		else
		{
			$(id).style.display = 'none';
			$('link-'+id).className = '';
		}
	}

/* Lang functions */

	var lang = new Array();
	function getlang (id) {if (lang[id]) return lang[id]; else id;}
	lang['uncorrect_name'] 			= 'Неверный логин';
	lang['fill_this_field'] 		= 'Заполните данное поле';
	lang['uncorrect_email'] 		= 'Некорректный email';
	lang['search'] 					= 'Поиск по сайту';
	lang['uncorr_fullname'] 		= 'Некорректное имя.<br /> Внимательно прочитайте пояснение.';


		
/* Cookie function */

	setCookie = function (name, value)
	{
		var exp = new Date();
		var e = exp.getTime()+(24*60*60*30*1000);
		exp.setTime(e);
		document.cookie = name + "=" + escape(value) + ";path=/;expires="+exp.toUTCString();
	}
	getCookie = function (name)
	{
		var prefix = name + "=";
		var start = document.cookie.indexOf(prefix);
		if (start == -1) return false;
		var end = document.cookie.indexOf(";", start + prefix.length)
		if (end == -1)	end = document.cookie.length;
		return unescape(document.cookie.substring(start + prefix.length, end));
	}

/* Page navgiation */

	function go (href, block)
	{
		MyUserFunction = repairTroubleWithJS;
		
		$('pages').innerHTML = waiting;
		
		data = 'ajax=1';
		data = data + dataCollection;
	
		if (href.search(/poll/i) != -1) {
			__pages_cache = new Array();
		}

		ExecuteXMLCall(href, block, 'post', data,	false, '', $(block).innerHTML);
	}

	
/* News functions */
		
	function showNewsByCat (site_vdir, type, ob, url) 
	{
		ob.className 	 = 'link-hovered';
		
		MyUserFunction = repairTroubleWithJS;
	
		data = 'ajax=1';
		data = data + '&type=' + type;
		dataCollection = '&type=' + type;
		
		$('newsloader').innerHTML = waiting;
	
		ExecuteXMLCall(site_vdir+'plugins/articles/listext'+url, 'newsblock', 'post', data,	false, '', $('newsblock').innerHTML);
	}
	
	
/* Forms */

	showForm = function (id) {
		MyUserFunction = function(){};

		tabs = getElementsByClass('block- faq-form-active');
	
		for (i = 0; i<tabs.length; i++) {
			
			tabs[i].className = 'block- faq-form-unactive';
		}

		$('tabform-'+id).className = 'block- faq-form-active';
		data = 'ajax=1';
		ExecuteXMLCall('plugins/content_forms/content_forms/id/'+id, 'formcontent', 'post', data,	true, '', $('formcontent').innerHTML);
		
	}

	sendForm = function (id) {
		
		var error = 0;

		checkers = getElementsByClass('checkers');

		for (var i=0; i<checkers.length; i++) {
			
			
			currentId = checkers[i].id.substr(2);

			if ($('error-'+currentId)) {

				$('error-'+currentId).innerHTML = '';
				
				if (checkers[i].value == 'textarea' && $('xfield-'+currentId).value == '') {
					$('error-'+currentId).innerHTML = getlang('fill_this_field'); 
					error = 1;
				} 
				if  (checkers[i].value == 'text' && $('xfield-'+currentId).value == '') {
					$('error-'+currentId).innerHTML = getlang('fill_this_field'); 
					error = 1;
				} 
				if  (checkers[i].value == 'email' && $('xfield-'+currentId).value == '') {
					$('error-'+currentId).innerHTML = getlang('fill_this_field'); 
					error = 1;
				} 
				if  (checkers[i].value == 'checkbox' && !$('xfield-'+currentId).checked) {
					$('error-'+currentId).innerHTML = getlang('fill_this_field'); 
					error = 1;
				} 
				if  (checkers[i].value == 'email' && !checkmail($('xfield-'+currentId).value)) {
					$('error-'+currentId).innerHTML = getlang('uncorrect_email');
					error = 1;
				}
				if  (checkers[i].value == 'checkbox_gr') {
					
					var item = 0;
					for(var j=1; j<=$('xfield-'+currentId).value; j++) {
						if($('xfield-'+currentId +'-'+j).checked) { item++; }
					}

					if (item < 1)  {
						$ ('error-'+currentId).innerHTML = 'Не отмечен ответ'; error = 1;
					}
				}
			}


		}

		if (error) {
			return false;
		} else {

			$('form-button').innerHTML = waiting;

			MyUserFunction = function(){var timeOut = setTimeout('showForm(\''+id+'\');', 4000);};

			data  = 'ajax=1';
			data += '&askImage='+$('askImage').value;
			data += '&manager='+$('manager').value;


			checkers = $('orderForm').elements;

			for (var i=0; i<checkers.length; i++) {
				if (checkers[i].id.substr(0,6) == 'xfield') {
					if (checkers[i].type == 'checkbox'){
						if (checkers[i].checked) {
							data += '&'+checkers[i].id+'='+checkers[i].value;
						}
					} else {
						data += '&'+checkers[i].id+'='+checkers[i].value;
					}
				}
			}
			ExecuteXMLCall('plugins/content_forms/content_forms/id/'+id, 'formcontent', 'post', data,true,'','content');
		}
		return true;
	}