$.fn.animateHover = function (settings) {
    settings = jQuery.extend({
        bgcolor: '#000000',
        fonthovercolor: '#ffffff',
        spanclass: 'hover',
        ignoreHeight: false,
        ignoreClass: null,
        preFn: null,
        hoverFn: null,
        duration: 500
    }, settings);
    return this.each(function (e, object) {
        $(this).css('position', 'relative');
        var original = $(this).css('background-color');
        var btnText = $(this).html();
        var width = $(this).css('width');
        var height = $(this).css('height');
        var paddingTop = $(this).css('padding-top');
        var paddingRight = $(this).css('padding-right');
        var paddingBottom = $(this).css('padding-bottom');
        var paddingLeft = $(this).css('padding-left');

        var styleStr = "display: none; padding-top: " + paddingTop + "; padding-right: " + paddingRight + "; padding-bottom: " + paddingBottom + "; padding-left: " + paddingLeft + ";width: " + width + "; color: " + settings.fonthovercolor + "; position: absolute; top: 0px; left: 0px; background-color: " + settings.bgcolor + ";";
        if (settings.ignoreHeight != true) {
            styleStr += "height: " + height + "";
        }
        $(this).append("<div class='" + settings.spanclass + "' style='" + styleStr + "'>" + btnText + "</div>");
        if (settings.preFn != null) {
            settings.preFn(e, this);
        }
        $(this).hover(function (e) {
            if (settings.hoverFn != null) {
                settings.hoverFn(e, this);
            }
            if (settings.ignoreClass != null && $(this).hasClass(settings.ignoreClass)) {
                return false;
            }
            $(this).children('.' + settings.spanclass).stop(true, true).fadeIn(settings.duration);
        }, function () {
            $(this).children('.' + settings.spanclass).stop(true, true).fadeOut(settings.duration);
        });
    });
};

$.fn.randomize = function (childElem) {
    return this.each(function () {
        var $this = $(this);
        var elems = $this.children(childElem);

        elems.sort(function () {
            return (Math.round(Math.random()) - 0.5);
        });

        $this.remove(childElem);

        for (var i = 0; i < elems.length; i++)
        $this.append(elems[i]);
    });
}

jQuery.fn.idle = function (time) {
    var o = $(this);
    o.queue(function () {
        setTimeout(function () {
            o.dequeue();
        }, time);
    });
};

