
function validateMandatory(fieldType,fieldName,alertText){
	switch(fieldType) {
		case 10:
		case 11:
		case 12:
		case 20:
		case 22:
		case 50:
		case 60:
		case 80:
			if (fieldName.value.length == 0) {
				alert (alertText);
				fieldName.focus();
				return false;
			}
			break;
		case 70: 
			if (fieldName.checked != true) {
				alert (alertText);
				fieldName.focus();
				return false;
			}
			break;
	}
	return true;
}

function dateValidation( field ) {
	var str = field.value;
	if (!str) return true;
	var test1 = /^[0-3][0-9]-[0-1][0-9]-20[0-1][0-9]$/;
	var bSuccess = false;
	
	if ( test1.test(str) ) {
		splitstr = str.split('-');
		oDate = new Date(Number(splitstr[2]),(Number(splitstr[1])-1),Number(splitstr[0]));
		strDate = oDate.getDate() + "-" + (oDate.getMonth()+1) + "-" + oDate.getFullYear();
		strDateComp = Number(splitstr[0]) + "-" + Number(splitstr[1]) + "-" + Number(splitstr[2]);
		if ( strDate != strDateComp ) return false;
		bSuccess = true;
	}

	return bSuccess;
}

function timeValidation( field ) {
	var str = field.value;
	if (!str) return true;
	var test1 = /^[0-2][0-9]:[0-5][0-9]$/;
	var bSuccess = false;
	
	if ( test1.test(str) ) {
		splitstr = str.split(':');
		oDate = new Date(2000,1,1,Number(splitstr[0]),(Number(splitstr[1])));
		strTime = oDate.getHours() + ":" + oDate.getMinutes();
		strTimeComp = Number(splitstr[0]) + ":" + Number(splitstr[1]);
		if ( strTime != strTimeComp ) return false;
		bSuccess = true;
	}

	return bSuccess;
}

function validateContent(fieldType,fieldName,alertText){
	switch(fieldType) {
		case 11:
			if (fieldName.value == 'http://') {
				fieldName.value = '';
				break;
			}
			
			if (fieldName.value.length >= 0) {
				var urlRegxp = /(((http|https):\/\/)?((([a-zA-Z0-9]+\.)?[a-zA-Z0-9\-]+(\.[a-zA-Z]+){1,2}))+(:[1-9][0-9]*)?)+((\/([a-zA-Z0-9_\-\%\~\+]+)?)*)?(\.([a-zA-Z0-9_]+))?(\?([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?(\&([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?)*)?/;
				//(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?/;
				if (urlRegxp.test(fieldName.value) != true) {
					alert (alertText);
					fieldName.focus();
					return false;
				}
			}
		break;
		
		case 12:
			if (!emailvalidation( fieldName )) {
				alert (alertText);
				fieldName.focus();
				return false;
			}
		break;
		
		case 20:
			if (!dateValidation( fieldName )) {
				alert (alertText);
				fieldName.focus();
				return false;
			}
		break;

		case 22:
			if (!timeValidation( fieldName )) {
				alert (alertText);
				fieldName.focus();
				return false;
			}
		
		break;
	}
	return true;
}


function toggleLayer(whichLayer)
{
	if (document.getElementById)
	{
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display ? "" : "block";
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display ? "" : "block";
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display ? "" : "block";
	}
}

function hideLayer(whichLayer)
{
	if (document.getElementById)
	{
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display ? "" : "none";
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display ? "" : "none";
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display ? "" : "none";
	}
}

function confirmDelete()
{
    var agree=confirm("Er du sikker på du vil slette?");
    if (agree)
        return true;
    else
        return false;
}

function confirmCopy()
{
    var agree=confirm("Vil du gemme som ny kopi?");
    if (agree)
        return true;
    else
        return false;
}

function confirmDeleteText(text)
{
    var agree=confirm("Er du sikker på du vil slette '" + text + "'?");
    if (agree)
        return true;
    else
        return false;
}

function onFocusClear( field, strMatch ) {
	if ( field.value == strMatch ) {
		field.value = '';
	}
}
/*
function SubscribeSubmit() {
	var alertString = "";

	if ( (trim(document.form_subscribe.name.value) == "") || (document.form_subscribe.name.value == "Indtast dit navn") ) {
		alertString += "Du skal skrive dit navn";
		document.form_subscribe.name.focus();
	} 

	if ( !emailvalidation(document.form_subscribe.email) ) {
		if ( alertString != "" ) {
			alertString += "\nog en korrekt email-adresse";
		}
		else {
			alertString += "Email-adressen er ikke korrekt.";
			document.form_subscribe.email.focus();
		}
	} 

	if ( alertString == "" ) {
		document.form_subscribe.submit();
	}
	else {
		alert( alertString + ".\n\nPrøv venligst igen.");
	}
}
*/

function emailvalidation( field ) {
	var str = field.value;
	var test1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var test2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	var alertString = "";
	var bSuccess = false;
	
	if ( !test1.test(str) && test2.test(str) ) {
		bSuccess = true;
	}

	return bSuccess;
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function openBrowser(setFunction,resourceType) {
	var ckFinder = new CKFinder(); 
	ckFinder.BasePath='/chiliweb/plugins/ckfinder/';
	ckFinder.SelectFunction=setFunction;
	ckFinder.PopupType(resourceType);	
}

function openImgUpload(field,id) {
	var url = '/admin.php?com=img&id='+id+'&field='+field;
	openImgUploadUrl(url);
}

function openImgUploadUrl(url) {
	var h = 350;
	var w = 400;
	var top = parseInt( ( window.screen.height - h ) / 2 ) ;
	var left = parseInt( ( window.screen.width  - w ) / 2 ) ;
	var options = 'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=no' +
			',width=' + w + ',height=' + h +
			',top='  + top +
			',left=' + left ;
	var popupWindow = window.open( '', 'imguploadwin', options, true ) ;
	
	if ( !popupWindow ) return false ;
	
	try
		{
			popupWindow.moveTo( left, top ) ;
			popupWindow.resizeTo( w, h ) ;
			popupWindow.focus() ;
			popupWindow.location.href = url ;
		}
		catch (e)
		{
			popupWindow = window.open( url, 'imguploadwin', options, true ) ;
		}
}


// -------------------------

function chiliCheckAll(fmobj)
{
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != '_selectall') && (e.type=='checkbox') && (!e.disabled))
		{
			e.checked = fmobj._selectall.checked;
		}
	}
}

function chiliCheckSingle(fmobj)
{	
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != '_selectall') && (e.type=='checkbox'))
		{
			TotalBoxes++;
			if (e.checked)
			{
				TotalOn++;
			}
		}
	}
	
	if (TotalBoxes==TotalOn)
	{
		fmobj._selectall.checked=true;
	}
	else
	{
		fmobj._selectall.checked=false;
	}
}

function onFocusClear( field, strMatch ) {
	if ( field.value == strMatch ) {
		field.value = '';
	}
}

