﻿var VNickName = true;
var VEmailAdd = true;
var VCommName = true;
var VVeriCode = true;
var Timer;

$(document).ready( function() {
	
	if($('#nickname').length > 0) {
		$('[rel=password]').pstrength();
		
		$('#firstname').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
		//$('#firstname').blur( function() { $(this).css('background-color', ''); ValidateFirstName(); } );
		$('#firstname').blur( function() { $(this).css('background-color', '');} );
		$('#lastname').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
		//$('#lastname').blur( function() { $(this).css('background-color', ''); ValidateLastName(); } );
		$('#lastname').blur( function() { $(this).css('background-color', '');} );
		$('#nickname').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
		$('#nickname').blur( function() { $(this).css('background-color', ''); ValidateNickName(); } );
		
		$('#passwd').focus( function() { $(this).css('background-color', '#E8FBFD'); $('#pwdtip').hide(); $('#pwdsen').show(); } );
		$('#passwd').blur( function() { $(this).css('background-color', ''); ValidatePasswd1(); } );
		$('#passwd2').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
		$('#passwd2').blur( function() { $(this).css('background-color', ''); ValidatePasswd2(); } );
		
		$('#email').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
		$('#email').blur( function() { $(this).css('background-color', ''); ValidateEmail(); } );
		
		

		$('#cfformsubmit').click(function() { return ValidateInputData( { IsNewUser: true, IsSubmit: true, VFlag: 'All' } ); } );
		$('#cfformreset').click(function() { $('#cfform')[0].reset(); clear({ IsNewUser: true }); return false; } );

	} else {
		
		
		$('#cfformsubmit').click(function() { return ValidateInputData( { IsNewUser: false, IsSubmit: true, VFlag: 'All' } ); } );
		$('#cfformreset').click(function() { $('#cfform')[0].reset(); clear({ IsNewUser: false }); return false; } );
	}
		
	//$('#CommunityName').keyup( SetTempDomain );
	$('#CommunityName').focus( function() { $(this).css("background-color", "#E8FBFD"); } );
	$('#CommunityName').blur( function() { $(this).css('background-color', ''); ValidateCommunityName(); } );
	
	$('#VerifyCode').focus( function() { $(this).css('background-color', '#E8FBFD'); $('#vcodetip').hide(); $('#vcodetip2').show(); } );
	$('#VerifyCode').blur( function() { $(this).css('background-color', ''); ValidateVerifyCode();} );
	
	$('#tpName').click(function() { return false; } );
	
	$('#CommunityTitle').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
	$('#CommunityTitle').blur( function() { $(this).css('background-color', ''); ValidateCommunityTitle() } );
	
	$('#chgSkin').click( function() { window.open('/SkinLib.html', '', 'height=800,width=620,top=0,left=0,toolbar=no,menubar=no,scrollbar=no,resizable=no,location=no,status=no'); return false; } );
	$('#preSkin').click( function() { viewSkinClick($('#SkinId').val()); return false; } );
	
	$('#CommunityMark').focus( function() { $(this).css('background-color', '#E8FBFD'); } );
	$('#CommunityMark').blur( function() { $(this).css('background-color', ''); } );
	
	$('#Keyword').focus( function() {
		$(this).css('background-color', '#E8FBFD');
		$(this).css('color', '');
		if( $.trim($(this).val()) == "You may enter multiple keywords separated by commas(,)." ) {
			$(this).val("");
		}
	} );
	$('#Keyword').blur( function() {
		$(this).css('background-color', '');
		if( $.trim($(this).val())== "" ) {
			$(this).val("You may enter multiple keywords separated by commas(,).");
			$(this).css('color', '#9B9B9B');
		} else {
			$(this).css('color', '');
		}
	} );

	$('#cbAgree').click(function() { $('#agreetip').hide(); } );
	
	$('#handread').click(function() { ChangeVerifyImg(); return false; } );
	//$('#ajaxLoading-overlay').click(OverLayHide);
	$('#skinframe').load(function(){
		var iframe = $(this)[0];
		try{
			var bHeight = iframe.contentWindow.document.body.scrollHeight;
			var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
			iframe.height = Math.min(dHeight, bHeight);
		} catch (e) {}
	});
});
//jj edit
function SelectSkins(skinid, skinname,skintype) {
	if(skintype==1){
		document.getElementById("TrendySkinId").value=skinid;
	}else{
		$('#SkinId').val(skinid);
		$('#CommunitySkin').val(skinname);
	}
	SubmitForm();
}

function xx(){
	$('#cfformsubmit').click(function() { return ValidateInputData( { IsNewUser: true, IsSubmit: true, VFlag: 'All' } ); } );	
}

