//copy信息到剪贴板
function copyUrl(txt){
	if(window.clipboardData) {   
        window.clipboardData.clearData();   
        window.clipboardData.setData("Text", txt);   
    } else if(navigator.userAgent.indexOf("Opera") != -1) {   
        window.location = txt;   
    } else if (window.netscape) {   
        try {   
            netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
        } catch (e) {
        	alert("被浏览器拒绝！\r\n\r\n淘雅在线贴心小提示：\r\n\r\n(1) 请在浏览器地址栏输入[about:config]并回车\r\n\r\n(2) 然后将[signed.applets.codebase_principal_support]设置为[true]"); 
        	return; 
        }   
    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
    if (!clip)   
        return;   
    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 = txt;   
    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);   
    }    
	alert("复制成功\n把幻灯地址贴到Blog、BBS、QQ群，来开始您的分享之旅吧");
}
   
function windopen(url){
	window.open(url,'','scrollbars=no,resizable=no,width=600,height=400,left=300,top=300');
}
function go(url){
	window.location.href = url;
}
/*获取对象ID*/
function Object(id){
	return document.getElementById(id);
}
//----------------ajax-------

function loadDocument(file, divID, win, func, args){
alert(file);
	var div;
	if(divID != undefined)div = Object(divID);
	if(win != undefined && win != null)div = win.document.getElementById(divID);
	var xhr;
	try {xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {
		try {xhr = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xhr = false;}
	}
	if (!xhr && typeof XMLHttpRequest != 'undefined') xhr = new XMLHttpRequest();
	if(divID != undefined && divID != null && div != null)
		div.innerHTML = "..."
	xhr.open("GET", file);
	
	xhr.onreadystatechange=function() {
		if (xhr.readyState != 4) return;
		if(divID != undefined && divID != null && div != null)
			div.innerHTML = xhr.responseText;
		if(func != undefined && func != null){
			if(args != undefined)func(args);
			else func();
		}
	}
	xhr.send(null);	
}
//----------------------------
//----------------------------------------表单 验证 --------------------------
function CompareDate(fm){	
	var to = fm.toDate.value.replace(/^(\d+)-(\d+)-(\d+)/g, "$2/$3/$1");
	var dto = new Date(to);
	var from = fm.fromDate.value.replace(/^(\d+)-(\d+)-(\d+)/g, "$2/$3/$1");
	var dfrom = new Date(from);	
	var days = (dto - dfrom)/(24*3600*1000);
	if(days < 0)alert("截止日期必须晚于起始日期");
	else{
		days ++;
		if(days > 50 && fm.daily[0].checked){
			if(confirm("您选择的统计跨度有"+days+"天，并要求显示每一天的数据，这会使得统计结果表格非常庞大。\n如果您确定要这样统计，请点击确定"))return true;
		}
		else return true;
	}
	return false;
}

function formatDate(obj){
	obj.value = obj.value.replace("－","-").replace("－","-");
	var str;
	var mode = 1;
	if(obj.value.match(/^(\d+)-(\d+)-(\d+)/g)){
		str = obj.value.replace(/^(\d+)-(\d+)-(\d+)/g, "$2/$3/$1");
	}
	else if(obj.value.match(/^(\d+)-(\d+)/g)){
		mode = 2;
		str = obj.value.replace(/^(\d+)-(\d+)/g, "$2/1/$1");
	}
	var dt = new Date(str);
	var year = dt.getYear();
	if(year >= 80 && year < 2000)year = "19" + year;
	else if(year >= 10 && year < 80) year = "20" + year;
	else if(year < 10) year = "200" + year;
	var month = dt.getMonth() + 1;
	if(month < 10)month = "0" + month;
	var date = dt.getDate();
	if(date < 10) date = "0" + date;

	if(mode == 1)obj.value = obj.value.replace(/^(\d+)-(\d+)-(\d+)/g, year + "-" + month + "-" + date);
	else if(mode == 2)obj.value = obj.value.replace(/^(\d+)-(\d+)/g, year + "-" + month + "-" + date);
}

function getStringLength(str){
	return str.length;//yingqun
  var endvalue=0;
  var sourcestr=new String(str);
  var tempstr;
  for (var strposition = 0; strposition < sourcestr.length; strposition ++) {
    tempstr=sourcestr.charAt(strposition);
    if (tempstr.charCodeAt(0)>255 || tempstr.charCodeAt(0)<0) {
      endvalue=endvalue+2;
    } else {
      endvalue=endvalue+1;
    }
  }
  return(endvalue);
}
function trim(str){
		return str.replace(/(^\s*)|(\s*$)/g, "");
}
function validateDateTime(date,format,alt){
  var time=trim(date.value);
  if(time=="") return true;
  var reg=format;
  reg=reg.replace(/yyyy/,"[0-9]{4}");
  reg=reg.replace(/yy/,"[0-9]{2}");
  reg=reg.replace(/MM/,"((0[1-9])|1[0-2])");
  reg=reg.replace(/M/,"(([0]?[1-9])|1[0-2])");
  reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)");
  reg=reg.replace(/d/,"(([0]?[1-9])|([1-2][0-9])|30|31)");
  
  var reg2=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)");
  reg2=reg2.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)");
  reg2=reg2.replace(/mm/,"([0-5][0-9])");
  reg2=reg2.replace(/m/,"([0-9]|([1-5][0-9]))");
  reg2=reg2.replace(/ss/,"([0-5][0-9])");
  reg2=reg2.replace(/s/,"([0-9]|([1-5][0-9]))");
  
  var reg3=reg.replace(/( .*)/,"");
  
  reg3 = new RegExp("^"+reg3+"$");
  reg2 = new RegExp("^"+reg2+"$");
  if(reg3.test(time)==false && reg2.test(time)== false){
    alert(alt);
    date.focus();
    return false;
  }
  return true;
}

