/**
    SMSFox Utility Functions
    
    Created by - dhruba adhikari - acpmasquerade
    Date - 09th October 2009. 
*/

    //@import "ckeditor/ckeditor.js";
    
    var _page_lock_counter = 0;
    var _page_lock_overlay = null;
    
    function check_all_checkboxes(classname){
        $('input.'+classname).each(function() {
            $(this).attr('checked',true);
        }); 
    }

    function uncheck_all_checkboxes(classname){
        $('input.'+classname).each(function() {
            $(this).attr('checked',false);
        }); 
    }
    
    function do_ajax(_type, _url, _data){
         $.ajax({
           type: ""+_type,
           url: ""+_url,
           data: ""+_data,
           success: function(msg){
             return ""+msg;
           }
         });
    }
    
    function enable_disable(_rule){
        $('input.'+classname).each(function() {
            $(this).attr('disabled',true);
        }); 
    }
    
    function isValidEmailAddress(emailAddress) {
         var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
         return pattern.test(emailAddress);
    }
    
    $(document).ready(function() {
        
        /** Alternate rows **/
        $('tbody tr:even').addClass("alt-row");
        
        $("input.valid_email").keyup(function(){
            var email = $(this).val();
            if(email != 0)
            {
                if(isValidEmailAddress(email))
                {
                    $(this).addClass("field_valid");
                    $(this).removeClass("field_invalid");
                } else {
                    $(this).addClass("field_invalid");
                    $(this).removeClass("field_valid");
                }
            }
        }); 
        
        $("input.confirm_password").keyup(function(){            
            var password = $("#password")
            var password1 = $("#confirm_password");
            
            if(password.val() == password1.val()){
                password.addClass("field_valid");
                password.removeClass("field_invalid");
                password1.addClass("field_valid");
                password1.removeClass("field_invalid");
            }else{
                password.addClass("field_invalid");
                password.removeClass("field_valid");
                password1.addClass("field_invalid");
                password1.removeClass("field_valid");
            }
        });
        
        
        $(".datepicker").datepicker({ 
                            dateFormat: 'dd/mm/yy', 
                            changeYear: true,
                            changeMonth: true, 
                                });
        
        // javascript tweak to remove chura.pl
        //$("iframe").remove();
        
        //_page_lock_counter
        $("body").prepend("<div class='ui-widget-overlay' id='page_lock_overlay' style='display:none;position:absolute;top:0:left:0;height:1500%;width:100%;background-image:url();z-index:10000'></div><div id='lock_notifier' style='position:absolute;height:auto;min-width:50px;display:block;width:auto;background-color:white;border:1px solid #000;z-index:20000;-moz-border-radius:5px;padding:5px;'><div id='lock_notifier_content' style='display:block;float:left;'><center>&nbsp;&nbsp;<img src='/assets/images/loading_lite.gif' width=12 />&nbsp;<strong>Working</strong>&nbsp;&nbsp;</center></div></div>");
        
        _page_lock_overlay = $("div#page_lock_overlay");
        _body = $("body");
        _lock_notifier = $("div#lock_notifier");
        _page_width = _body.width();
        
        _page_mid = _page_width/2;
        
        //_lock_notifier.css({left: _page_mid - (_lock_notifier.width() / 2)});       
        
        _lock_notifier_content = $("div#lock_notifier_content");
        
        _lock_notifier.hide();
        
        _document = $(document);
        
    });
    
    function position_lock_notifier(){
        
        _lock_notifier_top = ($(window).height() / 2) + _document.scrollTop() - (_lock_notifier.height() / 2);
        _lock_notifier_left = ($(window).width() / 2) + _document.scrollLeft() - (_lock_notifier.width() / 2);
        
        _lock_notifier.animate({left : _lock_notifier_left, top: _lock_notifier_top}, 100);
        
    }

    function set_lock_message(msg){

        if(msg == ""){
            _lock_notifier_content.html("&nbsp;&nbsp;<img src='/assets/images/loading_lite.gif' width=12 />&nbsp;<strong>Working</strong>&nbsp;&nbsp;");
        }else{
            _lock_notifier_content.html(msg);
        }
        
        position_lock_notifier();
        
    }
    
    function set_lock(){
        _page_lock_counter++;        
        _page_lock_overlay.show();
        _body.css({overflow:'hidden'});
        position_lock_notifier();
        _lock_notifier.show();
    }
    
    function release_lock(){
        _page_lock_counter--;
        if(_page_lock_counter == 0){
            _page_lock_overlay.hide();
            _body.css({overflow: 'auto'});
            _lock_notifier.hide();
        }
    }
    
    $(function(){
        
        _lock_notifier_content.mouseover(function(){
            position_lock_notifier();
        });
        
        if((_body.attr("id") == "module_auth") && (_body.attr("acp:page") == "USRLOGIN")){
            set_lock_message('<div style="padding:10px"><h3 style="padding:5px;background-color:#555;color:#FAFAFA">Login</h3><form style="border:1px solid #aaa;padding:10px;" onsubmit="return validate(this);" method="post" action="'+base_url+'auth/login"><label for="login_field">Email</label><input type="text" id="login_field" size="50" maxlength="500" name="login_field"><label for="password">Password</label><input type="password" id="password" size="50" maxlength="500" name="password"><br /><input type="checkbox" name="remember" style="margin:0;padding:0;" value="1"> Remember Me<br /><br /><input type="submit" id="submit" class="submit" value="Submit" name="submit"></form><a href="#" onclick="javascript:release_lock()">Close</a></div>');
            set_lock();
        }
        
        // resizable
        $(".resizable").resizable();
        $(".resizable-height").resizable({ handles: 's' });
        $(".resizable-width").resizable({ handles: 'e' });
        
        
        
        /**
            EVENT triggered when an Open Flash Chart is Resized
        **/
        function ofc_resize(left, width, top, height)
        {
            var tmp = new Array(
            'left:'+left,
            'width:'+ width,
            'top:'+top,
            'height:'+height );

            $("#resize_info").html( tmp.join('<br>') );
        }

    })
    
        
        
        jQuery.printContent=function($print_content)
        {
            set_lock();
            var printer_iframe=document.createElement('IFRAME');
            var doc=null;
            $(printer_iframe).attr('style','position:absolute;width:0px;height:0px;left:-500px;top:-500px;');
            document.body.appendChild(printer_iframe);
            
            doc=printer_iframe.contentWindow.document;
            
            var links=window.document.getElementsByTagName('link');
            
            for(var i=0;i<links.length;i++)            
                if(links[i].rel.toLowerCase()=='stylesheet')
                    doc.write('<link type="text/css" rel="stylesheet" href="'+links[i].href+'"></link>');
                
            doc.write();
            doc.write($print_content);            
            doc.close();
            
            printer_iframe.contentWindow.focus();
            printer_iframe.contentWindow.print();
            
            document.body.removeChild(printer_iframe);
            release_lock();
        }
        
        $(function(){
            $("div#facebox img.close_image").click(function(){
                $("#facebox").hide();
                $("#facebox_overlay").remove();
            });
        });
        
        
        