$.fn.heroSlider1903 = function (settings) {
    settings = jQuery.extend({
  type: 'slide',
  currentClass: 'current',
  autoScroll: true,
  delay: 4500,
  restartDelay: 15000,
  showTabs: true,
  tabsID: 'ulHeroSliderNavigation',
  showArrows: true,
    autoWidth: true,
    appendArrowsTo: null,
    appendTabsTo: null,
    useTabWrapper: true,
  crossFadeActiveClass: 'active',
  crossFadeElements: 'li',
    tabsWrapperClass: "pagination",
        arrows: {
            nextclass: 'heroNext',
            backclass: 'heroBack',
            sharedclass: 'heroArr'
        },
        speed: 1000,
        ease: 'easeOutQuint'
    }, settings);
    return this.each(function (e, object) {
        $(this).css('position', 'relative');
        var totalElements = $(this).children().length,
            singleWidth = $(this).children(':first-child').outerWidth(true),
            ulWidth = parseInt(totalElements) * parseInt(singleWidth),
            $this = $(this),
            ulHeight = $(this).css('height'),
            totalElements = $(this).children().length,
            baseMovement = ulWidth / totalElements,
            restartInt, cycleInt, current = 1;


        if (settings.type == 'fade') {
            $(this).children().hide();
            $(this).find('li:first-child').fadeIn(settings.speed);
        } else if(settings.autoWidth && settings.type != 'crossfade') {
            $(this).width(ulWidth);
        } else if(settings.type == 'crossfade') {
      $(this).find('li:first-child').addClass(settings.crossFadeActiveClass).css('z-index',totalElements);
    }

        if (settings.showArrows) {
            var backAr = '<a href="#" class="' + settings.arrows.sharedclass + ' ' + settings.arrows.backclass + '" attr-page="' + current + '">< Back</a>';
            var nextAr = '<a href="#" class="' + settings.arrows.sharedclass + ' ' + settings.arrows.nextclass + '" attr-page="' + current + '">Next ></a>';
      if(settings.appendArrowsTo == null) {
              $(this).before(backAr);
              $(this).after(nextAr);
      } else {
        $(settings.appendArrowsTo).append(backAr + nextAr);
      }
        }

        if (settings.showTabs) {
            var i = 1;
            if (totalElements > 1) {
        var str = "";
        if(settings.useTabWrapper) {str += '<div class="'+settings.tabsWrapperClass+'">';}
                str += '<ul class="' + settings.tabsID + '">';
                for (i; i <= totalElements; i++) {
                    if (i == current) {
                        str += '<li id="btn-'+i+'"><a href="#" data-id="' + (i) + '" class="' + settings.currentClass + '">' + (i) + '</a></li>';
                    } else {
                        str += '<li id="btn-'+i+'"><a href="#" data-id="' + (i) + '">' + (i) + '</a></li>';
                    }
                }
                str += '</ul>';
        if(settings.useTabWrapper) {str += '</div>';}
        
        if(settings.appendTabsTo == null) {
                  $(this).after(str);
        } else {
          $(settings.appendTabsTo).append(str);
        }
            }
        }

        if (settings.autoScroll) {
            cycleInt = setInterval(autoRotation, settings.delay);
        }

        function autoRotation() {
            if (settings.showTabs && !settings.showArrows) {
                var equatedtab;
                if (parseInt(current) + parseInt(1) > totalElements) {
                    equatedTab = 1;
                } else {
                    equatedTab = parseInt(current) + parseInt(1);
                }

                $('.' + settings.tabsID + ' li a').each(function () {
                    if ($(this).attr('data-id') == equatedTab) {
                        $(this).trigger('click', [false, equatedTab]);
                        return false;
                    }
                });

            } else {
                $('a.' + settings.arrows.nextclass).trigger('click', [false, null]);
            }
        };

        function restartRotation() {
            clearInterval(restartInt);
            cycleInt = setInterval(autoRotation, settings.delay);
        }

        if (settings.showTabs && !settings.showArrows) {
            $('.' + settings.tabsID + ' li a').click(function (e, kill, forcedVal) {
        e.preventDefault();                                   
                handleToggle(e, kill, $(this).attr('data-id'));
            });
        } else {
            $('a.' + settings.arrows.sharedclass).click(function (e, kill, forcedVal) {
        e.preventDefault();                                  
                handleToggle(e, kill, forcedVal);
        //console.log("trace: arrows clicked " + $(this).attr('class'));
            });

            $('.' + settings.tabsID + ' li a').click(function (e) {
                e.preventDefault();
                var forcedVal = $(this).attr('data-id');
                $('a.' + settings.arrows.nextclass).trigger('click', [true, forcedVal]);
        //console.log("trace: tabs clicked");
            });
        }

        function handleToggle(e, kill, forcedVal) {
            if (settings.showTabs && current == forcedVal) {
                return false;
            }
            e.preventDefault();
      //console.log("Trace: Current Element Class -- " + $(e.target).attr('class'));
            if (settings.autoScroll && kill != false) {
                clearInterval(cycleInt);
                clearInterval(restartInt);
                restartInt = setInterval(restartRotation, settings.restartDelay);
            }
            if ($(e.target).hasClass(settings.arrows.backclass) && forcedVal == null) {
                if (current == 1) {
                    current = totalElements;
                } else {
                    current = parseInt(current, 10) - parseInt(1, 10);
                }
        //console.log("back and forcedval " + current);
            } else if (forcedVal == null) {
                if (current == totalElements) {
                    current = 1
                } else {
                    current = parseInt(current, 10) + parseInt(1, 10);
                }
        //console.log("no forced val " + current);
            } else {
                current = forcedVal;
        //console.log("forced val " + current);
            }

            if (settings.showTabs) {
                $('.' + settings.tabsID + ' li a.' + settings.currentClass).removeClass(settings.currentClass);
                $('.' + settings.tabsID + ' li a').each(function () {
                    if ($(this).attr('data-id') == current) {
                        $(this).addClass(settings.currentClass);
                    }
                })
            }

            if (settings.type == 'slide') {
                if (current == 1) {
                    $this.stop(true, true).animate({
                        left: 0 + 'px'
                    }, settings.speed, settings.ease);
                } else {
                    move = baseMovement * (parseInt(current, 10) - parseInt(1, 10));
                    $this.stop(true, true).animate({
                        left: -move + 'px'
                    }, settings.speed, settings.ease);
                }
      } else if(settings.type == 'crossfade') {
        //console.log(forcedVal);
        var $active = $this.find(settings.crossFadeElements+'.'+settings.crossFadeActiveClass);
        var $next = $this.children().eq(parseInt(current, 10) - parseInt(1, 10));
        $next.css('z-index',parseInt(totalElements, 10)-parseInt(1, 10));
        $active.fadeOut(1500,function(){//fade out the top image
          $active.css('z-index',1).show().removeClass(settings.crossFadeActiveClass);
          $next.css('z-index',totalElements).addClass(settings.crossFadeActiveClass);
        });        
            } else {
                $this.children().filter(':visible').stop(true, true).fadeOut(settings.speed, function () {
                    $this.children().eq(parseInt(current, 10) - parseInt(1, 10)).stop(true, true).fadeIn(settings.speed);
                });
            }
        };
    });
};

