﻿

/*****************************************************************
** Use there function to invoke iframe script from main page
**
******************************************************************/
function defaultFrameAction(thisFrame,actionName) {
	var method = "on"+actionName+"()";
	try {
		execFrameAction(thisFrame,method);
		return true;
	} catch (e) {
        return true;
	}
}
function execFrameAction(frame,action) {
	frame.document.getElementById("actionExecutor").value=action;
	frame.document.getElementById("actionExecutor").click();
}
function invokeFrameAction(button){
	var method = button.value;
    try {
        eval(method);
    } catch (e) {
        alert(method+" may not be defined in frame page."+e);
    }
}


/*****************************************************************
** modal dialog return value
**
******************************************************************/
function modalDlgReturn(aid,aname){
      parent.window.returnValue=aid+'|^|'+aname;
      parent.window.close();
}

function uploadDlgReturn(aid){
      parent.window.returnValue=aid;
      parent.window.close();
}




/*****************************************************************
** To forbid some key and click events
**
******************************************************************/
//forbid sel
function forbidMenuAndSelect() {
    var str = event.srcElement.tagName.toLowerCase();
    if (str=="input" || str=="textarea") {
        return true;
    }
    return false;
}



//forbid special key
function forbidSpecialKey() {

    if ( (event.keyCode==116)//F5
         || (event.ctrlKey && event.keyCode==82//Ctrl+R
         || ((event.ctrlKey)&&(event.keyCode==78)) // Ctrl+n
         || ((event.shiftKey)&&(event.keyCode==121)) // shift+F10
         || (window.event.srcElement.tagName == "A" && window.event.shiftKey)//shift+left click
         || (window.event.altKey)&&(window.event.keyCode==37)  ////alt+>
         || (window.event.altKey)&&(window.event.keyCode==39)  //alt+<
        )){

        event.returnValue=false;
        event.keyCode = 0;
        event.cancelBubble = true;
        return false;
    }




}



/*****************************************************************
** post form it's important function
**
******************************************************************/
//refresh
function invokeRefresh(action,notshowloading){
    if (action!=-1){
        if (notshowloading==undefined || notshowloading==false) {
            showLoading();
        }

        window.location.href=''; //solve progressbar problem
        document.getElementById("action_field").value='S'+action;
        document.getElementById("action_btn").click();
    }
}




/*****************************************************************
** website page's location and redirect
**
******************************************************************/
//open page with parammeters
function openExternalPage(linkPage,parameters,newWindow,width,height,fullscreen){
    if (parameters==undefined) parameters = "";
    if (parameters != ""){
        parameters = "&amp;sp=S"+parameters;
    }
    var url = "app?service=external/"+linkPage+parameters;
    if (newWindow==true) {
        openNewWindow(url,width,height,fullscreen);
    } else {
        window.location = url;
    }
}
//forward
function forwardLocate(linkPage,parameters){
    if (parameters==undefined) parameters = "";
    if (parameters != ""){
        parameters = "&amp;sp=S"+parameters;
    }
    var url = "app?service=external/"+linkPage+parameters;
    window.location = url;
}





/*****************************************************************
** others
**
******************************************************************/

//open a new window in center
function openNewWindow(dourl,width,height,fullscreen,resizable){
    if (fullscreen==undefined || fullscreen==null){
        fullscreen = false;
    }
    if (fullscreen){
        fullscreen = "yes";
    } else {
        fullscreen = "no";
    }

    if (resizable==undefined || resizable==null){
        resizable = true;
    }
    if (resizable){
        resizable = "yes";
    } else {
        resizable = "no";
    }
	var viewOnlyStr="";
	var str = "height=" + height + "px,innerHeight=" + height + "px";
	str += ",width=" + width + "px,innerWidth=" + width+"px,status=yes,scrollbars=yes,resizable="+resizable+",dependent,channelmode="+fullscreen;
	if (window.screen) {

		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;
		var xc = (aw - width) / 2;
		var yc = (ah - height) / 2;
        if (yc<0){
            yc=0;
        }

		str += ",left=" + xc + ",screenX=" + xc;
		str += ",top=" + yc + ",screenY=" + yc;
	}
    window.open(dourl,"",str);
}


//replace all
function replaceStr(str,re,ne){
    while ( str.indexOf(re)!=-1 ) {
        str = str.replace(re,ne);
    }
    return str;
}

