﻿/*Jquery入口*/
$(document).ready(function() {
    /*排行榜*/
    pranking();
    InterceptString(".Content_divLb", 45);
    InterceptString(".Content_divLa i:odd", 7);

    /*滑动门方法的调用开始*/
    $("#index_tjrjNav li").each(function(i) {
        $(this).mouseover(function() {
            DisOrShow("#index_tjrjNav li", "#index_tjrjNav0", "#tjrjCon>ul>li", "normal_tjrj", "hover_tjrj", "undis", "dis", i);
        });
    });
    //菜单悬停效果
    $(".list ul li:lt(9)").each(function(i) {
        $("#li" + i).bind("mouseover", function() { mouseoverFun(i); });
        $("#li" + i).bind("mouseout", function() { mouseoutFun(i) });
    });

    //如果用户输入.com或者.cn,首页样式默认!
    getUrl();

    //默认        
    if (urlTp.indexOf("default.aspx") > -1) {
        $("#li0").addClass("u uou");
    }

    if (urlTp.indexOf("mall") > -1) {
        $("#Crumb").hide();
        $("#li0")[0].className = "u uou";
        k = 0;
    }
    else if (urlTp.indexOf("info") > -1) {
        $("#li1")[0].className = "dml";
        k = 1;
    }
    else if (urlTp.indexOf("stratagem") > -1) {
        $("#li2")[0].className = "dml";
        k = 2;
    }
    else if (urlTp.indexOf("softshop") > -1) {
        $("#li3")[0].className = "dml";
        k = 3;
    }
    else if (urlTp.indexOf("joincenter") > -1) {
        $("#li5")[0].className = "dml";
        k = 5;
    }
    else if (urlTp.indexOf("servicecenter") > -1) {
        $("#li6")[0].className = "dml";
        k = 6;
    }
    else if (urlTp.indexOf("devecenter") > -1) {
        $("#li7")[0].className = "dml";
        k = 7;
    }
    else if (urlTp.indexOf("foot") > -1) {
        $("#li0")[0].className = "u uou";
        k = 0;
    }
});

/*排行榜JS*/
function pranking() {
     $("#mid_contentR1 ul li").each(function(i) {
        $(this).addClass("phb_" + i);
        });
    }
    
/*Jquery 导航*/
function navMenu(a) {
    $(".list ul li").each(function(i) {
        if (i < 2) { $(this).removeClass("uuu"); }
        else { $(this).removeClass("hover1"); }
    });
    if (a < 2) { $("#li" + a).addClass("uuu"); }
    else { $("#li" + a).addClass("hover1"); }
}

/*
(1)函数名称：截取字符串
(2)参数：
labelName：可以定位到需要截取字符串的标签的class名字或者id的名字
lengths：想要截取的字符串的长度，如：45
*/
function InterceptString(labelName, lengths) {
    $(labelName).each(function() {
        var text = $(this).text();
        if (text.length > lengths) {
            $(this).text(text.substring(0, lengths - 1) + "...");
        }
    });
}

/*div的显示和隐藏
参数：
(1)navId：需要导航切换页面的标签的集合的ID 如：（"#rjlb_lb li"）
(2)contentID：显示导航条下的内容的标签的ID,需循环获取， 如：#rjlb_lb01、#rjlb_lb02、#rjlb_lb03等，需（"#rjlb_lb0"）传值!
(3)contentClass：显示导航条下的内容的标签的class的集合 如：（.jbxx_nav_Con>li）
(4)nav_normalClass：导航条上没有选中的标签的样式class名字 如：（"normal_rjlb"）
(5)nav_hoverClass：导航条上被选中的标签的样式class名字 如：（"hover_rjlb"）
(6)hideClassName：隐藏内容的class名字 如：（"undis_Zhcz"）
(7)dispalyClassName：显示内容的class名字 如：（"dis_Zhcz"）
(8)number：导航条li的索引值
*/
function DisOrShow(navId, contentID, contentClass, nav_normalClass, nav_hoverClass, hideClassName, dispalyClassName, number) {
    $(navId).each(function() {
        $(this).removeClass();
        $(this).addClass(nav_normalClass);
    });
    $(contentClass).each(function() {
        $(this).removeClass();
        $(this).addClass(hideClassName);
    });
    $(navId).eq(number).removeClass(nav_normalClass);
    $(navId).eq(number).addClass(nav_hoverClass);
    $(contentID + number).removeClass(hideClassName);
    $(contentID + number).addClass(dispalyClassName);
}

