jQuery(function(){
    openimage_init();
});


// Увеличенные миниатюрки
function openimage_init()
{
	jQuery('a.openimage').click(function(){

		// Создадим картинку
		image_data = jQuery('<img>');
		image_data.attr('src',jQuery(this).attr('href'));
		image_data.css('cursor','pointer');
		image_data.click(function(){jQuery.modal.close();});

		image_data.load(function(){

			// Ресайз
			cwidth = jQuery(window).width();
			cheight = jQuery(window).height();

			imgWidth = image_data.attr('width');
			imgHeight = image_data.attr('height');

			widthPrecent=0;
			if (imgWidth>cwidth)
			{
				rzc=(imgWidth-cwidth)+50;
				prc=imgWidth/100;
				widthPrecent=Math.ceil(rzc/prc);
			}

			heightPrecent=0;
			if (imgHeight>cheight)
			{
				rzc=(imgHeight-cheight)+50;
				prc=imgHeight/100;
				heightPrecent=Math.ceil(rzc/prc);
			}

			if (widthPrecent>0 || heightPrecent>0)
			{
				if (widthPrecent>heightPrecent)
					prec=widthPrecent;
				else
					prec=heightPrecent;

				imgWidth=Math.ceil(imgWidth-((imgWidth/100)*prec));
				imgHeight=Math.ceil(imgHeight-((imgHeight/100)*prec));
			}

			image_data.attr('width',imgWidth);
			image_data.attr('height',imgHeight);

			jQuery.modal(image_data,{
				overlayClose:true,
				escClose:true,
				opacity:50,
				overlayCss: {backgroundColor:"#000"},
				autoResize:true,

				onOpen: function (dialog) {
					dialog.overlay.fadeIn(300, function () {
						dialog.data.hide();
						dialog.container.fadeIn(300, function () {
							dialog.data.fadeIn(300);
						});
					});
				},
				onClose: function (dialog) {
					dialog.data.fadeOut(300, function () {
						dialog.container.fadeOut(300, function () {
							dialog.overlay.fadeOut(300, function () {
								jQuery.modal.close();
							});
						});
					});
				}
			});

		});

        var src=image_data.attr('src');
                image_data.attr('src', '');
                image_data.attr('src', src);

		return false;
	});
}



// Corners
DD_roundies.addRule('.menu .menu-item, .center-in', "3px", true);

if (jQuery.browser.msie && jQuery.browser.version == 6) {
    DD_roundies.addRule('.menu-item img, .header-phone img, .header-logo img, .cart-link img');
}

// Other Fonts
Cufon.set("fontFamily", "PFBeauSansPro");
Cufon.replace(".menu-item");


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

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

	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 $() {    
		  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 hide (id) {
		if ($(id)) $(id).style.display = 'none';
		return true;
	}

	function show (id) {
		if ($(id)) $(id).style.display = '';
		return true;
	}
	
	function toggle (id) {
		if ($(id).style.display == 'none') 	{
			show(id);
			if ($(id+'-image')) $(id+'-image').src="templates/default/images/hide.gif";
		} else {
			hide(id);
			if ($(id+'-image')) $(id+'-image').src="templates/default/images/show.gif";
		}
		return true;
	}




	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;
	} 
	
/* Drop menu */

	var hideTimeOut = 0;
	var hideTimeOutValue = 120;

	hideAllPopups = function ()
	{

		for (var i = 0; i < document.getElementsByTagName('div').length; i++)
			if (document.getElementsByTagName('div')[i].className == 'submenu')
			{
				document.getElementsByTagName('div')[i].style.display = 'none';
			}
	}
	
	hidePopup = function (id)
	{
		if (hideTimeOut == 0 && $(id)) {
			hideTimeOut = setTimeout('$("'+id+'").style.display = "none";', hideTimeOutValue);
		}
	}
	
	refreshTimeOut = function ()
	{
		if(hideTimeOut != 0)
		{
			clearTimeout(hideTimeOut);
			hideTimeOut = 0;
		}
	}
	
	showPopup = function (id)
	{
		refreshTimeOut();
		hideAllPopups ();
		if ($(id)) $(id).style.display = 'block';
	}
	
	changeClass = function(id)
	{
		if($(id).className == 'menu-link-hovered')
			$(id).className = 'menu-link';
		else
			$(id).className = 'menu-link-hovered';
	}
	 
	