function formatReturnString(str){
    str = replaceStr(str,"&amp;","&");
    str = replaceStr(str,"&quot;","\"");
    str = replaceStr(str,"&lt;","<");
    str = replaceStr(str,"&gt;",">");
    str = replaceStr(str,"&nbsp;"," ");
    str = replaceStr(str,";","!");
    return str;
}

function reloadPageForSessionTimeOut(){
    parent.parent.window.location = "app?service=page/webApp:Logout";
}


/*****************************************************************
** validation
**
******************************************************************/
function v_isEmpty(str){
	var isN;
	if (str == "" || str == null){
        isN = true;
    } else {
        isN = false;
    }
	return isN;
}


function v_isOverLength(str,len){
	var li_len=str.length;
	for(var i=0;i<str.length-1;i++)
	{

		if(str.charCodeAt(i)>127)
			li_len=li_len+1;
	}
    if (li_len>len) {
        return false;
    } else {
        return true;
    }
}



function v_isDate(str){
	var pattern,Rg1;
	pattern = "[0-9]{4}[-|/]{1}[0-9]{1,2}[-|/]{1}[0-9]{1,2}";
	Rg1 = new RegExp(pattern);
	if (!str == str.match(Rg1) || str.match(Rg1) == null) return false;

	pattern = "([0-9]{4})[-|/]{1}([0-9]{1,2})[-|/]{1}([0-9]{1,2})";
	Rg1 = new RegExp(pattern);
	var arr = Rg1.exec(str);

	var year = parseFloat(arr[1]);
	var month = parseFloat(arr[2]);
	var day = parseFloat(arr[3]);

	if (year < 1) return false;
	if (month > 12 || month < 1) return false;
	if (day > 31 || day < 1) return false;

	if (month < 7 && month % 2 == 0 && day > 30) return false;
	if (month > 8 && month % 2 != 0 && day > 30) return false;
	if(month == 2)
	{
		if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0 && year % 4 == 0))
		{
			if (day > 29) return false;
		}
		else
		{
			if (day > 28) return false;
		}
	}

	return true;
}

function v_isInteger(str){
    //如果为空，则通过校验
    if(v_isEmpty(str)) {
        return false;
    }


    for(i=0;i<str.length;i++){
        if(str.charAt(i)<"0"||str.charAt(i)>"9")return   false;
    }
    return   true;
}
function v_isDouble(str){
}
function v_isDateTime(str){
}




//new window
function v_openNewWindow(url,width,height){
    var features = "dialogHeight:"+height+"px;dialogWidth:"+width+"px;resizable:yes ;help:no;status:no;";
    window.showModalDialog(url,0,features);

}


//////////////////////////////////////
function trim(str){
    return rtrim(ltrim(str));
}

function ltrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1){
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1){
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}



function rtrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1){
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}

//web function------------------------------------------------------------------
function navbarLocate(tag) {
   var obj = $("nav").getElementsByTagName("li");
   var have_hot = false;
    for (var i=0;i<obj.length;i++){
        if (obj[i].getAttribute("orderTag") == tag) {
            obj[i].className = "hot";
            have_hot = true;
            break;
        } else if (obj[i].getAttribute("indexOrderTag") == tag) {
            obj[i].className = "hot";
            have_hot = true;
            break;
        } else if (obj[i].getAttribute("orderTag_2") == tag) {
            obj[i].className = "hot";
            have_hot = true;
            break;
        }
    }
    if (have_hot==false){
        obj[0].className = "hot";
    }
}




function userNavbarLocate(tag) {
   var obj = document.all.user_manage_menu.getElementsByTagName("LI");
    for (var i=0;i<obj.length;i++){
        if (obj[i].orderTag == tag) {
            obj[i].className = "current";
        }
    }
}






function beginCityForward(num){
    var href = parent.window.location.pathname;
    href = href.replace(/^\s+|\s+$/g,"");
    href = href.substr(1,href.length-1);
    var i = href.indexOf("/");
    href = href.substr(i,href.length-i);
    href="/"+num+href;

    href = replaceShopForwardPageName(href,2,-1);
    href = replaceShopForwardPageName(href,3,-1);

    href = replaceShopForwardPageName(href,6,1);
    parent.window.location.href = href;
}
function beginIndexPageCityForward(num){
    var href = replaceIndexPageName(parent.window.location.pathname,num);
    parent.window.location.href = href;
}
function replaceIndexPageName(pageName,num){
    var prefix = pageName.replace(".shtml","");
    prefix = prefix.replace(".html","");
    var nl = prefix.split("/");
    prefix=nl[nl.length-1];
    return "/"+num+"/"+prefix+".shtml";
}



