/* jQuery Alta Extend plugin v1.0 */
//jQPlugins(["cookie","maskedinput","dotnetajax","validate","metadata","scrollfollow","validate.additional","contextmenu"]);

var FormID = "PageForm";
var PageFormValidation ;
var PageFormValidationElements = Array();
var LastFocusElement ;
$(document).ready(function()
{   
    //Create error Box
    $("body").append("<div id='msgBox' title='' style='display:none'></div>");
    $("body").append("<div id='erBox' style='height:auto !important; height:50px; min-height:50px; width:80%' class='text ui-input-box ui-input ui-corner-all'><div style='padding-left:10px;float:left;' id='gen'></div><div style='float:right;width:20px;'><a onclick='closeBox();' href='#' class='ui-dialog-titlebar-close ui-corner-all' role='button' unselectable='on' style='-moz-user-select: none;'><span class='ui-icon ui-icon-closethick' unselectable='on' style='-moz-user-select: none;'>close</span></a></div><br style='clear:both;'><ul style='list-style-type:none;padding-left:30px''></ul></div>");
    var erBox = $('#erBox');
    erBox.css({'position': 'fixed', 'display':'none' ,'left' : $(document).width()/2 - (erBox.width() / 2), 'top' : 0, 'z-index' : 99999});
    if ( jQuery().FollowScroll && (navigator.appName == "Microsoft Internet Explorer") && (navigator.userAgent.toLowerCase().indexOf("msie 6") > 1)){ $('#erBox').FollowScroll();}
    
    EnableFormValidation();    
    EnableKeyPress();
});


function EnableFormValidation()
{
    if(jQuery().validate) 
    {
        //Add Default css
        $("input:text,input:password,select,textarea").addClass('text ui-input-box ui-input ui-corner-all');
        $("input:button,input:submit").addClass('ui-button ui-widget ui-state-default ui-corner-all');
        $("input:checkbox, input:radio").addClass('ui-checkbox-radio');
    
        //Create Global Validator
        PageFormValidation = $("#"+FormID).validate(
        {
            meta: "validate",
            ignore: ".ignore",
            onsubmit: false, 
            focusInvalid: false,
            errorContainer: "#erBox",
            errorLabelContainer: "#erBox ul",
            wrapper: "li",
            submitHandler: function() { }, 
            highlight: function(element) { $(element).addClass("ui-state-error"); },
            unhighlight: function(element) { $(element).removeClass("ui-state-error"); }, 
            invalidHandler: function(form, validator) {
              var errors = validator.numberOfInvalids();
              if (errors) { var message = errors == 1 ? 'You missed 1 field. It has been highlighted' : 'You missed ' + errors + ' fields. They have been highlighted';
                $("#erBox #gen").html(message);
                $("#erBox").animate({opacity:0.9}, "slow");
                
                LastFocusElement = validator.invalidElements()[0];
                $('html, body').animate({scrollTop: $(LastFocusElement).offset().top-200}, 800);
                $(LastFocusElement).focus();
              } else {
                closeBox();
              }
            }
        }); //jQuery('#'+FormID).unbind('submit');
        
         jQuery.each(jQuery.validator.messages, function(i) { jQuery.validator.messages[i] = ""; });// + " (" + $("label[for=' + this.attr("id") + ']").html() + ")";
     }
}

function EnableKeyPress()
{
    if(jQuery().metadata) 
    {
        //Attach onKeyPress: onKeyPress:{'13':'$(\'#CDb_b\').click()','27':'alert(\'Escape P\');'}
        $('input, select, textarea').each(function() {
            var data = $.metadata.get(this);
            if(data.onKeyPress) 
            {
                $(this).keypress(function(event) {
                    var data = $.metadata.get(this);
                    for(var key in data.onKeyPress) {
                        if (event.keyCode == key) { 
                            event.preventDefault();
                            if(data.onKeyPress[key]) { eval(data.onKeyPress[key]); }
                        }    
                    }
                });
            }
            if(data.validate)
            {
                PageFormValidationElements.push(this.id); 
            }
        });
    }
}


function closeBox()
{
   $("#erBox").hide();
   PageFormValidation.resetForm();
   if(LastFocusElement) { $('html, body').animate({scrollTop: $(LastFocusElement).offset().top-200}, 800); $(LastFocusElement).focus(); }
}

function eValidate(ar)
{
    $("*").removeClass('ui-state-error');
    $("#erBox").hide();
    for(var i=0;i<PageFormValidationElements.length; i++) { $('#'+PageFormValidationElements[i]).addClass("ignore")} ;
    if(ar)
    {
        if(ar == "*") { for(var i=0;i<PageFormValidationElements.length; i++) $('#'+PageFormValidationElements[i]).removeClass("ignore"); }
        else if(typeof(ar) == "object") {
            for(var i in ar) {
                if(ar[i] == "#") {$('#'+i).removeClass("ignore");}
                else if(ar[i] == "@") { $('#'+i+' input,#'+i+' select,#'+i+' textarea').each(function (index, elem) { $(elem).removeClass("ignore"); }); }
            }
        }
    }
    return $("#"+FormID).valid();
}


function eCm(cmd, args)
{
    if($('#JCommand').length) $('#JCommand').val(cmd);
    else $('#'+FormID).append('<input id="JCommand" name="JCommand" type="hidden" value="' + cmd + '" />');
    
    if($('#JArgs').length) $('#JArgs').val(args);
    else $('#'+FormID).append('<input id="JArgs" name="JArgs" type="hidden" value="' + args + '" />');
    
    $("#"+FormID).submit();   
}

function addJS(url)
{
	document.write('<s'+'cript language="javascript" src="' + url + '"></s'+'cript>');
}

function addCSS(url)
{
	document.write('<l'+'ink rel="stylesheet" type="text/css" href="' + url + '"></l'+'ink>');
}

function jQPlugins(ar)
{
   for(var i=0; i<ar.length; i++) addJS("jquery/plugin."+ar[i]+".js");
}

function gUrl(url)
{
    window.location.href=url;
}


window.generalPopup = null;
function ShowPopupEffect(obj)
{
   var v_id = (obj.id ? obj.id : obj);
   $('#'+v_id).click(function(event){
        event.stopPropagation();
   });
   $('#' + v_id).show('fast', function() {window.generalPopup = v_id});
}

$(document).click(function() {
  $('body').click(function() {
    if(window.generalPopup && $('#' + window.generalPopup).is(":visible")) $('#' + window.generalPopup).hide('fast');
    window.generalPopup = null;
  });
});

