﻿/**
 * 添加新动作，如onload等.不冲突
 * el为window,eventType为事件,fn为函数----如addListener(window,"load",playit);
 * @param {} el
 * @param {} eventType
 * @param {} fn
 */
function addListener(el,eventType,fn){
	if(el.addEventListener){
		el.addEventListener(eventType,fn,false);
	}else if(el.attachEvent){
		el.attachEvent("on" + eventType,fn);
	}else{
		el["on"+eventType] = fn;
	}
}
/**
 * 登录注销
 * 2010-02-09 已不用，统一使用http://china.herostart.com/trade/mycenter/logout注销
 * 
 */
function ExtUserLogin(){
	setCookie("memberId","",30,"");
	setCookie("HSW_SESS","",30,"");
	setCookie("memberId","",30,".herostart.com");
	setCookie("HSW_SESS","",30,".herostart.com");
	location.href = "http://china.herostart.com/trade/mycenter/logout";
}

function setCookie(cookieName, cookieValue) {
	var cookieStr = cookieName + "=" + escape(cookieValue) + "; path=/";
	if(arguments.length==3){
		var date=new Date();
		date.setTime(date.getTime()+arguments[2]*24*3600*1000);//设置cookie过期时间 以天为单位
		cookieStr += "; expires="+date.toGMTString();
	}
	if(arguments.length==4){
		cookieStr += "; domain="+arguments[3];
	}
	document.cookie = cookieStr;
}

function getCookie(cookieName) {  
    var cookies = document.cookie;
    var thePart = cookieName + "=";
    var thePartLen = thePart.length;
    var i=0;
    
    //alert(cookies);
    
    while(i < cookies.length){
        var j = i + thePartLen;
        if(cookies.substring(i,j)==thePart) {
            var end = cookies.indexOf(";",j);
            if (end == -1){
                end = cookies.length;
            }
            return unescape(cookies.substring(j,end));
        }
        else {
        	i = cookies.indexOf(" ",i)+1;
        	if (i==0) {
            	break;
        	}
        }
    }
    return null;
}
/*
* å½æ°è¯´æï¼å»é¤å¤´å°¾ç©ºæ ¼
* åæ°ï¼	å­ç¬¦ä¸²
* è¿åå¼ï¼	æ 
* æ¶é´ï¼2008-12-04
*/
function trim(inputString) {
	return inputString.replace(/^ +/,"").replace(/ +$/,"");
}

function inString ( subStr, destStr, delimiter ) {
	var pos = (delimiter + destStr + delimiter).indexOf(delimiter + subStr + delimiter);

	if(pos != -1 )
		return true;
	else
		return false;
}

function splitString ( srcStr, delimiter ) {
	var ret = new Array();
	
	if ( srcStr != null && srcStr != "") {
		var pos;
		var i = 0;
		var val = "";
		while((pos = srcStr.indexOf(delimiter)) > 0) {
			val = srcStr.substring(0, pos);
			ret[i] = val;
			srcStr = srcStr.substring(pos+1, srcStr.length);
			i++;
		}
		ret[i] = srcStr;
	}
	
	return ret;
}

function isNumericString(srcStr)
{
   var nlist = "0123456789";
   for (i=0; i < srcStr.length; i++)
    {
   	ch = srcStr.charAt(i);

          for (j = 0; j < nlist.length; j++)
               if (ch == nlist.charAt(j))
                  break;

       if (j == nlist.length)
       	return false;
     }
   return true;
} 


function reload() {
	var href = location.href;
	location.href = randomURL(href);
}

function reloadURL(href){	
	location.href = randomURL(href);
}

function randomURL(href){
	if(href.indexOf("?") > 0){
		//href += "&" + Math.random();
		//href=href.replace(/([\?&])+([0-9\.])+(&)?/,"$1"+Math.random()+"$3");
		var reg=/(\?|&)[0-9\.]+$/;
		if(reg.test(href)){
			href=href.replace(reg,"$1"+Math.random());
		}else{
			href+="&"+Math.random();
		}
	}else {
		href += "?" + Math.random();
	}		
	return href;
}


function selectCheckBoxes(sel,checkBoxName) {
	var checkBoxes = document.getElementsByName(checkBoxName);
	
	if(typeof(checkBoxes) != "undefined") {
		if(typeof(checkBoxes.length) != "undefined"){
			for(var i=0;i<checkBoxes.length;i++) {
				checkBoxes[i].checked = sel;
			}
		}
		else{
			checkBoxes.checked = sel;
		}
	}
}

