//验证表单validator
function $(id){return document.getElementById(id);}
String.prototype.trim = function(){
    return this.replace(/(^[\s]*)|([\s]*$)/g, "");
}
function isNumber(num){  //数字检查
    if( /^[0-9]+$/.test( num ))
		return true;
	else return false;
}
function isEmail(email){  //邮件地址检查
    return ( /^[^@]+@[^@]+\.[^@]+$/.test(email) && email.length<128 );
}
function isMobile( mobile ){  //手机号码检查
    return /^13\d{9}$/.test( mobile ) | /^15\d{9}$/.test( mobile );
}
function showNote(obj,iMsg,status){  //显示提示
	if (typeof obj == "string") {
		obj = $(obj);
	}
	var thisul = obj.parentNode.parentNode
	if(status==1){
		obj.style.color = "#ff0000";
		obj.innerHTML = "<span class='errIcon'></span>"+iMsg;
		thisul.className="hover";
	}else{
	    obj.style.color = "#0e9e26";
		obj.innerHTML = "<span class='sucIcon'></span>"+iMsg;
		thisul.className="";
	}
}
//(值,提示ID,名称,为空(0非空,1空),类型(0不限,1数字,2字母,3字母和数字,4字母开头非中文,5邮件,6手机号码),最小长度,最大长度,最小值,最大值)
function check(name,value,note,isnull,type,minL,maxL,minN,maxN){
	var oProm = $(note);
	if( value == null || value == "" || value.trim() == "" ) {  
    	if( isnull==0 ){
			showNote(oProm, "input "+name+" please!",1);
    		return false;
		}else{
			return true;
		}
    }else{  
		if( type==1 && !isNumber(value) ){ 
			showNote(oProm,name+" must be number",1);
			return false;
		}else if( type==2 && ! /^[a-zA-Z]+$/.test(value) ){ 
			showNote(oProm,name+" must be alphabet",1);
			return false;
		}else if( type==3 && ! /^[\w]+$/.test(value) ){ 
			showNote(oProm,name+" only composed by alphabet,number and_ ",1);
    		return false;
		}else if( type==4 && ( ! /^[a-zA-Z].*$/.test(value) || ! /^[\w]+$/.test(value) ) ){
			showNote(oProm,name+" only composed by alphabet,number and_",1);
    		return false;
		}else if( type==5 && !isEmail(value) ){
			showNote(oProm,name+" failed,please input again",1);
			return false;
		}else if( type==6 && !isMobile(value) ){
			showNote(oProm,name+" failed,please input again",1);
			return false;
		}
		
    	if( minL!=null && maxL!=null && minL==maxL && value.length!=minL ){
    		showNote(oProm, name+" length mistakes,should be "+minL+" characters",1);
    		return false;
		}
		if( minL!=null && value.length < minL ){
    		showNote(oProm, name+" length mistakes,should be not less than "+minL+" characters",1);
    		return false;
		}
    	if( maxL!=null && value.length > maxL ){
    		showNote(oProm, name+" length mistakes,should be not more than "+maxL+" characters",1);
    		return false;
		}

    	if( type==1 && minN!=null && value < minN ){
    		showNote(oProm, name+" size mistakes,should be not small than "+minN,1);
    		return false;
		}
    	if( type==1 && maxN!=null && value > maxN ){
    		showNote(oProm, name+" size mistakes,should be not bigger than "+maxN,1);
    		return false;
		}
/*
    	if( value.indexOf( "%" ) > -1 || value.indexOf( "&" ) > -1 ) {
    		showNote(oProm, name+" failed,cann't not include'%' and '&'",1);
    		return false;
    	}
*/
		showNote(oProm, "OK",0);
		return true;	
	}	
}
function fCheck() {
	var flag1 = check('your name',$('username').value,'usernameNote',0,4,1,250)
	var flag2 = check('Subject',$('title').value,'titleNote',0,0,1,250)
	var flag3 = check('Content',$('detail').value,'detailNote',0,0,1)
	var flag4 = check('Country',$('postcode').value,'postcodeNote',0,0,1,250)
	var flag5 = check('email',$('mail').value,'emailNote',0,5,5,128)
	var flag6 = check('Telphone',$('tel').value,'telNote',0,0,4,250)
	var flag7 = check('fax',$('fax').value,'faxNote',1,0,1,4)
	var flag8 = check('company',$('company').value,'companyNote',1,0,1,250)
	var flag9 = check('homepage',$('address').value,'addressNote',1,0,1,250)


	var rtflag = flag1 && flag2 && flag3 && flag4 && flag5 && flag6 && flag7 && flag8 && flag9;
	return rtflag;
}
function minfCheck() {
	var flag1 = check('Content',$('mindetail').value,'mindetailNote',0,0,1)
	return flag1;
}








function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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.01
  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 && d.getElementById) x=d.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];}
}







var obProdFinder;

function showProductFinder( e, ob ) {
	if (!e) e=window.event;

	if (obProdFinder) {
		obProdFinder.style.display='none';
		document.onclick = '';
		obProdFinder = undefined;
	} else {
	
		var obOpen = ob.parentNode.lastChild;
		if (!obOpen.tagName) obOpen=obOpen.previousSibling;
	
	
		var inTop = getTop(ob.parentNode);
		var obBody;
		if (document.documentElement && document.documentElement.scrollTop)
			obBody = document.documentElement
		else
			obBody = document.body;
		
		var inWindowHeight;
		if (window.innerHeight) 
			inWindowHeight = window.innerHeight
		else
			inWindowHeight = document.documentElement.clientHeight;
			
		if (inTop-obBody.scrollTop- inWindowHeight>-278) {
			obOpen.style.top = '';
			obOpen.style.bottom = '22px';
		} else {
			obOpen.style.bottom = '';
			obOpen.style.top = '22px';
		}
		obOpen.style.display = 'block';
		obProdFinder = obOpen;
		document.onclick = hideProductFinder; 
	}
	return false;
	
}
function hideProductFinder() {
	if (obProdFinder) {
		obProdFinder.style.display='none';
		document.onclick = '';
	}
	obProdFinder = undefined;
}
function getTop( ob ) {
	var inTop = 0;
	if (ob.offsetParent) {
		inTop = ob.offsetTop
		while (ob = ob.offsetParent) {
			inTop += ob.offsetTop
		}
	}
	return (inTop);
}