/* 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 */
		
	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 */
	checkForm = function ()
	{
		
		var error = 0;
	

		for (var i=0; i<fieldArray.length; i++) 
			if ($('xfield-'+fieldArray[i]))
			{
				if ($('error-'+fieldArray[i])){
					$('error-'+fieldArray[i]).innerHTML = ''; 
					if(($('xfield-'+fieldArray[i]).tagName == 'textarea' &&	 $('xfield-'+fieldArray[i]).innerHTML == '')	||
					   ($('xfield-'+fieldArray[i]).type	   == 'checkbox' && !$('xfield-'+fieldArray[i]).checked)			||
				   		($('xfield-'+fieldArray[i]).value   == ''))
				   	{
				 		$('error-'+fieldArray[i]).innerHTML = getlang('fill_this_field'); error = 1;
				 	}
				}
			}

		for (var i=0; i<checkArray.length; i++) if ($('xfield-'+checkArray[i]))
		{
			var count 	= $('xfield-'+checkArray[i]).value;
			var max 	= $('xfield-'+checkArray[i]+'-max').value;
			var min 	= $('xfield-'+checkArray[i]+'-min').value;

					
			if ($('error-'+checkArray[i])){
			
				$('error-'+checkArray[i]).innerHTML = ''; 
			
				var item = 0;
				for(var j=1; j<=count; j++)
					if($('xfield-'+checkArray[i]+'-'+j).checked) item++;				
		
			
			    if(max && (item > max))
	     		{
				 	$ ('error-'+checkArray[i]).innerHTML = 'Превышено максимальное количество ответов'; error = 1;
				}
				
				if((min > 0) && (item < min))
				{
	 				$ ('error-'+checkArray[i]).innerHTML = 'Отмечено меньше ответов, чем требуется'; error = 1;
	 			}
	 		}
		}
		for (var i=0; i<radioArray.length; i++) if ($('xfield-'+radioArray[i]+'-item'))
		{
			var count 	= $('xfield-'+radioArray[i]+'-item').value;
			var nochecked = true;

			$('error-'+radioArray[i]).innerHTML = '';

			for(var j = 1; j <= count; j++)
			{
				if($('xfield-'+radioArray[i]+'-'+j).checked) nochecked = false;
			}

			if(nochecked)
		   	{                                   
				$ ('error-'+radioArray[i]).innerHTML = getlang('fill_this_field'); error = 1;
			}
		}
	
		for (var i=0; i<emailArray.length; i++)
		{
			$('error-'+emailArray[i]).innerHTML = '';  
			if ($('xfield-'+emailArray[i]) && $('xfield-'+emailArray[i]).value != '')
			{
				if (!checkmail($('xfield-'+emailArray[i]).value))
				{
					$('error-'+emailArray[i]).innerHTML = getlang('uncorrect_email'); error = 1;
				}
			}
			if ($('xfield-'+emailArray[i]) && $('xfield-'+emailArray[i]).value == '')
			{
				$('error-'+emailArray[i]).innerHTML = getlang('fill_this_field'); error = 1;
			}

		}
	
		for (var i=0; i<passwordArray.length; i++) if ($('xfield-'+passwordArray[i]) && $('xfield-'+passwordArray[i]).value != '')
		{
			$('error-'+passwordArray[i]).innerHTML = ''; 

			if ($('xfield-'+passwordArray[i]).value != $('password-xfield-'+passwordArray[i]).value)
			{
				$('error-'+passwordArray[i]).innerHTML = getlang('uncorr_pass_rep'); error = 1;
			}
		}

		if (error) return false;
	
		return true;
	}

/* Search */

	var ajaxUrlSearch = 'search';
	
	Search = function ()
	{

		MyUserFunction = repairTroubleWithJS;
		
		var data;
		data = 'ajax=1';
		data += '&searchSiteInner='  + $('searchSiteInner').value;
		data += '&search_site='  + $('search_site').value;
		data += '&search_group=' + $('search_group').value;
		
		$('searchButton').innerHTML	= waiting;

		ExecuteXMLCall(site_vdir+ajaxUrlSearch, 'searchResult', 'post', data, true, '', $('searchResult').innerHTML);
	}