$.fn.gallerySlider1903 = function(settings) {
  settings = jQuery.extend({
    toggleEvery: 4,
    useArrows: false,
  arrowSharedClass: 'slide1903',
  arrowBackClass: 'arr-back',
  arrowNextClass: 'arr-next',
  arrowsSurround: this,
    hasVideos: false,
    videoWraper: 'video',
    toggleSeperator: '...',
    maxTogglers: 6,
    currentToggleClass: 'current',
    toggleNavClass: 'ulSvn',
    preFn: null,
    postFn: null,
    speed: 750,
    ease: 'easeOutQuint',
    type: 'slide',
  current: 0
  }, settings);
    
  //count and do math
  var $this = $(this),
      total = $(this).children().length,
    $itemEl = $(this).find('li:first-child'),
    singleWidth = $itemEl.outerWidth(true),

    baseWidth = total * singleWidth,
    baseMovement = singleWidth * settings.toggleEvery,
    totalPages = baseWidth / baseMovement,
    roundedPages = Math.floor(totalPages),
    hasOrphans,
    orphans,
    onOrphan = false;
    //current = 0;
  if($(this).css('position') != 'relative') {
    $(this).css('position','relative');
  }
  $(this).width(baseWidth);
    
  if(totalPages == roundedPages) {
    hasOrphans = false;
  } else {
    hasOrphans = true;
    substrt = totalPages.toString().lastIndexOf(".")
    orph = totalPages.toString().substring(substrt);
    orphans = orph * settings.toggleEvery;
  }
  
  if(settings.type == 'fade') {
    $this.find('li:not(:first)').hide();
    $this.find('li').each(function(index) {
      $(this).addClass("el-"+(index+1));
    });
  }
  
    //add navigation elements if using numbered / paginated slider
  if(!settings.useArrows) {
    var i = 1;
    if(totalPages > 1) {
    var str = '<div class="pagination"><ul class="'+settings.toggleNavClass+'">';
    for (i;i<=roundedPages;i++)
    {
      if(i == settings.current) {
      str += '<li><a data-val="'+(i)+'" class="'+settings.currentToggleClass+'">'+(i)+'</a></li>';
      } else {
      str += '<li><a data-val="'+(i)+'">'+(i)+'</a></li>';
      }
    }
    if(hasOrphans) {
      str += '<li><a data-id="orphan" data-count="'+orphans+'" data-val="'+(i)+'">'+(i)+'</a></li>';
    }
    str += '</ul></div>';
    $(this).after(str);
    }
  
    //control click functions   
    $('.'+settings.toggleNavClass+' li a').click(function(e) {
                          
      $('.'+settings.toggleNavClass+' li a').each(function(){$(this).removeClass(settings.currentToggleClass)});
      $clicked = $(this).attr('data-val');
      $(this).addClass(settings.currentToggleClass);
      if(settings.type == 'slide') {
      if($clicked > settings.current) {
        //if $clicked is not the last or the orphaned
        if($clicked < totalPages && settings.current < roundedPages || !hasOrphans && $clicked != i)  {
        move = baseMovement * ($clicked - 1);
        $this.stop(true, true).animate({left : -move+'px'}, settings.speed, settings.ease)
        }
        
        //if $clicked is an orphan page
        if(hasOrphans && $clicked == i) {
        $this.stop(true, true).animate({left : -((roundedPages-1) * baseMovement)-(orphans * singleWidth)+'px'}, settings.speed, settings.ease)
        }
      } else if($clicked == 1) {
        //if root
        $this.stop(true, true).animate({left : 0+'px'}, settings.speed, settings.ease)
      }
      } else {
      $this.find('li').each(function(e) {
        if($(this).css('display') == 'block' || $(this).css('display') == 'list-item') {
        $(this).fadeOut(settings.speed, function() {
          $("li.el-"+$clicked).fadeIn(settings.speed);
        });
        }
      });      
      }
      if(settings.hasVideos) {
      $(settings.videoWraper).each(function() {$(this)[0].player.pause()});
      }
    });
  
  } else {
    //arrowed back / next slider
    var backAr = '<a href="#" class="'+settings.arrowSharedClass+' '+settings.arrowBackClass+'" attr-page="'+settings.current+'">< Back</a>';
    var nextAr = '<a href="#" class="'+settings.arrowSharedClass+' '+settings.arrowNextClass+'" attr-page="'+settings.current+'">Next ></a>';
    $(settings.arrowsSurround).before(backAr);
    $(settings.arrowsSurround).after(nextAr);
    $('.'+settings.arrowBackClass).addClass('disabled');
  
  //GO BACK
    $('.'+settings.arrowBackClass).click(function(e) {
      e.preventDefault();
      $('.'+settings.arrowNextClass).removeClass('disabled');
      if(settings.current==0 && !onOrphan) {
        //
      } else  {
      if(!onOrphan) {
        settings.current = settings.current-1;
        $this.stop(true, true).animate({left : -(baseMovement*settings.current)+'px'}, settings.speed, settings.ease);
      } else {
        onOrphan = false;
        if(settings.current ==   0) {
          //$this.stop(true, true).animate({left : -(baseMovement*settings.current)+'px'}, settings.speed, settings.ease);
          //alert((orphans*singleWidth));
          $this.stop(true, true).animate({left : '0px'}, settings.speed, settings.ease);
          settings.current = 0;
        } else {
          $this.stop(true, true).animate({left : -(baseMovement*settings.current)+'px'}, settings.speed, settings.ease);
                    
        }
      }
      
      //$($(this).parent().children('.items')).stop(true, true).animate({left : -(baseMovement*current)+'px'}, settings.speed, settings.ease);
      //$this.stop(true, true).animate({left : -(baseMovement*settings.current)+'px'}, settings.speed, settings.ease);
      
      //$($(this).parent().children('.slide1903')).each(function() {$(this).attr('attr-page', current);})
      $('.'+settings.arrowBackClass).attr('attr-page', settings.current);
      $('.'+settings.arrowNextClass).attr('attr-page', settings.current);
      if(settings.current == 0) {$('.'+settings.arrowBackClass).addClass('disabled');};
      }
    })
    
  //GO NEXT
    $('.'+settings.arrowNextClass).click(function(e) {
      e.preventDefault();
      $('.'+settings.arrowBackClass).removeClass('disabled');
        //Navigate To Orphans if Last
      //alert(roundedPages-1);
    if(settings.current == (roundedPages-1) && hasOrphans && !onOrphan) {
      //$($(this).parent().children('.items')).stop(true, true).animate({left : -((roundedPages-1) * baseMovement)-(orphans * singleWidth)+'px'}, settings.speed, settings.ease);
      $this.stop(true, true).animate({left : -((roundedPages-1) * baseMovement)-(orphans * singleWidth)+'px'}, settings.speed, settings.ease);
      $(this).addClass('disabled');
      onOrphan = true; 
      if(settings.current == 0) {
        //settings.current = 1;
        $('.'+settings.arrowBackClass).attr('attr-page', settings.current);
        $('.'+settings.arrowNextClass).attr('attr-page', settings.current);          
      }
    }
      else if(settings.current == (roundedPages-1) && !hasOrphans) {
      $($(this).parent().children('.items')).stop(true, true).animate({left : -((roundedPages-1) * baseMovement)-(orphans * singleWidth)+'px'}, settings.speed, settings.ease);
      $(this).addClass('disabled');
      //onOrphan = true;        
      }
      //if on orphans, than dont do anything
        else if(onOrphan == true) {

        } else {
      settings.current = settings.current+1;
      //$($(this).parent().children('.items')).stop(true, true).animate({left : -(baseMovement*current)+'px'}, settings.speed, settings.ease);
      $this.stop(true, true).animate({left : -(baseMovement*settings.current)+'px'}, settings.speed, settings.ease);
        
      //$($(this).parent().children('.slide1903')).each(function() {$(this).attr('attr-page', current);})
      $('.'+settings.arrowBackClass).attr('attr-page', settings.current);
      $('.'+settings.arrowNextClass).attr('attr-page', settings.current);    
        }
    })
  }
  
};


