﻿//***************************************************************************** 拖拽相关 */
var _dragHandler = null;
var _dragOffsetX = 0;
var _dragOffsetY = 0;
// 鼠标左键按下,开始拖拽
function beginDrag(id) {
    if (window.event.button == 1) {
        _dragHandler = document.getElementById(id);
        _dragOffsetX = window.event.clientX - _dragHandler.style.pixelLeft;
        _dragOffsetY = window.event.clientY - _dragHandler.style.pixelTop;
    }
}
// 鼠标移动
function doDrag() {
    if (_dragHandler != null) {
        // 正在拖拽
        _dragHandler.style.pixelLeft = window.event.clientX - _dragOffsetX;
        _dragHandler.style.pixelTop = window.event.clientY - _dragOffsetY;
    }
}
// 鼠标抬起，结束拖拽
function endDrag() {
    if (window.event.button == 1) {
        _dragHandler = null;
    }
}

//*******************************************/

function enterToTab(event) {
    /// <summary>
    /// 将事件中的Enter键转换为Tab键，以支持回车键切换焦点。
    /// </summary>
    if (event.keyCode == 13) {
        var ftype = event.srcElement.type;
        if ((typeof (ftype)) + "" != "undefined" && ftype != "image" && ftype != "button" && ftype != "submit" && ftype != "reset" && ftype != "file" && ftype != "textarea") {
            event.keyCode = 9;
        }
        return true;
    }
}
///将包含查询关键字的变成红色
function GetRed(str, key, len) {
    if (String.isNullOrEmpty(str)) {
        return "";
    }
    if (str.length <=len) {
        str=str.replace(key, "<font color=ff0000>" + key + "</font>");
        return str;
    }
    else
    {
        var t = str.indexOf(key);
        
        if (key - 80 >= 0) {
            
            str = ".."+str.substr(key - 80, len);
        }
        else if (key - 50 >= 0) {
        str = ".." + str.substr(key - 50, len);
        }
        else if (key - 30 >= 0) {
        str = ".." + str.substr(key - 50, len);
        }
        else {
            str = str.substr(0, len);
        }
        str = str.replace(key, "<font color=ff0000>" + key + "</font>");
        return str;
    }
    

}

