var trusteeData = [];
var trusteeCache = {};
var editTrusteeList = {};
var inviteBymailW = false;
var inviteFriendsW = false;
var isNewEvent = true;
var xchgDate = false;
var isEventEditForm = false;

jQuery(function() {
	if (typeof jQuery.datepicker != "undefined"){
		jQuery.datepicker.setDefaults($.extend({showMonthAfterYear: true}, $.datepicker.regional['ru']));
		jQuery("#date_start").datepicker($.datepicker.regional['ru']).datepicker('option','maxDate','+5y');
		jQuery("#date_end").datepicker($.datepicker.regional['ru']).datepicker('option','maxDate','+5y');
		jQuery("input[name='theme']").click(function(){$("#eventHeaderContainer").attr("class","event-decoration-"+$(this).val());$("#eventHeaderContainer").attr("style","margin-left:-20px;width:745px;padding-bottom:14px");		
		});	
	}
	if (!jQuery("#event-par").val())
	jQuery("#event-par").val(5);
	$("#eventHeaderContainer").attr("class", "event-decoration-"+jQuery("#event-par").val()+" ed-subclass");
	var id = jQuery("#event-par").val();
	jQuery("input#"+id).attr("checked", "checked");
	if (document.getElementById("loaded-content-1")){
		initFriends();
	}
	friendsInited = true;
	
	if ($("#delete-avatar-link").css("display") != "none")
		$("#rotate-avatar-link").show();
		
	
});

function redrawFriends()
{
  for (var column in trusteeData){
  	for (var item in trusteeData[column]){				
  		for (var user_id in trusteeData[column][item]){  			
  			if ($('#friend-make-'+column+'-'+item).attr('user_id') == user_id){  				
  				if (trusteeData[column][item][user_id] == 1){
  					$('div#friend-make-'+column+'-'+item).html("<div style='margin-top:6px'>Уже выбран</div>");						
  					$('div#friend-make-'+column+'-'+item).attr('assigned',1);
  					$('div#friend-make-'+column+'-'+item).css("cursor","default");
  				}else{
  				 	$('div#friend-make-'+column+'-'+item).html('<img src="/img/accept.gif" class="appoint-link-image"/><a href="javascript:void(0)">Назначить</a>');
  					$('div#friend-make-'+column+'-'+item).attr('assigned',0);
  					//$('div#friend-make-'+column+'-'+item).css("cursor","pointer");  					
  				}
  			}
  		}
  	}
  }	
}
	
function findAndCheckFriend(friend_id, value)
{
	var appointText = '<img src="/img/accept.gif" class="appoint-link-image"/>Назначить';
	if (typeof trusteeCache["all"] != "undefined"){
		for (var page in trusteeCache["all"]){
			for (var item in trusteeCache["all"][page].data){
				if (trusteeCache["all"][page].data[item].user_id == friend_id)
					trusteeCache["all"][page].data[item].assigned = value;
			}
		}
	}	
	for (var column in trusteeData){
		for (var item in trusteeData[column]){				
			for (var user_id in trusteeData[column][item]){
				if (user_id == friend_id){
					trusteeData[column][item][user_id] = value;					
					if (value == 0)
					{
						var a = "friend-make-"+column+"-"+item;											
						jQuery("#"+a).css("cursor","pointer");
						jQuery("#"+a).css('display','block');
						jQuery("#"+a).html(appointText);
						jQuery("#"+a).show();						
						jQuery("#"+a).click(function(){
							appointUser(user_id, a);
							trusteeData[$(this).attr("column")][$(this).attr("item")][$(this).attr("user_id")] = 1;
							$(this).attr("assigned",1); 
							$(this).css("cursor","default"); 
							findAndCheckFriend($(this).attr("user_id"), 1); 
							redrawFriends(); 
						});		
					}
				}
			}
		}
	}
	redrawFriends(); 	
}

function friendsToArray()
{
	var result = {};
	for (var column in trusteeData){
		for (var item in trusteeData[column]){				
			for (var user_id in trusteeData[column][item]){
				if (trusteeData[column][item][user_id] == 1){
					result[user_id] = 1;
				}
			}
		}
	}	
	return result;
}

function loadFriends(ind, page,event_id)
{				
	if (typeof trusteeCache[ind] == "undefined")
	$.post("/get.friendlistbyindex/?session-key="+jQuery("#session-key").val(),{index:ind, page:page,event_id:event_id},function(data){
  		trusteeCache[ind] = JSONToArray(data);    
		loadAllFriends_handler(trusteeCache[ind]);
	});
	else loadAllFriends_handler(trusteeCache[ind]);
}

function appointUser(user_id, id)
{
}

function appointClick_handler(that)
{
	if ($(that).attr("assigned") == 1) return false;	
	appointUser($(that).attr("user_id"), $(that).attr("id"));	
	for (var cnt=0;cnt<10;cnt++)
	{
		if (typeof trusteeData[1] == "undefined") trusteeData[1] = [];
		if (typeof trusteeData[1][cnt] == "undefined") trusteeData[1][cnt] = [];
		trusteeData[1][cnt][$(that).attr("user_id")] = 1;
	}
	for (var cnt=10;cnt<20;cnt++)
	{
		if (typeof trusteeData[2] == "undefined") trusteeData[2] = [];
		if (typeof trusteeData[2][cnt] == "undefined") trusteeData[2][cnt] = [];
		trusteeData[2][cnt][$(that).attr("user_id")] = 1;
	}
	findAndCheckFriend($(that).attr("user_id"), 1);
	$(that).html("<div style='margin-top:6px'>Уже выбран</div>");							
	$(that).attr("assigned",1);
	$(that).css("cursor","default");
}

