var isDOM=document.getElementById?1:0;
var isIE=document.all?1:0;
var isNS4=navigator.appName=='Netscape'&&!isDOM?1:0;

function getRef(i, p) {
	p = !p ? document : p.navigator ? p.document:p;
	return isIE ? p.all[i]:isDOM ? (p.getElementById ? p : p.ownerDocument ).getElementById(i) : isNS4 ? p.layers[i] : null;
}

function goBack() {
		window.history.back();
}

var passminlen = 6;
var datesep = '/';
var timesep = ':';

function validate(field, type, name) {
	switch (type) {
		case 'string':
			if (field.value == '') {
				alert(name);
				field.focus();
				return false;
			}
			break;

		case 'email':
			if ((field.value.indexOf('@') == -1 
					|| field.value.indexOf('.') == -1 
					|| field.value.indexOf('.', field.value.indexOf('@')) <= field.value.indexOf('@')+1
					|| field.value.length < 6)
					&& field.value != 'admin' ) {
				
				alert(name);
				field.focus();
				return false;
			}
			break;

		case 'password':
			if (field.value == ''
					|| (field.value.length < passminlen && field.value != 'admin')) {
				alert(name);
				field.focus();
				return false;
			}
			break;

		case 'number':
			for (var x=0; x<field.value.length; x++) {
				var ch = field.value.charAt(x);

				if (( ch < '0' || ch > '9' ) && ch != '.') {
					alert(name);
					field.focus();
					return false; 
				}
			}
			break;

		case 'non0number':
			if (field.value == '' || Number(field.value) == 0) {
				alert(name);
				field.focus();
				return false;
			}

			for (var x=0; x<field.value.length; x++) {
				var ch = field.value.charAt(x);
				
				if (( ch < '0' || ch > '9' ) && ch != '.') {
					alert(name);
					field.focus();
					return false; 
				}
			}
			break;

		case 'date_mdy':
			var d = new Date(field.value.substr(6, 4)
						, Number(field.value.substr(0, 2))-1
						, field.value.substr(3, 2));
			
			var d2 = ((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep
						+((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep
						+Number(d.getFullYear()).toString();

			if ((field.value != d2 
					|| field.value.charAt(2) != datesep
					|| field.value.charAt(5) != datesep
					|| field.value.length != 10) && field.value != '') {
				alert(name);
				field.focus();
				return false; 
			}
			break;

		case 'date_dmy':
			var d = new Date(field.value.substr(6, 4)
												, Number(field.value.substr(3, 2))-1
												, field.value.substr(0, 2));
			
			var d2 = ((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep
								+((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep
								+Number(d.getFullYear()).toString();

			if ((field.value != d2 
					|| field.value.charAt(2) != datesep
					|| field.value.charAt(5) != datesep
					|| field.value.length != 10) && field.value != '') {
				alert(name);
				field.focus();
				return false; 
			}
			break;

		case 'time24':
			if (field.value.charAt(2) != timesep
					|| field.value.length != 5
					|| Number(field.value.substr(0, 2)) > 23
					|| Number(field.value.substr(3, 2)) > 59) {
				alert(name);
				field.focus();
				return false; 
			}
			break;

		case 'radio':
			if (field.value == null) {
				alert(name);
				return false; 
			}
			break;

		case 'url':
			if (field.value.substr(0, 7) != 'http://' 
					|| field.value.indexOf('.') == -1 
					|| field.value.indexOf(' ') != -1 
					|| field.value.length < 11) {
				
				alert(name);
				field.focus();
				return false;
			}
			break;

		case 'country':
			if (field.value.substr(0,2) == '--') {
					alert(name);
					field.focus();
					return false;
			}
			break;	

		case 'captcha':
			if (field.value == '' || field.value.length != 5) {
					alert(name);
					field.focus();
					return false;
			}
			break;	

		case 'phone':
			var checkOK = "0123456789+() -";
			var checkStr = field.value;
			var allValid = true;
			if(checkStr.length < 6){
				alert(name);
				field.focus();
				return false;	
			}

			for (i = 0;  i < checkStr.length;  i++)
			{
				ch = checkStr.charAt(i);
				for (j = 0;  j < checkOK.length;  j++)
					if (ch == checkOK.charAt(j))
						break;
				if (j == checkOK.length)
				{
					allValid = false;
					break;
				}
			}
			if (allValid==false) {
				alert(name);
				field.focus();
				return false;
			}
			break;
	}

	return true;
}

function ConfirmDel(url, name) {
		if (confirm('Are you sure you want to delete this '+name))
			window.location.href = url;
}

function valCat() {
		f = window.document.editform;
		if (f.lx_type[0].checked || f.lx_type[1].checked){
			ret = validate(f.lx_name, 'string', 'cat name');
			return ret;
		}
}

function valVideos_Category() {
	f = window.document.editform;
	ret = validate(f.lx_title, 'string', 'Please complete the title field ');
	return ret;
}

function lxSelectMove(source, destine) {

	var src = getRef(source);
	var dst = getRef(destine);
	var temp = new Array();
	
	for (var x=0; x<src.length; x++)
		if (src.options[x].selected) {
			dst.options[dst.length] = new Option(src.options[x].text, src.options[x].value, false, false);
			temp.push(src.options[x].value);
		}
		
	for (x=0; x<temp.length; x++)
		for (y=0; y<src.length; y++)
			if (Number(src.options[y].value) == temp[x]) {
				src.remove(y);
				break;
			}
}

function lxSelectList(listname) {

	var lname = getRef(listname);
	
	for (var x=0; x<lname.length; x++)
		lname.options[x].selected = true;
}
