﻿// JScript 文件
(function(){
var $5 = window.$5 = function(i){return document.getElementById(i);};
var config = $5.config = function(n){
	var _n=n.split('.');
	var _r = config.configs;
	for(var i=0;i<_n.length;i++)_r=_r[_n[i]];
	return _r;
};
config.configs = {
    ajaxPath:"/AjaxListener.aspx",
    hotel:{maxPicWidth:640,maxPicHeight:360, minPrice:50, maxPrice:3600,minStar:0,maxStar:5}
};
var ajax = $5.ajax = function(actionName, data, onSuccess, onFailed) {
    // 控制ajax的访问次数
    var tmp = ajax.lastAccessTime;
    ajax.lastAccessTime = new Date().getTime();
    //if(ajax.lastAccessTime - tmp < 100) return;
    if (typeof onFailed != 'function') onFailed=function(r, e){alert(e);}
    var c;
    //if (typeof (c = $5.ajax.cache[actionName+"_"+data]) != 'undefined') {onSuccess(c);return;}
    $.ajax({
        url:config("ajaxPath") + "?methodName=" + actionName,
        type:"POST",
        data:data,
        dataType:'json',
        success:onSuccess,
        onFailed:onFailed,
        complete :function(xml, status){
            if (status == 'timeout') {
                alert('timeout');
            }
        }
    });
};
ajax.lastAccessTime = 0;
ajax.cache={};
$5.loadJs = function(url, callback) {
    if (typeof callback != 'function')callback=function(){};
    var s = document.getElementsByTagName('script');
    for(var i = 0, len = s.length; i < len; i++) {
        if (s[i].src == url) {
            callback();return;
        }
    }
    var head = document.getElementsByTagName('head')[0];
    js = document.createElement('script');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', url);
    head.appendChild(js);

    js.onreadystatechange = function () {
        if (js.readyState == 'complete') {
            callback();
            img.onload = function(){};
        }
    };

    js.onload = function () {
        callback();
    };
};
$5.loadImage = function(url, callback) {
    var img = new Image();
    img.src = url;
    if (img.complete) {
        callback.call(img);
        return;
    }
    img.onreadystatechange = function () {
        if (img.readyState == 'complete') {
            callback.call(img);
            img.onload = function(){};
        }
    };

    img.onload = function () {
        callback.call(img);
    };
};
$5.getFileName=function(url){
    var p1 = url.lastIndexOf('/'),p2 = url.lastIndexOf('.');
    return url.substring(p1+1, p2);
};
$5.smartInput=function(el){
    el.each(function() {
        var e = $(this);
        e.bind('focus',function(){
            e.removeClass('normal');
            e.addClass('focus');
        });
        e.bind('blur',function(){
            e.removeClass('focus');
            e.addClass('normal');
        });
    });
};
// 复制到剪贴板
$5.copyIt=function(txt){   
    if (window.clipboardData) {
        window.clipboardData.setData("Text",txt);
    } else {
        var flashcopier = 'flashcopier';
        if(!$5(flashcopier)) {
        var divholder = document.createElement('div');
        divholder.id = flashcopier;
        document.body.appendChild(divholder);
    }
    $5(flashcopier).innerHTML = '<embed src="/images/_clipboard.swf" FlashVars="clipboard='+escape(txt)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    }
}
var fpLoadingPanel=null;
$5.openLoadingPanel = function() {
    this.timeout && clearTimeout(this.timeout);
    var div = $('#loadingDiv');
    if (div.length == 0) {
        div = $('<div id="loadingDiv" style="position:absolute;display:none;"><img src="/images/loading.gif" alt="loading..."/></div>');
        div.appendTo($(document.body));
    }
    if (fpLoadingPanel == null) {
        fpLoadingPanel = floatPanel({
            target:div,
            addClose:false,
            modal:false
        });
    }
    
    fpLoadingPanel.show();
    
    this.timeout = setTimeout(function(){
        fpLoadingPanel.hide();
    },15000);
};
$5.hideLoadingPanel = function(){
    fpLoadingPanel && fpLoadingPanel.hide();
};
})();