function loadAllFriends_handler(value)
{						
	var writed = [];
	if (value)
	{
		if (value.data)
		for (var item in value.data)
		{
			if (typeof editTrusteeList[value.data[item].user_id] != "undefined"){
				if (editTrusteeList[value.data[item].user_id] != null)
					value.data[item].assigned = editTrusteeList[value.data[item].user_id].assigned;
			}
			var cellid1 = "td#friend-bukva-"+value.data[item].cell_id+"-"+item;
			$(cellid1).empty();
			if (!writed[value.data[item].bukva])
			{
				$(cellid1).html(value.data[item].bukva);
				writed[value.data[item].bukva] = 1;
			}
			var cellid2 = "td#friend-name-"+value.data[item].cell_id+"-"+item;
			$(cellid2).html("<a class='user' href='/user.info/?id="+value.data[item].user_id+"' target='_blank'>"+value.data[item].name+"</a>");
			var cellid3 = "div#friend-make-"+value.data[item].cell_id+"-"+item;
			$(cellid3).attr("column", value.data[item].cell_id);
			$(cellid3).attr("item", item);

			if (value.data[item].name){		
				if ((value.data[item].assigned == 0) || (editTrusteeList[parseInt(value.data[item].user_id)].user_id != parseInt(value.data[item].user_id)) ){   						
					$(cellid3).show();
					$(cellid3).attr("style","cursor:pointer");
					$(cellid3).unbind("click");
					$(cellid3).attr("user_id",value.data[item].user_id);
					$(cellid3).attr("assigned",0);
					$(cellid3).css("cursor","pointer");
					
					if (typeof trusteeData[value.data[item].cell_id] == "undefined") trusteeData[value.data[item].cell_id] = [];
					if (typeof trusteeData[value.data[item].cell_id][item] == "undefined") trusteeData[value.data[item].cell_id][item] = [];
					if (typeof trusteeData[value.data[item].cell_id][item][value.data[item].user_id]== "undefined")
					  trusteeData[value.data[item].cell_id][item][value.data[item].user_id] = 0;					

					$(cellid3).click(function(){
						appointClick_handler(this);
					});  
				} 
				 else
				{
					if (typeof trusteeData[value.data[item].cell_id]== "undefined") trusteeData[value.data[item].cell_id] = [];
					if (typeof trusteeData[value.data[item].cell_id][item]== "undefined") trusteeData[value.data[item].cell_id][item] = [];
					if (typeof trusteeData[value.data[item].cell_id][item][value.data[item].user_id]== "undefined")
				     trusteeData[value.data[item].cell_id][item][value.data[item].user_id] = 1;
					findAndCheckFriend(value.data[item].user_id, 1);
					
					$(cellid3).show();
					$(cellid3).html("<div style='margin-top:6px'>Уже выбран</div>");
					$(cellid3).attr("assigned",1);
					$(cellid3).css("cursor","default");
					$(cellid3).attr("user_id",value.data[item].user_id);
				}
			}
			  else
			{
				$(cellid1).empty();
				$(cellid2).empty();					
				$(cellid3).attr('user_id', 0);
				$(cellid3).html('<img src="/img/accept.gif" class="appoint-link-image"/>Назначить');
				$(cellid3).hide();
			}
		}

	}
	$("#friend-pager-cells").empty();
	if (value) $("#friend-pager-cells").html(value.pager);		
	redrawFriends();		
}

function loadAllFriends(page, event_id)
{	
	if (typeof trusteeCache["all"] == "undefined") trusteeCache["all"] = [];
	if (typeof trusteeCache["all"][page] == "undefined"){
		$.post("/get.friendlist/?session-key="+$("input[name=session-key]").val(),{page:page, event_id:event_id},function(data){
  			trusteeCache["all"][page] = JSONToArray(data);      			
			loadAllFriends_handler(trusteeCache["all"][page]);					
		});
	 } else loadAllFriends_handler(trusteeCache["all"][page]);
}

function redrawAppointedOnClientArea()
{		
	if (typeof trusteeCache["all"] == "undefined") return false;
	var res = friendsToArray();	
	for (var user_id in res){
		for (var page in trusteeCache["all"]){
			for (var index in trusteeCache["all"][page].data){
				if (typeof editTrusteeList[user_id] == "undefined"){
					if (user_id == trusteeCache["all"][page].data[index].user_id){						
						editTrusteeList[user_id] = {user_id:user_id, name:trusteeCache["all"][page].data[index].name, assigned:1};
					}
				}
			}
		}
	}
	displayTrustees();
}

function drawTrusteeTable(trustees)
{
	if (trustees) return "<table style='padding:3px 0px;width:300px' cellpadding='5' cellspacing='0'>"+trustees + "</table>";
	else return "<table style='padding:3px 0px;width:300px' cellpadding='5' cellspacing='0'><tr><td>Доверенные лица не назначены</td></tr></table>";
}

