﻿Sys.Application.add_init(function()
{
    initTooltip();
    showMsgPopUp();
    attachToValidators();
    wireTopMenus();
});

function wireTopMenus() {
    var submenus = $q ('body.ie6 ul.submenu');

    for (var i = 0; i < submenus.length; i++) {
        var x = submenus[i];
        $addHandler(x.parentNode, "mouseover", function () {x.style.display = 'block'; });
        $addHandler(x.parentNode, "mouseout", function () {x.style.display = 'none'; });
    }
        
}

function attachToValidators()
{
    var submits = NS.UI.getElementsByClassName("cValidate", '');
    for (var i = 0; i < submits.length; i++)
    {
        $addHandler(submits[i], "click", showValidateError);
    }
    
    var username = $get('LoginUserName');
    if (username) {
        var password = $get ('LoginPassword');
        var btn = $get('LoginButton');
        $addHandler(username, "blur", Function.createDelegate(username, validateUsername));
        $addHandler(password, "blur", Function.createDelegate(password, validatePassword));
        $addHandler(btn, "click", Function.createDelegate(btn, loginClick));
    }
}
function validateUsername (e) {
    var username = $get('LoginUserName');
    var form = $get('loginForm');
    if (username.value.trim() == '')
       Sys.UI.DomElement.addCssClass(form, 'invalidUsername'); 
    else
       Sys.UI.DomElement.removeCssClass(form, 'invalidUsername'); 
}

function validatePassword (e) {
    var form = $get('loginForm');
    var password = $get ('LoginPassword');
    if (password.value.trim() == '')
       Sys.UI.DomElement.addCssClass(form, 'invalidPassword'); 
    else
       Sys.UI.DomElement.removeCssClass(form, 'invalidPassword'); 
}

function loginClick(e) {
    validateUsername();
    validatePassword();
    var form = $get('loginForm');
    if (form.className.indexOf('invalid') > 0)
        e.preventDefault();
}

function showValidateError(ev)
{
  var classes = this.getAttribute('class') || this.getAttribute('className') || '';  
  var r = true;
  if (classes.indexOf('validationGroup') < 0)
      r = Page_ClientValidate ();
  else {
    var startIndex = 0;
    while ((startIndex = classes.indexOf('validationGroup', startIndex)) >= 0) {
        startIndex += 15;
        var endIndex = classes.indexOf(' ', startIndex);
        if (endIndex < 0)
            endIndex = classes.length;
        var grp = classes.substring(startIndex, endIndex);
        r = r && Page_ClientValidate (grp);
    }
  }
    
  if (!r)
  {
    ev.preventDefault();
    var summeries = $q(".cValidationSummery");
    for (var i = 0; i < summeries.length; i++)
    {
        if (summeries[i].innerHTML != '' && summeries[i].style.display != 'none')
        {
            NS.UI.Popup.alert(summeries[i].innerHTML,'', 'Error'); 
            break;
        }
     }
  }

}
function showMsgPopUp()
{
    var message = $q(".initPopup button", null, true);
    if (message) 
        $addHandler(message, "click", closePopup);
}
function closePopup(e)
{
   e.preventDefault();
   $q(".initPopup", null, true).style.display = 'none';
}

function initTooltip()
{
    //initialize tooltips
    var tooltips = $q('.showHint');
    for (var i = 0; i < tooltips.length; i++)
    {
        var hintData = $q('.hintData', tooltips[i], true);
        var tooltip = $create(NS.UI.Tooltip, {'content':hintData.innerHTML}, null, null, tooltips[i]);
        tooltip._tipDiv.className = tooltip._tipDiv.className + ' ' + hintData.className.replace('hintData', '');
        $create(NS.UI.TooltipBehavior.Hover, null, null, null, tooltips[i]);
    }
}

function pageUnload()
{
    var tooltips = NS.UI.getElementsByClassName("showHint", '');
    for (var i = 0; i < tooltips.length; i++)
        $clearHandlers(tooltips[i]);
    var submits = NS.UI.getElementsByClassName("cValidate", '');
    for (var i = 0; i < submits.length; i++)
    {
        $removeHandler(submits[i], "click", showValidateError);
    }
}

function printETickets(){
    var hide = NS.UI.getElementsByClassName("hideForETicketPrint", '');
    for (var i = 0; i < hide.length; i++)
        Sys.UI.DomElement.addCssClass(hide[i], "hidePrint");
    if ($get('etickets'))    
        Sys.UI.DomElement.removeCssClass($get('etickets'), "hidePrint");
    window.print();
}

function printConfirmation(){
    if ($get('etickets') != null)
        Sys.UI.DomElement.addCssClass($get('etickets'), "hidePrint");
    var hide = NS.UI.getElementsByClassName("hideForETicketPrint", '');
    for (var i = 0; i < hide.length; i++)
        Sys.UI.DomElement.removeCssClass(hide[i], "hidePrint");

    window.print();
}

function printAll(){
    if ($get('etickets') != null)
        Sys.UI.DomElement.removeCssClass($get('etickets'), "hidePrint");
    var hide = NS.UI.getElementsByClassName("hideForETicketPrint", '');
    for (var i = 0; i < hide.length; i++)
        Sys.UI.DomElement.removeCssClass(hide[i], "hidePrint");

    window.print();
}

function closeDemo() {
    $q('.initPopup', null, true).style.display = 'none';
    return false;
}