function selectCheckBoxesByValues(checkBoxName,values) {
	var checkBoxes = document.getElementsByName(checkBoxName);

	if(typeof(checkBoxes) != "undefined") {
		if(typeof(checkBoxes.length) != "undefined"){
			for(var i=0;i<checkBoxes.length;i++) {
				if(inString(checkBoxes[i].value,values,","))
					checkBoxes[i].checked = true;
				else
					checkBoxes[i].checked = false;
			}
		}
		else{
			if(inString(checkBoxes.value,values,","))
				checkBoxes.checked = true;
			else
				checkBoxes.checked = false;
		}
	}
}

//获取单选框值
function getRadioValue(radioName){
	var ra = document.getElementsByName(radioName);
	var value='';
	for( var i=0;i<ra.length;i++){
		if(ra[i].checked == true){
			value = ra[i].value;
			break;
		}
	}
	return value
}

//根据单选框值选中单选框
function selectRadioByValue(radioName,value){
	var radio = document.getElementsByName(radioName);
	for( var i=0;i<radio.length;i++){
		if(radio[i].value==value){
			radio[i].checked = true;
		}
	}
}


//根据值选中下拉菜单项
function getSelectBoxesByValue(selectName,value){
	var obj = document.getElementById(selectName);
	 for(var i=0;i<obj.options.length;i++){
		if(obj.options[i].value == value){
			obj.options[i].selected=true;
		 }
	 }
}

//根据TEXT选中下拉菜单项
function getSelectBoxesbyText(selectName,text){
	var obj = document.getElementById(selectName);
	 for(var i=0;i<obj.options.length;i++){
		if(obj.options[i].text == text){
			obj.options[i].selected=true;
		 }
	 }
}

//判断复选框是否选中
function judgmentChecjBox(checkBoxName,operateCheckBoxName){
	var checkBoxes = document.getElementsByName(checkBoxName);
	if(typeof(checkBoxes) != "undefined") {
		if(typeof(checkBoxes.length) != "undefined"){
			if(checkBoxes[0].checked == true){
				selectChecjBoxes(operateCheckBoxName);
			}
			else if(checkBoxes[0].checked == false){
				clearSelectChecjBoxes(operateCheckBoxName);
			}
		}
	}
}

//全选 复选框
function selectChecjBoxes(checkBoxName){
	var checkBoxes = document.getElementsByName(checkBoxName);
	if(typeof(checkBoxes) != "undefined") {
		if(typeof(checkBoxes.length) != "undefined"){
			for(var i=0;i<checkBoxes.length;i++) {
				checkBoxes[i].checked = true;
			}
		}
	}
}

//取消全选
function clearSelectChecjBoxes(checkBoxName){
	var checkBoxes = document.getElementsByName(checkBoxName);
	if(typeof(checkBoxes) != "undefined") {
		if(typeof(checkBoxes.length) != "undefined"){
			for(var i=0;i<checkBoxes.length;i++) {
				checkBoxes[i].checked = false;
			}
		}
	}
}


function getSelectedCheckBoxValues(checkBoxName) {
	return getSelectedCheckBoxValuesWithSp(checkBoxName,",");
}

function getSelectedCheckBoxValuesWithSp(checkBoxName,spChar) {
	var selectedCheckBoxes = document.getElementsByName(checkBoxName);
	var selectedValues = "";
	
	if(typeof(selectedCheckBoxes) != "undefined") {
		if(typeof(selectedCheckBoxes.length) != "undefined"){
			for(var i=0;i<selectedCheckBoxes.length;i++) {
				if(selectedCheckBoxes[i].checked)
					selectedValues += spChar + selectedCheckBoxes[i].value;
			}
			if(selectedValues != "")
				selectedValues = selectedValues.substring(1);
		}
		else{
			if(selectedCheckBoxes.checked)
				selectedValues = selectedCheckBoxes.value;
		}
	}
	
	return selectedValues;

}

function hasSelectCheckBox(checkBoxName) {
	var selectedCheckBoxes = document.getElementsByName(checkBoxName);
	var hasSelect = false;
	
	if(typeof(selectedCheckBoxes) != "undefined") {
		if(typeof(selectedCheckBoxes.length) != "undefined"){
			for(var i=0;i<selectedCheckBoxes.length;i++) {
				if(selectedCheckBoxes[i].checked) {
					hasSelect = true;
					break;
				}
			}
		}
		else
			hasSelect = selectedCheckBoxes.checked;
	}
	
	return hasSelect;

}

function getTextBoxValue(text,count){
	var str="";
	for(var i=1;i<count+1;i++){
		if(typeof(document.getElementById(text+i)) != "undefined") {
			if(document.getElementById(text+i).value != "undefined" && document.getElementById(text+i).value != "")
			str += ',' + document.getElementById(text+i).value;
		}
	}
	if(str != ""){
		str = str.substring(1);
	}
	return str;
}