/* Faq */

	/* Faq group */

		function showFaqGroup (url) 
		{
			MyUserFunction = function () {};
		
			var data;
			data = 'ajax=1';
			$('faqgroup').innerHTML = $('faqgroup').innerHTML + waiting;
			
			ExecuteXMLCall(site_vdir+'plugins/faq/catalogue/id/'+url, 'faqblock', 'post', data,	false, '', $('faqblock').innerHTML);
		}

	/* Faq form */

		faqSubmitForm = function()
		{
			var error = 0;

			$('faqNameSpan').innerHTML = '&nbsp;';
			$('faqEmailSpan').innerHTML = '&nbsp;';
			$('faqQuestionSpan').innerHTML = '&nbsp;';

			if ($('faqName').value == '')
			{
				$('faqNameSpan').innerHTML = 'заполните данное поле'; 
				error = 1;
			}
			
			if ($('faqEmail').value == '')
			{
				$('faqEmailSpan').innerHTML = 'заполните данное поле'; 
				error = 1;
			}
			if ($('faqEmail').value != '')
			{

				var email = String($('faqEmail').value);

				if (!checkmail(email))
				{
					$('faqEmailSpan').innerHTML = 'некорректный email'; 
					error = 1;
				}
			}

			if ($('faqQuestion').value =='')
			{
				$('faqQuestionSpan').innerHTML = 'заполните данное поле'; 
				error = 1;
			}

			if (error == 0)
			{
				var data;
			
				data = 'faqName=' + $('faqName').value;
				data = data + '&faqEmail=' + $('faqEmail').value;
				
				data = data + '&faqPhone=' + $('faqPhone').value;
				data = data + '&faqQuestion=' + $('faqQuestion').value;
				data = data + '&faqImage=' + $('faqImage').value;
				data = data + '&formSubmit=' + $('formSubmit').value;
				data = data + '&ajax=1';
				$('faqWaiting').innerHTML = waiting;
				ExecuteXMLCall(site_vdir+'plugins/faq/catalogue', 'faqform','post',data,true,'',$('faqform').innerHTML);
			}
			else
			{
				return false;
			}
		}
		
		faqNewForm = function()
		{
			data = 'ajax=1';
			data = data + '&formSubmit=1';
			ExecuteXMLCall(site_vdir+'plugins/faq/catalogue', 'faqform','post',data,true,'',$('faqform').innerHTML);
		}	
		
		showFaqForm = function (ob)
		{	
			if ($('faqform').style.display == 'none')
			{
				$('faqform').style.display = 'block';
				ob.innerHTML = '<img src="templates/default/images/hide.gif" alt="Скрыть" />';
			}
			else
			{
				$('faqform').style.display = 'none';
				ob.innerHTML = '<img src="templates/default/images/ask.gif" alt="Задать вопрос" />';
			}
		}

/* Catalogue */

	removeInvalidChars = function (ob) {
		currentValue = Math.abs(Number(ob.value.replace(/[^\d]/g,"")));
		if (currentValue==0)
		{
		currentValue=''
		}
		ob.value =  (currentValue > 100000) ? 100000 : currentValue;
	}
		

	MakePrice = function (price) {

		priceArray = String(price).split('.');
		
		if (!priceArray[1]) priceArray[1] = '';

		if (priceArray[1].length > 3) priceArray[1] =  priceArray[1].substr(0,3);
		
		strpad = ''

		for (i=0;i < 3 - priceArray[1].length;i++) {
			strpad += '0';
		}
		
		return priceArray[0] + '.' + priceArray[1] + strpad;
	}

	ChangeSum = function (id) {
		$('sum'+id).value = $('price'+id).value * $('count'+id).value;
		
		if (isNaN($('sum'+id).value)) {
			$('sum'+id).value = 0;
		}

		$('sumshow'+id).innerHTML = MakePrice($('sum'+id).value);

		var summa = 0;
			
		for (var j=0; j< document.basket.sum.length; j++) {
			summa += Number(document.basket.sum[j].value);
		}



		$('summashow').innerHTML = MakePrice(summa);
	}

	reloadMiniBasket = function() {

			MyUserFunction = function () {};
			data = 'ajax=1';
			ExecuteXMLCall('minibasket', 'minibasket', 'post', data, true,'',$('minibasket').innerHTML);
		
	}
	
		
/* Calc */
		
	function calc() {
		var members = Number($('members').value);
		var time = Number($('time').value);
		$('result').innerHTML = 1.5*members*time; 
		
	}