function pxToInt(value) {
    /// <summary>
    /// 获取像素值整数部分。
    /// </summary>
    /// <param name="value" type="String">
    /// 像素值，例如"234px"。
    /// </param>
    /// <returns type="Number" integer="true">整数部分,上例为234。</returns>

    // 去掉px
    value = value.substr(0, value.length - 2);
    // 转成整数
    return parseInt(value, 10);
}
function setCookie(name, value, expiredays) {
    /// <summary>
    /// 设置cookie。
    /// </summary>
    /// <param name="name" type="String">
    /// cookie键。
    /// </param>
    /// <param name="value" type="String">
    /// cookie值。
    /// </param>
    /// <param name="expiredays" type="Number" integer="true">
    /// 过期天数。
    /// </param>
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = name + "=" + escape(value) +
((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}
function isIE6() {
    /// <summary>
    /// 判断当前浏览器是否IE6。
    /// </summary>
    /// <returns type="Boolean">是否IE6。</returns>

    return (window.navigator.appVersion.indexOf("MSIE 6") >= 0);
}
/****************************************************************************** 字符串类型扩展 */
String.prototype.trim = function() {
    /// <summary>
    /// 去除字符串两端的空白字符。
    /// </summary>
    return this.replace((/(^[\s]*)|([\s]*$)/g), "");
}
String.prototype.trimStart = function() {
    /// <summary>
    /// 去除字符串前端的空白字符。
    /// </summary>
    return this.replace((/(^[\s]*)/g), "");
}
String.prototype.trimEnd = function() {
    /// <summary>
    /// 去除字符串后端的空白字符。
    /// </summary>
    return this.replace((/([\s]*$)/g), "");
}
String.prototype.byteCount = function() {
    /// <summary>
    /// 获取字符串的GB字节数,假定asc字符占1字节，其它占2字节。
    /// </summary>
    var result = 2 * this.length;
    var arr = this.match(/[\x00-\x80]/ig);
    if (arr != null) result -= arr.length;
    return result;
}
String.isNullOrEmpty = function(str) {
    return (null == str || "" == str||typeof(str)=="undefined");
}
String.GetNullValue = function(str) {
    if (str == null || str == "" || typeof (str) == "undefined") {
        return "";
    } else {
        if (typeof (str.Value) != "undefined") {

            if (str.Value == null || str.Value == "" || typeof (str.Value) == "undefined") {
                return "";
            }
            else {
                return str.Value;
            }
        }
        else {
            return str;
        }
    }
}
String.format = function(format) {
    /// <summary>
    /// 格式化字符串，format之后的参数将以此作为格式化的参数。
    /// </summary>
    /// <param name="format" type="String">
    /// 格式字符串。
    /// </param>
    /// <returns type="String">格式化后的字符串。</returns>
    if (arguments.length == 0) {
        return '';
    }
    if (arguments.length == 1) {
        return String(format);
    }

    var strOutput = '';
    for (var i = 0; i < format.length - 1; ) {
        if (format.charAt(i) == '{' && format.charAt(i + 1) != '{') {
            var index = 0, indexStart = i + 1;
            for (var j = indexStart; j <= format.length - 2; ++j) {
                var ch = format.charAt(j);
                if (ch < '0' || ch > '9') break;
            }
            if (j > indexStart) {
                if (format.charAt(j) == '}' && format.charAt(j + 1) != '}') {
                    for (var k = j - 1; k >= indexStart; k--) {
                        index += (format.charCodeAt(k) - 48) * Math.pow(10, j - 1 - k);
                    }
                    var swapArg = arguments[index + 1];
                    strOutput += swapArg;
                    i += j - indexStart + 2;
                    continue;
                }
            }
            strOutput += format.charAt(i);
            i++;
        }
        else {
            if ((format.charAt(i) == '{' && format.charAt(i + 1) == '{')
				|| (format.charAt(i) == '}' && format.charAt(i + 1) == '}')) {
                i++
            }
            strOutput += format.charAt(i);
            i++;
        }
    }
    strOutput += format.substr(i);
    return strOutput;
}
String.SubStr = function(str, length) {
    if (str.length > length) {
        return str.substr(0, length) + "..";
    }
    return str;
}

/****************************************************************************** 集合类型扩展 */
Array.prototype.append = function(item) {
    /// <summary>
    /// 将元素添加到集合末尾。
    /// </summary>
    /// <param name="item" type="Object">
    /// 要添加的元素。
    /// </param>

    this[this.length++] = item;
}
Array.prototype.insert = function(item, index) {
    /// <summary>
    /// 将元素添加到集合指定位置。
    /// </summary>
    /// <param name="item" type="Object">
    /// 要添加的元素。
    /// </param>
    /// <param name="index" type="Number" integer="true">
    /// 集合索引。
    /// </param>

    for (var i = this.length; i > index; ) {
        this[i] = this[--i];
    }
    this[index] = item;
}
/****************************************************************************** 类型转换 */
function toDate(str) {
    /// <summary>
    /// 将字符串转换为时间。
    /// </summary>
    /// <param name="str" type="String">
    /// 输入字符串。
    /// </param>
    /// <returns type="Date">转换后的时间，null表示转换失败。</returns>

    // 时间格式：yyyy-M-d[ H:m[:s]]
    if (typeof (str)!= "string") {
        return null;
    }
    var matches = str.match(/^(\d{1,4})\-([01]?\d)\-([0-3]?\d)( ([012]?\d):([0-5]?\d)(:([0-5]?\d))?)?$/);
    if (matches == null) {
        // 格式不正确
       
      return null;
    }
    else {
        var year = matches[1];
        var month = matches[2];
        var date = matches[3];
        var hour = matches[5];
        var minute = matches[6];
        var second = matches[8];

        // 年月日
        if ("" == year || "" == month || "" == date) {
            return null;
        }
        // 年
        year = parseInt(year, 10);
        // 月
        month = parseInt(month, 10) - 1;
        // 日
        date = parseInt(date, 10);

        // 时
        if ("" == hour) {
            hour = 0;
        }
        else {
            hour = parseInt(hour, 10);
            // 分
            if ("" == minute) {
                return null;
            }
            else {
                minute = parseInt(minute, 10);
                // 秒
                if ("" == second) {
                    second = 0;
                }
                else {
                    second = parseInt(second, 10);
                }
            }
        }
        var result = new Date(year, month, date, hour, minute, second);
        if (result.getFullYear() != year || result.getMonth() != month || result.getDate() != date || result.getHours() != hour || result.getMinutes() != minute || result.getSeconds() != second) {
            return null;
        }
        return result;
    }
}
function FormatDates(obj) {
    var dt = obj;
    if (new Date(obj)=="NaN")
   {
       dt = toDate(obj);
       if (dt == null) {
           return null;
       }
    }
    span = Date.parse(dt);
    dt = new Date(span);
   str = dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate();
   return str;
}

function toInt(str) {
    /// <summary>
    /// 将字符串转换为整数。
    /// </summary>
    /// <param name="str" type="String">
    /// 输入字符串。
    /// </param>
    /// <returns type="Number" integer="true">转换后的整数，null表示转换失败。</returns>
    if (/^[-+]?\d+$/g.test(str)) {
        return parseInt(str, 10);
    }
    return null;
}
function toFloat(str) {
    /// <summary>
    /// 将字符串转换为数字。
    /// </summary>
    /// <param name="str" type="String">
    /// 输入字符串。
    /// </param>
    /// <returns type="Number">转换后的数字，null表示转换失败。</returns>
    if (/^[-+]?\d+(\.\d+)?$/g.test(str)) {
        return parseFloat(str);
    }
    return null;
}
function CheckDate(str) {
    /// <summary>
    /// 将字符串转换为时间。
    /// </summary>
    /// <param name="str" type="String">
    /// 输入字符串。
    /// </param>
    /// <returns type="Date">转换后的时间，null表示转换失败。</returns>

    // 时间格式：yyyy-M-d[ H:m[:s]]
    // var matches = str.match(/^(\d{1,4})\-([01]?\d)\-([0-3]?\d)( ([012]?\d):([0-5]?\d)(:([0-5]?\d))?)?$/);
    var matches = str.match(/^((19|20)\d\d)\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])( ([012]?\d):([0-5]?\d)(:([0-5]?\d))?)?$/);
    
    if (matches == null) {
        // 格式不正确
        return null;
    }
    return true;
    }
  /******************************************************************************获取链接的颜色*/
    function HeadMenSelId(pagename) {
        switch (pagename) {
            case "Home": return 1;
            case "Org": return 2;
            case "News":return 3;
            case "Admin": return 14;
            case "NewList": return 15;
            case "NoticeManager": return 16;
        }

    }
    function LeftMenu(pagename) {
        switch (pagename) {
            case "NewList": return 15;
            case "NoticeManager": return 16;
        }

    }
    function GetHeadMenuSelect(select) {
        $(document).ready(function() {
            if (!String.isNullOrEmpty(select)) {
                document.getElementById(select);
                $("#" + select).attr("class", "menuItemSelected");
            }
            else {
                $("a:first").attr("class", "menuItemSelected");
            }
            return null;
        })
    }
    function SelectHeadMenu(pagename) {
        var select = HeadMenSelId(pagename);
        $.get("Menu/HeadMenu/1", function(result) {
            document.getElementById("head").innerHTML = result;
            $("#head").fadeIn();
        }, "text/html")
         $("#head").ajaxSuccess(function() { GetHeadMenuSelect(select); })


     }
