//************************************ For Common Use ***************************************************
var msgArray = new Array();
var meId, meUserName, meBlogFolder;

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
  hideDropDown();
} 

function highlightRow(theRow, thePointerColor)
{
    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
    }

    return true;
} // end of the 'highlightRow()' function

function changeStyle(obj, newStyle) {
    if (obj != null && obj.style != null) {
        obj.style.className = newStyle;
    }
}

function hideElement(elementID)
{
	if (document.getElementById(elementID) != null) {
		document.getElementById(elementID).style.display = "none";
	}
}

function showElement(elementID)
{
	if (document.getElementById(elementID) != null) {
		document.getElementById(elementID).style.display = "";
	}
}

function visibleElement(elementID)
{
	if (document.getElementById(elementID) != null) {
		document.getElementById(elementID).style.visibility = "visible";
	}
}

function invisibleElement(elementID)
{
	if (document.getElementById(elementID) != null) {
		document.getElementById(elementID).style.visibility = "hidden";
	}
} 

function showOrHide(elementID, fieldName)
{
	var ifShow = document.forms['fastMenu'].elements[fieldName].value;
	if ( ifShow == '1' ) {
		hideElement(elementID);
		document.forms['fastMenu'].elements[fieldName].value = '0';
	} else {
		showElement(elementID);
		document.forms['fastMenu'].elements[fieldName].value = '1';
	}
}

function popupWindow(pageUrl, pageTitle, winWidth, winHeight) {
	 window.open(pageUrl, pageTitle, 'left=0,top=0,width='+winWidth+',height='+winHeight+',scrollbars=1,status=1,toolbar=1,menubar=1,resizable=1,directories=0,location=1');
} 

function popupNoBorderWindow(pageUrl, pageTitle, winWidth, winHeight) {
	 window.open(pageUrl, pageTitle, 'left=0,top=0,width='+winWidth+',height='+winHeight+',scrollbars=0,status=1,toolbar=0,menubar=0,resizable=1,directories=0,location=0');
}

function popupHelperWindow(pageUrl, pageTitle, winWidth, winHeight) {
	 window.open(pageUrl, pageTitle, 'left=0,top=0,width='+winWidth+',height='+winHeight+',scrollbars=1,status=1,toolbar=0,menubar=0,resizable=1,directories=0,location=0');
}

function showLoading()
{
	showLayer("loading");
}

function hideLoading()
{
	hideLayer("loading");
}

function showLayer(id) {
	if (document.getElementById(id) != null) {
		var divHeight = parseInt(document.getElementById(id).style.height, 10);
		var divWidth = parseInt(document.getElementById(id).style.width, 10);
		var docWidth = document.body.clientWidth;
		var docHeight = document.body.clientHeight;
		document.getElementById(id).style.top = parseInt((docHeight - divHeight) / 2, 10) + parseInt(document.body.scrollTop, 10);
		document.getElementById(id).style.left = parseInt((docWidth - divWidth) / 2, 10);
	
		hideDropDown();
		document.getElementById(id).style.visibility = "visible";
	}
}

function hideLayer(id)
{
	//showLayer("loading");
	if (document.getElementById(id) != null) {
		document.getElementById(id).style.visibility = "hidden";
	}
}

function hideDropDown() {
	var tar = null;
	for (var j=0; j<document.forms.length; j++) {
		for (var i=0; i<document.forms[j].elements.length; i++) {
	   		tar = document.forms[j].elements[i];
			if (tar.type == "select-one") {
				tar.style.visibility = "hidden";
			}
		}
	}
	return true;
}

function showDropDown() {
	var tar = null;
	for (var j=0; j<document.forms.length; j++) {
		for (var i=0; i<document.forms[j].elements.length; i++) {
	   		tar = document.forms[j].elements[i];
			if (tar.type == "select-one") {
				tar.style.visibility = "visible";
			}
		}
	}
	return true;
}