function drawTrustee(user_id, name, assigned, email){
	var addstr = "";
	if (user_id == null){
		var randname = trusteeByMail[email].id;// Math.ceil(Math.random()*10000+1);
		var addstr = "<input name='trustee[id][]' value='"+trusteeByMail[email].id+"'  type='hidden'/><input name='trustee[name_first][]' value='"+trusteeByMail[email].name_first+"'  type='hidden'/><input name='trustee[name_last][]' value='"+trusteeByMail[email].name_last+"' type='hidden'/><input name='trustee[email][]' value='"+email+"' type='hidden'/>";	
		
	return  "<tr id='trln"+randname+"'><td width='235'><a href='mailto:"+email+"' target='_blank'>"+trusteeByMail[email].name_first+" "+trusteeByMail[email].name_last + "</a></td><td width='80' id='trtd"+randname+"' ><a id='tra"+randname+"' href='javascript:void(0);' onclick='unTrustee("+user_id+","+randname+")'>Удалить</a><input id='trinp"+randname+"' type='hidden' name='trustees[]' value='"+user_id+"'>"+addstr+"</td></tr>";
	} else {
		if (assigned == 0)
		return  "<tr id='trln"+user_id+"'><td width='235'><a class='user' href='/user.info/?id="+user_id+"' target='_blank'>"+name + "</a></td><td width='80' id='trtd"+user_id+"' ><a id='tra"+user_id+"' href='javascript:void(0);' onclick='unTrustee("+user_id+")'>Восстановить</a></td></tr>";
	else return  "<tr id='trln"+user_id+"'><td width='235'><a class='user' href='/user.info/?id="+user_id+"' target='_blank'>"+name + "</a></td><td width='80' id='trtd"+user_id+"' ><a id='tra"+user_id+"' href='javascript:void(0);' onclick='unTrustee("+user_id+")'>Удалить</a><input id='trinp"+user_id+"' type='hidden' name='trustees[]' value='"+user_id+"'>"+addstr+"</td></tr>";
	}
}

function displayTrustees(){
	var res = "";	
	for (var i in editTrusteeList){		
		if (editTrusteeList[i].user_id == null){
			trusteeByMail[editTrusteeList[i].email] = {user_id:null, email:editTrusteeList[i].email, id:editTrusteeList[i].id, name:editTrusteeList[i].name, name_first:editTrusteeList[i].name, name_last:'',assigned:1};			
		}else
		res += drawTrustee(editTrusteeList[i].user_id, editTrusteeList[i].name,  editTrusteeList[i].assigned, editTrusteeList[i].email);
	}
	for (var i in trusteeByMail){		
		res += drawTrustee(trusteeByMail[i].user_id, trusteeByMail[i].name,  trusteeByMail[i].assigned, trusteeByMail[i].email);
	}	
	$("#trustee-list").show();	
	$("#trustee-list").html(drawTrusteeTable(res));
}

function unTrustee(user_id, randname){	
	if (user_id == null){
		$("#trln"+randname).remove();
		//Доверенные лица не назначены		
		return;
	}
	if (editTrusteeList[user_id].assigned == 1){
		findAndCheckFriend(user_id, 0);
		editTrusteeList[user_id].assigned = 0;
		$("#trinp"+user_id).remove();
		$("#tra"+user_id).html("Восстановить");
	} else {
		findAndCheckFriend(user_id, 1);
		editTrusteeList[user_id].assigned = 1;
		$("#tra"+user_id).html("Удалить");
		$("#trtd"+user_id).append("<input id='trinp"+user_id+"' type='hidden' name='trustees[]' value='"+user_id+"'>");
	}
}

function initFriends()
{
    var event_id = $("input[name=event_id]").val();		
    $.post("/get.letterlist/?session-key="+$("input[name=session-key]").val(),{event_id:event_id},function(data)
    {	
        $("div#letters-container").html(data);				
        loadAllFriends(1,event_id);
        //loadTrusteeList(event_id);				
        displayTrustees();
    });
    
    $("span#invite-fromfriends").click(function()
    { 
        if (inviteFriendsW) return false;
        inviteFriendsW = true;				
    
        var event_id = $("input[name=event_id]").val();
        loadAllFriends(1,event_id);
		
        var objDialog = new CDialog({
            guid: 'selectTrusteeDialog',
            title: "Доверенные лица",
            body: $("div#friends-container").html(),
            width: "725px"
        });    
        
        objDialog.addButton({label:'OK', click:function(){        
            objDialog.close();
        }});
        
        objDialog.setOnClose(function(){
            redrawAppointedOnClientArea();
            inviteFriendsW = false;
        });
        
        objDialog.open();		
        return false;
    });	
	
    $("span#invite-bymail").click(function()
    { 
        if (inviteBymailW) return false;
        inviteBymailW = true;		

        var objDialog = new CDialog({
            guid: 'inviteByMailDialog',
            title: "Пригласить по почте",
            body: $("div#mail-container").html(),
            width: "600px"
        });    
        
        objDialog.addButton({label:'OK', click:function(){        
            ajaxEventInviteTrustee('form-main');
            inviteBymailW = false;
        }});
        
        objDialog.addButton({label:'Закрыть', style:'form-button-2', click:function(){        
            inviteBymailW = false;
            objDialog.close();
        }});
        objDialog.open();
    });
}

function firstView() {
	var z = location.href;
	if (!z.match(/new.event/)) return false;
	
//	var visitor_id = 0;
//	var dialogShown = getCookie('helpEvent_'+visitor_id);
//	if (!dialogShown) 
		showHelp();	
//	setCookie('helpEvent_'+visitor_id, true, 0);
}