function viewSkinClick(sid){
	window.open('/community/Community_skins_V2/ViewPage.cfm?skinid='+sid,'','height=700,width=620,top=0,left=0,toolbar=no,menubar=no,scrollbar=no,resizable=no,location=no,status=no');
}

function SubmitForm() {
	
	var option = {
		url:"/createcontroller.cfm",
		ContentType:"text/xml;utf-8",
		success:function(html) {
			ChangeVerifyImg();
			if(Timer)
				clearTimeout(Timer);
			eval('var reValue = ' + $.trim(html) + ';');
			
			if(reValue.ErrCode == 0) {
				window.location = '/CommunityName-' + $('#CommunityName').val() + '/CreateSuccess.html';
			} else {
				switch(reValue.ErrCode) {
					case 1:
						ValidateVerifyCode();
						break;
					case 2:
						ValidateEmail();
						break;
					case 3:
						ValidateNickName();
						break;
					case 4:
					case 5:
						ValidateCommunityName();
						break;
					default:
						break;
				}
				OverLayShow();
				$('#LoadCoffee').hide();
				$("#nowIsLoading").html("Sorry! An error appeared in the process of creating, please press <a href='#' onclick='BackReCreate()'>Back</a> to re-create your forum.");
			}
		},
		error:function(response) {
			OverLayShow();
			ChangeVerifyImg();
			//$('#ajaxLoading-overlay').html(response.responseText);
		}
	}
	
	OverLayShow();
	if( $.trim($('#Keyword').val()) == "You may enter multiple keywords separated by commas(,)." ) {
		$('#Keyword').val("");
	}
	$("#cfform").ajaxSubmit(option);
	
	if( $.trim($('#Keyword').val()) == "" ) {
		$('#Keyword').val("You may enter multiple keywords separated by commas(,).");
	}
	var flag = 1;
	changeloading(flag);
	
	return false;
}

function ValidateInputData(vfield) {
	$('#cfformsubmit').attr('disabled', 'disabled');
	
	if (vfield.IsNewUser) {
//		if(!ValidateFirstName(vfield)) {
//			$('#cfformsubmit').removeAttr('disabled');
//			return false;
//		}
//		if(!ValidateLastName(vfield)) {
//			$('#cfformsubmit').removeAttr('disabled');
//			return false;
//		}
		if(!ValidateNickName(vfield)) {
			$('#cfformsubmit').removeAttr('disabled');
			return false;
		}
		if(!ValidatePasswd1(vfield)) {
			$('#cfformsubmit').removeAttr('disabled');
			return false;
		}
		if(!ValidateEmail(vfield)) {
			$('#cfformsubmit').removeAttr('disabled');
			return false;
		}
	}
	if(!ValidateCommunityName(vfield)) {
		$('#cfformsubmit').removeAttr('disabled');
		return false;
	}
	
	if(!ValidateCommunityTitle(vfield)) {
		$('#cfformsubmit').removeAttr('disabled');
		return false;
	}

	if(!ValidateVerifyCode(vfield)) {
		$('#cfformsubmit').removeAttr('disabled');
		return false;
	}
	
	$('#cfformsubmit').removeAttr('disabled');
	
	$('#basepanel').hide();
	$('#skinpanel').show();
	window.location.href="#skinframe";
	var iframe = $('#skinframe')[0];
	try{
		var bHeight = iframe.contentWindow.document.body.scrollHeight;
		var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
		iframe.height = Math.min(dHeight, bHeight);
	} catch (e) {}
	
	return false;
}

function BackReCreate() {
	$('#LoadCoffee').show();
	OverLayHide();
	return false;
}

function changeloading(flag) {
	var loadDiv = $("#nowIsLoading");
	if(flag==1) {
		loadDiv.text("Creating Your Aimoo Forum ....");
	}
	if(flag==2) {
		loadDiv.text("Loading Default Setting .....");
	}
	if(flag==3) {
		loadDiv.text("Setting Forum Style ......");
	}
	if(flag==4) {
		loadDiv.text("Processing Backup ......");
	}
	if(flag==5) {
		loadDiv.text("Jump to Your Forum ......");
	}
	flag=flag+1;
	if(flag!=6) {
		Timer = window.setTimeout('changeloading(' + String(flag) + ');', 2000);
	} else {
	}
}