function addToFavorite(url, title)
{
	//this.style.behavior='url(#default#homepage)';
	window.external.AddFavorite(url, title);
	//return false;
}

function setMyHomePage(obj, url) {
	obj.style.behavior = 'url(#default#homepage)';
	obj.setHomePage(url);
}

/**
 * Catch the action of keyboard RETURN key and call specified call-back function.
 *
 * @param func    the call-back function need to be executed upon RETURN key pressed
 */
function onKeyReturn(func) {
    if (event.keyCode == 13) {
		event.keyCode = 0;
        setTimeout(func, 10);
	}
} 

function onKeyEsc(func) {
    if (event.keyCode == 27) {
		event.keyCode = 0;
        setTimeout(func, 10);
	}
}

var x0 = 0, y0 = 0, x1 = 0, y1 = 0;
var moveable = false; 

//开始拖动;
function startDrag(obj) {
	if (event.button == 1) {
		obj.setCapture();
		moveable = true;
		x0 = event.clientX;
		y0 = event.clientY;
		x1 = parseInt(obj.style.left);
		y1 = parseInt(obj.style.top);
	}
}

//拖动;
function drag(obj) {
	if (moveable) {
		obj.style.left = x1 + event.clientX - x0;
		obj.style.top  = y1 + event.clientY - y0;
	}
}

//停止拖动;
function stopDrag(obj) {
	if (moveable) {
		obj.releaseCapture();
		moveable = false;
	}
}

//Track mouse moves
function initMouseMove(objName) {
	if ($(objName) != null) { 
		$(objName).style.visibility = "visible";
		moveToMouseLoc(objName);
		document.onmousemove = new Function("moveToMouseLoc('" + objName + "')");
	}
} 

function discardMouseMove(objName) {
	if ($(objName) != null) {
		$(objName).style.visibility = "hidden";
		$(objName).style.left = 0;
		$(objName).style.top = 0;
		document.onmousemove = new Function("");
	}
}  

function moveToMouseLoc(objName) {
	if ($(objName) != null) {
		var mouseX = event.x + document.body.scrollLeft;
		var mouseY = event.y + document.body.scrollTop;
		$(objName).style.left = mouseX + 5;
		$(objName).style.top = mouseY + 10;
	}
	return true;
} 

//************************************ End Common Use ***************************************************


//************************************ For Form ***************************************************
var leaveAlert = false;
var oldLeaveAlert = false;
var codeList;

function checkOrUncheckAll(box, tarFieldName)
{
	if (document.forms[0].elements[tarFieldName] != null) {
		if (document.forms[0].elements[tarFieldName].length > 0) {
		  	for (var i=0;i<document.forms[0].elements[tarFieldName].length;i++)
		   	{
				document.forms[0].elements[tarFieldName][i].checked = box;
			}
		} else {
			document.forms[0].elements[tarFieldName].checked = box;
		}
	}
	return true;
}

function changeCheckAll(listBoxName, allBoxName) {
	var listBoxObj = document.forms[0].elements[listBoxName];
	var notChecked = true;
	
	if (listBoxObj != null) {
		if (listBoxObj.length != null && listBoxObj.length > 1) {
			for (var i=0; i<listBoxObj.length; i++) {
				if (!listBoxObj[i].checked) {
					notChecked = false;
					break;
				}
			}
			document.forms[0].elements[allBoxName].checked = notChecked;
		}  else {
			document.forms[0].elements[allBoxName].checked = listBoxObj.checked;
		}
	}
}

function doCommonSubmit(formIndex)
{
	showLoading();
	releaseLeaveAlert();
	document.forms[formIndex].submit(); 
	disableForm(formIndex);
}