$.fn.cleanTabs1903 = function (settings) {
    settings = jQuery.extend({
    type: 'fade', //slideup //slidedown //slideleft //slideright (Future Enhancement)
    navParent: 'tabTriggers-1903',
    tabbedPanelsParent: '#tabItems-1903',
    currentNavClass: 'current',
    tabbedItemsClass: 'tabitem',
    applyCurrentClassToElement: 'self', //self //parent //both
    navTriggerAttribute: 'id',
    tabbedItemsElement: 'div',
    tabbedItemsTriggerAttribute: 'data-id',
    useHashtag: 'true',
    speed: 1000,
    ease: 'easeOutQuint',
    defaultIndex: 0
    }, settings);
    var current,
      hashval = window.location.hash,
    $navigationParentElement;
  
  if($(this).parent().is("li")) {
    $navigationParentElement = $(this).parent().parent();
  } else {
    $navigationParentElement = $(this).parent();
  }
  if($(settings.tabbedPanelsParent+" "+settings.tabbedItemsElement+"."+settings.tabbedItemsClass).length == 0) {
    console.log("Error: There are no elements with the attribute '"+ settings.tabbedPanelsParent +"' with the children elements '"+ settings.tabbedItemsClass+"'");
    return false;
  }
  $(settings.tabbedPanelsParent+" "+settings.tabbedItemsElement+"."+settings.tabbedItemsClass).each(function(){$(this).css('display', 'none');});
 
    return this.each(function (e, object) {  
       if(hashval.length > 0 && settings.useHashtag && $navigationParentElement.find("li a["+settings.navTriggerAttribute+" = '"+hashval.replace("#", "")+"']").length > 0) {
      current = hashval;
          if($.fn.cleanTabs1903.validateHashtag($(this).attr(settings.navTriggerAttribute), current)) {
          managePanels(true, false);
          }
    } else if(hashval.length > 0 && settings.useHashtag && $navigationParentElement.find("li a["+settings.navTriggerAttribute+" = '"+hashval.replace("#", "")+"']").length == 0) {
      managePanels(false, false);
      //console.log("Error: User passed an invalid hash value. The first panel was displayed.");
      } else {
          managePanels(false, false);
      }
    
    $(this).click(function(e) {
      e.preventDefault();
      if($(this).hasClass(settings.currentNavClass)) {
        return false;
      } else {      
        manageNavigation($(this).parent().index());
        if(settings.useHashtag) {
          window.location.hash = $(this).attr(settings.navTriggerAttribute);
          current = window.location.hash;
        } else {
          current = $(this).attr(settings.navTriggerAttribute);
        }
        managePanels(false, true);        
      }      
    });
    
    function managePanels(handleAsHash, fromClick) {
      if(handleAsHash) {
        hashIndex = $navigationParentElement.find("li a["+settings.navTriggerAttribute+" = '"+current.replace("#", "")+"']").parent().index();
        manageNavigation(hashIndex);
        projectDOM();  
        
      } else if(fromClick) { 
        $(settings.tabbedPanelsParent+" "+settings.tabbedItemsElement+"."+settings.tabbedItemsClass+":visible").stop(true,true).fadeOut(function() {
          projectDOM();
        });  
      } else {
        $(settings.tabbedPanelsParent).children().eq(settings.defaultIndex).fadeIn(settings.speed);  
        manageNavigation(settings.defaultIndex);
      }
    
    }    

    function projectDOM() {
      $(settings.tabbedPanelsParent+" "+settings.tabbedItemsElement).each(function() {
        if($(this).attr(settings.tabbedItemsTriggerAttribute) == current.replace("#", "")) {
          $(this).stop(true,true).fadeIn(settings.speed);
        }
      })
    }
    
    function manageNavigation(index) {  
      $navigationParentElement.find("li a."+settings.currentNavClass).removeClass(settings.currentNavClass);
      if(settings.applyCurrentClassToElement == 'both' || settings.applyCurrentClassToElement == 'parent') {
        $navigationParentElement.find("li."+settings.currentNavClass).removeClass(settings.currentNavClass);
      }
      
      if(settings.applyCurrentClassToElement == 'both') {
        $navigationParentElement.find("li:eq("+index+") a").addClass(settings.currentNavClass);      
        $navigationParentElement.find("li:eq("+index+")").addClass(settings.currentNavClass);  
      } else if(settings.applyCurrentClassToElement == 'parent') {
        $navigationParentElement.find("li:eq("+index+")").addClass(settings.currentNavClass);
      } else {
        $navigationParentElement.find("li:eq("+index+") a").addClass(settings.currentNavClass);          
      }      
    }

  });    
};