/******************************************************************************校验日期*/
     function Vdate(obj, strAlert) {
         var now = new Date();
         var yy = now.getYear() + "-";
         var mm = now.getMonth() + 1;
         var dd = now.getDate();
         if (mm < 10) {
             mm = "0" + mm + "-";
         } else {
             mm = mm + "-";
         }
         if (dd < 10) {
             dd = "0" + dd;
         } else {
             dd = dd + "";
         }
         var date = yy + mm + dd;

         var tempdate = obj.value.trim();
         if (tempdate == "") return false;
         if (tempdate.length > 10 || tempdate.length < 8) {
             alert("请输入合法的日期，格式为 YYYY-MM-DD  例如 2000-5-12");
             //alert("\u8bf7\u6309\u7167\u6807\u51c6\u65e5\u671f\u683c\u5f0f\u8f93\u5165\u683c\u5f0f\uff01\n\u6807\u51c6\u65e5\u671f\u683c\u5f0f\uff1a2003-01-30");
             obj.select();
             obj.focus();
             return false;
         }
         var last = tempdate.lastIndexOf("-");
         var nian = parseInt(tempdate.substring(0, 4), 10);
         var yue = parseInt(tempdate.substring(5, last), 10) - 1;
         var ri = parseInt(tempdate.substring(last + 1, 10), 10);
         var d = new Date(nian, yue, ri);

         if (tempdate.substring(4, 5) == "-" && tempdate.substring(last, last + 1) == "-") {
             if (d.getMonth() == yue && d.getDate() == ri) {
                 return true;
             } else {
                 alert("请输入合法的月份和天数！");
                 //alert("\u8bf7\u8f93\u5165\u6709\u6548\u65e5\u671f\uff01");
                 obj.focus();
                 obj.select();
                 return false;
             }
         } else {
             alert("请输入合法的日期，格式为 YYYY-MM-DD  例如 2000-5-12");
             //alert("\u8bf7\u6309\u7167\u6807\u51c6\u65e5\u671f\u683c\u5f0f\u8f93\u5165\u683c\u5f0f\uff01\n\u6807\u51c6\u65e5\u671f\u683c\u5f0f\uff1a2003-01-30");
             obj.focus();
             return false;
         }
     }
/************ 判断当前状态是否启用***************/
     function IsValid(status) {
         switch (status) {
             case "0": return "<font color=\"red\" >未启用</font>";
             case 0: return "<font color=\"red\" >未启用</font>";
             case "false": return "<font color=\"red\" >未启用</font>";
             case "1": return "<font color=\"Green\" >已启用</font>";
             case 1: return "<font color=\"Green\" >已启用</font>";
             case "true": return "<font color=\"Green\" >已启用</font>";
             
             default: return "<font color=\"red\" >未启用</font>";

         }
     }
     function IsAnswer(status) {
         switch (status) {
             case "0": return "<font color=\"red\" >未回复</font>";
             case 0: return "<font color=\"red\" >未回复</font>";
             case "false": return "<font color=\"red\" >未回复</font>";
             case false: return "<font color=\"red\" >未回复</font>";
             case "1": return "<font color=\"green\" >已回复</font>";
             case 1: return "<font color=\"green\" >已回复</font>";
             case "true": return "<font color=\"green\" >已回复</font>";
             case true: return "<font color=\"green\" >已回复</font>";
             default: return "<font color=\"red\" >未回复</font>";

         }
     }
     

/************ 检查文件的格式*/
     function checkFileType(obj, filetypeArray) {
        var eXtendName = obj.match(/^(.*)(\.)(.{1,8})$/)[3].toLowerCase();
         var Value = false;
         var strFormat = "";

         for (i = 0; i < filetypeArray.length; i++) {
             if (filetypeArray[i].toLowerCase() == eXtendName)
                 return true;
             else {
                 if (i != filetypeArray.length - 1)
                     strFormat += "." + filetypeArray[i].toString() + "、";
                 else
                     strFormat += "." + filetypeArray[i].toString();
                 Value = false;
                 continue;
             }
         }
         if (!Value) {
             alert("您只能上传" + strFormat.toString() + "格式的文件！");
             return false;
         }
     }
  
 //*****检验输入框内容是否符合要求*****//
 //obj:  name	 
 //type   : datetime/int/string
 //len : 字符长度
 //isnull : 是否必须输入内容（y/n）
 //************************************//
function checkObjValue(source, type, len, isnull, strAlert) {
         source.value = source.value.trim();
         if (type == "datetime") {
             if (source.value.trim() != "") {
                 Vdate(source, strAlert);
             } else {
                 if (isnull == "n") {
                     alert("必须输入" + strAlert + "！");
                     source.focus();
                     source.select();
                     return false;
                 } else {
                     return true;
                 }
             }
         } else if (type == "int") {
             if (source.value.trim() != "") {
                 if (checkNumber(source.value.trim())) {
                     return true;
                 } else {
                     alert(strAlert + "必须是数字！");
                     source.focus();
                     source.select();
                     return false;
                 }
             } else {
                 if (isnull == "n") {
                     alert("必须输入" + strAlert + "！");
                     source.focus();
                     source.select();
                     return false;
                 } else {
                     return true;
                 }
             }
         } else if (type = "string") {
             if (source.value != "") {
                 if (checkDigit(source.value.trim()) > len) {
                     var a1, a2, a3;
                     a1 = (len / 2);
                     a2 = a1.toString();

                     if (a2.indexOf(".") >= 0) {
                         a3 = a2.substring(0, a2.indexOf("."));
                     }
                     else {
                         a3 = a2;
                     }
                     alert(strAlert + "的长度超出了范围，最多" + a3 + "个汉字，" + len + "个英文！");
                     source.focus();
                     source.select();
                     return false;
                 } else {
                     return true;
                 }
             } else {
                 if (isnull == "n") {
                     alert("必须输入" + strAlert + "！");
                     source.focus();
                     source.select();
                     return false;
                 } else {
                     return true;
                 }
             }
         }
         return true;
     }
/*************生成XmlDom对象********/
     function createXMLDOM(strxml) { //生成XMLDOM对象
         
             try {
                  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                 xmlDoc.loadXML(strxml);
                 xmlDoc.async = false; //同步载入
             } catch (e) {
                 var oParser = new DOMParser();
                 xmlDoc = oParser.parseFromString(strxml, "text/xml");
             }
             
         return xmlDoc;
     }

    
/*************获取消息的类型标题输出********/
     function getLink(title, url, noticeId, type,resourceId) {
         var link;
         if (type == "1" || type == 1) {
             link = "<a href=\"" + url + "Notice/PicNotice/" + noticeId + "\" target=\"_blank\">" + title + "(图)</a>"
             
         }
        else  if(type == "2" || type == 2){
        link = "<a href=\"" + url + "Notice/CatgNotice/" + resourceId + "\" target=\"_blank\">" + title + "</a>"
        }
        else{
            link="<a href=\""+url+"Notice/Notice/"+noticeId+"\" target=\"_blank\">"+title+"</a>"
        }
        return link;
     }
/************获取时间格式********/
function formatXmlDates(data) {
 if (!String.isNullOrEmpty(data) && data.length > 0) {
     return data.substr(0,10); 
 }
}
/**************************************************************************/
function fontSize(size, id) {
    $("#"+id).css("font-size",size + "pt");

}