function getElementValue(formIndex, elementName)
{
    var element = document.forms[formIndex].elements[elementName];
    if( element != null) {
        if (element.length) {
            if(element.type == 'select-one') {
                for(i = 0; i<element.length; i++) {
                    if(element[i].selected) return element[i].value;
                }
            } else {
                for(i = 0; i<element.length; i++) {
                    if(element[i].checked) return element[i].value;
                }
            }
            return null;
        } else if(element.type == 'checkbox' || element.type == 'radio') {
            return (element.checked ? element.value : null);
        } else {
        	return element.value;
        }
    } else {
    	return null;
    }
}

function setElementValue(formIndex, elementName, value)
{
    var element = document.forms[formIndex].elements[elementName];
    if (element != null) {
        if (element.length) {
            if (element.type == 'select-one') {
                for (i = 0; i < element.length; i++) {
                    if (element[i].value == value) {
                        element[i].selected = true;
                        break;
                    }
                }
            } else {
                for (i = 0; i < element.length; i++) {
                    if (element[i].value == value) {
                        element[i].checked = true;
                    } else {
                        element[i].checked = false;
                    }
                }
            }
        } else if (element.type == 'checkbox' || element.type == 'radio') {
            element.checked = (element.value == value);
        } else if (element.type == "text" || element.type == "textarea" || element.type == "hidden") {
            element.value = value;
        }
    }
}

function trim(str) {
	if (str != null) {
 		return str.replace(/(^\s*)|(\s*$)/g, '');
 	} else {
 		return '';
 	}
}

function disableForm(formIndex) {
    var formLength = document.forms[formIndex].elements.length;
    var selectedForm = document.forms[formIndex];
    for (var i = 0; i < formLength; i ++) {
        selectedForm.elements[i].disabled = true;
    }
} 

function enableForm(formIndex) {
    var formLength = document.forms[formIndex].elements.length;
    var selectedForm = document.forms[formIndex];
    for (var i = 0; i < formLength; i ++) {
        selectedForm.elements[i].disabled = false;
    }
}

function enableLeaveAlert() {
	leaveAlert = true;
}

function releaseLeaveAlert() {
	oldLeaveAlert = leaveAlert;
	leaveAlert = false;
}

function getBackLeaveAlert() {
	leaveAlert = oldLeaveAlert;
}

function toggleElementStatus(formIndex, elementName, disable) {
    var element = document.forms[formIndex].elements[elementName];
    if (element == null) return;
    if (element.length) {
        if(element.type == 'select-one') {
           element.disabled = disable;
        } else {
            for (var i=0; i<element.length; i++) {
                element[i].disabled = disable;
            }
        }
    } else {
        element.disabled = disable;
    }
}

function contains(arr, str) {
	for (var i=0; i<arr.length; i++) {
		if (arr[i] == str) {
			return true;
		}
	} 
	return false;
}

function parseStringToInt(st) {
    var i = 0;
    while(i < st.length) {
        if(st.charAt(i) != 0) {
           break;
        }
        i++;
    }
    return parseInt(st.substr(i,st.length - i));
}

function formatDate(dateObj)
 {
	var year = dateObj.getYear().toString();
	var month = (dateObj.getMonth() < 10)? "0" + dateObj.getMonth().toString(): dateObj.getMonth().toString();
	var day = (dateObj.getDate() < 10)? "0" + dateObj.getDate().toString(): dateObj.getDate().toString();
	return year + "-" + month + "-" + day;
}

function format24HourTime(dateObj) {
	var hour = (dateObj.getHours() < 10)? "0" + dateObj.getHours().toString(): dateObj.getHours().toString();
	var minute = (dateObj.getMinutes() < 10)? "0" + dateObj.getMinutes().toString(): dateObj.getMinutes().toString();
	var second = (dateObj.getSeconds() < 10)? "0" + dateObj.getSeconds().toString(): dateObj.getSeconds().toString();
	return hour + ":" + minute + ":" + second;
} 

