$(document).ready(function() {


// ------  Создание html-структуры	------- //

$('#Calendarik').append('<div id="tag"></div>');
	$('#tag').jrumble({
		rumbleEvent: 'hover',
		rumbleSpeed: 120,
		rangeX: 5,
		rangeY: 5,
	});

$('#Calendarik').append('<div id="calendarikDate"></div>');
//$('#Calendarik').append('<div id="calendarikFert" class="fert"></div>');
$('#Calendarik').append('<div id="daysbefore" class="daysbefore"><img src="i/numbers.gif" /></div>');
// $('#Calendarik').append('<div id="calendarikMood" class="mood"></div>');


// ----------   Инициализация   ----------- //

var kotexURL = 'http://test.ogilvy-interactive.ru';
var eventsURL = 'WebSrv/Calendar/Events.asmx';
var usersURL = 'WebSrv/Calendar/Users.asmx';

jQuery.jSOAPClient.setUrn('http://tempuri.org/');

var monthName = new Array("","Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
var monthNameForDay = new Array("","Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");

var dowName = new Array("понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье");
var dowNameShort = new Array("пн", "вт", "ср", "чт", "пт", "сб", "вс");


var d = new Date();
currentDate = d.getDate();
currentMonth = d.getMonth()+1;
currentYear = d.getFullYear();
today =  { "date" : currentDate , "month" : currentMonth, "year" : currentYear } ;
var tomor = new Date(d.getTime() + 24*60*60*1000);

tomorrow =  { "date" : tomor.getDate() , "month" : tomor.getMonth()+1, "year" : tomor.getFullYear() } ;


// ----------- Проверяем авторизацию ----------- // 

checkAuthorization = function(){

	
	jQuery.jSOAPClient.setLocation( usersURL );	
	
	jQuery.jSOAPClient.setError(function(xhr, status, errorThrown){
		alert(errorThrown+'\n'+status+'\n'+xhr.statusText); 
	});

	jQuery.jSOAPClient.setSuccess(function(badxml){  
	var data=$.parseXML(badxml); 

	if($("IsLoginResult", data).text()=='true'){ 
	
	renderFullCalendarik();
	//Полноценный календарик
	
	} else {
	
	renderCuttedCalendarik();	
	//Календарик-затычка
		
		 }		 
	
	});
	
	jQuery.jSOAPClient.callEmpty('IsLogin'); 

}

// --------  Рисуем календарик  --------- //

renderFullCalendarik = function() {
	var eventsLine='';
	$('#Calendarik').append('<div id="eventsContainer"><div class="scrollPaneMin"></div><a id="btn-addEvent" href="Calendar.aspx"><span>Добавить событие</span></a></div>');
	var month2D=(currentMonth<10) ? '0'+currentMonth : currentMonth;
	var date2D=(currentDate<10) ? '0'+currentDate : currentDate;
	var tmonth2D=(tomorrow.month<10) ? '0'+tomorrow.month : tomorrow.month;
	var tdate2D=(tomorrow.date<10) ? '0'+tomorrow.date : tomorrow.date;
		
	var mydata = '{"data":[{"arg":"start", "value":"'+today.year+'-'+month2D+'-'+date2D+'T00:00:00.000Z"}, {"arg":"end", "value":"'+tomorrow.year+'-'+tmonth2D+'-'+tdate2D+'T00:00:00.000Z"}]}'; 


	jQuery.jSOAPClient.setLocation( eventsURL );
	jQuery.jSOAPClient.setSuccess(function(badxml){
		var data=$.parseXML(badxml);	
		
		
		$('KotexCalendarEvent',data).each(function(i, _item) {
			if ($(_item).find('start').text().split('T')[0].split('-')[1] != month2D){		
				
				// передаем привет марсианам!
				// do nothing..
				
			} 
			else {
				
				// если получили все таки то, что собственно просили.
				
				var eventTypex=$(_item).find('Type');

				var eventType=$(eventTypex).find('uid').text();
			}	
		
		});

		$(".scrollPaneMin").append(eventsLine);
		$('.scrollPaneMin').jScrollPane({ showArrows: true, horizontalGutter: 10 });
		renderDaysToM();

	});

	jQuery.jSOAPClient.setError(function(xhr, status, errorThrown){
		alert(errorThrown+'\n'+status+'\n'+xhr.statusText); 
	});

	jQuery.jSOAPClient.call('GetList', mydata);    
	
}




// ----- Рисуем кусок "До этих дней" ----- //

renderDaysToM = function () {

    var mydata = '{"data":""}';
    var dayText = 'дней';

    jQuery.jSOAPClient.setLocation(eventsURL);
    jQuery.jSOAPClient.setSuccess(function (data) {
        var goodxml = $.parseXML(data);
        $('#daysbefore').html($('MCDaysLeftResult', goodxml).text());
    });

    jQuery.jSOAPClient.setError(function (xhr, status, errorThrown) {
        alert(errorThrown + '\n' + status + '\n' + xhr.statusText);
    });

    jQuery.jSOAPClient.call('MCDaysLeft', mydata);

}





// ----- Рисуем Затычку ----- //

renderCuttedCalendarik = function() {
$('#Calendarik').append('<div id="cuttedText">Чтобы создать свой календарь<br/>нужно авторизоваться или<br/>зарегистрироваться.</div>');
$('#Calendarik').append('<a class="btn-createCal" href="Registration.aspx"><span>Создать свой календарь</span></a>');
$('#daysbefore').html(Math.floor(Math.random() * 29 + 1));
/*$('#Calendarik').append('<div id="regPopup"><h3> Привет! </h3><p>Хочешь быть в курсе всех событий и ничего не упускать из виду?<br/><br/>Просто зарегистрируйся и создай свой особенный календарь.</p> <a id="btn-regPopup" href="Registration.aspx"><span>Регистрация</span></a> <a id="btn-close-popup"><span>Закрыть</span></a></div>');
$('.btn-createCal').click( function(){ showRegPopup(); });
$('#btn-close-popup').click( function(){ hideRegPopup(); });*/

}




// ----- Рисуем Дату ----- //



renderDate = function() {

	$("#calendarikDate").append('<div id="dayDateNumber">'+currentDate+'</div><div id="dayDateMonth">'+monthNameForDay[currentMonth]+'</div>');
	$("#calendarikDate").animate( { right:"+=400px" }, 150);

}





//---------- Попап про регистрацию -----------//

showRegPopup = function(){
$("#regPopup").show();

}


hideRegPopup = function(){
	
	$("#regPopup").hide();
	

}






// --------  Стартовые операции  --------- //

renderDate();
checkAuthorization();


});


