var timerID = 0;


function cms_vote_postDo(formName, inputName, nstext) {

	var iObjs = $("#" + formName + " input[name=" + inputName + "]");
	var iObj;
	for(i = 0, l = iObjs.length; i < l; ++i)
	{
		iObj = iObjs[i].checked ? iObjs[i] :iObj;
	}
	
	if (iObj)
	{
		var addr = "/vote/post/" + $(iObj).attr('value') + "/?m=" + new Date().getTime();
		$.getScript(addr);
	}
	else
	{
		alert(nstext);
	}
	
	return false;
}

var getAbsolutePos = function(obj)
{
	var x = y = 0; 
	
	while(obj.className != 'album') { 
		x += obj.offsetLeft; 
		y += obj.offsetTop; 
		obj = obj.offsetParent; 
	} 
	return {x:x, y:y}; 
}

var getXY = function(oElm) 
{
	var x = 0;
	var y = 0;
	if (oElm.offsetParent) 
	{
		while (oElm.offsetParent) 
		{
			x += oElm.offsetLeft;
			y += oElm.offsetTop;
			oElm = oElm.offsetParent;
		}
	}
	else
	{
		x = oElm.offsetLeft;
		y = oElm.offsetTop;
	}
	return {x: x, y: y};
}

function menuTimer()
{
	jQuery('#menu_ajax').append(jQuery('#container ul.menu_top_item_ajax'));
}