function doUnloadForm(formIndex) {
	if (leaveAlert && checkFormChanged(formIndex)) {
		window.event.returnValue = "您对该页面做了修改，但并未保存，如果您强行离开，修改的信息将丢失！\n是否继续?";
	}
}

function code(id, codeType, codeId, codeDesc) {
	this.codeType = codeType;
	this.id = id;
	this.codeDesc = codeDesc;
	this.codeId = codeId;
}

function refreshCodeListCommon(formId, codeType, tarName, tarIdx) {
	var hasChild = false;
    var boxObj = document.forms[formId].elements[tarName];
    var tarObj = boxObj[tarIdx];

    for (var i=tarObj.options.length; i>0; i--) {
        if (tarObj.options[i-1].value != '') {
            tarObj.options[i-1] = null;
        }
    }
	
	if (codeType != '') {
	    for (var i=0; i<codeList.length; i++) {
	        if (codeList[i].codeType == codeType) {
	            tarObj.options[tarObj.options.length] = new Option(codeList[i].codeDesc, codeList[i].codeId);
	            hasChild = true;
	        }
	    }
	}
	
    if (!hasChild) {
        for (var j=(boxObj.length-1); j>=tarIdx; j--) {
	        boxObj[j].style.display = 'none';
	        boxObj[j].disabled = true;
	    }
    } else {
        tarObj.style.display = '';
        tarObj.disabled = false;
        //focusObject(tarName);
    }
	getCode(codeType);
}

function refreshCodeList(codeType, tarName, tarIdx) {
	refreshCodeListCommon(0, codeType, tarName, tarIdx);
}