function clear(vfield) {
	if (vfield.IsNewUser) {
		$('#firstname').text( $('#FirstDescription').val() );
		$('#lastname').text( $('#FirstDescription').val() );
		$('#nickname').text( $('#FirstDescription').val() );
		$('#pwdtip').hide();
		$('#pwdsen').show();
		$('#pwdtip2').text('');
		$('#emailtip').hide();
		$('#emailtip2').show();
	}
	$('#agreetip').hide();
	SetTempDomain();
	$('#cfformsubmit').removeAttr('disabled');
}

function ValidateFirstName(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'FirstName' };
	
	var reg = /(All)|(FirstName)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var username = $('#firstname');
	var success = true;
	if($.trim(username.val()).length == 0) {
		if (vfield.IsSubmit) {
			showerror_info( username, 'fnametip', $('#fristname_empty').val() );
			success = false;
		} else {
			$('#fnametip').text( $('#FirstDescription').val() );
			$('#fnametip').css('color', '');
			success = true;
		}
	} else if(!checkusername(username.val())) {
		showerror_info( username, 'fnametip', $('#fristname_err').val() );
		success = false;
	} else {
		$('#fnametip').text( $('#FirstDescription').val() );
		$('#fnametip').css('color', '');
		success = true;
	}
	
	if (!success) {
		username.select();
		username.focus();
	}
	
	return success;
}

function ValidateLastName(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'LastName' };
	
	var reg = /(All)|(LastName)/;
	if (!reg.test(vfield.VFlag))
		return true;
		
	var username = $('#lastname');
	var success = true;
	if($.trim(username.val()).length == 0) {
		if (vfield.IsSubmit) {
			showerror_info( username, 'lnametip', $('#lastname_empty').val() );
			success = false;
		} else {
			$('#lnametip').text( $('#FirstDescription').val() );
			$('#lnametip').css('color', '');
			success = true;
		}
	} else if(!checkusername(username.val())) {
		showerror_info( username, 'lnametip', $('#lastname_err').val() );
		success = false;
	} else {
		$('#lnametip').text( $('#FirstDescription').val() );
		$('#lnametip').css('color', '');
		success = true;
	}
	
	if (!success) {
		username.select();
		username.focus();
	}
	
	return success;
}

function ValidateNickName(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'NickName' };
	
	var reg = /(All)|(NickName)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var username = $('#nickname');
	var success = true;
	if($.trim(username.val()).length == 0) {
		if (vfield.IsSubmit) {
			showerror_info( username, 'nnametip', $('#nickname_empty').val() );
			success = false;
		} else {
			$('#nnametip').text( $('#FirstDescription').val() );
			$('#nnametip').css('color', '');	
			success = true;
		}	
	} else if(!checkusername(username.val())) {
		showerror_info( username, 'nnametip', $('#nickname_err').val() );
		success = false;
	} else if(!vfield.IsSubmit) {
		VNickName = false;
		$.ajax({
			type:	'GET',
			url:	'/UserReg/regAjax.cfm',
			dataType:	'html',
			data:	{NickName: username.val()},
			success: 	function(html) {
				OverLayHide();	
				var string = $.trim(html);
				var splitStringStart = '[';
				var splitStringEnd = ']';
				var objectString = '';
				if(string.indexOf(splitStringStart) != -1) {
					objectString = string.substring(string.indexOf(splitStringStart) + splitStringStart.length, string.indexOf(splitStringEnd));
				}
				if(objectString == '2') {
					showerror_info(username, 'nnametip', $('#err_nick_ajax').val());
				} else {
					$('#nnametip').text( $('#FirstDescription').val() );
					$('#nnametip').css('color', '');
					VNickName = true;
				}
			},
			error:		function(response) {
				OverLayShow();
				$('#ajaxLoading-overlay').html(response.responseText);
			}
		});
	}
	
	if (!success) {
		username.select();
		username.focus();
	}
	
	return success && VNickName;
}

function ValidatePasswd1(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'Passwd' };
	
	var reg = /(All)|(Passwd)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var passwd = $('#passwd');
	var passwd2 = $('#passwd2');
	var success = true;
	if (passwd.val().length == 0) {
		if (vfield.IsSubmit) {
			$('#pwdsen').hide();
			$('#pwdtip').show();
			showerror_info(passwd, 'pwdtip', $('#psd_err_x').val());
			success = false;
		} else {
			$('#pwdtip').hide();
			$('#pwdsen').show();
			$('#pwdtip2').text('');	
			success = true;
		}
	} else if (passwd.val().length < 6) {
		$('#pwdsen').hide();
		$('#pwdtip').show();
		showerror_info(passwd, 'pwdtip', $('#psd_err_x').val());
		success = false;
	} else if (passwd.val().length > 30) {
		$('#pwdsen').hide();
		$('#pwdtip').show();
		showerror_info(passwd, 'pwdtip', $('#psd_err_d').val());
		success = false;
	} else if (passwd2.val() != passwd.val() && (passwd2.val().length > 0 || (passwd2.val().length == 0 && vfield.IsSubmit))) {
		showerror_info(passwd, 'pwdtip2', $('#psd_err_text').val());
		success = false;
	} else {
		$('#pwdtip').hide();
		$('#pwdsen').show();
		$('#pwdtip2').text('');
		success = true;
	}
	
	return success;
}

