function getUrlParam(){
var encondeCondition=window.location.search;
var condition= decodeURI(decodeURI(encondeCondition.substring(1,encondeCondition.length)));
var conditionArr=condition.split("&");
var condJson={};
for(var item in conditionArr){
var temArr=conditionArr[item].split("=");
condJson[temArr[0]]=temArr[1];
}
return condJson;
};
$(function(){
$("input").each(function(i){
if($(this).attr("value")){
$(this).focus();
$(this).blur();
};
});
});
$(function(){
var point = getUrlParam();
$("#posX").text(point.x);
$("#posY").text(point.y);
$("#LONGITUDE").attr("value",point.x);
$("#LATITUDE").attr("value",point.y);
$("#ORDER_NUM").attr("value",point.pi);
var $no = "" ;
var $ok = "" ;
var reg = new RegExp("^([0-9]+(.[0-9]{1,5})?)?$");
//七级风圈离开焦点校验
$("#SEVEN_RADIUS").on("blur",function(){
var data = $("#SEVEN_RADIUS").val() ;
var flg = valIsNull(data);
//校验七级风圈是否为正实数
var obj = $("#SEVEN_RADIUS").val();
if(!reg.test(obj)){
appendValid("SEVEN_RADIUS", $no, "请输入数字!", false);
clearValid() ;
return false ;
}
//校验是否输入数据
if(flg){//空
appendValid("SEVEN_RADIUS", $no, "请输入风圈半径!", false);
clearValid() ;
return false;
}else{//有数据
//校验数据是否为可用范围
flg = valIsValid(data);
if(flg){//可用
$("._typhoon_disa").removeClass("_no_drop");
$("._typhoon_disa").removeAttr("disabled");
appendValid("SEVEN_RADIUS", $ok, "", true);
//校验十级与十二级是否为可用
if($("._typhoon_disa").hasClass("_no_drop")){//不可用
appendValid("SEVEN_RADIUS", $ok, "", true);
}else{//可用
var ten = $("#TEN_RADIUS").val() ;
//判断十级是否为空
if(!valIsNull(ten)){//不为空
//校验十级风圈是否为正实数
obj = $("#TEN_RADIUS").val();
if(!reg.test(obj)){
appendValid("TEN_RADIUS", $no, "请输入数字!", false);
valTewnt();
return false ;
}
if(valIsValid(ten)){//十级为可用范围
if(Number(ten) >= Number(data)){//十级大于等于七级
appendValid("TEN_RADIUS", $no, "范围要小于七级风圈半径!", false);
}else{
appendValid("TEN_RADIUS", $ok, "", true);
}
}else{//不可用范围
appendValid("TEN_RADIUS", $no, "请输入合理的风圈半径!", false);
}
}else{//十级为空
appendValid("TEN_RADIUS", "", "", true);
};
valTewnt();
}
}else{//不可用
appendValid("SEVEN_RADIUS", $no, "请输入合理的风圈半径!", false);
clearValid() ;
return false ;
}
}
});
//十级风圈离开焦点校验
$("#TEN_RADIUS").on("blur",function(){
var sev = $("#SEVEN_RADIUS").val() ; //七级风圈(一定是正确数据)
var ten = $("#TEN_RADIUS").val() ; //十级风圈
var twev = $("#TWELVE_RADIUS").val() ;//十二级风圈
//判断十级风圈是否输入数据
if(valIsNull(ten)){//十级为空
appendValid("TEN_RADIUS", "", "", true);
//判断十二级风圈是否为空
if(valIsNull(twev)){//十二级为空
appendValid("TWELVE_RADIUS", "", "", true);
}else{//十二级不为空
if(Number(twev) >= Number(sev)){//十二级大于等于七级
appendValid("TWELVE_RADIUS", $no, "范围要小于七级风圈半径!", false);
}else{
appendValid("TWELVE_RADIUS", $ok, "", true);
};
//校验是否为正实数
var obj = $("#TWELVE_RADIUS").val();
if(!reg.test(obj)){
appendValid("TWELVE_RADIUS", $no, "请输入数字!", false);
return false ;
} else {
appendValid("TWELVE_RADIUS", $ok, "", true);
};
}
}else{//十级不为空
//校验是否为正实数
var obj = $("#TEN_RADIUS").val();
if(!reg.test(obj)){
appendValid("TEN_RADIUS", $no, "请输入数字!", false);
return false ;
} else {
appendValid("TEN_RADIUS", $ok, "", true);
};
if(valIsValid(ten)){//十级为可用范围
if(Number(ten) >= Number(sev)){//十级大于等于七级
appendValid("TEN_RADIUS", $no, "范围要小于七级风圈半径!", false);
}else{
appendValid("TEN_RADIUS", $ok, "", true);
}
//判断十二级是否为空
if(valIsNull(twev)){//十二级为空
appendValid("TWELVE_RADIUS", "", "", true);
}else{//十二级不为空
if(Number(twev) >= Number(ten)){//十二级大于等于十级
appendValid("TWELVE_RADIUS", $no, "范围要小于十级风圈半径!", false);
}else{
//校验是否为正实数
var obj = $("#TWELVE_RADIUS").val();
if(!reg.test(obj)){
appendValid("TWELVE_RADIUS", $no, "请输入数字!", false);
return false ;
} else {
appendValid("TWELVE_RADIUS", $ok, "", true);
};
};
}
}else{//十级为不可用范围
appendValid("TEN_RADIUS", $no, "请输入合理的风圈半径!", false);
}
}
});
//十二级风圈离开焦点校验
$("#TWELVE_RADIUS").on("blur",function(){
var ten = $("#TEN_RADIUS").val() ; //十级风圈
var twev = $("#TWELVE_RADIUS").val() ;//十二级风圈
//判断十二级风圈是否输入数据
if(valIsNull(twev)){//十二级为空
appendValid("TWELVE_RADIUS", "", "", true);
}else{//十二级不为空
//校验是否为正实数
var obj = $("#TWELVE_RADIUS").val();
if(!reg.test(obj)){
appendValid("TWELVE_RADIUS", $no, "请输入数字!", false);
return false ;
} else {
//判断十二级是否可用
if(valIsValid(twev)){//可用范围
if(Number(twev) >= Number(ten)){//十二级大于等于十级
appendValid("TWELVE_RADIUS", $no, "范围要小于十级风圈半径!", false);
return false ;
}else{
appendValid("TWELVE_RADIUS", $ok, "", true);
};
}else{//不可用
appendValid("TWELVE_RADIUS", $no, "请输入合理的风圈半径!", false);
return false ;
};
};
};
});
//最大风力离开焦点校验
$("#MAX_STRENGTH").on("blur",function(){
var obj = $("#MAX_STRENGTH").val();
if(valIsNull(obj)){//为空
appendValid("MAX_STRENGTH", "", "", true);
}else{//不为空
//校验是否为正实数
if(!reg.test(obj)){
appendValid("MAX_STRENGTH", $no, "请输入数字!", false);
return false ;
} else {
appendValid("MAX_STRENGTH", $ok, "", true);
};
}
});
//最大风速离开焦点校验
$("#MAX_SPEED").on("blur",function(){
var obj = $("#MAX_SPEED").val();
if(valIsNull(obj)){//为空
appendValid("MAX_SPEED", "", "", true);
}else{//不为空
//校验是否为正实数
if(!reg.test(obj)){
appendValid("MAX_SPEED", $no, "请输入数字!", false);
return false ;
} else {
appendValid("MAX_SPEED", $ok, "", true);
};
}
});
//移动速度离开焦点校验
$("#MOVEMENT_SPEED").on("blur",function(){
var obj = $("#MOVEMENT_SPEED").val();
if(valIsNull(obj)){//为空
appendValid("MOVEMENT_SPEED", "", "", true);
}else{//不为空
if(!reg.test(obj)){
appendValid("MOVEMENT_SPEED", $no, "请输入数字!", false);
return false ;
} else {
appendValid("MOVEMENT_SPEED", $ok, "", true);
};
}
});
//中心气压离开焦点校验
$("#CENTRAL_PRESSURE").on("blur",function(){
var obj = $("#CENTRAL_PRESSURE").val();
if(valIsNull(obj)){//为空
appendValid("CENTRAL_PRESSURE", "", "", true);
}else{//不为空
if(!reg.test(obj)){
appendValid("CENTRAL_PRESSURE", $no, "请输入数字!", false);
return false ;
} else {
appendValid("CENTRAL_PRESSURE", $ok, "", true);
};
}
});
});
/**
* 按钮初始化
*/
$(function(){
//重取位置
$("#reset_draw").click(function(){
window.parent.window.resample();
});
//放弃绘制
$("#giveup_draw").click(function(){
if(window.confirm('你确定要放弃绘制吗?\n点击确定将会放弃\"' + parent.document.getElementById("TYPHOON_NAME_CH").value + '\"模拟台风添加的所有模拟点。')){
window.parent.window.giveUpCurrent();
return true;
}else{
return false;
}
});
//继续绘制按钮
$("#go_draw").click(function(){
if(validation()){
var param = $("form").serializeArray();
param = serializeArrayToJson(param);
window.parent.window.iframeGetPoint(param);
window.parent.window.removeDrawWin();
} else {
alert("页面填写有误!");
};
});
//结束绘制按钮
$("#over_draw").click(function(){
if(validation()){
var param = $("form").serializeArray();
param = serializeArrayToJson(param);
window.parent.window.overDraw(param);
window.parent.window.removeDrawWin();
}else{
alert("页面填写有误!");
}
});
});
/**
* 将表单序列化的数组JSON变成JSON格式
* @param seriArr
* @returns {___anonymous8892_8893}
*/
function serializeArrayToJson(seriArr){
var res = {};
var temp = {};
var name = "" ;
for(var key in seriArr){
temp = seriArr[key];
name = temp["name"];
res[name] = temp["value"];
};
return res;
};
/**
* 校验页面是否有不可法参数
* @returns {Boolean}
*/
function validation(){
var flg = true ;
$("input[valida='false']").each(function(i){
flg = false ;
});
return flg ;
};
/**
* 判断数据是否为空
* @param data
* @returns {Boolean} true:空 false:非空
*/
function valIsNull(data){
if(data == "" || data == undefined || data == null){
return true;
}
return false;
};
/**
* 判断数据是否为有效的,0-10000之间
* @param data
* @returns {Boolean}
*/
function valIsValid(data){
if(valIsNull(data)){
return true;
}else if(Number(data)<=0 || Number(data)>10000){
return false ;
};
return true ;
};
/**
* 清除七级风圈与十二级风圈内容
*/
function clearValid(){
if(!$("._typhoon_disa").hasClass("_no_drop")){
$("._typhoon_disa").addClass("_no_drop");
$("._typhoon_disa").attr("disabled","disabled");
$("#TEN_RADIUS").val("");
$("#TEN_RADIUS").attr("valida", true);
$("#TWELVE_RADIUS").val("");
$("#TWELVE_RADIUS").attr("valida", true);
$(".TEN_RADIUS").empty();
$(".TWELVE_RADIUS").empty();
}
};
/**
* 添加校验结果内容
* @param id 要添加的class名称
* @param $img 校验结果图片
* @param $info 校验文字信息
*/
function appendValid(id, $img, $info, flg){
$("." + id).empty();
$("." + id).append($img);
$("." + id).append($info);
$("#" + id).attr("valida", flg);
};
function valTewnt(){
var data = $("#SEVEN_RADIUS").val() ;
var twev = $("#TWELVE_RADIUS").val() ;
var ten = $("#TEN_RADIUS").val() ;
var $no = "" ;
var $ok = "" ;
var reg = new RegExp("^([0-9]+(.[0-9]{1,5})?)?$");
//判断十二级是否为空
if(!valIsNull(twev)){//不为空
//校验十二级风圈是否为正实数
obj = $("#TWELVE_RADIUS").val();
if(!reg.test(obj)){
appendValid("TWELVE_RADIUS", $no, "请输入数字!", false);
return false ;
}
if(valIsValid(twev)){//十二级为可用范围
if(!valIsNull(ten)){//判断十级是否为空
if(Number(twev) >= Number(ten)){//十二级大于等于十级
appendValid("TWELVE_RADIUS", $no, "范围要小于十级风圈半径!", false);
}else{
appendValid("TWELVE_RADIUS", $ok, "", true);
};
}else{//十级为空,校验七级
if(Number(twev) >= Number(data)){//十二级大于等于七级
appendValid("TWELVE_RADIUS", $no, "范围要小于七级风圈半径!", false);
}else{
appendValid("TWELVE_RADIUS", $ok, "", true);
};
};
}else{//不可用范围
appendValid("TWELVE_RADIUS", $no, "请输入合理的风圈半径!", false);
};
}else{//为空
appendValid("TWELVE_RADIUS", "", "", true);
};
};