function setTextBoxValue(text,values){
	var value = values.split(",");
	if(typeof(value.length) != "undefined"){
		for(var i=0;i<value.length;i++){
			if(typeof(document.getElementById(text+(i+1)))!= "undefined") {
			document.getElementById(text+(i+1)).value = value[i];
		}
	}
}
}

function getSelectValue(selectName){
	var selectObj = document.getElementById(selectName);
	var values="";
	if(typeof(selectObj) != "undefined") {
		if(typeof(selectObj.length) != "undefined"){
			 for (var i = 0; i < selectObj.options.length; i++) {        
		        if (selectObj.options[i].value != "" && selectObj.options[i].value != "undefined" ) {        
		            values += "," + selectObj.options[i].value;
		        }        
		    }        
		}
	}
	if(values != ""){
		values = values.substring(1);
	}
	return values;
}

function loadValidateImage(imgId) { 
	document.getElementById(imgId).src = "http://china.herostart.com/buildImage?" + Math.random();
}

function setVisible(elementId,visible) {
	var element = document.getElementById(elementId);
	
	if(typeof(element) != "undefined") {
		if(visible)
			element.style.display = "";
		else
			element.style.display = "none";
	
	}
}

function setVisibleByName(elementName,visible) {
	var elements = document.getElementsByName(elementName);
	var display = "";
	if(!visible)
		display = "none";
	
	if(typeof(elements) != "undefined") {
		if(typeof(elements.length) != "undefined"){
			for(var i=0;i<elements.length;i++) {
				elements[i].style.display = display;
			}
		}
		else{
			elements.style.display = display;
		}
	}
}


// 1.判断select选项中 是否存在Value="paraValue"的Item        
function jsSelectIsExitItem(objSelect, objItemValue) {        
    var isExit = false;        
    for (var i = 0; i < objSelect.options.length; i++) {        
        if (objSelect.options[i].value == objItemValue) {        
            isExit = true;        
            break;        
        }        
    }        
    return isExit;        
}         
   
// 2.向select选项中 加入一个Item        
function jsAddItemToSelect(objSelect, objItemText, objItemValue) {        
    //判断是否存在        
    if (jsSelectIsExitItem(objSelect, objItemValue)) {        
        alert("该类别已经存在");        
    } else {        
        var varItem = new Option(objItemText, objItemValue);      
        objSelect.options.add(varItem);     
    }        
}        
   
// 3.从select选项中 删除一个Item        
function jsRemoveItemFromSelect(objSelect, objItemValue) {        
    //判断是否存在        
    if (jsSelectIsExitItem(objSelect, objItemValue)) {  
        for (var i = 0; i < objSelect.options.length; i++) {    
            if (objSelect.options[i].value == objItemValue) {   
                objSelect.options.remove(i);        
                break;        
            }        
        }                
    } else {        
        alert("不存在该类别");        
    }        
}    
   
   
// 4.删除select中选中的项    
function jsRemoveSelectedItemFromSelect(objSelect) {        
    var length = objSelect.options.length - 1;    
    for(var i = length; i >= 0; i--){    
        if(objSelect[i].selected == true){    
            objSelect.options[i] = null;    
        }    
    }    
}      
   
// 5.修改select选项中 value="paraValue"的text为"paraText"        
function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {        
    //判断是否存在        
    if (jsSelectIsExitItem(objSelect, objItemValue)) {        
        for (var i = 0; i < objSelect.options.length; i++) {        
            if (objSelect.options[i].value == objItemValue) {        
                objSelect.options[i].text = objItemText;        
                break;        
            }        
        }        
        alert("成功修改");        
    } else {        
        alert("该select中 不存在该项");        
    }        
}        
   
// 6.设置select中text="paraText"的第一个Item为选中        
function jsSelectItemByValue(objSelect, objItemText) {            
    //判断是否存在        
    var isExit = false;        
    for (var i = 0; i < objSelect.options.length; i++) {        
        if (objSelect.options[i].text == objItemText) {        
            objSelect.options[i].selected = true;        
            isExit = true;        
            break;        
        }        
    }              
    //Show出结果        
    if (isExit) {        
        alert("成功选中");        
    } else {        
        alert("该select中 不存在该项");        
    }        
}
//判断浏览器类型
function isIE(){
	if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1){
		return true;
	}
	else{
    	return false;
	}	
}

function goldmember(){
	if(window.confirm("此图片仅对高级会员开放上传，是否马上申请？")){
		window.open("http://china.herostart.com/trade/service/applyVip");
	}
}