function ValidatePasswd2(vfield) {
	var passwd = $('#passwd');
	var passwd2 = $('#passwd2');
	
	if (passwd2.val().length != 0 && passwd2.val().length < 6) {
		showerror_info(passwd2, 'pwdtip2', $('#psd_err_x').val());
	} else if (passwd.val().length > 30) {
		showerror_info(passwd2, 'pwdtip2', $('#psd_err_d').val());
	} else if (passwd2.val() != passwd.val() && passwd.val().length > 0) {
		showerror_info(passwd2, 'pwdtip2', $('#psd_err_text').val());
	} else {
		$('#pwdtip2').text('');
	}
}

function ValidateEmail(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'Email' };
	
	var reg = /(All)|(Email)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var email = $('#email');
	var success = true;
	if($.trim(email.val()).length == 0) {
		if (vfield.IsSubmit) {
			$('#emailtip2').hide();
			$('#emailtip').show();
			showerror_info(email, 'emailtip', $('#email_err_e').val());
			success = false;
		} else {
			$('#emailtip').hide();
			$('#emailtip2').show();
			success = true;
		}
	} else if(!checkemail(email.val())) {
		$('#emailtip2').hide();
		$('#emailtip').show();
		showerror_info( email, 'emailtip', $('#email_err_y').val() );
		success = false;
	} else if(!vfield.IsSubmit) {
		VEmailAdd = false;
		$.ajax({
			type:	'GET',
			url:	'/UserReg/regAjax.cfm',
			dataType:	'html',
			data:	{EmailAddress: $.trim(email.val()), CheckEmailAddress: true, EmailErr: $('#err_email_ajax').val()},
			success: 	function(html) {
				OverLayHide();
				
				var string = $.trim(html);
				var splitStringStart = '[';
				var splitStringEnd = ']';
				var objectString = '';
				
				if(string.indexOf(splitStringStart) != -1) {
					objectString = string.substring(string.indexOf(splitStringStart) + splitStringStart.length, string.indexOf(splitStringEnd));
				}
				if(objectString != '') {
					showerror_info(email, 'emailtip', objectString);
					$('#emailtip2').hide();
					$('#emailtip').show();
				} else {
					$('#emailtip').hide();
					$('#emailtip2').show();
					VEmailAdd = true;
				}
			},
			error:		function(response) {
				OverLayShow();
				$('#ajaxLoading-overlay').html(response.responseText);
			}
		});
	}
	
	if (!success) {
		email.select();
		email.focus();
	}
	
	return success && VEmailAdd;
}

function ValidateCommunityName(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'Domain' };
	
	var reg = /(All)|(Domain)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var CommunityName = $('#CommunityName');
	var success = true;
	if($.trim(CommunityName.val()).length == 0) {
		if (vfield.IsSubmit) {
			showerror_info(CommunityName, "tpName", $('#msg_domain_null').val());
			success = false;
		} else {
			SetTempDomain();
			success = true;
		}
	} else if(!checkformat(CommunityName.val())) {
		showerror_info(CommunityName, "tpName", $('#msg_name_error').val());
		success = false;
	} else if(!vfield.IsSubmit) {
		VCommName = false;
		$.ajax({
			type:	'GET',
			url:	'/community/community_create/checkCommunityname.cfm',
			dataType:	'html',
			data:	{checkname: CommunityName.val()},
			success: 	function(html) {
				OverLayHide();		
				if (html.indexOf("|") >= 0) {
					showerror_info(CommunityName, "tpName", $('#msg_domain_exist').val());
				} else if (html.indexOf("[") >= 0) {
					showerror_info(CommunityName, "tpName", $('#msg_morethan3').val());
				} else {
					showerror_info(CommunityName, "tpName", '');
					SetTempDomain();
					VCommName = true;
				}
			},
			error:		function(response) {
				OverLayShow();
				$('#ajaxLoading-overlay').html(response.responseText);
			}
		});
	}
	
	if (!success) {
		CommunityName.select();
		CommunityName.focus();
	}
	
	return success && VCommName;
}