function GetXmlHttpObject(){
		var xmlHttp = null;
		try
		{
			xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
		}
		catch (e)
		{
			try // Internet Explorer
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		
		xmlHttp.onreadystatechange = function()
		{
			
              if(4 == xmlHttp.readyState){
                    if(200 == xmlHttp.status){
                        var rt = xmlHttp.responseText;
				       // document.getElementById('tele1').value='';
				       // document.getElementById('tele2').value='';
				       // document.getElementById('tele3').value='';
				       // document.getElementById('fax1').value='';
				       // document.getElementById('fax2').value='';
				       // document.getElementById('fax3').value='';
				codeArray=rt.split(" ")
				for(i=1;i<=codeArray.length;i++){
				   //document.getElementById('tele'+i).value=codeArray[i-1];
				   //document.getElementById('fax'+i).value=codeArray[i-1];
				}
			}
			 
		}
			
			
			/*
			if (4 == xmlHttp.readyState) //	The request is complete
			{
				   document.getElementById('tele1').value='';
				   document.getElementById('tele2').value='';
				   document.getElementById('tele3').value='';
				code=xmlHttp.responsetext;
				codeArray=code.split(" ")
				for(i=1;i<=codeArray.length;i++){
				   document.getElementById('tele'+i).value=codeArray[i-1];
				}
			}*/
		}
		return xmlHttp;
    }//end fun 


function getCode(code){
	    if(code==''){
		 return false;
		}
        var url = "reg.php?dowhat=getcode&code="+code;
		XMLHTTP=GetXmlHttpObject();
        XMLHTTP.open( 'post' , url , true  );
        XMLHTTP.setRequestHeader("cache-control","no-cache");
        XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        XMLHTTP.send(' ');
}

function defaultCodeListCommon(formId, codeType, codeId, tarName, tarIdx) {
	var hasChild = false;
    var boxObj = document.forms[formId].elements[tarName];
    var tarObj = boxObj[tarIdx];
    var newOption;
    for (var i=tarObj.options.length; i>0; i--) {
        if (tarObj.options[i-1].value != '') {
            tarObj.options[i-1] = null;
        }
    }

	if (codeType != '') {
	    for (var i=0; i<codeList.length; i++) {
	        if (codeList[i].codeType == codeType) {
	         	newOption = new Option(codeList[i].codeDesc, codeList[i].codeId) ;
	            tarObj.options[tarObj.options.length] = newOption;
	            if (codeId == codeList[i].codeId) {
	              	newOption.selected = true;
	              	newOption.defaultSelected = true;
	            }
	            hasChild = true;
	        }
	    }
	}
	
    if (!hasChild) {
        for (var j=(boxObj.length-1); j>=tarIdx; j--) {
	        boxObj[j].style.display = 'none';
	        boxObj[j].disabled = true;
	    }
    } else {
        tarObj.style.display = '';
        tarObj.disabled = false;
        //focusObject(tarName);
    }
}

function defaultCodeList(codeType, codeId, tarName, tarIdx) {
	defaultCodeListCommon(0, codeType, codeId, tarName, tarIdx);
}

function focusObject(fieldName) {
    var obj = document.getElementById(fieldName);
     
    if (obj != null) {
	    if(obj.type == "select-one") {
	    	var isDisabled = obj.disabled;
	    	obj.disabled = false;
	      	obj.focus();
	      	obj.disabled = isDisabled;
	      	
	    } else if(obj.length > 1) {
	        for (var i=0; i<obj.length; i++) {
	            var isDisabled = obj[i].disabled;
	    		obj[i].disabled = false;
	          	obj[i].focus();
	          	obj[i].disabled = isDisabled;
	          	break;
	        }
	    } else {
	        var isDisabled = obj.disabled;
	    	obj.disabled = false;
	    	
	    	var range = obj.createTextRange(); 
			range.collapse(false); 
			range.moveEnd('character', 0); 
			range.select();
	        //obj.focus();
	        obj.disabled = isDisabled;
	   	} 
	}
}

function simulateRadio(formIndex, obj) {
    var frm = document.forms[formIndex];
    if (frm.elements[obj.name].length) {
        for (var i=0; i<frm.elements[obj.name].length; i++) {
            if (frm.elements[obj.name][i] != obj) {
                frm.elements[obj.name][i].checked = false;
            }
        }
    }
}
//************************************ End Form *************************************************** 


//************************************ For AJAX ***************************************************
function makeRequest(urlStr, returnFunc) {
	var currentTime = new Date().getTime();
    var urlArr, pars;

    if (urlStr.indexOf('?') > -1) {
     	urlArr = urlStr.split('?');
     	urlStr = urlArr[0];
     	pars = urlArr[1] + '&currentTime=' + currentTime;
    } else {
     	pars = 'currentTime=' + currentTime;
    } 
	//alert(urlStr);
	myAjax = new Ajax.Request(urlStr, 
		{method: 'get', 
		parameters: pars, 
		//requestHeaders: {Accept:'application/json'},
		onFailure: reportError, 
		onComplete: returnFunc}
	);
}

function makePostRequest(urlStr, formId, returnFunc) {
	var currentTime = new Date().getTime();
    var urlArr, pars;
    
    pars = Form.serialize(obj.formId);
 	myAjax = new Ajax.Request(urlStr, 
 		{method: 'post', 
 		//contentType: 'application/x-www-form-urlencoded', 
 		//asynchronous: true, 
 		//encoding:  'UTF-8',
		postBody: pars,
		//requestHeaders: {Accept:'application/json'},
		onFailure: reportError, 
		onComplete: returnFunc}
	);
}

function reportError() {
	alert('无法初始化AJAX交互模式，请确认您的浏览器为IE、Firefox、Mozilla等通用版本。');
    return false;
}

function doCommonAjaxSubmit(formIndex, returnFunc) {
	showLoading();
	makePostRequest(document.forms[formIndex].action, formIndex, returnFunc);
}
//************************************ End AJAX ***************************************************

var SYS_ROOT_PATH = '/';

function areaSearchSubmit() {
	alert(document.forms['areaSearchFrm'].cat1.value);
	return false;
}

function goAear(url) {
	location = url + $("areanavselect").value;
	return false;
}