/*滑动门通用调用开始*/
//tidbase 标题id的基础部分，没有序号
//cidbase 内容id的基础部分，没有序号
//ncount 滑动门导航的个数
//curcount 当前的选中的序号
//titleshowclass 选中标题的样式
//titlehideclass  未选中的标题的样式
//contentshowclass 选中内容的样式
//contenthideclass  未选中的内容的样式
function tableNav(tidbase, cidbase, ncount, curcount, titleshowclass, titlehideclass, contentshowclass, contenthideclass) {

    for (var i = 1; i <= ncount; i++) {
        //去除现有的样式
        if ($('#' + tidbase + i).hasClass(titleshowclass))
            $('#' + tidbase + i).removeClass(titleshowclass);

        if ($('#' + tidbase + i).hasClass(titlehideclass))
            $('#' + tidbase + i).removeClass(titlehideclass);

        if ($('#' + cidbase + i).hasClass(contentshowclass))
            $('#' + cidbase + i).removeClass(contentshowclass);

        if ($('#' + cidbase + i).hasClass(contenthideclass))
            $('#' + cidbase + i).removeClass(contenthideclass);

        //添加需要的样式
        if (curcount == i) {
            $('#' + tidbase + i).addClass(titleshowclass);
            $('#' + cidbase + i).addClass(contentshowclass);
        } else {
            $('#' + tidbase + i).addClass(titlehideclass);
            $('#' + cidbase + i).addClass(contenthideclass);
        }
    }
}

//表单的form提交
function FormSubmit(method, action) {
    var frm = $("#softcity")[0];
    frm.method = method;
    frm.action = action;
    frm.submit();
}

//剪切板操作
function CopyToClipboard(meintext) {
    if (window.clipboardData) {
        //IE
        window.clipboardData.setData("Text", meintext);
    }
    else if (window.netscape) {
        try{
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        }
        catch(e)
        {
            alert("您的firefox安全限制限制您进行剪贴板操作，请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试，相对路径为firefox根目录/greprefs/all.js"); 
            return false; 
        }
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);

        if (!clip) return;
        //alert(clip);
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);

        if (!trans) return;

        trans.addDataFlavor('text/unicode');

        var str = new Object();
        var len = new Object();
        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

        var copytext = meintext;
        str.data = copytext;
        trans.setTransferData("text/unicode", str, copytext.length * 2);
        var clipid = Components.interfaces.nsIClipboard;
        if (!clip) return false;
        clip.setData(trans, null, clipid.kGlobalClipboard);

    }
    else {
        return false;
    }
    alert("该地址已经复制到剪切板。" + "\n" + "提示：可以使用Ctrl+v组合键复制到您想使用的地方！");
}

/*
*--------------- 客户端表单通用验证CheckForm(oForm) -----------------
* 功能:通用验证所有的表单元素.
* 使用:
*    <form name="form1" onsubmit="return CheckForm(this)">
*    <input type="text" name="id" check="^\S+$" warning="id不能为空,且不能含有空格">
*    <input type="submit">
*    </form>
* 注意:写正则表达式时一定要小心.不要让"有心人"有空子钻.
* 已实现功能:
* 对text,password,hidden,file,textarea,select,radio,checkbox进行合法性验证
*--------------- 客户端表单通用验证CheckForm(oForm) -----------------
*/
////////////////////////////////////////////////////////////////////////////////

//主函数
function CheckForm(oForm) {
    var els = oForm.elements;
    //遍历所有表元素
    for (var i = 0; i < els.length; i++) {
        //是否需要验证
        if (els[i].check) {
            //取得验证的正则字符串
            var sReg = els[i].check;
            //取得表单的值,用通用取值函数
            var sVal = GetValue(els[i]);
            //字符串->正则表达式,不区分大小写
            var reg = new RegExp(sReg, "i");
            if (!reg.test(sVal)) {
                //验证不通过,弹出提示warning
                alert(els[i].warning);
                //该表单元素取得焦点,用通用返回函数
                GoBack(els[i])
                return false;
            }
        }
    }
    return true;
}