function ValidateCommunityTitle(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'CTitle' };
	
	var reg = /(All)|(CTitle)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var CommunityTitle = $('#CommunityTitle');
	var success = true;
	
	if($.trim(CommunityTitle.val()).length == 0) {
		if(vfield.IsSubmit) {
			showerror_info(CommunityTitle, 'titletip', $('#msg_name_null').val());
			success = false;
		} else {
			$('#titletip').text('');
			success = true;
		}
	} else {
		$('#titletip').text('');
		success = true;
	}
	
	if (!success) {
		CommunityTitle.select();
		CommunityTitle.focus();
	}
	
	return success;
}

function ValidateVerifyCode(vfield) {
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'VCode' };
	
	var reg = /(All)|(VCode)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var VerifyCode = $('#VerifyCode');
	var success = true;
	if($.trim(VerifyCode.val()).length == 0) {
		if (vfield.IsSubmit) {
			$('#vcodetip2').hide();
			$('#vcodetip').show();
			showerror_info(VerifyCode, 'vcodetip', $('#msg_code_empty').val());
			success = false;
		} else {
			$('#vcodetip').hide();
			$('#vcodetip2').show();
			success = true;
		}
	} else if(!vfield.IsSubmit) {
		VVeriCode = false;
		$.ajax({
			type:	'GET',
			url:	'/Create.cfm',
			dataType:	'html',
			data:	{CheckVerifyCode: VerifyCode.val()},
			success: 	function(html) {
				OverLayHide();
				var startpos=html.indexOf("[");
    			var endpos=html.indexOf("]");
				if (html.substring(startpos+1,endpos)!="1") {
					$('#vcodetip2').hide();
					$('#vcodetip').show();
					showerror_info(VerifyCode, 'vcodetip', $('#msg_errvcode').val());
				} else {
					$('#vcodetip').hide();
					$('#vcodetip2').show();
					VVeriCode=true;
					$('#cfformsubmit').click();
				}
				//return VVeriCode;
			},
			error:		function(response) {
				OverLayShow();
				$('#ajaxLoading-overlay').html(response.responseText);
			}
		});
	}
	
	if (!success) {
		VerifyCode.select();
		VerifyCode.focus();
	}
	return VVeriCode&&success;
}

function ValidateAgree(vfield) {
	
	vfield = vfield || { IsNewUser: true, IsSubmit: false, VFlag: 'VAgree' };
	
	var reg = /(All)|(VAgree)/;
	if (!reg.test(vfield.VFlag))
		return true;
	
	var cbAgree = $('#cbAgree');
	var success = true;
	
	if(cbAgree.attr("checked") == undefined) {
		if(vfield.IsSubmit) {
			success = false;
			$('#agreetip').show();
		} else {
			success = true;
			$('#agreetip').hide();
		}
	}
	
	return success;
}

function SetTempDomain() {
	if ($('#CommunityName').val() == "") {
		//$('#tpName').text('http://yourdomain.aimoo.com');
	} else {
		//$('#tpName').text('http://' + $('#CommunityName').val() + '.aimoo.com');
	}
	$('#tpName').css('color', '');
}

function ChangeVerifyImg() {
	 var param = new Date().getSeconds();
	 var VerifyImg = $('#VerifyImg');
	 VerifyImg.attr('src', '/community/community_create/randimg.cfm?rand=' + param);
	 //var VerifyImg = $('#cf8ver');
	 //VerifyImg.attr('src', '/community/community_create/randimgnew.cfm?rand=' + param);
}

function checkemail(strEmail)
{
	s = $.trim(strEmail); 
 	var p = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 
 	return p.test(s);
}

function checkusername(strusername) {
	s = $.trim(strusername); 
 	var p = /^[A-Za-z0-9_-]+$/; 
 	return p.test(s);
}

function checkformat(strcommunity) {
	s = $.trim(strcommunity); 
 	var p = /^[A-Za-z0-9]+$/; 
 	return p.test(s);
}

function showerror_info(obj, divname, message) {
	$('#' + divname).html(message);
	$('#' + divname).css('color', 'red');
	obj.css('background', '#E8E8E8');
}

function OverLayShow() {
	var overlay = $('#ajaxLoading-overlay');
	$('#shuoming ~ div').hide();
	/*overlay.css("width", $(document).width());
	overlay.css("height", $(document).height());
	overlay.css("opacity", 0.8);
	overlay.css("top", 0);
	overlay.css("left", 0);
	overlay.css("position", "absolute");
	overlay.css("backgroundColor", '#000000');*/
	overlay.show();
}

function OverLayHide() {
	var overlay = $('#ajaxLoading-overlay');
	$('#shuoming ~ div').show();
	$('#skinpanel').hide();
	overlay.hide();
}