function validateBirthday(date, alt){
  var time=trim(date.value);
  if(time=="") return;
  var reg1 = "(([0-9]{4}))";
  reg1=new RegExp("^"+reg1+"$");
  var reg2 = "(([0-9]{4})-(([0]?[1-9])|1[0-2]))";
  reg2=new RegExp("^"+reg2+"$");
  var reg3 = "(([0-9]{4})-(([0]?[1-9])|1[0-2])-(([0]?[1-9])|([1-2][0-9])|30|31))";
  reg3=new RegExp("^"+reg3+"$");
  if(reg1.test(time)==false && reg2.test(time)==false && reg3.test(time)==false){
    alert(alt);
    date.focus();
    return false;
  }
  return true;
}


function validateDate(date,format,alt){
  var time=trim(date.value);
  if(time=="") return;
  var reg=format;
  var reg=reg.replace(/yyyy/,"[0-9]{4}");
  var reg=reg.replace(/yy/,"[0-9]{2}");
  var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])");
  var reg=reg.replace(/M/,"(([0]?[1-9])|1[0-2])");
  var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)");
  var reg=reg.replace(/d/,"(([0]?[1-9])|([1-2][0-9])|30|31)");
  var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)");
  var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)");
  var reg=reg.replace(/mm/,"([0-5][0-9])");
  var reg=reg.replace(/m/,"([0-9]|([1-5][0-9]))");
  var reg=reg.replace(/ss/,"([0-5][0-9])");
  var reg=reg.replace(/s/,"([0-9]|([1-5][0-9]))");
  reg=new RegExp("^"+reg+"$");
  if(reg.test(time)==false){
    alert(alt);
    date.focus();
    return false;
  }
  return true;
}

function validateDateGroup(year,month,day,alt){
  var array=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var y=parseInt(year.value);
  var m=parseInt(month.value);
  var d=parseInt(day.value);
  var maxday=array[m-1];
  if(m==2){
    if((y%4==0&&y%100!=0)||y%400==0){
      maxday=29;
    }
  }
  if(d>maxday){
    alert(alt);
    return false;
  }
  return true;
}
function validateCheckbox(obj,alt){
  var rs=false;
  if(obj!=null){
    if(obj.length==null){
      return obj.checked;
    }
    for(i=0;i<obj.length;i++){
      if(obj[i].checked==true){
        return true;
      }
    }
  }
  alert(alt);
  return rs;
}

function validateChecksum(obj,alt){
  var rs=false;
  if(obj!=null){
  	var sum = obj.value;
  	var reg=new RegExp("^[0-9]{4,4}$");
  	if(reg.test(sum))return true;
  }
  alert(alt);
  return rs;
}

function validateMobile(obj,alt){
  var rs=false;
  if(obj!=null){
  	var sum = obj.value;
  	var reg=new RegExp("^[0-9]{0,15}$");
  	if(reg.test(sum))return true;
  }
  alert(alt);
  return rs;
}

