﻿
function $(id) {
	return document.getElementById(id);
}

function writeFlash8(src, w, h, bg, flashVars) {
	document.write(
		'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + w + '" height="' + h + '">' +
		'<param name="movie" value="' + src + '">' +
		'<param name="quality" value="high">' +
		'<param name="bgcolor" value="' + bg + '">' +
		'<param name="flashvars" value="' + flashVars + '">' +
		'<embed src="' + src + '" flashvars="' + flashVars + '" quality="high" bgcolor="' + bg + '" width="' + w + '" height="' + h + '"  type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>' +
		'</object>'
	);
}

function writeFlash(src, w, h) {
	writeFlash8(src, w, h, '#cccccc', '');
}

function Validation(field, type, msg) {
	this.field = field;
	this.type = type;
	this.msg = msg;
}

Validation.prototype.valid = function(frm) {
	var obj = frm[this.field];
	var valid = true;
	if (obj) {
		var value = obj.value;
		switch (this.type) {
			case 'empty': valid = value.length > 0; break;
			case 'num': valid = /^\d+$/.test(value); break;
			case 'email': valid = /^[\w\-%~\.]+@[\w\-\.]+\.[\w]{2,4}$/.test(value); break;
			case 'date': valid = /(19|20)\d{2}-(0?[1-9]|1[0-2])-(0?[1-9]|[12]\d|3[01])/.test(value); break;
			case 'username': valid = /.{3,}/.test(value); break;
			case 'radio': valid = false; for (var i=0; i<obj.length; i++) if (obj[i].checked) valid = true; break;
		}
		if (valid) {
			if (this.type!='radio') {
				obj.style.backgroundColor = '';
			}
		} else {
			alert(this.msg);
			if (this.type!='radio') {
				obj.focus();
				obj.style.backgroundColor = '#ffc';
			}
		}
	}
	return valid;
}

function validate(frm, items) {
	for (var i=0; i<items.length; i++) {
		if (!items[i].valid(frm)) {
			return false;
		}
	}
	return true;
}

var blink;
function blink(id, colors) {
	blink = new Object();
	blink.Id = id;
	blink.Colors = colors;
	blink.Index = 0;
	window.setInterval('blinker()', 150);
}

function blinker() {
	$(blink.Id).style.display = '';
	$(blink.Id).style.color = blink.Colors[blink.Index];
	blink.Index++;
	if (blink.Index >= blink.Colors.length) blink.Index = 0;
}
