$(document).ready(function(){

	initConttxtPic("div.conttext .img");

	initConttxtTable("div.conttext table");
	
	$('body').bind('click', function(event){
		event = event ? event : window.event;
		var target = event.srcElement ? event.srcElement : event.target;
		if(!$(target).next().hasClass('hide') && 
				!$(target).hasClass('sendmessage') && 
				!$(target).parent().hasClass('onpage') && 
				!$(target).parent().hasClass('channelhref') && 
				$(target).parents('#popupwhite').length==0){
			$('#popupwhite').hide();
		}
		if($(target).parents('#redwin').length==0 && $(target).parents('#placeit').length==0)
                    $('#redwin').hide();
	});
	
	if($.browser.msie && $.browser.version == "7.0")
		$(".col695 table td div.dashed a").click( function() {
			$("#secondpromo .helper .trunk").css("top", "1px");
			$("#secondpromo .helper .trunk").css("top", "0");
		});
	
});
// end of dom load functions



function initConttxtPic(obj) {
	$(obj).each(function(){
		var a = $(this);
		var href= a.attr("href");
                $('<span class="imgroundtopleft" /><span class="imgroundtopright" />').appendTo(a);
                $('<span class="imgroundbottomleft" /><span class="imgroundbottomright" />').appendTo(a);
                if (href && href != "#") {
	                $('<span class="imgzoom" />').appendTo(a);
	                var img = new Image();
	                img.src = href;
	                var fullpic = $('<div />');
	                $(img).appendTo(fullpic);
	                $(a).click(function(){
	                	smartPopUpCopyContent('#popupwhite',fullpic,'auto','auto');return false;
	                	return false;
	                })
                }
	});
}


function initConttxtTable(obj) {
	$(obj).each(function() {
		$("tr",$(this)).each(function(i){
			if (i==0) {
            if ($(this).find("th").length>0) {
   				$('<th class="blank first"><div></div></th>').insertBefore($("th:eq(0)",$(this)));
   				$('<th class="blank last"><div></div></th>').appendTo($(this));
            } else if ($(this).find("td").length>0) {
   				$('<td class="blank first"><div></div></td>').insertBefore($("td:eq(0)",$(this)));
   				$('<td class="blank last"><div></div></td>').appendTo($(this));
            }            
			} else if (i>0) {
				$('<td class="blank first"></td>').insertBefore($("td:eq(0)",$(this)));
				$('<td class="blank last"></td>').appendTo($(this));
			}
			
		});   
	});
}

// smart popup animate him to the screen center
// and activate close button
function smartPopUp(obj) {
	$("div.popup").hide();
	$(obj).css({display:'block'});
	var wdt = $(obj).width();
	var hgt = $(obj).height();
	var cenH = $(window).width()/2;
	var cenV = $(window).scrollTop() + $(window).height()/2;
	$(obj).css({left: (cenH - wdt/2)+'px',top: (cenV - hgt/2)+'px'});
	$(obj).show();
	$(obj).draggable();
	$(obj).find(".closepop").click(function(){
		$(obj).hide();
		return false;
	});
	return false;
}

// smart popup animate him to the screen center
// and activate close button
// and copy content from contentSource to popup
function smartPopUpCopyContent(obj,contentSource,width,height) {
	$("div.popup").hide();
	$(obj+"content",obj).html($(contentSource).html());
	$(obj).css({width:'1px',height:'1px'});
	$(obj).css({display:'block'});
//	$(obj).css({width:'auto',height:'auto'});
	var cenH = $(window).width()/2;
	var cenV = $(window).scrollTop() + $(window).height()/2;
	width = (!width || width == 'auto') ? $(obj+"content",obj).outerWidth()+23 : width*1;
	height = (!height || height == 'auto') ? $(obj+"content",obj).outerHeight()+74 : height*1;
	$(obj).css({display:'none'});
	$(obj).css({left: (cenH - width/2)+'px',top: (cenV - height/2)+'px',height: height, width: width});
	$(obj).css({display:'block'});
	//$(obj).draggable();
	
	$(obj).find(".closepop").click(function(){
		$(obj).hide();
		return false;
	});
	return false;
}