/************转换JSon日期格式********/
function ConvertToDateFormat(cellval) {
    var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));
    var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
    var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
    return date.getFullYear() + "-" + month + "-" + currentDate;
}

/*******************************************************************************************	2007-10-22 校验输入的基本方法	*/
//校验字符串中的中、英文字符总长度
function checkDigit(str) {
    var digit = 2 * str.length;
    var arr = str.match(/[\x00-\x80]/ig);
    if (arr != null) digit -= arr.length;
    return digit;
}
//校验Email格式
function checkEmail(str) {
    return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/g.test(str);
}
//校验字符串是否仅由［0-9］的10个阿拉伯数字组成，返回true表示［是］.
function checkArabicNumerals(str) {
    return !/\D/g.test(str);
}
//校验字符串中是否仅为整数,返回true表示为一整数(不含小数点).
function checkInteger(str) {
    return /^[-|+]?\d+$/g.test(str);
}
//校验字符串中是否仅为数字,返回true表示为一实数(首尾不为小数点).
function checkNumber(str) {
    return /^[-|+]?\d+(\.\d+)?$/g.test(str);
}
//校验字符串中是否仅为大写字母,返回true表示全为大写字母.
function checkUppercase(str) {
    return !/[^A-Z]/g.test(str);
}
//校验字符串中是否仅为大写字母和数字,返回true表示全为大写字母和数字.
function checkUpperNumLett(str) {
    return /[^0-9A-Z\s$]/g.test(str);
}
//校验字符串中是否仅为小写字母,返回true表示全为小写字母.
function checkLowercase(str) {
    return !/[^a-z]/g.test(str);
}
//校验字符串中是否仅为字母,返回true表示全为字母.
function checkLetter(str) {
    return !/[^A-Za-z]/g.test(str);
}
//校验字符串中是否仅为字母和数字
function checkNumLett(str) {
    return !/[^0-9A-Za-z]/g.test(str);
}
//校验字符串中是否仅为标点,返回true表示全为标点.
//标点范围为  `~!@#$%^&*()_+|-=\[]{};':",./<>?
function checkPunctuation(str) {
    return !/[^\x00-\x80]/g.test(str) && !/[A-Za-z0-9]/g.test(str) ? true : false;
}
//校验字符串中是否仅为汉字,返回true表示全为汉字.
function checkChinese(str) {
    return !/[\x00-\x80]/g.test(str);
}
//校验字符串中是否仅包含汉字数字和字母
function checkCHandNumLett(str) {
    return /^([0-9A-Za-z]|[\u4E00-\u9FA5])*$/g.test(str);
}

//校验一个字符（或字符串）是何种类型
function checkStrType(chr) {
    if (checkArabicNumerals(chr)) return "A"; //该字符（或字符串）全由［0-9］的阿拉伯数字组成
    if (checkInteger(chr)) return "I"; //该字符（或字符串）为Integer型
    if (checkNumber(chr)) return "N"; //该字符（或字符串）为Number型
    if (checkLetter(chr)) return "L"; //该字符（或字符串）为Char型
    if (checkPunctuation(chr)) return "P"; //该字符（或字符串）为punctuation标点型
    if (checkChinese(chr)) return "C"; //该字符（或字符串）为汉字型
    return "M"; //该字符串为Mix型（混合型）
}


//校验字符串是否存在阿拉伯数字［0-9］，返回true表示存在.
function existArabicNumerals(str) {
    return /\d/g.test(str);
}
//校验字符串中是否存在大写字母,返回true表示存在.
function existUppercase(str) {
    return /[A-Z]/g.test(str);
}
//校验字符串中是否存在小写字母,返回true表示存在.
function existLowercase(str) {
    return /[a-z]/g.test(str);
}
//校验字符串中是否存在字母,返回true表示存在.
function existLetter(str) {
    return /[A-Za-z]/g.test(str);
}
//校验字符串中是否存在标点,返回true表示存在.
//标点范围为  `~!@#$%^&*()_+|-=\[]{};':",./<>?
function existPunctuation(str) {
    str = str.replace(/[\s]/g, "");
    str = str.replace(/[A-Za-z0-9\/]/g, "");
   return /[\x00-\x80]/g.test(str);
 }
//校验字符串中是否存在汉字,返回true表示存在汉字(包括汉字标点符号).
function existChinese(str) {
    return /[^\x00-\x80]/g.test(str);
}
//校验一个字符（或字符串）中存在何种类型的字符
function existStrType(str) {
    var strType = ""; //返回的类型描述字符串
    if (existArabicNumerals(str)) strType += "A"; //字符串中存在阿拉伯数字
    if (existUppercase(str)) strType += "U"; //字符串中存在大写字母
    if (existLowercase(str)) strType += "S"; //字符串中存在小写字母
    if (existLetter(str)) strType += "L"; //字符串中存在字母
    if (existPunctuation(str)) strType += "P"; //字符串中存在标点
    if (existChinese(str)) strType += "C"; //字符串中存在汉字
    return strType;
}
//校验日期格式
function checkDate(str) {
    //空值不进行判断
    if (str == null || str == "") return true;
    var datearray = str.split("-");
    if (datearray.length != 3) {
        return false;
    }
    if ((!checkInteger(datearray[0])) || (!checkInteger(datearray[1])) || (!checkInteger(datearray[2]))) {
        return false;
    }
    if (datearray[0] < 1900
	   || datearray[0] > 2050
	   || datearray[1] < 1
	   || datearray[1] > 12
	   || datearray[2] < 1
	   || datearray[2] > 31
	  ) {
        return false;
    }
    return true;
}
function Fdate() {
    var obj = event.srcElement;
    var kc = event.keyCode;
    if (kc == 13 && event.altKey) {
        try {
            pickDate(obj);
        } catch (e) { }
    }
    var ol = obj.value.length;
    //if(checkArabicNumerals(kc))return false;
    if ((kc > 47 && kc < 58) || (kc > 95 && kc < 106) || kc == 229) {
        if (ol >= 10) return false;
        if ((ol == 4 || ol == 7) && kc != 45) {
            obj.value += "-";
            ol++;
        }
        if (((kc < 58 && kc > 49) || (kc < 106 && kc > 97)) && ol == 5) obj.value += "0";
        if (((kc < 58 && kc > 51) || (kc < 106 && kc > 99)) && ol == 8) obj.value += "0";
        return true;
    } else if (kc == 13 || kc == 8 || kc == 37 || kc == 39 || kc == 9 || kc == 45 || kc == 46) {
        return true;
    } else return false;
}