function beginShopPageQueryForward(str){
    var href = replaceShopForwardPageName(window.location.pathname,7,str);

    href = replaceShopForwardPageName(href,6,1);
    window.location.href = href;
}

function beginQueryForward(str){
    str = replaceStr(str,"%", "$");

    var pn = window.location.pathname;
    pn = pn.replace(".html",".shtml");

    var i = pn.indexOf(".shtml");
    pn = pn.substring(0,i);

    i = pn.lastIndexOf("_");
    pn = pn.substring(0,i);
    pn = pn+"_1";

    if (str==""){
        pn = pn+".shtml";
    } else {
        pn = pn+".shtml?keyword="+str;
    }

    window.location.href = pn;
}

function beginShopsPageQueryForward(str){
    var pn = window.location.pathname;
    pn = pn.replace(".html",".shtml");

    var i = pn.indexOf(".shtml");
    pn = pn.substring(0,i);

    i = pn.lastIndexOf("_");
    pn = pn.substring(0,i);
    pn = pn+"_1";

    pn = pn+".shtml?keyword="+str;
    window.location.href = pn;
}

function beginInfoPageQueryForward(str){
    var pn = window.location.pathname;
    pn = pn.replace(".html",".shtml");

    var i = pn.indexOf(".shtml");
    pn = pn.substring(0,i);

    i = pn.lastIndexOf("_");
    pn = pn.substring(0,i);
    pn = pn+"_1";

    pn = pn+".shtml?keyword="+str;
    window.location.href = pn;
}

function beginResPageQueryForward(str){
    var pn = window.location.pathname;
    pn = pn.replace(".html",".shtml");

    var i = pn.indexOf(".shtml");
    pn = pn.substring(0,i);

    i = pn.lastIndexOf("_");
    pn = pn.substring(0,i);
    pn = pn+"_1";

    pn = pn+".shtml?keyword="+str;
    window.location.href = pn;
}

function replaceResUrlQueryStr(pageName,queryStr){
    pageName = pageName.replace(".html",".shtml");
    var nl = pageName.split(".shtml");
    return nl[0]+".shtml?keyword="+queryStr;
}
function replaceResUrlPageNO(pageName,pageNO){
    pageName = pageName.replace(".html",".shtml");
    var p = pageName.split(".shtml");

    var nl = prefix.split("_");

    var i = nl[0].lastIndexOf("/");
    var a = nl[0].substr(0,i+1);
    var b = nl[0].substr(i+1,nl[0].length-i);
    nl[0] = b;

    if (idx!=-1) {
        nl[idx] = num;
    }

    return a+nl[0]+"_"+nl[1]+"_"+nl[2]+"_"+nl[3]+".shtml";
}



function replaceShopForwardPageName(pageName,idx,num){
    var prefix = pageName.replace(".shtml","");
    prefix = prefix.replace(".html","");

    var nl = prefix.split(",");

    var i = nl[0].lastIndexOf("/");
    var a = nl[0].substr(0,i+1);
    var b = nl[0].substr(i+1,nl[0].length-i);
    nl[0] = b;



    if (idx!=-1) {
        nl[idx] = num;
    }

    return a+nl[0]+","+nl[1]+","+nl[2]+","+nl[3]+","+nl[4]+","+nl[5]+","+nl[6]+","+nl[7]+".shtml";
}




///////////////////////////////////////////////////////////////////////////////


function beginShopTypeSelectOpen(url,left,top,width,height){
    createSelectLayer();
    var layer = document.all.selectLayer;
    layer.selectType = "1";
    beginSelectOpen(url,"",left,top,width,height);
}


function beginCitySelectOpen(url,left,top,width,height){
    createSelectLayer();
    var layer = document.all.selectLayer;
    layer.selectType = "1";
    beginSelectOpen(url,"",left,top,width,height);
}
function beginIndexPageCitySelectOpen(url,left,top,width,height){
    createSelectLayer();
    var layer = document.all.selectLayer;
    layer.selectType = "3";
    beginSelectOpen(url,"",left,top,width,height);
}

function beginCityPostSelectOpen(url,id,left,top,width,height,btnid){
    createSelectLayer();
    var layer = document.all.selectLayer;
    layer.btnObj=btnid;
    layer.selectType = "2";
    beginSelectOpen(url,id,left,top,width,height);
}

function beginTypePostSelectOpen(url,id,left,top,width,height,btnid){
    createSelectLayer();
    var layer = document.all.selectLayer;
    layer.btnObj=btnid;
    layer.selectType = "2";
    beginSelectOpen(url,id,left,top,width,height);
}



