document.validateone = function(obj)
{
	if (!obj.name)
		obj.name=obj.id;
	if ((obj.type=='button')||(obj.type=='submit')) return true;
	if (obj.value)
	{
		if (/email/.test(obj.name))
			var regexp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
		else if (/(phone)|(postal)/.test(obj.name))
		 	var regexp = /^((\d[- ]?)+)$/
		else
		 	var regexp = '';
		 if (regexp)
	    	validone = regexp.test(obj.value)
	    else
	    	validone = true;
	    if (validone)
	    	obj.style.border = '1px solid green'
	    else
	    	obj.style.border = '1px solid red';
	    return validone;
	}
	if (obj.alt=='obl')
    	obj.style.border = '1px solid red'
    else
		obj.style.border = '1px solid #7F9DB9';
	return (obj.alt!='obl');
}

document.validateform = function()
{
	if (document.getElementsByTagName)
	{
		inputs = document.getElementsByTagName('INPUT');
		out = true;
		for (i=0;i<inputs.length;i++)
		{
			if (!document.validateone(inputs[i]))
				out = false;
		}
		inputs = document.getElementsByTagName('TEXTAREA');
		for (i=0;i<inputs.length;i++)
		{
			if (!document.validateone(inputs[i]))
				out = false;
		}
		if (!out)
		{
			alert(document.html2ASCII('Var god korrigera/fyll i r&ouml;dm&auml;rkta f&auml;lt'));
			return false;
		}
	}
	return true; 
}

document.html2ASCII = function(inputstring)
{
    out = inputstring.replace('&auml;',unescape('%E4')).replace('&aring;',unescape('%E5')).replace('&ouml;',unescape('%F6')).replace('&Auml;',unescape('%C4')).replace('&Aring;',unescape('%C5'));
    out = out.replace('&auml;',unescape('%E4')).replace('&aring;',unescape('%E5')).replace('&oring;',unescape('%F6')).replace('&Auml;',unescape('%C4')).replace('&Aring;',unescape('%C5'));
   return out;
} 
document.sendemailfunction = function(pre,at,post,name)
{
	document.write('<a href="mailto:'+pre+'@'+at+'.'+post+'">'+name.replace(/\|\|at\|\|/i,'@')+'</a>');
} 
//<a href="mailto:ccount@mit.edu,mailtome@example.com?cc=test@example.com&amp;subject=This%20is%20the%20subject&amp;body=and%20this%20is%20the%20body">Mail Me</a>

document.megamailfunction = function(obj,email,subject,body)
{
	if (document.getElementsByTagName)
	{
		cut = false;
		hrefvar = email+'¤¤'+subject+'¤¤'+body;
		inputs = document.getElementsByTagName('INPUT');
		out = true;
		for (i=0;i<inputs.length;i++)
			if (inputs[i].name)
				hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].name+'[|][|]','gi'),inputs[i].value);
			else if (inputs[i].id)
				hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].id+'[|][|]','gi'),inputs[i].value);
		inputs = document.getElementsByTagName('TEXTAREA');
		for (i=0;i<inputs.length;i++)
		{
			old = hrefvar;
			if (inputs[i].name)
				hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].name+'[|][|]','gi'),inputs[i].value);
			else if (inputs[i].id)
				hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].id+'[|][|]','gi'),inputs[i].value);
			if (escape(hrefvar).length>1970) 
			{
				hrefvar = old;
				if (inputs[i].name)
					hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].name+'[|][|]','gi'),'');
				else if (inputs[i].id)
					hrefvar = hrefvar.replace(new RegExp('[|][|]'+inputs[i].id+'[|][|]','gi'),'');
				cut = true;
			}
		}
	}
	hrefvar = hrefvar.split('¤¤');
	if (cut) alert(document.html2ASCII('L&auml;nken blev f&ouml;r l&aring;ng var god klipp in texten i emailet.'));
	obj.href = 'mailto:'+hrefvar[0]+'?subject='+escape(hrefvar[1])+'&body='+escape(hrefvar[2]);
	return true;
} 

document.dateformedit = function(date,formname)
{
	if (!date) date = UnixtoSql('');
	document.write('<input id="dateformeditor" onblur="document.setdateformedit(this)" value="'+date.replace(/20(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+/,'20$1-$2-$3 $4:$5')+'">');
	document.write('<input id="dateformedit" name="'+formname+'" value="'+date+'" type="hidden">');
	document.write('<link href="css/dynCalendar.css" rel="stylesheet"><script type="text/javascript" src="js/browserSniffer.js"><\/script>');
	document.write('<script type="text/javascript" src="js/dynCalendar.js"><\/script>&nbsp;<span id="calendar"></span>');
	document.write('<script>setTimeout(function() { document.newdynCalendar() },1000);<\/script>');
} 

document.newdynCalendar = function()
{
	if (dynCalendar)
	{
		calendar1 = new dynCalendar("calendar1", 'document.newdynCalendarCallback');
		document.getElementById("calendar").innerHTML = calendar1.HTML;
	}
	else
		setTimeout(function() { document.newdynCalendar() },1000);
}

document.newdynCalendarCallback = function(date, month, year)
{
	document.getElementById("dateformeditor").value = year+'-'+month+'-'+date;
	document.setdateformedit(document.getElementById("dateformeditor"));
}

document.setdateformedit = function(obj)
{
	hidobj = document.getElementById("dateformedit");
	sqldate = SqltoUnix(hidobj.value);
	if (time = obj.value.match(/(^| )(([0-1][0-9])|(2[0-3]))[:]?([0-5][0-9])( |$)/))
	{
		sqldate.setHours(time[2]);
		sqldate.setMinutes(time[5]);
	}
	if (date = obj.value.match(/(^| )(([12][90]\d\d)[-\. ]((0?[1-9])|(1[0-2]))[-\. ](([0-2]?[0-9])|(3[01])))( |$)/))
		sqldate.setFullYear(date[3],Math.round(date[4])-1,date[7]);

	hidobj.value = UnixtoSql(sqldate);
	obj.value = hidobj.value.replace(/(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+/,'$1-$2-$3 $4:$5');
} 
function SqltoUnix(sql)
{	
	return new Date(parseInt(sql.substr(0,4)),parseInt(sql.substr(4,2),10)-1,parseInt(sql.substr(6,2), 10),parseInt(sql.substr(8,2),10),parseInt(sql.substr(10,2)),parseInt(sql.substr(12,2)));
}
function UnixtoSql(unix)
{	
	if (!unix)  unix = new Date();
	month = unix.getMonth()+1;
	if (month < 10) month = '0' + month;
	day = unix.getDate();
	if (day < 10) day = '0' + day;
	hour = unix.getHours();
	if (hour < 10) hour = '0' + hour;
	minute = unix.getMinutes();
	if (minute < 10) minute = '0' + minute;
	seconds = unix.getSeconds();
	if (seconds < 10) seconds = '0' + seconds;
	return unix.getFullYear()+''+month+day+hour+minute+seconds;
}