/**
*校验身份证
**/
function checkIDCard(str) {
    var patrn = /^[0-9]{15}$/;
    if (patrn.exec(str)) {
        return true;
    } else {
        patrn = /^[0-9]{17}([a-zA-Z0-9]){1}$/;
        if (patrn.exec(str)) {
            return true;
        } else {
            return false;
        }
    }
    return true
}

/**
*校验普通电话 除数字外，可含有“-” 
**/
function checkTel(s) {
    var patrn = /^(\d)+([-]?(\d)+)?$/;
    if (!patrn.exec(s)) return false
    return true
}
/**
*校验手机号码：必须以数字开头，除数字外，可含有“-” 
**/
function checkMobile(s) {
    var patrn = /^1(\d){10}$/;
    if (!patrn.exec(s)) return false
    return true
}

function dateOnBlur(obj) {
    var dateVal = obj.value;
    if (dateVal == "") {
        return;
    }
    if ((dateVal.length == 8) && checkArabicNumerals(dateVal)) {
        dateVal = dateVal.substring(0, 4) + "-" + dateVal.substring(4, 6) + "-" + dateVal.substring(6, 8);
        obj.value = dateVal;
    }
}

function replaceFnKeys() {
    var kc = event.keyCode;
    var obj = event.srcElement;
    if (kc >= 112 && kc <= 123) {
        return 0
    }
}

//function window.onhelp() {
//    return false
//}


/**
*校验两个日期的先后
*返回值：
*如果其中有一个日期为空，校验通过,          返回true
*如果起始日期早于等于终止日期，校验通过，   返回true
*如果起始日期晚于终止日期，                 返回false    参考提示信息： 起始日期不能晚于结束日期。
*/
function checkDateEarlier(strStart, strEnd) {
    if (checkDate(strStart) == false || checkDate(strEnd) == false)
        return false;
    //如果有一个输入为空，则通过检验
    if ((strStart == "") || (strEnd == ""))
        return true;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0], parseInt(arr1[1].replace(/^0/, ""), 10) - 1, arr1[2]);
    var date2 = new Date(arr2[0], parseInt(arr2[1].replace(/^0/, ""), 10) - 1, arr2[2]);
    if (arr1[1].length == 1)
        arr1[1] = "0" + arr1[1];
    if (arr1[2].length == 1)
        arr1[2] = "0" + arr1[2];
    if (arr2[1].length == 1)
        arr2[1] = "0" + arr2[1];
    if (arr2[2].length == 1)
        arr2[2] = "0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    if (parseInt(d1, 10) > parseInt(d2, 10))
        return false;
    else
        return true;
} //

/*******************************************************************************************	2007-05-10 提供给数据库中客户端校验字段调用的方法 by chwang	*/
// 校验值非空
// return:成功时返回null，否则返回提示信息
function checkNull(inputValue, initValue) {
    if (initValue == null) {
        initValue = "";
    }
    if (inputValue == null || inputValue == initValue) {
        return "必须填写{0}。";
    }
    return null;
}

// 校验数字范围
function checkRange(inputValue, min, minEqual, max, maxEqual) {
    var returnValue = null;
    // 最小值校验
    if (min != null) {
        // 默认包括最小值
        if (minEqual == null) {
            minEqual = true;
        }
        if (minEqual) {
            if (inputValue < min) {
                returnValue = "{0}不能小于'" + min + "'。";
            }
        }
        else if (inputValue <= min) {
            returnValue = "{0}不能小于或等于'" + min + "'。";
        }
    }
    if (returnValue != null) {
        return returnValue;
    }
    // 最大值校验
    if (max != null) {
        // 默认包括最大值
        if (maxEqual == null) {
            maxEqual = true;
        }
        if (maxEqual) {
            if (inputValue > max) {
                returnValue = "{0}不能大于'" + max + "'。";
            }
        }
        else if (inputValue >= max) {
            returnValue = "{0}不能大于或等于'" + max + "'。";
        }
    }
    return returnValue;
}

// 校验日期范围
function checkDateRange(inputValue, min, minEqual, max, maxEqual) {
    var returnValue = null;
    // 最小值校验
    if (min != null) {
        // 默认包括最小值
        if (minEqual == null) {
            minEqual = true;
        }
        if (minEqual) {
            if (inputValue < min) {
                returnValue = "{0}不能小于'" + min.toLocaleString() + "'。";
            }
        }
        else if (inputValue <= min) {
            returnValue = "{0}不能小于或等于'" + min.toLocaleString() + "'。";
        }
    }
    if (returnValue != null) {
        return returnValue;
    }
    // 最大值校验
    if (max != null) {
        // 默认包括最大值
        if (maxEqual == null) {
            maxEqual = true;
        }
        if (maxEqual) {
            if (inputValue > max) {
                returnValue = "{0}不能大于'" + max.toLocaleString() + "'。";
            }
        }
        else if (inputValue >= max) {
            returnValue = "{0}不能大于或等于'" + max.toLocaleString() + "'。";
        }
    }
    return returnValue;
}

// 校验整形数字
// sender:参数值控件
// allowNull:允许为空
// min:最小值
// minEqual:包含最小值
// max:最大值
// minEqual:包含最大值
// return:成功时返回null，否则返回提示信息
function checkInt(sender, allowNull, min, minEqual, max, maxEqual) {
    var inputValue = sender.value;
    var returnValue = null;
    // 非空校验
    if (!allowNull) {
        returnValue = checkNull(inputValue);
        if (returnValue != null) {
            return returnValue;
        }
    }
    else if (inputValue == "") {
        return returnValue;
    }
    // 整数格式
    if (!checkInteger(inputValue)) {
        returnValue = "{0}必须是整数。";
        return returnValue;
    }
    // 校验范围
    var intValue = parseInt(inputValue, 10);
    returnValue = checkRange(intValue, min, minEqual, max, maxEqual);
    // 返回结果
    return returnValue;
}