function checkHouse(){
    var street = $('#request_street_id').val();
    var house = $('#request_house').val();
    if(street!='' && house!=''){
        $.get('/services/ajax-address.xml?mode=house&full=yes&street=' + street + '&text=' + house,
            function(data){
                if(data.indexOf('true')>-1){
                    $('#accept_no').hide();
                    $('#accept_yes').show();
                    if($('#run').length > 0) deface('on');
                    if($('#opentoe').length > 0) declearLines();
                    if($('#frommap').length > 0) setAllCookies();
                }else{
                    $('#accept_no').show();
                    $('#accept_yes').hide();
                }
            });
    }else if(street!='' && house==''){
        $('#request_house').addClass('fail');
    }
}

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function setAllCookies() {
      setCookie('akado_region_id', $('#request_region_id').val(), '', '/');
      setCookie('akado_house_id', $('#request_house_id').val(), '', '/');
      setCookie('akado_street_id', $('#request_street_id').val(), '', '/');
      setCookie('akado_house', $('#request_house').val(), '', '/');
      setCookie('akado_street', $('#request_street_id').attr('ref'), '', '/');
}

function deface(com){
   if (com =='on') {
      $('#run').hide();
      $('#again').show();
      $('#request_street').attr('disabled','disabled');
      $('#request_street').css('background-color','#E0E0E0');
      $('#request_region').attr('disabled','disabled');
      $('#request_region').css('background-color','#E0E0E0');
      $('#request_house').attr('disabled','disabled');
      $('#request_house').css('background-color','#E0E0E0');
      setCookie('akado_region_id', $('select#request_region').val(), '', '/');
      setCookie('akado_house_id', $('#request_house_id').val(), '', '/');
      setCookie('akado_street_id', $('#request_street_id').val(), '', '/');
      setCookie('akado_house', $('#request_house').val(), '', '/');
      setCookie('akado_street', $('#request_street').val(), '', '/');
   }
   if (com =='off') {
      $('#accept_yes').hide();
      $('#run').show();
      $('#again').hide();
      $('#request_street').removeAttr('disabled');
      $('#request_street').css('background-color','#fff');
      $('#request_region').removeAttr('disabled');
      $('#request_region').css('background-color','#fff');
      $('#request_house').removeAttr('disabled');
      $('#request_house').css('background-color','#fff');
      setCookie('akado_region_id', null, new Date(0), '/', '');
      setCookie('akado_house_id', null, new Date(0), '/', '');
      setCookie('akado_house', null, new Date(0), '/', '');
      setCookie('akado_street_id', null, new Date(0), '/', '');
      setCookie('akado_street', null, new Date(0), '/', '');
   }
}

function clearLines() {
   deface('off');
   $('#opentoe').hide();
   $('#checklink').show();
}

function declearLines() {
   deface('on');
   $('#opentoe').show();
   $('#checklink').hide();
}