jQuery(document).ready
(
	function()
	{
		/* map init  */
		jQuery('#YMapsID').length > 0 ? init(): false;
		/* rounding angles on top */
		jQuery('input#btn').click
		(
			function()
			{
				var options = $.extend({title: "Фотография", closeText: 'Закрыть'});
				var dialog = new Boxy("<img src='http://business.ufaportal.ru/images/up_photo.jpg' alt='' width='410' />", options);
			}
		);
		
		jQuery('div.block_upper').each
		(
			function(i)
			{
				var htmlCode = Array();
				htmlCode.push('<div class="layers layer1"></div>');
				htmlCode.push('<div class="layers layer2"></div>');
				htmlCode.push('<div class="layers layer2"></div>');
				htmlCode.push('<div class="layers layer3"></div>');
				htmlCode.push('<div class="layers layer3"></div>');
				
				this.innerHTML = htmlCode.join('');
			}
		);
		
		jQuery('input.up_button').each
		(
			function(i)
			{
				var color = jQuery(this).css('color');
				var backgroundColor = jQuery(this).css('background-color');
				var borderColor = '#999';
				var width = this.offsetWidth + 10;

				var code = [];
				code.push('<div style="width: ' + width + 'px;">');
				code.push('<div style="height: 1px; margin: 0px 3px; background-color: ' + borderColor + '; overflow: hidden;"></div>');
				code.push('<div style="height: 1px; margin: 0px 1px; background-color: ' + borderColor + '; overflow: hidden;"><div style="height: 1px; margin: 0px 1px; background-color: ' + backgroundColor + '; overflow: hidden;"></div></div>');
				code.push('<div style="height: 1px; margin: 0px 1px; background-color: ' + borderColor + '; overflow: hidden;"><div style="height: 1px; margin: 0px 1px; background-color: ' + backgroundColor + '; overflow: hidden;"></div></div>');
				code.push('<div style="background-color: ' + borderColor + ';"><div style="margin: 0px 1px; background-color: ' + backgroundColor + '; text-align: center;"><a style="cursor: pointer; font-size: 8pt; background-color: ' + backgroundColor + '; color: ' + color + '">' + $(this).attr('value') + '</a></div></div>');
				code.push('<div style="height: 1px; margin: 0px 1px; background-color: ' + borderColor + '; overflow: hidden;"><div style="height: 1px; margin: 0px 1px; background-color: ' + backgroundColor + '; overflow: hidden;"></div></div>');
				code.push('<div style="height: 1px; margin: 0px 1px; background-color: ' + borderColor + '; overflow: hidden;"><div style="height: 1px; margin: 0px 1px; background-color: ' + backgroundColor + '; overflow: hidden;"></div></div>');
				code.push('<div style="height: 1px; margin: 0px 3px; background-color: ' + borderColor + '; overflow: hidden;"></div>');
				code.push('</div>');

				var parent = $(this).parent();
				parent.html(code.join(''));
				parent[0].getElementsByTagName('a')[0].onclick = this.onclick;
				return true;
			}
		);
		
		/* rounding angles on bottom */
		
		jQuery('div.block_lower').each
		(
			function(i)
			{
				var htmlCode = Array();
				htmlCode.push('<div class="layers layer3"></div>');
				htmlCode.push('<div class="layers layer3"></div>');
				htmlCode.push('<div class="layers layer2"></div>');
				htmlCode.push('<div class="layers layer2"></div>');
				htmlCode.push('<div class="layers layer1"></div>');
				
				this.innerHTML = htmlCode.join('');
			}
		);
		
		jQuery('ul#menu_text li').each(function(i){this.uid = i;});
		
		jQuery('ul.menu_top_item_ajax li').hover
		(
			function()
			{
				jQuery(this).css('color', 'white');
				jQuery(this).css('background', '#B6BDD2');
				jQuery(this.childNodes[0]).css('font-size', '8pt');
				jQuery(this.childNodes[0]).css('color', 'black');
			},
			function()
			{
				jQuery(this).css('color', '#444');
				jQuery(this).css('background', 'none');
				jQuery(this.childNodes[0]).css('font-size', '8pt');
			}
		);
		
		jQuery('#menu_text li').mouseover
		(
			function()
			{
				clearTimeout(timerID);
				var index = this.uid;
				if (jQuery('#container ul#submenu' + index).length == 0)
				{
					jQuery('#menu_ajax').append(jQuery('#container ul.menu_top_item_ajax'));
				
					var xy = getXY(this);
					var submenu = jQuery('#submenu' + index);
					submenu.css('left', xy.x - 2);
					submenu.css('top', xy.y + 34);
				
					var container = jQuery('#container');
					container.append(submenu);
				}
			}
		);
		
		jQuery('.menu_top_item_ajax').mouseover(function(){clearTimeout(timerID);});
		jQuery('.menu_top_item_ajax').mouseout(function(){timerID = setTimeout('menuTimer()', 500);});
		jQuery('#menu_text li').mouseout(function(){timerID = setTimeout('menuTimer()', 500);});
		
		$('td.cal_date').hover
		(
			function()
			{
				$(this).css('border-color','#AAA');
				$(this).css('background-color','#EEE');
			},
			function()
			{
				$(this).css('border-color','white');
				$(this).css('background-color','white');
			}
		);
		
		$('td.cal_date').click
		(
			function()
			{
				var t = $(this).css('font-weight');
				if (t != 400){
					var current_date = new Date();
					var current_month = current_date.getMonth() + 1;
					var current_year = current_date.getFullYear();
				
					var selected_day = this.firstChild.nodeValue;
				
					$('td.day_events').load('/afisha/?cal_date=' + current_year + '-' + current_month + '-' + selected_day);
				}
			}
		);
		
		$('img.album_prev').click
		(
			function()
			{
				var left = $('div.scroll_panel')[0].offsetLeft;
				var max = $('a.photo_link').length * 129 - 129 * 3;
				if (left >= -1 * max)
				{
					$('img.album_next').fadeTo('fast', '1');
				}
				if ((left + 129 <= 0) && (left%129 == 0))
				{
					$(this).fadeTo('fast', '1');
					$('div.scroll_panel').animate({left: left + 129}, 300);
				}
				if (left + 129 * 2 > 0)
				{
					$(this).fadeTo('fast', '0.6');
				}
				
			}
		);

		$('img.album_next').click
		(
			function()
			{
				var left = $('div.scroll_panel')[0].offsetLeft;
				var max = $('a.photo_link').length * 129 - 129 * 3;

				if ((left - 129 >= -1 * max) && (left%129 == 0))
				{
					$('img.album_prev').fadeTo('fast', '1');
					$('div.scroll_panel').animate({left: left - 129}, 300);
				}
				if (left - 129*2 < -1 * max)
				{
					$(this).fadeTo('fast', '0.6');
				}
				
			}
		);
		
		$('a.photo_link').click
		(
			function()
			{
				var src = $(this).attr('href');
				var position = getAbsolutePos(this);
				$('#album_img').css('width', 120);
				var screen_width = window.innerWidth ? window.innerWidth : document.body.clientWidth;
				var screen_height = window.innerHeight ? window.innerHeight : document.body.clientHeight;
				
				$('#album_img').css('left', position.x);
				$('#album_img').css('top', position.y);
				
				$('#album_img').click
				(
					function()
					{
						$('#album_img').css('display', 'none');
						$('#album_img').css('width', 120);
						$('#alb_desc').html('');
					}
				);
				
				$('#album_img').attr('src', src);
				$('#album_img').ready
				(
					function()
					{
						$('#album_img').css('display', '');
						$('#album_img').animate({width: 410, top: 180, left: 20}, 500);
					}
				);
				
				var description = $(this).next();
				$('#alb_desc').html(description.html());
						
				//$('input#btn1').attr('value', screen_width + ":" +  screen_height);
				return false;
			}
		);
		
		if ($.browser.msie && $.browser.version <= 6)
		{
			$('img').each
			(
				function(i)
				{
					var src = this.src;
					if (/\.png$/.test(src))
					{
						//alert(this.offsetWidth);
						var width = this.offsetWidth;
						var height = this.offsetHeight;
						this.src= '/images/blank.gif';
						this.style.width = width + "px";
						this.style.height = height + "px";
						//alert(this.offsetWidth);
						this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
					}
				}
			);
			
			$('.iePNG').each
			(
				function(i)
				{
					var src = this.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)[1];

					if (src)
					{
						this.runtimeStyle.backgroundImage = 'none';
						this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
					}
				}

			);
		}
	}
);