function beginSelectOpen(url,id,left,top,width,height){
    var layer = document.all.selectLayer;
    var frame = document.all.selectFrame;
    layer.style.visibility="visible";
    layer.style.left = left;
    layer.style.top = top;
    layer.selectObj=id;

    frame.style.width = width;
    frame.style.height = height;
    frame.src=url+'?cache='+Math.random();
}

function beginCitySelectReturn(num){
    var layer = parent.document.all.selectLayer;
    layer.style.visibility="hidden";
    showWaiting();

    if (layer.selectType=="1"){
        beginCityForward(num);
    } else if (layer.selectType=="2") {
        var obj = eval("parent.document.all."+layer.selectObj);
        obj.value = num;

        if (layer.btnObj!=""){
            obj = eval("parent.document.all."+layer.btnObj);
            obj.click();
        }
    } else if (layer.selectType=="3") {//index page
        beginIndexPageCityForward(num);
    }
}

function beginSelectClose(){
    var layer = parent.document.all.selectLayer;
    layer.style.visibility="hidden";

}



function beginTypeSelectReturn(module_tag,res_type_tag,pnum,snum){
    var layer = parent.document.all.selectLayer;
    layer.style.visibility="hidden";

    showWaiting();

    if (layer.selectType=="1"){
        if (module_tag==3 || module_tag==7){
            beginResTypeForward(pnum,snum);
        } else {
            beginTypeForward(pnum,snum);
        }

    } else if (layer.selectType=="2") {
        var ss = layer.selectObj.split(",");
        var obj1 = eval("parent.document.all."+ss[0]);
        obj1.value = pnum;
        var obj2 = eval("parent.document.all."+ss[1]);
        obj2.value = snum;

        if (layer.btnObj!=""){
            obj = eval("parent.document.all."+layer.btnObj);
            obj.click();
        }
    }
}

function beginResTypeForward(pnum,snum){

    var href = replaceResForwardPageName(parent.window.location.pathname,1,pnum);
    href = replaceResForwardPageName(href,2,snum);
    href = replaceResForwardPageName(href,5,1);
    href = replaceResForwardPageName(href,6,'');

    parent.window.location.href = href;
}


function beginTypeForward(pnum,snum){

    var href = replaceShopForwardPageName(parent.window.location.pathname,0,pnum);
    href = replaceShopForwardPageName(href,1,snum);
    href = replaceShopForwardPageName(href,6,1);
    href = replaceShopForwardPageName(href,7,'');
    if (getPageNameNum(parent.window.location.pathname,2)=="-1" && getPageNameNum(parent.window.location.pathname,3)=="-1"){
        href=href.replace(".shtml",".html");
    }
    parent.window.location.href = href;
}

function getPageNameNum(pageName,idx){
    var prefix = pageName.replace(".shtml","");
    prefix = prefix.replace(".html","");

    var nl = prefix.split(",");

    var i = nl[0].lastIndexOf("/");
    var a = nl[0].substr(0,i+1);
    var b = nl[0].substr(i+1,nl[0].length-i);
    nl[0] = b;

    return nl[idx];
}

function createSelectLayer(){
    var obj = document.all.selectLayer;
    if (obj==undefined){
        var str =  "<div id='selectLayer' selectType='' selectObj='' btnObj='' style='position:absolute;  z-index:100;visibility:hidden'>";
        str = str + "<iframe    frameborder='0'  id='selectFrame' name='selectFrame' src='about:blank'></iframe>"
        str = str + "</div>";
        document.body.insertAdjacentHTML("beforeEnd",str);
    }
}


////////////////////////////////////////////////////////////////////////////////Personal
//for query of personal shop articles page
function beginPaQueryForward(str){
    var href = replacePaForwardPageName(window.location.pathname,false,5,str);
    //reset pageNO
    href = replacePaForwardPageName(href,false,4,1);
    window.location.href = href;
}
function replacePaForwardPageName(pageName,newPage,idx,num){
    if  (pageName.substr(0,1) =="/") {
        pageName = pageName.substr(1,pageName.length-1);
    }
    var prefix = pageName.replace(".shtml","");
    var nl = prefix.split(",");
    if (newPage!=false) {
        nl[0] =  newPage;
    }
    if (idx!=false) {
        nl[idx] = num;
    }
    return nl[0]+","+nl[1]+","+nl[2]+","+nl[3]+","+nl[4]+","+nl[5]+".shtml";
}





