﻿function scrollToElement(elementId) {
	var element = document.getElementById(elementId);
	if (element != null) {
		element.scrollIntoView();
	}
}

function ShowHelp(url) {
	window.open(url, null, "height=300,width=600,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
	return false;
}

function IsPurchasePageValidator(validator) {
	return (validator.validationGroup == 'LoginForm' || validator.validationGroup == 'BuyForm') ? true : false;
}

function BtnClick(validationGroup) {
	for (var i = 0; i < Page_Validators.length; i++) {
		if (IsPurchasePageValidator(Page_Validators[i])) {
			ClearValidated(Page_Validators[i].controltovalidate);
		}
	}
	
	var val = Page_ClientValidate(validationGroup);
	if (!val) {
		for (var i = 0; i < Page_Validators.length; i++) {
			if (IsPurchasePageValidator(Page_Validators[i])) {
				ToggleClass(Page_Validators[i].controltovalidate, Page_Validators[i].isvalid);
			}
		}
	}

	jQuery('.checkBox input[type="checkbox"]').each(function() {
		if (jQuery(this).hasClass('notValid')) {
			jQuery(this).removeClass('notValid');
			jQuery(this).parent('span').parent('span').addClass('notValid');
		} else {
			jQuery(this).parent('span').parent('span').removeClass('notValid');
		}
	});
	
	// check email manually
	var emailIsValid = CheckEmail(_emailId);
	val = val && emailIsValid;
	// scroll to the form
	if (!val) {
		scrollToElement(_validationSummaryId);
	}
	return val;
}

function LogInButtonClick() {
	return true;
}

function CheckEmail(elementId) {
	var value = ValidatorGetValue(elementId);
	if (ValidatorTrim(value).length == 0) {
		ToggleClass(elementId, false);
		return false;
	}
	var rx = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9_\-]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;
	var result = rx.test(value);

	ToggleClass(elementId, result);
	return result;
}

function ToggleClass(element, valid) {
	if (!valid) {
		if (!Sys.UI.DomElement.containsCssClass($get(element), "notValid")) {
			Sys.UI.DomElement.addCssClass($get(element), "notValid");
		}
	}
	else {
		if (!Sys.UI.DomElement.containsCssClass($get(element), "isValidated")) {
			if (Sys.UI.DomElement.containsCssClass($get(element), "notValid")) {
				Sys.UI.DomElement.removeCssClass($get(element), "notValid");
			}
		}
	}

	if (!Sys.UI.DomElement.containsCssClass($get(element), "isValidated")) {
		Sys.UI.DomElement.addCssClass($get(element), "isValidated");
	}
}

function ClearValidated(element) {
	if (Sys.UI.DomElement.containsCssClass($get(element), "isValidated")) {
		Sys.UI.DomElement.removeCssClass($get(element), "isValidated");
	}
}

function ValidatePasswordRepeat(sender, args) {
	var pwd = document.getElementById(_password1Id);
	var pwdr = document.getElementById(_password2Id);
	args.IsValid = pwd.value == pwdr.value;
}

function ValidateOrgNumber(sender, args) {
	var orgNum = document.getElementById(_organizationNumberId);
	var payMthd = document.getElementById(_paymentMethodId);

	var pval = payMthd.options[payMthd.selectedIndex].value;
	if (pval != "Invoice") {
		args.IsValid = true;
	}
	else {
		var orgNumVal = orgNum.value;
		args.IsValid = !(orgNumVal == "" || orgNumVal == null);
	}
}

function ToggelWaterMarkClass(element) {
	var watermark = Sys.UI.DomElement.containsCssClass(element, "watermark");
	var validator = GetValidator(element.id);
	if (watermark && (element.value != validator.initialvalue && element.value != "")) {
		Sys.UI.DomElement.removeCssClass(element, "watermark");
	}
	else if (!watermark && (element.value == validator.initialvalue || element.value == "")) {
		Sys.UI.DomElement.addCssClass(element, "watermark");
	}
}

function GetValidator(id) {
	for (var i = 0; i < Page_Validators.length; i++) {
		if (Page_Validators[i].controltovalidate == id) {
			return Page_Validators[i];
		}
	}
	return null;
}

function OnValidatedCheckBox(checkBox, validated) {
	ToggleClass(checkBox, validated);
}