function testRequired(form) {
	var required = new Array();
	$("input:text").each(function(){
		var thisIt = $(this);
		thisIt.bind('focus', function(){
			thisIt.addClass("focused");
		});
		thisIt.bind('blur',  function(){
			thisIt.removeClass("focused");
			if(thisIt.attr('id')=='request_house'){
				window.setTimeout(function(){
					checkHouse();
				}, 150);
			}
		});

		if(thisIt.attr('id')=='request_house'){
			thisIt.bind('keydown',function(event){
				event = event ? event : window.event;
				if($('#request_street').val()=='' && event.which!=9){
					thisIt.addClass('fail');
					$('#request_street').addClass('fail');
				}
			});
		}
		
	});

	$("input[alt=required]", $(form)).each(function(){
		required.push({name:$(this).attr("name"), defvalue:$(this).val()});
	});
	$("select[alt=required]", $(form)).each(function(){
		required.push({name:$(this).attr("name"), defvalue:$(this).val()});
	});
	
	$(form).submit(function(){
		for (var i=0; i<required.length; i++) {
			var inp = $("input[name='"+required[i].name+"'],select[name='"+required[i].name+"']", $(form));
//			if ($(inp).val() == '' || ($(inp).val() ==-1 && required[i].name=='request_district')) {
			if ($(inp).val() == '') {
			        $(inp).css({background:"#ffdfdf"});
			        alert("Заполнены не все поля, обязательные для заполнения!");
				return false;
			}else {
				if(required[i].name=='request_floor' && isNaN(Number($(inp).val()))){
					$(inp).css({background:"#ffdfdf"});
					alert("Неправильный формат поля!");
					return false;
				}else if(required[i].name=='request_flat' && isNaN(Number($(inp).val()))){
					$(inp).css({background:"#ffdfdf"});
					alert("Неправильный формат поля!");
					return false;
				}
				
				$(inp).css({background:"#fff"});
			}
		}
		var inp = $("input[name=request_email]");
		if(inp.val()!='' && !checkmail(inp.val())){
			$(inp).css({background:"#ffdfdf"});
			alert("Неправильный формат e-mail!");
			return false;
		}
		
	
		
	});
}


function intSlider(v) {
	$("#chooseblock a").each(function(){
		var a = $(this);
//		a.unbind("click");
		var ID = a.attr("id");
		ID = ID.replace("chooseblock","") * 1;
		if (ID <= v) {
			a.removeClass("chooseblock").addClass("chooseblockON");
			$("span.ico", a).removeClass("ico").addClass("icoON");
		} else {
			a.removeClass("chooseblockON").addClass("chooseblock");
			$("span.icoON", a).removeClass("icoON").addClass("ico");
		}

		a.unbind(".sc");
		a.bind("mouseenter.sc",function(){
			a.unbind(".sc");
			$("#slider").slider("value",ID);
			intSlider(ID);
			if ($(this).hasClass("chooseblockON")) {
				return false;
			} else {
				$(this).removeClass("chooseblock").addClass("chooseblockON");
				$("span.ico", $(this)).removeClass("ico").addClass("icoON");
				a.bind("mouseleave.sc",function(){
					$(this).removeClass("chooseblockON").addClass("chooseblock");
					$("span.icoON", $(this)).removeClass("icoON").addClass("ico");
				});
			}
		});

/*
		a.bind("click",function(){
			if ($(this).hasClass("chooseblockON")) {
				return true;
			} else {
				return false;
			}
		});
*/
	});
	$("#sliderscale span.ON").removeClass("ON");
	$("#sliderscale span#sc"+v).addClass("ON");
	$("#slider a").attr('href', $("#sliderscale span#sc"+v).attr('href'));
	$("#slider a").bind('click', function(){
		window.location = $("#slider a").attr('href');
	});
}

function cutWordsInLongText(text,words,endsymbol) {
	var result = new String();
	text = text.split(" ");
	for (var i=0; i<text.length; i++) {
		if (i+1 > words && text[i+1] !== "undefined") {
			result += endsymbol;
			break;
		} else {
			if (i>0) result += " ";
			result += text[i];
		}
	}
	return result;
}

function checkmail(value) {
	return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(value); 
}
	


function setDefault(obj, value){
	obj = $(obj);
	if(obj.val()=='')
		obj.val(value);
}

function clearDefault(obj, value){
	obj = $(obj);
	if(obj.val()==value)
		obj.val('');
}