function framPanelLoaded(){
 try {
    if (typeof(document.all.postTopTable.panelHeight)!="string"){
        var loadImg = document.all.loadImg;
        loadImg.style.display = 'none';

        var frame = document.all.postFrame;
        frame.style.display = '';

        var topTable = document.all.postTopTable;
        topTable.height = topTable.panelHeight;

        var table = document.all.postTable;
        table.width = '100%';
        table.height = document.frames("postFrame").document.body.scrollHeight+20;
    }
 } catch (e) {
 }
}

function showLoading(){
//    //禁止select
//    selectControlShow(document,false);
    //背景
    var backObj = document.getElementById("dlg_layer_back");
    backObj.style.display = "";
    backObj.style.height =  document.body.scrollHeight+"px";
    //显示loading
    var loadingObj = document.getElementById("dlg_layer_loading");
    playDlgLoading(loadingObj,true);
}


function selectControlShow(doc,show){
    var sels = doc.getElementsByTagName("SELECT");
    var s = "";
    if (show){
       s = "";
    } else {
       s = "none";
    }
    for (var i=0;i<sels.length;i++){
        sels[i].style.display = s;
    }

}

function showWaiting(){
    var str =  "<div id='showWaiting' style=\"position:absolute; left:100; top:50; width:160; height:35;  z-index:1000;\">";
    str = str + "<table style='BORDER: #666666 1px solid;' bgcolor='#FFFFFF'  align='center' valign='middle' width='100%' border='0' cellspacing='0' cellpadding='0' height='100%'><tr><td align='center' valign='middle'>";
    str = str + "<font color='#000099'>&#35831;&#31245;&#20505;...</font>";
    str = str + "</td></tr></table>";
    str = str + "</div>";
    parent.document.body.insertAdjacentHTML("beforeEnd",str);
}





//---------------------------------
function dropDownIt(div,o,pt,offsetLeft){
    //div.filters.blendTrans.apply();
    if (div.style.display == "none"){
        div.style.display = "";


        div.style.pixelLeft = getAbsoluteLeft(o);
        if (offsetLeft!=undefined) {
            div.style.pixelLeft = div.style.pixelLeft+offsetLeft;
        }
        div.style.pixelTop = getAbsoluteTop(o)+pt;
    } else {
        div.style.display = "none";
    }
    //div.filters.blendTrans.play();
}
function getAbsoluteLeft(o){
    var i = 0;
    while(o.tagName.toLowerCase()!="body"){
        i = i+o.offsetLeft;
        o = o.parentNode;
    }
    return i;
}
function getAbsoluteTop(o){
    var i = 0;
    while(o.tagName.toLowerCase()!="body"){
        i = i+o.offsetTop;
        o = o.parentNode;
    }
    return i;
}



















//  ========================获取url连接字符串===============================    //

if (typeof Poly9 == 'undefined')
{
	var Poly9 = {};
}


Poly9.URLParser = function(url) {

	this._fields = {
		'Username' : 4,
		'Password' : 5,
		'Port' : 7,
		'Protocol' : 2,
		'Host' : 6,
		'Pathname' : 8,
		'URL' : 0,
		'Querystring' : 9,
		'Fragment' : 10
	};

	this._values = {};
	this._regex = null;
	this.version = 0.1;
	this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;

	for(var f in this._fields)
	{
		this['get' + f] = this._makeGetter(f);
	}

	if (typeof url != 'undefined')
	{
		this._parse(url);
	}
}


Poly9.URLParser.prototype.setURL = function(url) {
	this._parse(url);
}

Poly9.URLParser.prototype._initValues = function() {
	for(var f in this._fields)
	{
		this._values[f] = '';
	}
}

Poly9.URLParser.prototype._parse = function(url) {
	this._initValues();
	var r = this._regex.exec(url);
	if (!r) throw "DPURLParser::_parse -> Invalid URL";

	for(var f in this._fields) if (typeof r[this._fields[f]] != 'undefined')
	{
		this._values[f] = r[this._fields[f]];
	}
}

Poly9.URLParser.prototype._makeGetter = function(field) {
	return function() {
		return this._values[field];
	}
}



//  ======================== 对话框================================     //

//关闭按钮
function dlgLayerBtnClose(obj,tag){
    if (tag==1){//onmouseover
        obj.style.backgroundPositionY="-14px";
    } else if  (tag==2){//onmouseout
        obj.style.backgroundPositionY="0px";
    } else if  (tag==3){//onmousedown
        event.cancelBubble=true;
        obj.style.backgroundPositionY="-28px";
    }  else if  (tag==4){//onmouseup
        obj.style.backgroundPositionY="0px";
        closeDlgFromBar();
    }
}


