﻿var Objs;
var ActiveHelp = null;

String.prototype.RepeatedChars = function() {
	var Char = '';
	var Result = 0;
	for (var i=0; i<this.length; i++) {
		if (Char == this.charAt(i)) Result++;
		Char = this.charAt(i);
	}
	return Result;
}
function GetCitiesList() {
	var Ajax = new XMLHttp();
	var objCitiesList = document.getElementById('City');
	if (Ajax.Support) {
		Ajax.ErrHandler = function(err) {
		    alert('مرورگر وب قادر به دریافت اطلاعات از سایت نمیباشد');
		}
		Ajax.ResHandler = function(re) {
			var intOptions = objCitiesList.options.length;
			for (var i = 0; i < intOptions; i++) {
				objCitiesList.options[0] = null;
			}
			var Rows = re.split('||');
			for (var i = 0; i < Rows.length - 1; i++) {
				var Cols = Rows[i].split('|');
				var objOption = new Option();
				objOption.value = Cols[1];
				objOption.text = Cols[0];
				objCitiesList.options.add(objOption);
			}
		}
		Ajax.Create('/SignUp.aspx?pvc=' + document.getElementById('ctl00_CPH1_Province').value + '&rnd=' + Math.random());
	}
}
function PasswordStrength() {
	var Help = document.getElementById('PasswordHelp');
	var Meter = Help.getElementsByTagName('IMG')[0];
	var SPANs = Help.getElementsByTagName('SPAN');
	var Password = Objs['Password'].value;
	var Length = Password.length;
	var Score = -1;
	SPANs[1].innerHTML = Length + ' کاراکتر';
	if (Length > 0 && Length < 8) {
		Score = 0;
	} else {
		var LowAlpha = (LowAlpha = Password.match(/[a-z]/g))? LowAlpha.length: 0;
		var UpAlpha = (UpAlpha = Password.match(/[A-Z]/g))? UpAlpha.length: 0;
		var Number = (Number = Password.match(/[\d]/g))? Number.length: 0;
		var SpecialChars = (SpecialChars = Password.match(/[^a-z\d]/ig))? SpecialChars.length: 0;
		var RepeatedChars = Password.RepeatedChars();
		var MixedAlpha = Math.min(LowAlpha, UpAlpha);
		var X = Password.length * 10;
		var Y = 15 * ((MixedAlpha > 2)?2:MixedAlpha);
		var Z1 = 3 * ((Number > 2)?2:Number);
		var Z2 = 3 * ((SpecialChars > 2)?2:SpecialChars);
		var R = RepeatedChars * 5;
		Score = eval(X + Y + Z1 + Z2 - R);
		if (Score >= 122) {
			Y = 15 * ((MixedAlpha > 3)?3:MixedAlpha);
			Z1 = 3 * ((Number > 3)?3:Number);
			Z2 = 3 * ((SpecialChars > 3)?3:SpecialChars);
			Score = eval(X + Y + Z1 + Z2 - R);
		}
	}
	if (Score == -1) {
		SPANs[0].innerHTML = '&nbsp;';
		Meter.style.backgroundPosition = '0px 2px';
	} else if (Score == 0) {
		SPANs[0].innerHTML = 'خیلی کوتاه -';
		Meter.style.backgroundPosition = '0px 2px';
	} else if (Score > 0 && Score < 65) {
		SPANs[0].innerHTML = 'خیلی ضعیف -';
		Meter.style.backgroundPosition = '0px -8px';
	} else if (Score >= 65 && Score < 102) {
		SPANs[0].innerHTML = 'ضعیف -';
		Meter.style.backgroundPosition = '0px -6px';
	} else if (Score >= 102 && Score < 122) {
		SPANs[0].innerHTML = 'متوسط -';
		Meter.style.backgroundPosition = '0px -4px';
	} else if (Score >= 122 && Score < 183) {
		SPANs[0].innerHTML = 'قوی -';
		Meter.style.backgroundPosition = '0px -2px';
	} else {
		SPANs[0].innerHTML = 'خیلی قوی -';
		Meter.style.backgroundPosition = '0px 0px';
	}
}
//function ResetSecurityCode() {
//	var URL = '/SecurityCode.aspx?' + Math.round(Math.random() * 10000000000);
//	document.getElementById('SecurityCodeTbl').getElementsByTagName('IMG')[1].src = URL;
//}
function Init() {
//	ResetSecurityCode();
	Objs = {
		'Password'			:	document.getElementById('ctl00_CPH1_Password'),
		'PasswordConfirm'	:	document.getElementById('ctl00_CPH1_PasswordConfirm'),
		'FirstName'			:	document.getElementById('ctl00_CPH1_FirstName'),
		'LastName'			:	document.getElementById('ctl00_CPH1_LastName'),
		'Gender'			:	document.getElementById('ctl00_CPH1_Gender'),
		'BirthDay'			:	document.getElementById('ctl00_CPH1_BirthDay'),
		'BirthMonth'		:	document.getElementById('ctl00_CPH1_BirthMonth'),
		'BirthYear'			:	document.getElementById('ctl00_CPH1_BirthYear'),
		'Province'			:	document.getElementById('ctl00_CPH1_Province'),
		'City'				:	document.getElementById('City'),
		'Address'		    :	document.getElementById('ctl00_CPH1_Address'),
		'PostalCode'		:	document.getElementById('ctl00_CPH1_PostalCode'),
		'PhoneNumber'		:	document.getElementById('ctl00_CPH1_PhoneNumber'),
		'MobileNumber'		:	document.getElementById('ctl00_CPH1_MobileNumber'),
//		'SocialSecurityCode':	document.getElementById('ctl00_CPH1_SocialSecurityCode'),
		'Email'				:	document.getElementById('ctl00_CPH1_Email'),
		'EmailConfirm'		:	document.getElementById('ctl00_CPH1_EmailConfirm'),
		'AccountNumber'		:	document.getElementById('ctl00_CPH1_AccountNumber'),
		'BankName'		    :	document.getElementById('ctl00_CPH1_BankName'),
//		'SecurityCode'		:	document.getElementById('ctl00_CPH1_SecurityCode'),
		'BankCode'		    :	document.getElementById('ctl00_CPH1_BankCode')
	};
//	document.getElementById('SecurityCodeHelp').onclick = function() {
//		window.open("/SecurityCodeHelp.htm", "SecurityCodeHelp", "width=300, height=190, resizable=0, location=0, status=0, toolbar=0, scrollbars=1");
//		return false
//	}
	document.getElementById('PasswordRules').onclick = function() {
		window.open("/PasswordRules.htm", "PasswordRules", "width=450, height=350, resizable=0, location=0, status=0, toolbar=0, scrollbars=1");
		return false
	}
	for (var ID in Objs) {
		if (ID == 'Password') {
			Objs['Password'].onkeyup = PasswordStrength;
			Objs['Password'].onkeydown = PasswordStrength;
		}
		Objs[ID].onfocus = function() {
			var CurrentHelp = document.getElementById(this.id.replace('ctl00_CPH1_', '') + 'Help');
			if (ActiveHelp) {
				ActiveHelp.style.visibility = 'hidden';
			}
			if (CurrentHelp) {
				var H6 = CurrentHelp.getElementsByTagName('H6')[0];
				if (H6 && CurrentHelp != ActiveHelp) CurrentHelp.removeChild(H6);
				CurrentHelp.style.visibility = 'visible';
			}
			ActiveHelp = CurrentHelp;
		}
	}
//	document.getElementById('SecurityCodeTbl').getElementsByTagName('A')[1].onclick = function() {
//		ResetSecurityCode();
//		return false
//	}
	var objAgreement = document.getElementById('AgreementTbl').getElementsByTagName('TEXTAREA')[0];
	objAgreement.onfocus = function() {
		this.style.height = '200px';
	}
	objAgreement.onblur = function() {
		this.style.height = '100px';
	}
	document.getElementById('AgreementTbl').getElementsByTagName('INPUT')[1].onclick = function() {
		location.href = '/';
	}
	Objs['Province'].onchange = function() {
		GetCitiesList();
	}
}