function checkPayForm(form){
	form = $(form);
	var err = '';
	var order = form.find("input[name=order]");
	if(isNaN(Number(order.val())) || order.val()=='' || order.val().length<1 || order.val().length>8)
		err += 'Неправильный номер договора\n';
	var pay = form.find("input[name=pay]");
	if(isNaN(Number(pay.val())) || pay.val()=='' || pay.val().length<0)
		err += 'Неправильная сумма платежа\n';
	if(err!=''){
		alert(err);
		return false;
	}
	return true;
}

function sendForm(form){
	var flagEmail = false;
	var flagEmpty = false;
	$("input[alt=required], textarea[alt=required]" ,$(form)).each(function(){
		var input = $(this);
		if(input.val()==''){
			input.css({background:"#ffdfdf"});
			flagEmpty = true;
		}else if(input.attr('name')=='feedback_email' && !checkmail(input.val())){
			input.css({background:"#ffdfdf"});
			flagEmail = true;
		}else{
			input.css({background:"#FFF"});
		}
	});
	
	if(!flagEmail && !flagEmpty){
		var url = window.location.toString();
		
		//if(url.indexOf('?')==-1)
		//	url+='?';
		//url += $(form).serialize();
		$.post(url,$(form).serialize(), function(data){
			$('#popupwhitecontent').html(data);
			$('#popupwhitecontent').height($('#popupwhite').height()-74);
		});
	}else{
		var err = "";
		if(flagEmail)
			err += "Неправильный формат поля e-mail!\n"
		if(flagEmpty)
			err += "Заполнены не все поля, обязательные для заполнения!\n"
		alert(err);
	}
	
}

function checkActionForm(form){
	var flagEmail = false;
	var flagEmpty = false;
	var flagAnswer = false;
	$("input:text[alt=required], textarea[alt=required]" ,$(form)).each(function(){
		var input = $(this);
		if(input.val()==''){
			input.css({background:"#ffdfdf"});
			flagEmpty = true;
		}else if(input.attr('name')=='email' && !checkmail(input.val())){
			input.css({background:"#ffdfdf"});
			flagEmail = true;
		}else{
			input.css({background:"#FFF"});
		}
	});
	
	if($('input:checked', $(form)).length==0){
		flagAnswer = true;
		$('.answers div', $(form)).css({background:"#ffdfdf"});
	}else{
		$('.answers div', $(form)).css({background:"none"});
	}
	
	
	if(flagEmail || flagEmpty || flagAnswer){
		var err = "";
		if(flagAnswer)
			err += "Нужно выбрать ответ!\n"
		if(flagEmail)
			err += "Неправильный формат поля e-mail!\n"
		if(flagEmpty)
			err += "Заполнены не все поля, обязательные для заполнения!\n"
		
		alert(err);
		return false;
	}
}

function checkCorpForm(form){
	var flagEmail = false;
	var flagEmpty = false;
	
	$("input:text[alt=required], textarea[alt=required]" ,$(form)).each(function(){
		var input = $(this);
		if(input.val()==''){
			input.css({background:"#ffdfdf"});
			flagEmpty = true;
		}else if(input.attr('name')=='corprequest_email' && !checkmail(input.val())){
			input.css({background:"#ffdfdf"});
			flagEmail = true;
		}else{
			input.css({background:"#FFF"});
		}
	});
	
	if($('input:checked', $(form)).length==0){
		flagAnswer = true;
		$('.answers div', $(form)).css({background:"#ffdfdf"});
	}else{
		$('.answers div', $(form)).css({background:"none"});
	}
	
	
	if(flagEmail || flagEmpty){
		var err = "";
		
		if(flagEmail)
			err += "Неправильный формат поля e-mail!\n"
		if(flagEmpty)
			err += "Заполнены не все поля, обязательные для заполнения!\n"
		
		alert(err);
		
	}else{
		$.post($(form).attr('action'), $(form).serializeArray(), function(data){
			if(data.indexOf('success')>-1){
				
				var div = document.createElement('div');
				div.innerHTML = "<nobr style='font-size:14px;'>Спасибо, ваша заявка принята</nobr>";
				smartPopUpCopyContent('#popupwhite',div, 'auto', 'auto');
				$("input:text[alt=required], textarea[alt=required]" ,$(form)).each(function(){
					$(this).val('');
					
				});
			}
		});
	}
	return false;
}