function closeRefreshDlg(){
    var frameObj =  parent.document.getElementById("dlg_layer_iframe");
    frameObj.src = "about:blank";
    parent.window.location.reload();
}


function closeDlg(){
    var backObj = parent.document.getElementById("dlg_layer_back");
    backObj.style.display = "none";
    var layerObj =  parent.document.getElementById("dlg_layer");
    layerObj.style.display = "none";
    layerObj.style.height = "1px";
    var frameObj =  parent.document.getElementById("dlg_layer_iframe");
    frameObj.src = "about:blank";


}

function closeDlgFromBar(){
    var backObj = document.getElementById("dlg_layer_back");
    backObj.style.display = "none";
    var layerObj =  document.getElementById("dlg_layer");
    layerObj.style.display = "none";
    var frameObj =  document.getElementById("dlg_layer_iframe");
    frameObj.src = "about:blank";

}


function moveDlg(){
    var currentMoveObj = null;
    var relLeft;
    var relTop;


    dlgObj = document.getElementById("dlg_layer");
	currentMoveObj = document.getElementById("dlg_layer_moving");

    currentMoveObj.style.display = "";
	currentMoveObj.style.pixelLeft=dlgObj.style.pixelLeft;
    currentMoveObj.style.pixelTop=dlgObj.style.pixelTop;
    currentMoveObj.style.pixelWidth=dlgObj.offsetWidth;
    currentMoveObj.style.pixelHeight=dlgObj.offsetHeight;
    currentMoveObj.setCapture();


	relLeft = event.x - currentMoveObj.style.pixelLeft;
	relTop = event.y - currentMoveObj.style.pixelTop;

    currentMoveObj.onmouseup = function(){
	    dlgObj.style.pixelLeft=currentMoveObj.style.pixelLeft;
        dlgObj.style.pixelTop=currentMoveObj.style.pixelTop;
        currentMoveObj.style.display = "none";
        currentMoveObj.releaseCapture();
    }

    currentMoveObj.onmousemove=function(){
        if(currentMoveObj != null){
            currentMoveObj.style.pixelLeft=event.x-relLeft;
            currentMoveObj.style.pixelTop=event.y-relTop;
        }
    }
}


function openDlg(url,top,width,caption,left,height){

    if (left==undefined || left==null){
        window.scrollTo(0,0);
    }


    var backObj = document.getElementById("dlg_layer_back");
    backObj.style.display = "";
    backObj.style.height =  document.body.scrollHeight+"px";



    if (document.all){
        var loadingObj = document.getElementById("dlg_layer_loading");
        playDlgLoading(loadingObj,true);
    }



    var layerObj =  document.getElementById("dlg_layer");
    layerObj.style.left = "-10000px";
    layerObj.style.display = "";

    var frameObj = document.getElementById("dlg_layer_iframe");

    frameObj.setAttribute("dlgTop",top);
    frameObj.setAttribute("dlgLeft",left);
    frameObj.setAttribute("dlgWidth",width);
    frameObj.setAttribute("dlgCaption",caption);
    frameObj.setAttribute("dlgHeight",height);

    frameObj.setAttribute("loaded",false);
    frameObj.src=url+'?cache='+Math.random();


}
function playDlgLoading(obj,tag){
    if (tag==false){
        obj.style.display = "none";
        obj.innerHTML = "";
        return;
    }
    //blendTrans
    obj.filters.blendTrans.apply();
    obj.style.display = "";

    obj.style.top = (document.body.clientHeight)/2+document.body.scrollTop;
    obj.style.left = (document.body.offsetWidth-100)/2;
    obj.filters.blendTrans.play();
    //append div
    var innerDiv=document.createElement("div");
    obj.appendChild(innerDiv);
    s=new Array();
    s[1]="#1a1d95";
    s[2]="#1c20c8";
    s[3]="#2963f8";
    for(i=1;i<=3;i++){
        innerDiv.innerHTML+="<span style='background:"+s[i]+"'/>";
    }
    //cycle
    var timer = null;
    var left = true;
    var doLeftloading = function(){
        if (obj.innerHTML == ""){
            window.clearInterval(timer);
            timer = null;
            return;
        }

        if (left){
            innerDiv.style.pixelLeft +=1;
            if (innerDiv.style.pixelLeft>100){
                left = false;
            }
        } else {
            innerDiv.style.pixelLeft -=1;
            if (innerDiv.style.pixelLeft<-36){
                left = true;
            }
        }
    }
    timer = window.setInterval(doLeftloading,1);
}