function showHelp() {
    var reqSend = false;
	
    var buttons = [
        {label:'Да',click:function(){
            opbj.startProcessingBar();
            if (!reqSend) {
                $.post("/inbox.send/", { subject:"Запрос о помощи создания мероприятия", body:"Запрос о помощи создания мероприятия", to:"4255", type:"reply", act:"inbox.send" },  function(){
                    reqSend = true;
                    opbj.stopProcessingBar();
                    opbj.close();
                    AlertDialog('Помощь в создании', 'Ваш запрос успешно отправлен. Ожидайте личное сообщение от Консультанта с дальнейшими инструкциями.');
                });
            }
        }},  
        {label:'Нет', style:'form-button-2',click:function(){ opbj.close();}}
    ];
    var opbj = new ConfirmDialog('Помощь в создании  ', 'Вы приступили к созданию мероприятия. Если у Вас возникнут сложности, то в любое время Вы сможете воспользоваться нашей помощью, и мы создадим мероприятие за Вас.<br /><br /> Хотите воспользоваться помощью уже сейчас?', buttons);	
}

function deleteEventAvatar()
{
    var buttons = [
        {label:'Да',click:function(){
            opbj.startProcessingBar();
            $("#event-image-encoded").val("default-image");
            $("#delete-avatar-link").hide();
            $("#rotate-avatar-link").hide();
            $("#event-image-name").attr("src", $("#default-image").val());
            $.post("/ajax.delete.event.avatar/",{event_id:$("#event_id").val()},function(data){
                var res = JSONToArray(data);
                $('img#event-image-name').attr('src', res.src);
                $("#toolbar-icons").hide();			
                $("#bar").css("width", res.cs.percentage+"%");
                $("#cell3").html(res.cs.percentage+"%");	        	
                eventSummaryToDo = res.cs.todo;
                $("a#help-event-complete").unbind("click");
                $("a#help-event-complete").bind("click", function(){helpEventComplete(res.cs.todo); return false;});
                $("#help-event-complete").show();
                opbj.close();
            });
        }},  
        {label:'Нет', style:'form-button-2',click:function(){ opbj.close();}}
    ];
    var opbj = new ConfirmDialog('Подтверждение удаления', 'Удалить аватар мероприятия?', buttons);	
    return false;
}

   
function imageRotateEventAvatarLeft(){
	imageRotateEventAvatar(90);
}

function imageRotateEventAvatarRight(){
	imageRotateEventAvatar(270);
}

/*
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
}; 
*/
function imageRotateEventAvatar(grad){
	imageRotate("ajax.rotate.event.avatar","event-image-name",  {event_id:$("#event_id").val() , id:$("#event-image-name").attr("avatar-id"), degrees:grad},function(result){
		$('img#event-image-name').attr('src', result.l+'?' + (Math.random()*100000000000000000));// + );
		$("#event-image-encoded").val(result.e);
		$('img#event-image-name').attr("avatar-id",result.id);
	});
}

function rotateEventAvatar(){
	$.post('/ajax.rotate.event.avatar/', {event_id:$("#event_id").val() , id:$("#event-image-name").attr("avatar-id"), degrees:270}, function(data) { 
		var result = JSONToArray(data);    
		$('img#event-image-name').attr('src', result.l+'?' + (Math.random()*100000000000000000));// + );
		$("#event-image-encoded").val(result.e);
		$('img#event-image-name').attr("avatar-id",result.id);
	});
}

function validateCreateEventForm()
{	
    $("input.submit-image").attr("disabled", "disabled");
    var desc = trim($("#name").val());
    if (desc.length<3) {
        var objAlert = new AlertDialog("Ошибка", 'Длина слова в строке должна быть не менее 3-х символов');
        objAlert.setOnClose(function(){ $("#name").focus();$("input.submit-image").removeAttr("disabled"); });
        return false;
    }
    
    if (desc.length>128) {
        var objAlert = new AlertDialog("Ошибка", 'Значение поля "Название" должно быть не более "128" символов!');
        objAlert.setOnClose(function(){ $("#name").focus();$("input.submit-image").removeAttr("disabled"); });
        return false;
    }
    
    var r = validateStep(1);
    return r;
}

function isOldEvent(){
    var dateval = $("#date_start").val();
    var datevalend = $("#date_end").val();
    
    xchgDate = false;
    if (datevalend.length){
    	dateval = datevalend;
    	xchgDate= true;
    }
    
    var ymd = dateval.split(".");				 
    var dateStartYear = ymd[2]*1;
    var dateStartMonth = ymd[1]*1 - 1;
    var dateStartDay = ymd[0]*1;			
    var dateStartHour = $("#h_"+(xchgDate?"end":"start")).val();
    var dateStartMin = $("#m_"+(xchgDate?"end":"start")).val();
    var date_start = new Date(dateStartYear, dateStartMonth, dateStartDay, dateStartHour, dateStartMin, 0);
    var now = new Date();
    return (date_start < now);
}
		
