//独立的命名空间 生成全国地区下拉列表
(function(){
	if(!window.myArea){ window['myArea'] = {} }
	// 实例化xmlhttp
	function getXmlHttp(){
		var xmlHttp;
		try{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e) {
			// Internet Explorer
			try{
				// Internet Explorer 6.0+
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e){
				try{
					// Internet Explorer 5.5+
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){
					alert("您的浏览器版本太旧不支持AJAX！");
					return false;
				}
			}
		}
		return xmlHttp;
	 }


	// 根据ID取元素
	function $(id){ 
		return document.getElementById(id); 
	}

	// 将获取的数据加入到options中
	function addOptions(id,optionText){
		if($(id).length<2){
			$str = optionText.split(',');
			for(i=0;i<$str.length-1;i++){
				$option = $str[i].split('->');
				option = document.createElement("option");
				option.value = $option[0];
				option.text = $option[1];
				try{
					$(id).add(option,null);
				}catch (e){
					$(id).add(option);
				}
			}
		}
	}

	// 清除下拉的options
	function clearOption(sid){
		var x = $(sid);
		for(i=1;;i++){
			if(x.length>1){
				x.remove(x.length-1);
			}else{
				break;
			}
		}
	}

	// 通过xmlhttp取得数据并加入到下拉options中
	function getData(sid,id){
		var datasource = '/jigou/index.php?s=/Resthome/ajax';
		var xmlhttp = getXmlHttp();
		if(sid != 'province'){
			clearOption(sid);
		}
		if(sid =='province' && $(sid).length > 1){
			return '';
		}
		var url = datasource+'/id/'+id;
		if(xmlhttp){
			xmlhttp.open('GET',url,true);
			xmlhttp.onreadystatechange = function(){
				if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
					addOptions(sid,xmlhttp.responseText);
				}
			}
			xmlhttp.send(null);
		}else{
			alert("您的浏览器无法使用AJAX！");
		}
	}

	// 根据当前数据的更改获取下一级的数据
	function changeArea(curType,nextType){
		var id = $(curType).value;
		getData(nextType,id);
	}

	window['myArea']['getArea'] = getData;
	window['myArea']['changeArea'] = changeArea;
})();


function readInfo(json){
	$('#ajax_info').css({display:'block','font-size':'18px',color:'blue',margin:'auto auto 10px 200px'});
	switch(json.info){
		case 1:$('#ajax_info').html('机构已经存在，您可以更新信息！');base=json.base;break;
		case 2:$('#ajax_info').html('您可以添加此机构！');base='';break;
		case 3:alert('你还没填写机构名称！');base='';$('#name').focus();break;
	}
	bindData(base);
}

//将取出的数据放入对应的输入框
function bindData(base){
	$('#name').val($.trim($('#name').val()));
	selArr = new Array('province','city','region','year','month','day','type');
	if(base){
		$('#baseForm :input').each(function(i){ Fname=this.name;$(this).attr('value',base[Fname]);
			if(selArr.join().indexOf(Fname)!=-1){ $(this).attr('value',base[Fname]);  }   
		});
	}	
}

//Ajax检查机构名称
function checkJgName(){
	$.getJSON('/jigou/index.php?s=/Resthome/isExistJg',{ name:$('#name').val()},readInfo);
}

//年月日下拉表单生成
function getDate(start,dateType){
	myDate = new Date();
	curYear = myDate.getFullYear();
	if($('select[@name='+dateType+'] option').length<2){
		opt = '';
		switch(dateType){
			case 'year' : end = curYear;break;
			case 'month': end = 12;break;
			case 'day'  : end = 31;break;
		}
		for(start=start;start<=end;start++){ opt += '<option value="'+start+'">'+start+'</option>'; }	
		$('select[@name='+dateType+']').append(opt);
	}
} 

function addRow(){
	newRow = $('table tr:last').clone();
	newRow.removeAttr('id');
	newRow.insertBefore($('table tr:last'));
	$('table tr:last textarea').each(function(i){ 
		nas=this.name.split('_');nas[1]=parseInt(nas[1])+1;this.name=nas[0]+'_'+nas[1];
	});
}

function checkNum(){
	$('table textarea[@class="yel"]').each(function(i){
		if($(this).val() && isNaN($(this).val())){  
			alert('深色框内不是数字！');
	//		$('form[@name="serverForm"]').submit(function(){return false;}); 
			return false;
		}else{
			return true;
		}
	});
	//return true;
}

//$('form').bind('submit',function(){ return false;});
//$('#month').bind('click',{start:'1',dateType:'month'},getDate);


var RegNames = new Array();
RegNames	=	['Email','Url','Phone','Require','Number','Post','Fox'];
var RegArray = {
	Require : /.+/,
	Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
	Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
	Mobile : /^1[3|5][0-9]{9}$/,
	Fox:/^\d[\d|\\/]+$/,
	Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
	Currency : /^\d+(\.\d+)?$/,
	Number : /^\d+$/,
	Post : /^\d{6}$/,
	Zip : /^[1-9]\d{5}$/,
	QQ : /^[1-9]\d{4,8}$/,
	Integer : /^[-\+]?\d+$/,
	Double : /^[-\+]?\d+(\.\d+)?$/,
	English : /^[A-Za-z]+$/,
	Chinese :  /^[\u0391-\uFFE5]+$/,
	Username : /^[a-z]\w{3,}$/i,
	UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/
}

function checkForm(formid,target){
	var flag = true;
	$('#'+formid+' :input').each(function(){
		if($(this).attr('class')=='yel' && $(this).val()){
			$(this).attr('check','Number');
			$(this).attr('warning','深色框内只能填写数字！');
		}
		//需要验证
		if($(this).attr('check')){
			var sReg = myFilter($.trim($(this).attr('check')));
			var reg = new RegExp(sReg,'i');
			if(!reg.test($(this).val())){
				//验证不符合
				flag = false;
				if(target==undefined){
					alert($(this).attr('warning'));
				}else {
					$(target).style.display='block';
					$(target).innerHTML	=	'<div style="font-weight:bold;color:red">'
						+$(this).attr('warning')+'</div>';
					/*this.intval = window.setTimeout(function (){
						//var myFx = new Fx.Style(target, 'opacity',{duration:1000}).custom(1,0);
						$(target).style.display='none';$(target).innerHTML='';
						},3000);
					*/
				}
				$(this).focus();
				return false;
			//	break;
			}
		}
	});
	return flag;
}

//过滤和转换正则表达式
//支持预定义正则和表达式两种
//预定义正则参考RegNames数组
function myFilter(str){
	if (RegNames.toString().indexOf(str)!=-1)
	{
		return RegArray[str].toString().replace( /^\/*/, "" ).replace( /\/*$/, "" );
	}
	return str;
}