function framDlgLoaded(){
    if (document.all){
        var loadingObj = document.getElementById("dlg_layer_loading");
        playDlgLoading(loadingObj,false);
    }

    var frameObj =  document.getElementById("dlg_layer_iframe");
    if (frameObj.src!="about:blank" && frameObj.src!=""){
        var layerObj =  document.getElementById("dlg_layer");
        layerObj.style.display = "";
        dlg_layer.style.width = frameObj.getAttribute("dlgWidth");


        var frm = document.getElementById("dlg_layer_iframe");
        var subWeb = document.frames ? document.frames["dlg_layer_iframe"].document : frm.contentDocument;
        var dh = frameObj.getAttribute("dlgHeight");
        if (dh==undefined || dh==null){
            dlg_layer.style.height = subWeb.body.scrollHeight+20;
        } else {
            dlg_layer.style.height = dh;
        }


        var loadedTag = frameObj.getAttribute("loaded");
        if (loadedTag==false || loadedTag=="false"){
            var dl = frameObj.getAttribute("dlgLeft");
            if (dl==undefined || dl==null){
                dlg_layer.style.left = (document.body.offsetWidth-parseInt(dlg_layer.style.width)-40)/2;
            } else {
                dlg_layer.style.left = dl;
            }

            dlg_layer.style.top = frameObj.getAttribute("dlgTop");
            frameObj.setAttribute("loaded",true);
        }
        var captionObj =  document.getElementById("dlg_layer_title_caption");
        captionObj.innerHTML = frameObj.getAttribute("dlgCaption");
    }

}



//  ======================== 网站用到的函数===============================    //
// 指向父类别 //
function appointToParent(){
    var lis = $("pclass_list").childNodes[0].childNodes;
    var pos;
    for (var i=0;i<lis.length;i++){
        if (lis[i].className=="hot"){
            pos = getPosition(lis[i]);
            break;
        }
    }
    var lf = pos.left+(pos.width/2)-10;
    var lf = parseInt(lf);
    var offpos = getPosition($("p_appoint").parentNode);
    lf = lf-offpos.left;
    $("p_appoint").style.left = lf;
    $("p_appoint").style.display="";
}













//  ======================== ie缓存的bug fix===============================    //
function fixCacheBug(){
	try {
    document.execCommand("BackgroundImageCache", false, true);
    } catch(err) {}
}

if (document.all) {
    window.attachEvent('onload',fixCacheBug);
} else {
    window.addEventListener('load',fixCacheBug,false);
}
//  ======================== 动态加载js===============================    //
function loadJs(filePath){
    var head = document.getElementsByTagName('head').item(0)
    script = document.createElement('script');
    script.src = filePath;
    script.type = 'text/javascript';
    head.appendChild(script)
}

//  ========================重写firefox event ===============================    //
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
     HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
     {
        switch (where)
        {
            case 'beforeBegin':
                this.parentNode.insertBefore(parsedNode,this)
                break;
            case 'afterBegin':
                this.insertBefore(parsedNode,this.firstChild);
                break;
            case 'beforeEnd':
                this.appendChild(parsedNode);
                break;
            case 'afterEnd':
                if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
                    else this.parentNode.appendChild(parsedNode);
                break;
         }
     }

     HTMLElement.prototype.insertAdjacentHTML = function (where,htmlStr)
     {
         var r = this.ownerDocument.createRange();
         r.setStartBefore(this);
         var parsedHTML = r.createContextualFragment(htmlStr);
         this.insertAdjacentElement(where,parsedHTML)
     }

     HTMLElement.prototype.insertAdjacentText = function (where,txtStr)
     {
         var parsedText = document.createTextNode(txtStr)
         this.insertAdjacentElement(where,parsedText)
     }
}














///////////////////////////////////////////////////////////////////////////////




function dwrGetRealPageNO(pageNO){
    var i = 1;
    //空的参数 页面直接刷新//
    if (pageNO==undefined){
        var p = new Poly9.URLParser(window.location.href);
        i = p.getFragment();
        i = trim(i);
        if (i=="") {
            i = 1;
        } else {
            i = replaceStr(i,"p","");
        }
    } else {
        i = pageNO;
    }
    return i;
}