function submitValidation()
{	
	$('#submit-image').attr('disabled', 'disabled');
	var name = trim($("#name").val());
	var description = trim($("#description").val());
	var res = validateCreateEventForm();
	
	if (!isOldEvent()){
		if (!res) return false; }else res = true;

	$.post("/sys.test.string/?"+(Math.random()*100000000000000000), {text:description, title:name}, function(data){
		var result = JSONToArray(data);
		if (result.isSuccessful == 0){
			UIDialog.setTitle("Ошибка");
			UIDialog.setBody('Длина слова в строке не должна превышать 50 символов');
			UIDialog.yes(false, UIDialog.hide);
			UIDialog.cancel(false, UIDialog.hide);
			UIDialog.no(false, UIDialog.hide);
			UIDialog.ok(true, function(){
					UIDialog.hide(); 
					if (result.title != 1)$("input#name").focus();
					if (result.text != 1)$("textarea#description").focus();
			});
			UIDialog.show();
			$("input.submit-image").removeAttr("disabled");
		} else {
			if (res) {
				
				if (isOldEvent()){
					if (isEventEditForm){
					UIDialog.setTitle("Ошибка");
					UIDialog.setBody('Вы указали прошедшую дату '+(xchgDate?"завершения":"начала")+' мероприятия. Изменить дату?');
					UIDialog.yes(false, UIDialog.hide);
					UIDialog.cancel(false, UIDialog.hide);
					UIDialog.no(true, function(){UIDialog.hide();document.getElementById("form-main").submit();});
					UIDialog.ok(true, function(){
						UIDialog.hide(); 						
						$("input.submit-image").removeAttr("disabled");
						$("#event-header").css("background-position", "0px -267px");					
						$("tr td div.event-steps a").css("color", "");
						$("#event-step-1 a").css("color", "#546970");						
						jQuery("#loaded-content-3").hide();	
						jQuery("#loaded-content-2").hide();	
						jQuery("#loaded-content-1").show();
						$("#eventform-submit-buttons").show();
						window.scroll(0,0);								
						$("#date_"+(xchgDate?"end":"start")).focus();
					});
					UIDialog.show();
					}
				}
				else{
					//if (!isEventEditForm) return false;
					document.getElementById("form-main").submit();
				}
			}
		}
	});
	return false;
}

function validateStep(stepno)
{	
	stepno = 1;
	switch (stepno)
	{
		case 1:
			var isOld = isOldEvent();
		
			var dateval = $("#date_"+(xchgDate?"end":"start")).val();
			var datevalOrig = $("#date_start").val();
			var datevalend = $("#date_end").val();
			
			var ymdOrig = datevalOrig.split(".");
			var ymd = dateval.split(".");
			var monthname = ["Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря"];	 
			var dateStartYear = ymd[2]*1;
			var dateStartMonth = ymd[1]*1 - 1;
			var dateStartDay = ymd[0]*1;			
			var dateStartYearOrig = ymdOrig[2]*1;
			var dateStartMonthOrig = ymdOrig[1]*1 - 1;
			var dateStartDayOrig = ymdOrig[0]*1;			
			var dateStartHour = $("#h_"+(xchgDate?"end":"start")).val();
			var dateStartMin = $("#m_"+(xchgDate?"end":"start")).val();
			var dateStartHourOrig = $("#h_start").val();
			var dateStartMinOrig = $("#m_start").val();
			var date_start = new Date(dateStartYear, dateStartMonth, dateStartDay, dateStartHour, dateStartMin, 0);
			var date_startOrig = new Date(dateStartYearOrig, dateStartMonthOrig, dateStartDayOrig, dateStartHourOrig, dateStartMinOrig, 0);
			var now = new Date();			
			var description;
			
			//if (date_start < now){
			if (isOld){
				var prosh = date_start.getDate() + " " + monthname[date_start.getMonth()] + " " + date_start.getFullYear() + "   " + date_start.getHours() + ":" + (date_start.getMinutes()<10?"0"+date_start.getMinutes():date_start.getMinutes());				
				if (isNewEvent){
				    var objAlert = new AlertDialog("Ошибка", 'Вы указали прошедшую дату '+(xchgDate?"завершения":"начала")+' мероприятия: '+prosh);
				    objAlert.setOnClose(function(){ $("#date_"+(xchgDate?"end":"start")).focus();$("input.submit-image").removeAttr("disabled");});
                                                return false;
				} else return true;
			}
			
			var datevalend_ymd = datevalend.split(".");
			var dateEndYear = datevalend_ymd[2]*1;
			var dateEndMonth = datevalend_ymd[1]*1-1;
			var dateEndDay = datevalend_ymd[0]*1;
			var dateEndHour = $("#h_"+(xchgDate?"end":"start")).val();
			var dateEndMin = $("#m_"+(xchgDate?"end":"start")).val();
			var date_end = new Date(dateEndYear, dateEndMonth, dateEndDay, dateEndHour, dateEndMin, 0);

			if (date_end < date_startOrig) {
			    var objAlert = new AlertDialog("Ошибка", 'Вы указали дату окончания раньше, чем дату начала');
		               objAlert.setOnClose(function(){$("#date_start").focus();$("input.submit-image").removeAttr("disabled");});
			    return false;
			}
			
			description = $("#description").val();		
			if (globalTabNum < 3) {
            			$.post("/sys.prep.text/?"+(Math.random()*100000000000000000),{text:description},function(data){	
            			    var flagCut = false;	
            			    $("#desc_small").html(data);
            			});
			}
			
			$("#owner_name_text").html($("#owner_name").val());
			$("#event-name").html($("#name").val());
			$("#time-output").html((date_start.getDate()<10?"0"+date_start.getDate():date_start.getDate()) + " " + monthname[date_start.getMonth()] + " " + date_start.getFullYear() + "   " + date_start.getHours() + ":" + (date_start.getMinutes()<10?"0"+date_start.getMinutes():date_start.getMinutes()));
	
			var MinMilli = 1000 * 60;       
			var HrMilli = MinMilli * 60;
			var DyMilli = HrMilli * 24;
			var tttt = Date.parse(now);       
			var aaa1 = Math.round(Math.abs(tttt / DyMilli));
			var tttt2 = Date.parse(date_start);       
			var aaa2 = Math.round(Math.abs(tttt2 / DyMilli));
			var days = aaa2-aaa1;
			var dneytitle = pluralNumber(days, " д", "ень", "ня", "ней" );
			
			if (days>0) $("#donachala").html(" | до начала осталось: "+days+" "+dneytitle);
			else $("#donachala").html(" | Мероприятие состоится сегодня");
			
			if ($("#category_list").val() == "custom:1")
			{
                                    if ((!$("#opt").val()) || ($("#opt").val() == "Введите название своей категории")){
                                        var objAlert = new AlertDialog("Ошибка", 'Укажите категорию!');
                                        objAlert.setOnClose(function(){$("#category_list").focus();});
                                        return false;
                                    }
			}
				
			if ($("#name").val() && 
			(($("#category_list").val()!='choose:0') || 
			(($("#category_list").val()=='custom:1') && ($("#opt").val()!==''))) && $("#date_start").val()) return true;

                                var objAlert = new AlertDialog("Ошибка", 'Необходимо заполнить все поля');
                                objAlert.setOnClose(function(){ $("#category_list").focus();$("input.submit-image").removeAttr("disabled"); });
			return false;				
			break;
		
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
			return true;
			break;
	}
	return false;
}

