﻿var LoadedActions = new Object();
var LoadedSchedules = new Object();
var LoadedSectors = new Object();
var LoadedRows = new Object();
var MonthsLoaded = new Object();
var LoadedImaxActions = new Object();
var LoadedImaxTypes = new Object();

var ToggleActionForMonth = function(obj, id, month) {
    ToggleList(obj.parentNode);
    if (MonthsLoaded[month] == undefined)
        GetShedulesForMonthList(id, month);
}

var ToggleAction = function(obj, id) {
    ToggleList(obj.parentNode);
    if (LoadedActions[id] == undefined)
        GetShedulesList(id);
}

var ToggleImaxShow = function(obj, id) {
    ToggleList(obj.parentNode);
    if (LoadedImaxActions[id] == undefined)
        GetImaxTypes(id);
}

var ToggleImaxTickets = function (obj, id){
    ToggleList(obj.parentNode);
       if (LoadedImaxTypes[id] == undefined)
        GetImaxTickets(id);
}

var ToggleSchedule = function(obj, id) {
    ToggleList(obj.parentNode);
    if (LoadedSchedules[id] == undefined)
        GetSectorList(id, true);
}

var ToggleSector = function(obj, id, sectorName) {
    ToggleList(obj.parentNode);
    if (LoadedSectors["sector_" + id + "_" + sectorName.replace(/ /g, '-')] == undefined)
        GetRowList(id, sectorName);
}

var ToggleRow = function(obj, id, sectorName, rowName) { 
    ToggleList(obj.parentNode);
    if (LoadedRows["row_" + id + "_" + sectorName.replace(/ /g, '-') + "_" + rowName] == undefined)
        GetTicketList(id, sectorName, rowName);
}

var GetShedulesForMonthList = function(id, month){
    FrontOffice.Services.ActionTicketsList.GetShedulesForMonthList(id, month,
         GetShedulesForMonthList_Success,
         OnOperation_Failed,
         month,
         null);
}

var GetShedulesList = function(id) {
    FrontOffice.Services.ActionTicketsList.GetShedulesList(id,
         GetShedulesList_Success,
         OnOperation_Failed,
         id,
         null);
}

var GetImaxTypes = function(id) {
    FrontOffice.Services.ActionTicketsList.GetImaxTicketTypes(id,
        GetImaxTypes_Success,
         OnOperation_Failed,
         id,
         null);
}


var GetImaxTickets = function(id){
    FrontOffice.Services.ActionTicketsList.GetImaxTickets(id,
         GetImaxTickets_Success,
         OnOperation_Failed,
         id,
         null);
}

var GetSectorList = function(id) {
    FrontOffice.Services.ActionTicketsList.GetSectorList(id,
        GetSectorList_Success,
        OnOperation_Failed,
        id,
        null);
}

var GetRowList = function(id, sectorName) { 
    FrontOffice.Services.ActionTicketsList.GetRowList(id, sectorName,
        GetRowList_Success,
        OnOperation_Failed,
        "sector_" + id + "_" + sectorName.replace(/ /g, '-'), null);
}

var GetTicketList = function(id, sectorName, rowName) {
    FrontOffice.Services.ActionTicketsList.GetTicketList(id, sectorName, rowName,
        GetTicketList_Success,
        OnOperation_Failed,
        "row_" + id + "_" + sectorName.replace(/ /g, '-') + "_" + rowName,
        null);
}

var GetShedulesForMonthList_Success = function(result, month, methodName){
    var div = document.getElementById("month_" + month);
    div.innerHTML = result;
    MonthsLoaded[month] = true;
}

var GetShedulesList_Success = function(result, id, methodName) {
    var div = document.getElementById("action_" + id);
    div.innerHTML = result;
    LoadedActions[id] = true;
}

var GetImaxTypes_Success = function(result, id , methodName){
    var div = document.getElementById("action_" + id);
    div.innerHTML = result;
    LoadedImaxActions[id] = true;
}

var GetImaxTickets_Success = function(result, id, methodName){
    var div = document.getElementById("type_" + id);
    div.innerHTML = result;
    LoadedImaxTypes[id] = true;
}

var GetSectorList_Success = function(result, id, methodName) {
    var div = document.getElementById("schedule_" + id);
    div.innerHTML = result;
    LoadedSchedules[id] = true; ;
}

var GetRowList_Success = function(result, id, sectorName) { 
    var div = document.getElementById(id);
    div.innerHTML = result;
    LoadedSectors[id] = true;
}

var GetTicketList_Success = function(result, id, methodname) {
    var div = document.getElementById(id);
    div.innerHTML = result;
    LoadedRows[id] = true;
}

var ToggleList = function(obj) {
    if (obj.className == "show")
        obj.className = "hidden";
    else
        obj.className = "show";
    return false;
}

function ActionToggleImaxGroup(obj, id) 
{    
    if (LoadedActions[id] == undefined)
        GetImaxTicets(id, false);
    LoadedActions[id] = true;
    obj.parentNode.parentNode.className == "hidden";
}

function OnOperation_Failed(error)
{
}

var AddToBasket = function (obj, id, actionId){
    var actCookie = Cookie.read('action' + actionId);
    if (actCookie) {
        if (actCookie >= 10) {
            alert("Нельзя заказывать более десяти билетов на одно представление!");
            return false;
        }
        actCookie++;
    }
    else
        actCookie = 1;
    Cookie.write('action' + actionId, actCookie, { path: '/' });    

    var tt = Cookie.read('tt');
    if (tt){
        if (tt >= 20) {
            alert("Нельзя заказывать более двадцати билетов!");
            return false;
        }
        tt++;
    }
    else { tt = 1; }
    Cookie.write('tt', tt, { path: '/' });
    
	var myCookie = Cookie.read('basket');	
	if(myCookie)
		myCookie = myCookie +','+ id;
	else
		myCookie = id;		
	Cookie.write('basket', myCookie, {path: '/'});
	
	UpdateBasket();
	obj.style.display = "none";

	// prevent redirect on href in <a>
	return false;
}