function dwrMakePageInfo(page_info,funcName){
    $("pageInfoLeft").style.display="";

    //总计页数//
    $("totalCount").innerHTML = page_info.totalCount;
    //总页数
    $("sumPage").innerHTML = page_info.sumPage;
    //当前页//
    $("pageNo").innerHTML = page_info.pageNo;
    //页面大小//
    $("pageSize").innerHTML = page_info.pageSize;


    //首页//
    var navStr = "";
    if (page_info.isFirst){
        navStr ="";
    } else {
        navStr ="<a onclick=\"window.location.hash='#p1';"+funcName+"();\" href=\"javascript:;\">[首页]</a>";
    }
    $("navFirstPage").innerHTML = navStr;
    //上一页//
    if (page_info.isFirst){
        navStr ="";
    } else {
        navStr ="<a onclick=\"window.location.hash='#p"+(page_info.pageNo-1)+"';"+funcName+"();\" href=\"javascript:;\">[上页]</a>";
    }
    $("navPrevPage").innerHTML = navStr;
    //下一页//
    if (page_info.isLast){
        navStr ="";
    } else {
        navStr ="<a onclick=\"window.location.hash='#p"+(page_info.pageNo+1)+"';"+funcName+"();\" href=\"javascript:;\">[下页]</a>";
    }
    $("navNextPage").innerHTML = navStr;
    //末页//
    if (page_info.isLast){
        navStr ="";
    } else {
        navStr ="<a onclick=\"window.location.hash='#p"+page_info.sumPage+"';"+funcName+"();\" href=\"javascript:;\">[末页]</a>";
    }
    $("navLastPage").innerHTML = navStr;

}

var LIST_DATA = "list_data";//列表
var PAGE_INFO = "page_info";//页面信息
var HAVE_EXCEPTION = "have_exception";//是否有错误
var EXCEPTION_MESSAGE = "exception_message";//错误提示
var HAVE_ROLE = "have_role";//是否有权限






function dwrSetPageInfo(data,funcName){
    var page_info = data[PAGE_INFO];
    dwrMakePageInfo(page_info,funcName);
}
function dwrGetListData(data){
    return data[LIST_DATA];
}
function dwrGetHaveException(data){
    return data[HAVE_EXCEPTION];
}
function dwrGetExceptionMessage(data){
    return data[EXCEPTION_MESSAGE];
}
function dwrGetHaveRole(data){
    return data[HAVE_ROLE];
}


/*===========================================
        选择模板
  ===========================================*/
//打开
function openTempletpanel(obj){
    var templetpanel = $("templetpanel");
    var p = getPosition(templetpanel);
    var e = getPosition($("sel_a"));
    templetpanel.filters.blendTrans.apply();
    templetpanel.style.visibility = "visible";
    templetpanel.filters.blendTrans.play();
    templetpanel.style.left = e.left-p.width+e.width;
    templetpanel.style.top = e.top;
    templetpanel.setActive();
}
//关闭
function closeTempletpanel(){
    var templetpanelstyle = $("templetpanel").style;
    templetpanelstyle.visibility = "hidden";
}

function templetPanelHover(obj,tag){
    if (tag==1){
        obj.style.border='#66B0CC 1px dotted';
    } else if (tag==2) {
        obj.style.border='#ffffff 1px solid';
    } else if (tag==3){
        obj.style.backgroundColor ='#F8F8F8';
    } else if (tag==4){
        obj.style.backgroundColor ='#ffffcc';
    }
}




function locateMenuNavBtn(module_tag){
    var cs = $("div_menunav").childNodes;
    for (var i=0;i<cs.length;i++){
        var o = cs[i];
        if (o.tagName!=undefined && o.order!="999"){
            if (o.getAttribute('order')==module_tag){
                o.className = "home";
            } else {
                o.className = "other";
            }
        }
    }
}










function queryKeyword(str){
    if (str!=undefined && str=="true"){
        var key = window.event ? event.keyCode:event.which;
        key = parseInt(key);
        if(key!=13) {
            return true;
        } 
    }
 
	var qobj = $("queryStr");
	if (str!=undefined && str!="" && str!="true") {
		qobj.value = str;
	}
	var str = qobj.value;
	str = trim(str);


	invokeRefresh(999999,true);
    return true;
}


function changeLanguage(tag){
    $("pageLanguage").value = tag;
    $("pageUrl").value = window.location.href;
    invokeRefresh(101,true);
}

function changeLookAndFeel(tag){
    $("pageLookAndFeel").value = tag;
    $("pageUrl").value = window.location.href;
    invokeRefresh(101,true);
}