// 校验整形数字
// sender:参数值控件
// allowNull:允许为空
// min:最小值
// minEqual:包含最小值
// max:最大值
// minEqual:包含最大值
// return:成功时返回null，否则返回提示信息
function checkFloat(sender, allowNull, min, minEqual, max, maxEqual) {
    var inputValue = sender.value;
    var returnValue = null;
    // 非空校验
    if (!allowNull) {
        returnValue = checkNull(inputValue);
        if (returnValue != null) {
            return returnValue;
        }
    }
    else if (inputValue == "") {
        return returnValue;
    }
    // 整数格式
    if (!checkNumber(inputValue)) {
        returnValue = "{0}必须是数字。";
        return returnValue;
    }
    // 校验范围
    var fltValue = parseFloat(inputValue);
    returnValue = checkRange(fltValue, min, minEqual, max, maxEqual);
    // 返回结果
    return returnValue;
}

// 校验字符串
// sender:参数值控件
// allowNull:允许为空
// lengthType:C:字符数,B:字节数
// min:最小长度
// minEqual:包含最小值
// max:最大长度
// minEqual:包含最大值
// return:成功时返回null，否则返回提示信息
function checkString(sender, allowNull, lengthType, min, minEqual, max, maxEqual) {
    var inputValue = sender.value;
    var returnValue = null;
    // 非空校验
    if (!allowNull) {
        returnValue = checkNull(inputValue);
        if (returnValue != null) {
            return returnValue;
        }
    }
    else if (inputValue == "") {
        return returnValue;
    }
    // 获取字符串长度
    var length = 0;
    if (lengthType == "C") {
        length = inputValue.length;
    }
    else {
        length = checkDigit(inputValue);
    }
    // 校验长度范围
    returnValue = checkRange(length, min, minEqual, max, maxEqual);
    if (returnValue != null) {
        returnValue = String.format(returnValue, "{0}的长度");
    }
    // 返回结果
    return returnValue;
}

// 校验日期
// sender:参数值控件
// allowNull:允许为空
// min:最小值
// minEqual:包含最小值
// max:最大值
// minEqual:包含最大值
// return:成功时返回null，否则返回提示信息
function checkDateTime(sender, allowNull, min, minEqual, max, maxEqual) {
    var inputValue = sender.value;
    var returnValue = null;
    // 非空校验
    if (!allowNull) {
        returnValue = checkNull(inputValue);
        if (returnValue != null) {
            return returnValue;
        }
    }
    else if (inputValue == "") {
        return returnValue;
    }
    // 日期格式
    var dateValue = parseDate(inputValue);
    if (dateValue == null) {
        returnValue = "{0}的日期格式不正确。";
        return returnValue;
    }
    // 校验范围
    returnValue = checkDateRange(dateValue, min, minEqual, max, maxEqual);
    // 返回结果
    return returnValue;
}
//获取绝对地址
function GetUrl(_baseUrl, Uri)
{
    var url = "";
    if (Uri.indexOf("http")==0) {
        url = Uri+"\" target=\"_blank";
    }
    else {
        url = _baseUrl + Uri;
    }
    return url;
}
//设置选中栏目的样式
function GetSelectRed(id) {
    $("#" + id).attr("class", "leavecolor");
}
//判定上传的文件是否是制定的类型
function IsType(url, arr) {
    var bool = false;
    url = url.substr(url.lastIndexOf(".") + 1).toLowerCase();
    $.each(arr, function(i) {
        if (arr[i] == url) {
            bool = true;
        }
    })
    return bool;
}
//审核状态
//isKeyFst:审核标志
//0 初始状态 默认为已审核
//4审核通过
//5审核未通过
//1,2,3 未审核
function isAudit(isKeyFst) {
    if (String.isNullOrEmpty(isKeyFst)) {
        isKeyFst = 0;
    }
    var result = "";
    if (isKeyFst == 0 || isKeyFst == 4) {
        result = "<font color=\"Green\">审核通过</font>";
    }
    else if (isKeyFst == 5) {
        result = "<font color=\"Red\">审核未通过</font>";
    }
    else {
        result = "<font color=\"Red\">未审核</font>";
    }
    return result;
}
//是否出现置顶标识
//taday:当前日期
//notTime：置顶日期 
//delayNew :是否已置顶
function isTop(today, notTime, delayDelay) {
    var newday=0;
    newday = parseInt(delayDelay);
    if (newday > 0) {
        var ta=new Array();
        ta=today.split("-");
        var de=new Array();
        de = notTime.split("-");
        ta[0] = parseInt(ta[0], 10);
        ta[1] = parseInt(ta[1], 10);
        ta[2] = parseInt(ta[2], 10);
        de[0] = parseInt(de[0], 10);
        de[1] = parseInt(de[1], 10);
        de[2] = parseInt(de[2], 10);
        if (ta[0] < de[0] || ( ta[0]==de[0] && ta[1] < de[1]) || ( ta[0]==de[0] && ta[1] == de[1] &&ta[2] < de[2])) {
            return true;
        }
        else {
            return false;
        }
        
    }
    else {
        return false;
    }

}
///获取互动交流显示的数据来源
///dataOrigin:互动交流的信息状态
///0:前台用户操作
///1:局长信箱
function DataOrigin(dataOrigin) {
    var result = "";
    if (String.isNullOrEmpty(dataOrigin)) {
        dataOrigin = 0;
    }
    if (dataOrigin == "1") {
        result = "<font color=\"Red\"> 局长信箱 </font>";
    }
    else {
        result = "<font color=\"Green\"> 前台操作 </font>";
    }
    return result;
}
///获取互动交流当前信息的转出状态
///dataType:当前信息的类型
///1:未进行任何操作
///2:由局长信箱转至我要咨询
///3:由局长信箱转至转至工作监督
function DataTarget(dataType) {
    var result = "未转出";
    switch (dataType) {
        case JsResConst.LeaveMsgOwerList.ResLeaveMsg : { result = "未转出"; break; }
        case JsResConst.LeaveMsgOwerList.ResWsts: { result = "转至工作监督"; break; }
        case JsResConst.LeaveMsgOwerList.ResWyzx: { result = "转至我要咨询"; break; }
        default : { result = "未转出"; break; }
    }
    return result;
}
///判定当前信息是否还可回复
///dataType:当前信息的类型
///1:可回复
function IsEdit(dataType) {
    var result = false;
    switch (dataType) {
        case JsResConst.LeaveMsgOwerList.ResLeaveMsg: { result = true; break; }
        case JsResConst.LeaveMsgOwerList.ResWsts: { result = false; break; }
        case JsResConst.LeaveMsgOwerList.ResWyzx: { result = false; break; }
        default: { result = true; break; }
    }
    return result;
}
/************************************************************来自AC_RunActiveContent.js */