/**过滤HTML代码
 * @param {object} obj 要过滤HTML代码的对象，通常为Div
 * 默认为截取32个字符，若传入两个参数，则第二个为截取字符的个数
 * yjx
 */
function filterHTML(obj){
	var filterText = document.getElementById(obj).innerHTML;
	
    var filterLength=32;
    if(arguments.length==2){filterLength=arguments[1];}
    
	filterText=filterText.replace(/<\/?[^>]*>/g,''); //去除HTML tag
	filterText=filterText.replace(/&lt;[\s\S]*?&gt;/g,''); //去除HTML tag 2，去除由<c:out value=""/>
	if(filterLength!=0)
    	filterText= filterText.replace(/[&nbsp;| |　|\n|\r]/g,''); //去除多余空行
    
   	if(filterText.length > filterLength && filterLength!=0){filterText = filterText.substring(0,filterLength)+"...";}
    
    document.getElementById(obj).innerHTML="";
	document.writeln(filterText);
}


/**过滤javascritp的脚本代码
 * yjx
 */
function filterScript(obj){
	alert(obj);
	if(obj!="" && obj!=null)
		return obj.replace(/<script+([^<]+)<\/script>/g,'');
	else
		return obj;
}

/**会员登录后转向本页地址
 * yjx
 */
function loginRedirect(){
	location.href="http://china.herostart.com/trade/mycenter/login?nextUrl="+encodeURIComponent(location.href);
}


/**
	定义在JS文件中引用另一个JS文件
*/
var head=document.getElementsByTagName('head').item(0);
function createScript(file){
    var new_element;
    new_element=document.createElement("script");
    new_element.setAttribute("type","text/javascript");
    new_element.setAttribute("src",file);
    void(head.appendChild(new_element));
}

function createLink(file){
    var new_element;
    new_element=document.createElement("link");
    new_element.setAttribute("type","text/css");
    new_element.setAttribute("rel","stylesheet");
    new_element.setAttribute("href",file);
    void(head.appendChild(new_element));
}

function countInstances(mainStr,subStr){
    var count = 0;
    var offset = 0;
    do{
        offset = mainStr.indexOf(subStr, offset);
        if(offset != -1){
            count++;
            offset += subStr.length;
        }
    }while(offset != -1)
    return count;
}

/**
 * v2010图片缩小居中显示  (author:wjh)
 * 单张调用<img src="" onload="Img.setMiddle(this)" width="" height=""/>
 * 整页调用：设置img的name为MidImg，并设置midImage为true;
 * */
Img={
	setMiddle:function(obj,W,H){		
		var imgObj=obj,_W,_H,image= new Image();
		if(null==W||null==H){
			W=obj.style.width!=""?obj.style.width:(obj.width+"px");
			H=obj.style.height!=""?obj.style.height:(obj.height+"px");
		}else{W+="px";H+="px"}			
		W=parseInt(W.replace('px',''));
		H=parseInt(H.replace('px',''));		
		image.src = imgObj.src; //+ '?'+Math.random();
		
		if(image.width>0 && image.height>0){
			if(image.width>W||image.height>H){	
				if(image.width/image.height >= W/H){_W = W;_H = (image.height*W)/image.width;}
				else{_H = H;_W= (image.width*H)/image.height;}
			}else{_W=image.width;_H=image.height}			
		}else{_W=W;_H=H;}		
	
		var mTop= (H == _H)?0:(H - _H - 2) / 2;
		var mLeft= (W==_W)?0:(W - _W ) / 2;
		obj.style.width=parseInt(_W)+'px';
		obj.style.height=parseInt(_H)+'px';
		obj.style.marginTop =parseInt(mTop) + "px";
		obj.style.marginLeft = parseInt(mLeft) + "px";		
	},
	setGbMiddle:function(imgName){
		var imgs=document.getElementsByName(imgName);
		for(var i=0;i<imgs.length;i++){this.setMiddle(imgs[i],null,null);}
	}
}
var midImage=null; /*设置需要设置为全局居中的图片名称*/
function ImgMid(){if(midImage!=null){Img.setGbMiddle(midImage);}}
addListener(window,"load",ImgMid);

/**
 * 图片路径生成
 * @param {} id
 * @return {}
 */
function getHashValue(id){
	var step=2,_split='/';
	var _id=id.toString();
	var len=_id.length;	
	var mul = len/step;
	var mod = len%step;		
	var dir = "";
	for(var i=0;i<mul;i++){dir = dir + _id.substring(i*step, (i+1)*step)+_split;}
	return dir;
}