function checkVacancyForm(form){
	var flagEmail = false;
	var flagEmpty = false;
	
	$("input:text[alt=required], textarea[alt=required]" ,$(form)).each(function(){
		var input = $(this);
		if(input.val()==''){
			input.css({background:"#ffdfdf"});
			flagEmpty = true;
		}else if(input.attr('name')=='vacancy_email' && !checkmail(input.val())){
			input.css({background:"#ffdfdf"});
			flagEmail = true;
		}else{
			input.css({background:"#FFF"});
		}
	});
	
	if($('input:checked', $(form)).length==0){
		flagAnswer = true;
		$('.answers div', $(form)).css({background:"#ffdfdf"});
	}else{
		$('.answers div', $(form)).css({background:"none"});
	}
	
	
	if(flagEmail || flagEmpty){
		var err = "";
		
		if(flagEmail)
			err += "Неправильный формат поля e-mail!\n"
		if(flagEmpty)
			err += "Заполнены не все поля, обязательные для заполнения!\n"
		
		alert(err);
		return false;
	}
	return true;
}

function setPopupImages(objectsSet, width, height){
	$(objectsSet).bind('click',function(){
		var w = window.screen.availWidth/2 - width/2;
		var h = window.screen.availHeight/2 - height/2;
			var wo = window.open('', 'image', 'width=' + width + ', height=' + height + ',left=' + w +',top=' + h);
			wo.document.open();
			var win = "";
			win = "<html><head><title>";
			win += "</title></head>"
			win += "<body leftmargin='0' topmargin='0' rightmargin='0' bottommargin='0' marginwidth='0' marginheight='0'>";
			win += "<table cellpadding='0' cellspacing='0' border='0'><tr><td align='center'>";
			win += "<a href='#' onclick='self.window.close();'><img src='" + $(this).attr('href') + "' width='420' height='298' border='0' alt=''></a>";
			win += "</td></tr></table>";
			win += "</body></html>";
			wo.document.write(win);
			wo.window.focus();
			wo.document.close();
			return false;
	});
}


function showImageOne(){
	$('#main .content .show-image').bind('click',function(){
		var w = window.screen.availWidth/2 - 200;
		var h = window.screen.availHeight/2 - 153;
			var wo = window.open('', 'image', 'width=400, height=306,left=' + w +',top=' + h);
			wo.document.open();
			var win = "<html>";
			win = "<head><title>";
			win += "</title></head>";
			win += "<body leftmargin='0' topmargin='0' rightmargin='0' bottommargin='0' marginwidth='0' marginheight='0'>";
			win += "<table cellpadding='0' cellspacing='0' border='0'><tr><td align='center'>";
			win += "<a href='#' onclick='self.window.close();'><img src='" + $(this).attr("href") + "' width='400' height='306' border='0' alt=''></a>";
			win += "</td></tr></table>";
			win += "</body>";
			win += "</html>";
			wo.document.write(win);
			wo.window.focus();
			wo.document.close();
			return false;
		});
	
}

function checkKey(event){
    event = window.event ? window.event : event;

    if(event.which==13){
        return false;
    }

    return true;

}

function select_result(id){ //select content of the node by id
  var ie='\v'=='v'; //hack :)
  if(ie){
    var range = document.body.createTextRange();
    var tab=document.getElementById(id);
    range.moveToElementText(tab);
    range.select();
  } else {
    var selection = window.getSelection();
    var range = document.createRange();
    var tab = document.getElementById(id);

    range.selectNodeContents(tab);
    selection.addRange(range);
  }
}