//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion() {
    var version;
    var axo;
    var e;

    // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

    try {
        // version will be set for 7.X or greater players
        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
        version = axo.GetVariable("$version");
    } catch (e) {
    }

    if (!version) {
        try {
            // version will be set for 6.X players only
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

            // installed player is some revision of 6.0
            // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
            // so we have to be careful. 

            // default to the first public version
            version = "WIN 6,0,21,0";

            // throws if AllowScripAccess does not exist (introduced in 6.0r47)		
            axo.AllowScriptAccess = "always";

            // safe to call for 6.0r47 or greater
            version = axo.GetVariable("$version");

        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 4.X or 5.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = axo.GetVariable("$version");
        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 3.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = "WIN 3,0,18,0";
        } catch (e) {
        }
    }

    if (!version) {
        try {
            // version will be set for 2.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
            version = "WIN 2,0,0,11";
        } catch (e) {
            version = -1;
        }
    }

    return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer() {
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    var flashVer = -1;

    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
            var descArray = flashDescription.split(" ");
            var tempArrayMajor = descArray[2].split(".");
            var versionMajor = tempArrayMajor[0];
            var versionMinor = tempArrayMajor[1];
            var versionRevision = descArray[3];
            if (versionRevision == "") {
                versionRevision = descArray[4];
            }
            if (versionRevision[0] == "d") {
                versionRevision = versionRevision.substring(1);
            } else if (versionRevision[0] == "r") {
                versionRevision = versionRevision.substring(1);
                if (versionRevision.indexOf("d") > 0) {
                    versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                }
            }
            var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    else if (isIE && isWin && !isOpera) {
        flashVer = ControlVersion();
    }
    return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
    versionStr = GetSwfVer();
    if (versionStr == -1) {
        return false;
    } else if (versionStr != 0) {
        if (isIE && isWin && !isOpera) {
            // Given "WIN 2,0,0,11"
            tempArray = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
            tempString = tempArray[1]; 		// "2,0,0,11"
            versionArray = tempString.split(","); // ['2', '0', '0', '11']
        } else {
            versionArray = versionStr.split(".");
        }
        var versionMajor = versionArray[0];
        var versionMinor = versionArray[1];
        var versionRevision = versionArray[2];

        // is the major.revision >= requested major.revision AND the minor version >= requested minor
        if (versionMajor > parseFloat(reqMajorVer)) {
            return true;
        } else if (versionMajor == parseFloat(reqMajorVer)) {
            if (versionMinor > parseFloat(reqMinorVer))
                return true;
            else if (versionMinor == parseFloat(reqMinorVer)) {
                if (versionRevision >= parseFloat(reqRevision))
                    return true;
            }
        }
        return false;
    }
}