//通用取值函数分三类进行取值
//文本输入框,直接取值el.value
//单多选,遍历所有选项取得被选中的个数返回结果"00"表示选中两个
//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个
function GetValue(el) {
    //取得表单元素的类型
    var sType = el.type;
    switch (sType) {
        case "text":
        case "hidden":
        case "password":
        case "file":
        case "textarea": return el.value;
        case "checkbox":
        case "radio": return GetValueChoose(el);
        case "select-one":
        case "select-multiple": return GetValueSel(el);
    }
    //取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
    function GetValueChoose(el) {
        var sValue = "";
        //取得第一个元素的name,搜索这个元素组
        var tmpels = document.getElementsByName(el.name);
        for (var i = 0; i < tmpels.length; i++) {
            if (tmpels[i].checked) {
                sValue += "0";
            }
        }
        return sValue;
    }
    //取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
    function GetValueSel(el) {
        var sValue = "";
        for (var i = 0; i < el.options.length; i++) {
            //单选下拉框提示选项设置为value=""
            if (el.options[i].selected && el.options[i].value != "") {
                sValue += "0";
            }
        }
        return sValue;
    }
}

//通用返回函数,验证没通过返回的效果.分三类进行取值
//文本输入框,光标定位在文本输入框的末尾
//单多选,第一选项取得焦点
//单多下拉菜单,取得焦点
function GoBack(el) {
    //取得表单元素的类型
    var sType = el.type;
    switch (sType) {
        case "text":
        case "hidden":
        case "password":
        case "file":
        case "textarea": el.focus(); var rng = el.createTextRange(); rng.collapse(false); rng.select();
        case "checkbox":
        case "radio": var els = document.getElementsByName(el.name); els[0].focus();
        case "select-one":
        case "select-multiple": el.focus();
    }
}


function capture(event) {
    var keynum;
    if (window.event) {
        keynum = event.keyCode;
    }
    else {
        keynum = event.which;
    }
    event = event || window.event;
    if (keynum == 13) {
        getSearch();
    }
}

function mouseoverFun(count) {
    if (count < 1) {
        $("#li" + count).addClass("uuu");
    }
    else if (count != k) {
        $("#li" + count).addClass("dml");
    }
}
function mouseoutFun(count) {
    if (count < 1) {
        $("#li" + count).removeClass("uuu");
    }
    else if (count != k) {
        $("#li" + count).removeClass("dml");
    }
}

//防止用户直接输入网址,不带后缀.默认首页样式
function getUrl() {    
    if (urlTp.substr(urlTp.length - 1) != "/") {
        urlTp = urlTp + "/";
    }    
    var t = urlTp.lastIndexOf("/");
    var t1 = urlTp.substring(t - 3, t);
    var t2 = urlTp.substring(t - 2, t);
    if (t1.toString().toLowerCase() == "com" || t2.toString().toLowerCase() == "cn") {
        $("#Crumb").hide();
        $("#li0")[0].className = "u uou";
    }
}

function getSearch() {
    var where = $("#search").val();
    if (where == "请输入软件名称") {
        window.open("/SoftShop/SearchList",'','',false);
    }
    else {
        window.open("/SoftShop/SearchList?were=" + escape($.trim(where)),'','',false);
    }
}

//左栏菜单的显影
function ShowMenu(menuid, hiddenid) {
    if ($("#" + menuid).hasClass("KFlist_sddA")) {
        $("#" + menuid).removeClass();
        $("#" + menuid).addClass("KFlist_sddB");
        $("#" + hiddenid)[0].value = "B";
    } else {
        $("#" + menuid).removeClass();
        $("#" + menuid).addClass("KFlist_sddA");
        $("#" + hiddenid)[0].value = "A";
    }
}

function aclick(id) {
    $(".ff5a00").removeClass();
    //$(".KFlist_sddA").attr("className", "KFlist_sddB")
    //ShowMenu("leftMenu" + id.toString(), "curmenuid" + id.toString());
}

function a_Click(aid) {
    $("#" + aid.toString()).attr("className", "dq_help");
}

function setClass(id) {
    $("#" + id).attr("className", "ff5a00");
}

function DML_Experience(objDOM,softID) {
    $.get('/SoftShop/IsExperienceIdlesse?experID=' + objDOM.id + '&softID=' + softID, function(data) {
        if (data != "") {
            var expers = new Array(2);
            expers = data.split('_');
            if (expers.length >= 2) {
                if (expers[0] == "1") {
                    $(objDOM).attr("href", expers[1]);
                } else if (expers[0] == "2") {
                    alert("暂时没有空闲账号体验！预计等待时间：" + expers[1]);
                }
            }
        }
    });
}