function showCreateEventTab(tabnum)
{
	var desc = $("#name").val();
	if (desc.length<3)
	{
	     var alrtDlg = AlertDialog("Ошибка", 'Длина слова в строке должна быть не менее 3-х символов');
                alrtDlg.setOnClose(function(){
                    $("#name").focus();
                });
	     return false;
	}
	
	if (desc.length>128)
	{
	     var alrtDlg = AlertDialog("Ошибка", 'Значение поля "Название" должно быть не более "128" символов!');
                alrtDlg.setOnClose(function(){
                    $("#name").focus();
                });
	     return false;
	}

	
	$.post("/sys.test.string/?"+(Math.random()*100000000000000000),{text:$("#description").val(), title:desc},function(data){
		var result = JSONToArray(data);
		if (result.isSuccessful == 0){
		      var alrtDlg = AlertDialog("Ошибка", 'Длина слова в строке не должна превышать 50 символов');
                            alrtDlg.setOnClose(function(){
                                if (result.title != 1)$("input#name").focus();
                                if (result.text != 1)$("textarea#description").focus();
                            });
		} else {
			globalTabNum = tabnum;
			if (tabnum != 0)
			{
				var doDisableToolbar = false;	
					if (!validateStep(tabnum)) 
					{		
						if (tabnum!=1)
						{	
							tabnum = 1;
							doDisableToolbar = true;			
						}else{
							var val = 87*tabnum-261-93;
							$("#event-header").css("background-position", "0px "+val+"px");					
							$("tr td div.event-steps a").css("color", "");
							$("#event-step-"+tabnum+" a").css("color", "#546970");

							return;	
						}
					}
			}
			else	
			{
				tabnum = 1;
			}
			for (i=1;i<=3;i++)
			{ 
				if (i!=tabnum)
				{
					jQuery("#loaded-content-"+i).hide();
//					jQuery("#create-event-item-bubl-"+i).attr("class","create-event-item-bubl");
//					jQuery("#create-event-item-title-"+i).attr("class","create-event-item-title");
				}		
			}
			if (doDisableToolbar)
			{
				disableToolBar();
			}
			jQuery("#loaded-content-"+tabnum).show();
//			jQuery("#create-event-item-bubl-"+tabnum).attr("class","create-event-selected-item-bubl");
//			jQuery("#create-event-item-title-"+tabnum).attr("class","create-event-selected-item-title");
			$("#eventform-submit-buttons").show();
			window.scroll(0,0);
			
			if (tabnum == 3)
			{
				if (!friendsInited)
				{
					initFriends();
					friendsInited = true;
				}
			}
			
			if (tabnum == 2)
			{				
				var f = false;
				var z = location.href;

				if ($("#eventplace_id").val()*1 == 0) f = true;					
				//if (z.match(/new.event/))  f = true;
				  f = true;
				
				if (f)
				{
					if (!eventPlacesInited)
					{
						bindEventPlaceTab();
						if (needSearchresult == 1) {getSearchResults();needSearchresult =0;}
						eventPlacesInited = true;
					}
				}
			}
			var val = 87*tabnum-261-93;
			$("#event-header").css("background-position", "0px "+val+"px");					
			$("tr td div.event-steps a").css("color", "");
			$("#event-step-"+tabnum+" a").css("color", "#546970");
		}
	});	 
	return false;
}

function enableToolBar()
{	
}

function disableToolBar()
{
}


function initCreateEventFormAjax()
{
	jQuery(document).ready(function()
	{
	  	var options = 
	  	{ 
	    		// элемент, который будет обновлен по ответу сервера 
	  		target: "#pageRightContent",
		    	beforeSubmit: showCreateEventRequest, // функция, вызываемая перед передачей 
	    		success: showCreateEventResponse, // функция, вызываемая при получении ответа
	    		timeout: 3000 // тайм-аут
	  	};
	  
	  	// привязываем событие submit к форме
	  	jQuery('#form-main').submit(function() 
	  	{ 
	    		jQuery(this).ajaxSubmit(options); 
	    		return false;
	  	}); 
	  	
	});
}

// вызов перед передачей данных
function showCreateEventRequest(formData, jqForm, options) 
{ 
    // formData - массив; здесь используется $.param чтобы преобразовать его в строку для вывода в alert(),
    // (только в демонстрационных целях), но в самом плагине jQuery Form это совершается автоматически.
    var queryString = jQuery.param(formData); 
    // jqForm это jQuery объект, содержащий элементы формы.
    // var formElement = jqForm[0]; 
    //alert('Вот что мы передаем: \n\n' + queryString); 
    return true; 
} 
 