function AC_AddExtension(src, ext) {
    if (src.indexOf('?') != -1)
        return src.replace(/\?/, ext + '?');
    else
        return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) {
    var str = '';
    if (isIE && isWin && !isOpera) {
        str += '<object ';
        for (var i in objAttrs) {
            str += i + '="' + objAttrs[i] + '" ';
        }
        str += '>';
        for (var i in params) {
            str += '<param name="' + i + '" value="' + params[i] + '" /> ';
        }
        str += '</object>';
    }
    else {
        str += '<embed ';
        for (var i in embedAttrs) {
            str += i + '="' + embedAttrs[i] + '" ';
        }
        str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent() {
    var ret =
    AC_GetArgs
    (arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType) {
    var ret = new Object();
    ret.embedAttrs = new Object();
    ret.params = new Object();
    ret.objAttrs = new Object();
    for (var i = 0; i < args.length; i = i + 2) {
        var currArg = args[i].toLowerCase();

        switch (currArg) {
            case "classid":
                break;
            case "pluginspage":
                ret.embedAttrs[args[i]] = args[i + 1];
                break;
            case "src":
            case "movie":
                args[i + 1] = AC_AddExtension(args[i + 1], ext);
                ret.embedAttrs["src"] = args[i + 1];
                ret.params[srcParamName] = args[i + 1];
                break;
            case "onafterupdate":
            case "onbeforeupdate":
            case "onblur":
            case "oncellchange":
            case "onclick":
            case "ondblClick":
            case "ondrag":
            case "ondragend":
            case "ondragenter":
            case "ondragleave":
            case "ondragover":
            case "ondrop":
            case "onfinish":
            case "onfocus":
            case "onhelp":
            case "onmousedown":
            case "onmouseup":
            case "onmouseover":
            case "onmousemove":
            case "onmouseout":
            case "onkeypress":
            case "onkeydown":
            case "onkeyup":
            case "onload":
            case "onlosecapture":
            case "onpropertychange":
            case "onreadystatechange":
            case "onrowsdelete":
            case "onrowenter":
            case "onrowexit":
            case "onrowsinserted":
            case "onstart":
            case "onscroll":
            case "onbeforeeditfocus":
            case "onactivate":
            case "onbeforedeactivate":
            case "ondeactivate":
            case "type":
            case "codebase":
            case "id":
                ret.objAttrs[args[i]] = args[i + 1];
                break;
            case "width":
            case "height":
            case "align":
            case "vspace":
            case "hspace":
            case "class":
            case "title":
            case "accesskey":
            case "name":
            case "tabindex":
                ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i + 1];
                break;
            default:
                ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i + 1];
        }
    }
    ret.objAttrs["classid"] = classid;
    if (mimeType) ret.embedAttrs["type"] = mimeType;
    return ret;
}


/************************************************************来自PicFlash.js */

if (typeof sas == "undefined") var sas = new Object(); if (typeof sas.ued == "undefined") sas.ued = new Object(); if (typeof sas.ued.util == "undefined") sas.ued.util = new Object(); if (typeof sas.ued.FlashObjectUtil == "undefined") sas.ued.FlashObjectUtil = new Object(); sas.ued.FlashObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey) { if (!document.createElement || !document.getElementById) return; this.DETECT_KEY = detectKey ? detectKey : 'detectflash'; this.skipDetect = sas.ued.util.getRequestParameter(this.DETECT_KEY); this.params = new Object(); this.variables = new Object(); this.attributes = new Array(); this.useExpressInstall = useExpressInstall; if (swf) this.setAttribute('swf', swf); if (id) this.setAttribute('id', id); if (w) this.setAttribute('width', w); if (h) this.setAttribute('height', h); if (ver) this.setAttribute('version', new sas.ued.PlayerVersion(ver.toString().split("."))); this.installedVer = sas.ued.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'), useExpressInstall); if (c) this.addParam('bgcolor', c); var q = quality ? quality : 'high'; this.addParam('quality', q); var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location; this.setAttribute('xiRedirectUrl', xir); this.setAttribute('redirectUrl', ''); if (redirectUrl) this.setAttribute('redirectUrl', redirectUrl) }; sas.ued.FlashObject.prototype = { setAttribute: function(name, value) { this.attributes[name] = value }, getAttribute: function(name) { return this.attributes[name] }, addParam: function(name, value) { this.params[name] = value }, getParams: function() { return this.params }, addVariable: function(name, value) { this.variables[name] = value }, getVariable: function(name) { return this.variables[name] }, getVariables: function() { return this.variables }, createParamTag: function(n, v) { var p = document.createElement('param'); p.setAttribute('name', n); p.setAttribute('value', v); return p }, getVariablePairs: function() { var variablePairs = new Array(); var key; var variables = this.getVariables(); for (key in variables) { variablePairs.push(key + "=" + variables[key]) } return variablePairs }, getFlashHTML: function() { var flashNode = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "PlugIn"); flashNode = '<embed type="application/x-shockwave-flash" src="' + this.getAttribute('swf') + '" width="' + this.getAttribute('width') + '" height="' + this.getAttribute('height') + '"'; flashNode += ' id="' + this.getAttribute('id') + '" name="' + this.getAttribute('id') + '" '; var params = this.getParams(); for (var key in params) { flashNode += [key] + '="' + params[key] + '" ' } var pairs = this.getVariablePairs().join("&"); if (pairs.length > 0) { flashNode += 'flashvars="' + pairs + '"' } flashNode += '/>' } else { if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "ActiveX"); flashNode = '<object id="' + this.getAttribute('id') + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.getAttribute('width') + '" height="' + this.getAttribute('height') + '">'; flashNode += '<param name="movie" value="' + this.getAttribute('swf') + '" />'; var params = this.getParams(); for (var key in params) { flashNode += '<param name="' + key + '" value="' + params[key] + '" />' } var pairs = this.getVariablePairs().join("&"); if (pairs.length > 0) { flashNode += '<param name="flashvars" value="' + pairs + '" />' } flashNode += "</object>" } return flashNode }, write: function(elementId) { if (this.useExpressInstall) { var expressInstallReqVer = new sas.ued.PlayerVersion([6, 0, 65]); if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) { this.setAttribute('doExpressInstall', true); this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl'))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title) } } else { this.setAttribute('doExpressInstall', false) } if (this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))) { var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId; n.innerHTML = this.getFlashHTML() } else { if (this.getAttribute('redirectUrl') != "") { document.location.replace(this.getAttribute('redirectUrl')) } } } }; sas.ued.FlashObjectUtil.getPlayerVersion = function(reqVer, xiInstall) { var PlayerVersion = new sas.ued.PlayerVersion(0, 0, 0); if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins["Shockwave Flash"]; if (x && x.description) { PlayerVersion = new sas.ued.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")) } } else { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); for (var i = 3; axo != null; i++) { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i); PlayerVersion = new sas.ued.PlayerVersion([i, 0, 0]) } } catch (e) { } if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) { try { PlayerVersion = new sas.ued.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")) } catch (e) { } } } return PlayerVersion }; sas.ued.PlayerVersion = function(arrVersion) { this.major = parseInt(arrVersion[0]) || 0; this.minor = parseInt(arrVersion[1]) || 0; this.rev = parseInt(arrVersion[2]) || 0 }; sas.ued.PlayerVersion.prototype.versionIsValid = function(fv) { if (this.major < fv.major) return false; if (this.major > fv.major) return true; if (this.minor < fv.minor) return false; if (this.minor > fv.minor) return true; if (this.rev < fv.rev) return false; return true }; sas.ued.util = { getRequestParameter: function(param) { var q = document.location.search || document.location.href.hash; if (q) { var startIndex = q.indexOf(param + "="); var endIndex = (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", startIndex) : q.length; if (q.length > 1 && startIndex > -1) { return q.substring(q.indexOf("=", startIndex) + 1, endIndex) } } return "" } }; if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length } } var getQueryParamValue = sas.ued.util.getRequestParameter; var Flash = sas.ued.FlashObject;
function Cookie(document, name, hours, path, domain, secure) { this.$document = document; this.$name = name; this.$expiration = hours ? new Date((new Date()).getTime() + hours * 3600000) : null; this.$path = path ? path : null; this.$domain = domain ? domain : null; this.$secure = secure; }; Cookie.prototype.store = function() { var cookieval = ""; for (var prop in this) { if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function')) continue; if (cookieval != "") cookieval += '&'; cookieval += prop + ':' + escape(this[prop]); } var cookie = this.$name + '=' + cookieval; if (this.$expiration) cookie += '; expires=' + this.$expiration.toGMTString(); if (this.$path) cookie += '; path=' + this.$path; if (this.$domain) cookie += '; domain=' + this.$domain; if (this.$secure) cookie += '; secure'; this.$document.cookie = cookie; }; Cookie.prototype.load = function() { var allcookies = this.$document.cookie; if (allcookies == "") return false; var start = allcookies.indexOf(this.$name + '='); if (start == -1) return false; start += this.$name.length + 1; var end = allcookies.indexOf(';', start); if (end == -1) end = allcookies.length; var cookieval = allcookies.substring(start, end); var a = cookieval.split('&'); for (var i = 0; i < a.length; i++) a[i] = a[i].split(':'); for (var i = 0; i < a.length; i++) this[a[i][0]] = unescape(a[i][1]); return true; }; Cookie.prototype.remove = function() { var cookie; cookie = this.$name + '='; if (this.$path) cookie += '; path=' + this.$path; if (this.$domain) cookie += '; domain=' + this.$domain; cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT'; this.$document.cookie = cookie; };
