﻿//检查上传的图片格式

//更新于 2008-10-17 

//zuotu.net 第三程序组 阿水

// 定义基本参数

upload_define = function()
{
this.extension = "gif|jpg|png|bmp|ico|wmf|jpeg";   // 允许上传的图片格式
this.size = 0;      // 允许上传的图片大小
this.width = 0;      // 允许上传的图片宽度
this.height = 0;     // 允许上传的图片高度

this.isChk = true;     // 当不符合条件时该值为false
this.pic = new Image();   // 当前的图片对象
this.msg = "";      // 当不合法时的提示
}

// 确认是否上传图片
upload_define.prototype.CheckPic = function(e)
{
this.pic.src = e.value;
this.pic.extension = "";
if(e.value == "")
{
   this.msg = "请选择上传文件";
   this.isChk = false;
}
else
{
   this.pic.extension = e.value.substr(e.value.lastIndexOf(".")+1).toLowerCase();
   if(this.extension.indexOf(this.pic.extension) == -1)
   {
    this.msg = "该文件类型不允许上传。请上传类型" + this.extension + "的文件，当前的文件类型为" + this.pic.extension;
    this.isChk = false;
   }
   else
   {
    this.CheckProperty(e);
   }
}
//return this.isChk;
}

// 检测上传的部片
upload_define.prototype.CheckProperty = function(e)
{
if(this.pic.readyState != "complete")
{ 
   sleep(2000); //2秒使用图能完全加载    
}   
// var temp = "";
// temp += "\n设置的扩展名含有" + this.extension;
// temp += "\n设置的大小为" + this.size;
// temp += "\n设置的宽度为" + this.width;
// temp += "\n设置的高度为" + this.height;
// temp += "\n上传的图片路径为" + this.pic.src;
// temp += "\n上传的图片大小为" + this.pic.fileSize;
// temp += "\n上传的图片宽度为" + this.pic.width;
// temp += "\n上传的图片高度为" + this.pic.height;
// alert(temp);

var s = Math.round(this.pic.fileSize/1024*100)/100;
if(this.size <= s){
   this.msg = "文件大小超过限制。请上传小于" + this.size + "KB的文件，当前文件大小为" + s;
   this.isChk = false;
}
if(this.width <= this.pic.width){
   this.msg += "\n图片宽度超过限制。请上传宽度小于" + this.width + "px的文件，当前图片宽度为" + this.pic.width;
   this.isChk = false;
}
if(this.height <= this.pic.height){
   this.msg += "\n图片高度超过限制。请上传高度小于" + this.height + "px的文件，当前图片高度为" + this.pic.height;
   this.isChk = false;
}
}

// 图片加载过程中的延时
function sleep(num)   
{   
var tempDate = new Date();   
var tempStr = "";   
var theXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   
while((new Date() - tempDate) < num)   
{   
   tempStr += "\n" + (new Date() - tempDate);   
   try
   {   
    theXmlHttp.open("get", "about:blank?JK="+Math.random(), false);   
    theXmlHttp.send();   
   }   
   catch(e){}   
}   
return;   
}  


// 调用的函数
function upload_check(e, w, h, s)
{
var obj = new upload_define();
obj.size = s;
obj.width = w;
obj.height = h;
obj.CheckPic(e);
if(obj.isChk == false){
   alert(obj.msg);
   return false;
}
//alert("上传图片符合要求，开始提交表单");
return true;
}


//检查是否选择的函数
function upcheck(kj1,kj2,kj3,kj4up,jk5url)
        {
        	if (document.getElementById (kj1) .checked)
	        {
	         if (document.getElementById (kj2) .checked)
	         {
	         
	          return upload_check(document.getElementById (kj4up),1025,800 ,500);
	      
	         }
	         else if(document.getElementById (kj3) .checked)

	         {
	         
	         return checkimgurl(document.getElementById (jk5url).value)
	   
	         }
	         else
	         {
	          window.alert ("请选择是从电脑上传还是从url获取");
	          return false ;

	         }
	  
	       }
	   else
	   {
	   window.alert ( "要图片层的文件，必须启用这个图片层。");
	   return false ;

	    }      
     }
     
     //检查url
     
       function   checkimgurl(myurl)
       { 
       //window .alert (myurl);
       var urltoLower=myurl.toString ().toLowerCase();
      var reg = /([a-zA-Z0-9_]+)(.gif|.jpg|.png|.bmp|.ico|.wmf|.jpeg)/
      var httpstr =urltoLower.indexOf ("http://",0);
       if (reg .test (urltoLower ) && httpstr !=-1 )
       {
       return true ;
       //window .alert ("是图片的url");
       }
       else 
       {
       window .alert ("您填入的不是有效的图片url，请检查");
       return false ;
       }
       }
       
       
       //生成文字时检查
       function shengcheck(qiyong,neirong,bianhao)
        {
        	if (document.getElementById (qiyong) .checked)
	        {
	         // window.alert (document.getElementById (neirong).value);
	         if (document.getElementById (neirong).value =="")
	         {
	          window.alert ("文字内容不能为空");
	          return false;
	      
	         }
	         else if(document.getElementById (bianhao).value =="")

	         {
	         
	         window.alert ("文字模板编号不能为空");
	         return false;
	   
	         }
	         else
	         {
	         
	          return true  ;

	         }
	  
	       }
	       else 
	       {
	          window.alert ("要生成文字，必须先启用这个文字层");
	          return false   ;
	       }
	  
     }
     
     
     
     //上传前检查，适用于文字模板制作页面
         
function upcheck2(kj2,kj3,kj4up,jk5url)
        {
        
             //kj2从电脑上传
             //kj3从url上传
             //kj4up 从电脑上传的控件
             //kj5up 需要上传的 url

	         if (document.getElementById (kj2) .checked)
	         {
	         
	          return upload_check(document.getElementById (kj4up),1025,800 ,500);
	      
	         }
	         else if(document.getElementById (kj3) .checked)

	         {
	         
	         return checkimgurl(document.getElementById (jk5url).value)
	   
	         }
	         else
	         {
	          window.alert ("请选择是从电脑上传还是从url获取");
	          return false ;

	         }
      
     }
     
     
     //上传前检查，用于水印,和其他上传页面
function upcheck3(kj2,kj3,kj4up,jk5url)
        {
        	
	         if (document.getElementById (kj2) .checked)
	         {
	         
	          return upload_check(document.getElementById (kj4up),1025,800 ,500);
	      
	         }
	         else if(document.getElementById (kj3) .checked)

	         {
	         
	         return checkimgurl(document.getElementById (jk5url).value)
	   
	         }
	         else
	         {
	          window.alert ("请选择是从电脑上传还是从url获取");
	          return false ;
	         }
	    } 
	    
	    
	    //上传检查，用于水印页面
	    
	    function upcheck4(kj2,kj3,kj4up,jk5url)
        {
        	    var istindex = document.getElementById ("ctl00_ContentPlaceHolder1_ListBox1").options.length;
      
                if (istindex ==5)
                 {
                    window.alert ("最多只能一次5张图片。你现在已经添加了5张图片。");
                    return false ;
                 }
	         
	         if (document.getElementById (kj2) .checked)
	         {
	         
	          return upload_check(document.getElementById (kj4up),1025,800 ,500);
	      
	         }
	         else if(document.getElementById (kj3) .checked)

	         {
	         
	         return checkimgurl(document.getElementById (jk5url).value)
	   
	         }
	         else
	         {
	          window.alert ("请选择是从电脑上传还是从url获取");
	          return false ;
	         }
	    }      

        