function validateRadio(obj,alt){
  var rs=false;
  if(obj!=null){
    if(obj.length==null){
     	if(obj.checked)return true;
    }
    else{
      for(i=0;i<obj.length;i++){
        if(obj[i].checked==true){
          return true;
        }
      }
    }
  }
  alert(alt);
  return rs;
}
function validateSelect(obj,alt){
  var rs=false;
  if(obj!=null){
    for(i=0;i<obj.options.length;i++){
      if(obj.options[i].selected==true){
        return true;
      }
    }
  }
  alert(alt);
  return rs;
}
function validateEmail(email,alt,separator){
  var mail=trim(email.value);
  if(mail=="") return;
  var em;
  var myReg = /^[\-_a-z0-9A-Z.]+@([\-_a-z0-9A-Z]+.)+[a-z0-9A-Z]{2,3}$/;
  if(separator==null){
    if(myReg.test(email.value)==false){
      alert(alt); 
      email.focus();
      return false;
    }
  }
  else{
    em=email.value.split(separator);
    for(i=0;i<em.length;i++){
      em[i]=em[i].trim();
      if(em[i].length>0&&myReg.test(em[i])==false){
        alert(alt);
        email.focus();
        return false;
      }
    }
  }
  return true;
}
function validateForm(theForm){
  var disableList=new Array();
  var field = theForm.elements;
 	var vali=theForm.validate;
	if(vali!=null){
		if(vali.value=="0"){
			var fun=vali.functionName;
			if(fun!=null){
				return eval(fun+"()");
			}
			else{
				return true;
			}
		}
	}
  for(var i = 0; i < field.length; i++){
    var empty=false;
    var value=trim(field[i].value);
    if(value.length==0){
      empty=true;
    }
    var emptyInfo=field[i].getAttribute("emptyInfo");
    if(emptyInfo!=null&&empty==true){
      alert(emptyInfo);
      field[i].focus();
      return false;
    }
    var lengthInfo=field[i].getAttribute("lengthInfo");
    if(lengthInfo!=null&&getStringLength(value)>field[i].maxLength){
      alert(lengthInfo);
      field[i].focus();
      return false;
    }
    var validatorType=field[i].getAttribute("validatorType");
    if(validatorType!=null){
      var rs=true;
      if(validatorType=="javascript"){
        eval("rs="+field[i].functionName+"()");
        if(rs==false){
          return false;
        }
        else{
          continue;
        }
      }
      else if(validatorType=="disable"){
        disableList.length++;
        disableList[disableList.length-1]=field[i];
        continue;
      }
      else if(validatorType=="Date"){
        rs=validateDate(theForm.elements(field[i].fieldName),field[i].format,field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Birthday"){
        rs=validateBirthday(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="DateTime"){
        rs=validateDateTime(theForm.elements(field[i].fieldName),field[i].format,field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="DateGroup"){
        rs=validateDateGroup(theForm.elements(field[i].year),theForm.elements(field[i].month),theForm.elements(field[i].day),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Checkbox"){
        rs=validateCheckbox(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Radio"){
        rs=validateRadio(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Select"){
        rs=validateSelect(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Email"){
        rs=validateEmail(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType=="Mobile"){
        rs=validateMobile(theForm.elements(field[i].fieldName),field[i].getAttribute("errorInfo"));
      }
      else if(validatorType == "checksum"){
        rs=validateChecksum(field[i],field[i].getAttribute("errorInfo"));      	
      }
      else{
        alert("验证类型不被支持:"+field[i].name);
        return false;
      }
      if(rs==false){
        return false;
      }
    }
    else{
      if(empty==false){
        var v = field[i].validator;
        if(!v) continue;
        var reg=new RegExp(v);
        if(reg.test(field[i].value)==false){
          alert(field[i].getAttribute("errorInfo"));
          field[i].focus();
          return false;
        }
      }
    }
  }
  for(i=0;i<disableList.length;i++){
    disableList[i].disabled=true;
  }
  return true;
}

//----------------------------------------表单 验证 --------------------------


//----------------------------------------控制左侧菜单的隐藏--------------------------
function hideLeftMenu(){
	window.parent.document.getElementById("middleFRAME").cols ="0,*";
}

function showLeftMenu(){
	window.parent.document.getElementById("middleFRAME").cols ="185,*";
}
//-------------------------------------------------------------------------------------------------


function pageNav(form,num){
	var pvalue = form.pageNum.value;
	if(!xiaovalidateChecksum(pvalue)) return false;
	if(pvalue>num) pvalue = num ;
	if(pvalue==0) pvalue = 1;
	form.action += "pageNum=" + pvalue;
//	return true;
	window.location.href = form.action;
	return false;
}
function xiaovalidateChecksum(num){
  var rs=false;
  	var reg=new RegExp("^[0-9]{0,15}$");
  	if(reg.test(num))return true;
	else alert("请输入正整数");
  return rs;
}

function xiao_validateEmail(email,alt,separator){
  var mail=trim(email.value);
  if(mail=="") return;
  var em;
  var myReg = /^[\-_a-z0-9A-Z.]+@([\-_a-z0-9A-Z]+.)+[a-z0-9A-Z]{2,3}$/;
  if(separator==null){
    if(myReg.test(email.value)==false){
 //     alert(alt); 
 //     email.focus();
      return false;
    }
  }
  else{
    em=email.value.split(separator);
    for(i=0;i<em.length;i++){
      em[i]=em[i].trim();
      if(em[i].length>0&&myReg.test(em[i])==false){
        alert(alt);
        email.focus();
        return false;
      }
    }
  }
  return true;
}

function addBookmark() {
  var title="淘雅在线---好拍品 上淘雅";
        var url=parent.location.href;
        if (window.sidebar) { 
               window.sidebar.addPanel(title, url,""); 
        } else if( document.all ) {
        window.external.AddFavorite( url, title);
        } else if( window.opera && window.print ) {
        return true;
        }
  }