function CheckForm(form)
{
 var i,j;
 var str = '';

 var bad_field;
 var fields = new Array();
 var prompts = new Array();

 fields[fields.length] = 'login';
 prompts[prompts.length] = 'Логин';

 fields[fields.length] = 'password';
 prompts[prompts.length] = 'Пароль';

 fields[fields.length] = 'password_confirm';
 prompts[prompts.length] = 'Подтверждение пароля';

 fields[fields.length] = 'email';
 prompts[prompts.length] = 'E-mail';


 for (i = 0; i < fields.length; i++){
  var field = form[fields[i]];
  var is_bad=0;
  if(field.type == null)
  {
	is_bad=1;
	for(j=0;j<field.length;++j)
	{
		if(field[j].checked==true)
			is_bad=0;
	}
	if(is_bad==1 && str=='')
		field=field[0];
  }
  else switch(field.type)
  {
	case 'select-one':
		if(field[field.selectedIndex].value == '')
			is_bad=1;
		break;

	default:
		if (field.value == '') {
			is_bad=1;
		}
  }

  if (is_bad == 1)
  {
	if (str != '')
        {
                str += '\n';
        }else{
                bad_field = field;
        }
        str += prompts[i];
  }

 }
 if (str != ''){
   alert("Не заполнены необходимые поля:\n" + str);
   bad_field.focus();
   return false;
 }
if(form['password'].value != form['password_confirm'].value)
{
	bad_field = form['password_confirm'];
   alert("Пароль и подтверждение не совпадают");
   bad_field.focus();
   return false;
}

 if (window.RegExp){
   var fields = new Array();
   var prompts = new Array();
   var patterns = new Array();
   var minVal = new Array();
   var maxVal = new Array();
   var maxLen = new Array();
   var minLen = new Array();
   var errors = new Array();

   fields[fields.length] = 'email';
   prompts[prompts.length] = 'E-mail';
   patterns[patterns.length] = '^([-a-zA-Z0-9._]+@[-_a-zA-Z0-9]+\.[-_a-zA-Z0-9.]+)?$';
   minVal[minVal.length] = 0;
   maxVal[maxVal.length] = 0;
   minLen[minLen.length] = 0;
   maxLen[maxLen.length] = 0;
   errors[errors.length] = '';



   for (i = 0; i < fields.length; i++){
    var bad = false;
    var field = form[fields[i]];
    if (typeof field == 'undefined') continue;
    if (field.value != ''){
      if (field.value.length > maxLen[i] && maxLen[i] > 0) bad = true;
      if (field.value.length < minLen[i] && minLen[i] > 0)
	{
		bad = true;
	}
     if (patterns[i] != ''){
      var re = new RegExp(patterns[i]);
      if (!re.test(field.value + "")) bad = true;
     }
     if ((minVal[i] > 0) || (maxVal[i] > 0)){
      var val = parseInt(field.value,10);
      if ((val < minVal[i]) || (val > maxVal[i])) bad = true;
     }
     if (bad){
       alert("Неверно заполнено поле " + prompts[i] + "\n" + errors[i]);
       field.focus();
       return false;
     }
    }
   }
 }

 return true;
}