$.fn.cleanTabs1903.validateHashtag = function(element, current) {
  var valid = false;
  if(element == current.replace("#", "")) {
    valid = true;
  }
  if(valid) {
    return true;
  } else {
    return false;
  }
};

$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});

$.fn.exists = function() {
  if($(this).length > 0) {
    return true;
  } else {
    return false;
  }
}

$.fn.crossFade1903 = function (settings) {
    settings = jQuery.extend({
    speed: 500,
    delay: 6500,
  fadeElements: 'li',
  autoPosition: true,
  activeClass: 'active'
    }, settings);
   $this = $(this);
  elements = $(this).children(settings.fadeElements).length;
  $(this).children(settings.fadeElements+':last').css('z-index',elements).addClass(settings.activeClass);
  //$(this).children().each(function() {$(this).css('display','block')})
  if(settings.autoPosition) {
    if($(this).css('position') != 'relative' || $(this).css('position') != 'absolute') {
      $(this).css('position','relative');
    }
    $(this).find(settings.fadeElements).each(function(e) {
      if($(this).css('position') != 'absolute') {
        $(this).css({'position':'absolute','top':'0','left':'0'});
      }
    });
  }
  
  cycleInt = setInterval(ssx1903, settings.delay);
  
  function ssx1903() {
    var $active = $this.find(settings.fadeElements+'.'+settings.activeClass);
    var $next = ($this.find(settings.fadeElements+'.'+settings.activeClass).prev().length > 0) ? $this.find(settings.fadeElements+'.'+settings.activeClass).prev() : $this.find(settings.fadeElements+':last');
    $next.css({'z-index':parseInt(elements, 10)-parseInt(1, 10),'display':'block'});
    $active.fadeOut(1500,function(){//fade out the top image
      $active.css('z-index',1).show().removeClass(settings.activeClass);
      $next.css('z-index',elements).addClass(settings.activeClass);
    });
  }
};

jQuery.log1903 = function(text){
    if( (window['console'] !== undefined) ){
        console.log( text );
    }
}
  
jQuery.fn.onImagesLoaded = function(_cb) { 
  return this.each(function() {
 
    var $imgs = (this.tagName.toLowerCase()==='img')?$(this):$('img',this),
        _cont = this,
            i = 0,
    _done=function() {
      if( typeof _cb === 'function' ) _cb(_cont);
    };
 
    if( $imgs.length ) {
      $imgs.each(function() {
        var _img = this,
        _checki=function(e) {
          if((_img.complete) || (_img.readyState=='complete'&&e.type=='readystatechange') )
          {
            if( ++i===$imgs.length ) _done();
          }
          else if( _img.readyState === undefined ) // dont for IE
          {
            $(_img).attr('src',$(_img).attr('src')); // re-fire load event
          }
        }; // _checki \\
 
        $(_img).bind('load readystatechange', function(e){_checki(e);});
        _checki({type:'readystatechange'}); // bind to 'load' event...
      });
    } else _done();
  });
};  