// вызов после получения ответа 
function showCreateEventResponse(responseText, statusText)  
{ 
}

function saveEditEvent()
{
	$(this).submit();	
}

/*
	EventPlaces select binds in create event form
*/
function bindEventPlaceTab()
{	
	$(function($)
	{	
		$("select#country").unbind('change');
		$("select#region").unbind('change');
		$("select#city").unbind('change');
		$("select#country").change(function(){
			$("#form-row-metro").hide();			
			getSearchResults();
			
			$("#eventplace-info-link").empty();
			$("#eventplace_id").val(0);
			$("select#city").val(0);
			$("select#city").hide();
			$("select#region").val(0);
			$("select#metro").val(0);
			$("#region_div").show();
			$("#region_div").html("Выберите регион");
			$("select#nazvanie").hide();
			$("#nazvanie_div").show();
			$("#nazvanie_div").html("Выберите тип заведения");
			$("select#address").hide();
			$("#address_div").show();
			$("#address_div").html("Выберите название заведения");

			if ($(this).val() == 0)
			{
				$("select#city").val(0);
				$("select#region").val(0);				
				$("select#region").hide();
				$("#country_div").show();
				$("#country_div").html("Выберите страну");
				$("#eventplace_type_id").change();
				return;
			}

			$(this).attr("disabled","disabled");
			
			var value = $(this).val();
			$.ajax({
				type: "GET",
				url: "/ajax.locations/",
				dataType: "text/plain",
				data: "id="+value+"&type=country",
				success: function(response){
				var j = JSONToArray(response);	
				
				//$.getJSON("/ajax.locations/",{id: $(this).val(), type: 'country'}, function(j){
				$("select#country").removeAttr("disabled");
	
				$("select#region").show();
				$("#country_div").hide();
	
				var oRegions = '<option value="0">Не указывать</option>';
				var oCities = '<option value="0">Не указывать</option>';
				var bRegions = false;
				var bCities = false;
				for (var i = 0; i < j.length; i++) {
					if(j[i].regValue != undefined){
						oRegions += '<option value="' + j[i].regValue + '">' + j[i].regName + '</option>\n';
						bRegions = true;
					}
					if(j[i].cityValue != undefined){
						oCities += '<option value="' + j[i].cityValue + '">' + j[i].cityName + '</option>\n';
						bCities = true;
					}
				}
				
				$("select#region").html(oRegions);
				if (bRegions) $("select#region").removeAttr('disabled');
				else $("select#region").attr('disabled','disabled');
				$("select#city").html(oCities);
	
				if (bCities) $("select#city").removeAttr('disabled');
				else $("select#city").attr('disabled','disabled');
			}});
		});		

		 $("select#region").change(function()
		 {		 	
		 	$("#eventplace-info-link").empty();
			$("#eventplace_id").val(0);
			$("select#metro").val(0);
			$("select#city").val(0);
			
			if ($(this).val() == 0)
			{
				$("select#city").val(0);
				$("select#city").hide();
				$("#region_div").show();
				$("#region_div").html("Выберите регион");
				
				$("select#metro").val(0);
				$("select#metro").hide();
				$("#metro_div").show();
				
				$("#metro_div").html("Выберите город");
				
			}
				else
			{				
				$("#region_div").hide();
				$("select#city").show();
				$("select#city").removeAttr("disabled");

				
				var value = $(this).val();
				
				$.ajax({
					type: "GET",
					url: "/ajax.locations/",
					dataType: "text/plain",
					data: "id="+value+"&type=region",
					success: function(response){
					var j = JSONToArray(response);	

					//$.getJSON("/ajax.locations/",{id: $(this).val(), type: 'region'}, function(j){
					var oCities = '<option value="0">Не указывать</option>';
					var oSubway = '<option value="0">Любое</option>';
					var bCities = false;
					var bSubway = false;
					for (var i = 0; i < j.length; i++) {
						if(j[i].cityValue != undefined){
							oCities += '<option value="' + j[i].cityValue + '">' + j[i].cityName + '</option>\n';
							bCities = true;
						}
					}
					$("select#city").html(oCities);
					if (bCities) $("select#city").removeAttr('disabled');
					else $("select#city").attr('disabled','disabled');
					$("select#city").change();
				}});
				
			}
			getSearchResults();
		});
	 
		$("select#city").unbind('change');
		
		 $("select#city").change(function()
		 {		 	
		 	$("#eventplace-info-link").empty();

			//$("#eventplace_id").val(0);
			
			if ($(this).val() == 0)
			{
				$("select#metro").hide();
				$("#metro_div").show();
				$("#metro_div").html("Выберите город");
			}
				else
			{				
				$("#eventplace_type_id_div").hide();
				$("select#eventplace_type_id").show();
				$("select#eventplace_type_id").val(0);
				$("select#eventplace_type_id").removeAttr("disabled");
				var region_id = $("#region").val();
				var city_id = $("#city").val();
				var country_id = $("#country").val();
				$.ajax({
					type: "GET",
					url: "/ajax.get.ep.metro/",
					dataType: "text/plain",
					data: "region_id="+region_id+"&country_id="+country_id+"&city_id="+city_id,
					success: function(response){
						
					var j = JSONToArray(response);	

					//$.getJSON("/ajax.get.ep.metro/",{region_id:$("#region").val(), city_id:$("#city").val(), country_id:$("#country").val()}, function(j){
					
					var oData = '';

					if (j.length > 1)
					{
						$("#form-row-metro").show();
						for (var i in j) {
							oData += '<option value="' + j[i].value + '">' + j[i].name + '</option>\n';
						}
				
						$("select#metro").removeAttr("disabled");
						$("#metro_div").hide();
						$("select#metro").show();
						$("select#metro").html(oData);
					}
						else
					{
						$("#form-row-metro").hide();
					}
				}});
			}

			$("select#nazvanie").hide();
			$("#nazvanie_div").show();
			$("#nazvanie_div").html("Выберите тип заведения");

			$("select#address").hide();
			$("#address_div").show();
			$("#address_div").html("Выберите название заведения");
			getSearchResults();
			return;
		 });
		
		function changeNaznanie(selectedInd){
			if (selectedInd == 0){
				$("#address").hide();
				$("#address_div").show();
				$("#address_div").html("Выберите название заведения");
			} else {		
				var value = $(this).val();
				$.ajax({
					type: "GET",
					url: "/ajax.get.ep.address/",
					dataType: "text/plain",
					data: "id="+ selectedInd+"&eventplace_type_id="+$("#eventplace_type_id").val()+"&region_id="+$("#region").val()+"&city_id="+$("#city").val()+"&country_id="+$("#country").val(),
					success: function(response){
					var j = JSONToArray(response);	
									
					//$.getJSON("/ajax.get.ep.address/",{id: selectedInd, eventplace_type_id:$("#eventplace_type_id").val(), region_id:$("#region").val(), city_id:$("#city").val(), country_id:$("#country").val()}, function(j){
					
					var oData = '';
					if (j.length > 1)
					{
						for (var i = 0; i < j.length; i++) {
							oData += '<option value="' + j[i].value + '">' + j[i].name + '</option>\n';
						}
				
						$("select#address").show();
						$("select#address").html(oData);
						$("select#address").removeAttr("disabled");		
						$("#address_div").hide();
					}
						else
					{
						if (j.length > 0)
						{
							$("#eventplace_id").val(j[0].value);
						}
							else
						{
							$("#address_div").html("В этом городе нет этого места проведения мероприятия");
						}
					}
				}});		
			}
		}
		
		$("select#nazvanie").change(function()
		{	
			$("#eventplace_id").val(0);
			changeNaznanie($(this).val());
			$("#eventplace-info-link").empty();
		});

		$("select#address").change(function()
		{
			$("#eventplace_id").val($(this).val());
			$("#eventplace-info-link").html('<a target="_blank" href="/view.place.info/?id='+$(this).val()+'">подробнее...</a>');
		});

		$("select#eventplace_type_id").change(function()
		{			
			getSearchResults();
			$("#eventplace-info-link").empty();
			$("#eventplace_id").val(0);
			if ($(this).val() == 0)
			{
				$("select#nazvanie").hide();
				$("#nazvanie_div").show();
				$("#nazvanie_div").html("Выберите тип заведения");

				$("select#address").hide();
				$("#address_div").show();
				$("#address_div").html("Выберите название заведения");
				return;
			}
		});

		 $("select#metro").change(function()
		 {
		 	getSearchResults();
			$("select#address").hide();
			$("#address_div").show();
			$("#address_div").html("Выберите тип заведения");
			$("select#eventplace_type_id").removeAttr("disabled");
			$("select#eventplace_type_id").show();
			$("#eventplace_type_id_div").hide();
		 });
		 	 
		 {
		 	if ($("select#region").val()*1 == 0) 
		 	{
		 		$("#city_div").show();
		 		$("#region_div").show();		 		
	 			$("select#region").show();
	 			$("select#region").attr("style","width:300px");
		 		$("select#city").hide();
		 	}		 	

		 	
			if ($("select#city").val()*1 != 0) 
			{
				if ($("select#metro").val()*1 == 0) 
				$("select#city").change();
				else
				{
					$("#form-row-metro").show();
					$("select#metro").show();
					$("#metro_div").hide();
				}
			}
				else
			{
				$("#form-row-metro").hide();
				$("select#metro").hide();
				$("#metro_div").show();
			}
			
		 	if ($("select#country").val()*1 == 0) 
		 	{
		 		$("#country_div").html("Выберите страну");
		 		$("#country_div").show();
		 		$("#city_div").show();
		 		$("select#country").show();		 		
		 		$("select#region").hide();
		 		$("select#city").hide();
		 	}		 	 	
		 }
});}


function browseUpload()
{
	// window.frames["image-load-iframe"].browseUpload();
}

$(function(){												
	if (typeof radio != "undefined"){
	$("input#"+radio).attr("checked","checked");
	
	$("input[type^=radio]").click(function(){
		var decorNumber = $(this).val();
		$("#event-decor").attr("class","event-decor-"+decorNumber);
	});
	
	$("img.event-decor-sample").click(function(){
		var decorNumber = $(this).attr("decor");
		$("#"+decorNumber).click();
		$("#event-decor").attr("class","event-decor-"+decorNumber);
	});
	}
});

function toggleEventSettingsBlock()
{
	if  ($('#event-settings-body').css("display") != "none")
	$("img#event-settings-button").attr("src", "/img/event-settings-button.png");
		else $("img#event-settings-button").attr("src", "/img/event-settings-button-up.png");
	$('#event-settings-body').toggle();
}

function resetEventSettingsBlock(that)
{					
	$("form#event-settings-block-form").resetForm();
	$("input#"+radio).attr("checked","checked");				
	$("#event-decor").attr("class","event-decor-"+radio);	
	toggleEventSettingsBlock();					
}
