var checkOldDateTime = false;
var strDateText2 = 'Feltet skal indeholde en dato og tid\ni formatet:\ndd-mm-yyyy hh:nn\neller\nddmmyy hhnn\neller\nddmmyyhhnn';

function trim (str) {
    var str = str.replace(/^\s\s*/, ''), ws = /\s/, i = str.length;
    while (ws.test(str.charAt(--i)));
    return str.slice(0, i + 1);
}

function isEmail(emailStr){
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if(matchArray==null){
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for(i=0; i<user.length; i++){
if(user.charCodeAt(i)>127){
return false;
}
}
for(i=0;i<domain.length;i++){
if(domain.charCodeAt(i)>127){
return false;
}
}
if(user.match(userPat)==null){
return false;
}
var IPArray=domain.match(ipDomainPat);
if(IPArray!=null){
for(var i=1;i<=4;i++){
if(IPArray[i]>255){
return false;
}
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for(i=0;i<len;i++){
if(domArr[i].search(atomPat)==-1){
return false;
}
}
if(domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){
return false;
}
if(len<2){
return false;
}
return true;
}

function doDriverLock(obj,lock,driver){
	var curID = driver.options[driver.selectedIndex].value;
	if (curID== -1){
		alert('Du kan kun låse en chauffør,\nefter denne er valgt');
	} else {
		if (lock.value!='0'){
			lock.value='0'
			obj.src = 'images/lock-0.png';
			driver.disabled = false;
		} else {
			lock.value=curID;
			obj.src = 'images/lock-1.png';
			driver.disabled = true;
		};
	};
	return false;
}

function doDriverLock2(img,lock,driver){
	var curID = driver.options[driver.selectedIndex].value;
	if (curID== -1){
		alert('Du kan kun låse en chauffør,\nefter denne er valgt');
	} else {
		if (lock.value!='0'){
			lock.value='0'
			img.src = 'images/lock-0.png';
			driver.disabled = false;
		} else {
			lock.value=curID;
			img.src = 'images/lock-1.png';
			driver.disabled = true;
		};
	};
	return false;
}

function doAddress(obj,aObj){
	sAddressObject=aObj;
	sAddressChecked=0;
	sAddressTimeout=0;
	sAddress=aObj.value;
	var value=obj.value;
	var url='phone7.asp?P='+value;
	window.open(url, '_blank', 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
	sAddressTimer=setTimeout('doAddressTimeOut_v2()',100);
}
function doAddress_v2(obj,aObj){
	sAddressObject=aObj;
	sAddressChecked=0;
	sAddressTimeout=0;
	sAddress=aObj.value;
	var value=obj.value;
	var url='phone6.asp?P='+value;
	window.open(url, '_blank', 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
	sAddressTimer=setTimeout('doAddressTimeOut_v2()',100);
}

function doAddress_eniro(obj,aObj){
	sAddressObject=aObj;
	sAddressChecked=0;
	sAddressTimeout=0;
	sAddress=aObj.value;
	var value=obj.value;
	var URL='ajax_eniro.asp?P='+value;

	$.ajax({
		url: URL,
		dataType: "script",
		success: function(data){
			data;
			if (phone != "")
			{
				$("#CustInvoicePhone").val(phone);
			}
			if (custIDno != "")
			{
				$("#CustIDno").val(custIDno);
			}
			if (Address != "")
			{
				$("#CustInvoiceAddr").val(Address);
			}
			if (CustName != "")
			{
				$("#CustName").val(CustName);
			}
			if (EAN != "")
			{
				$("#EAN").val(EAN);
			}
			if (AccountNum != "")
			{
				$("#AccountNum").val(AccountNum);
			}
			if (CustOrderEmail != "")
			{
				$("#CustOrderEmail").val(CustOrderEmail);
			}
			if (InvoiceEmail != "")
			{
				$("#InvoiceEmail").val(InvoiceEmail);
			}
			if (VATnumber != "")
			{
				$("#VATnumber").val(VATnumber);
			}
			if (DriverInfo != "")
			{
				var txt = $("#DriverInfo").val();
				if (txt){ txt += '\n'; }
				txt += DriverInfo;
				$("#DriverInfo").val(txt.substring(0,253));
			}
			if (CustInfo != "")
			{
				$("#InformationText").html(CustInfo);
			}

			if (kaCustomerIDno > 0)
			{
				$("#kaCustomerIDno").val(kaCustomerIDno);
			}
			if (InvoiceCollect != "")
			{
				$("#InvoiceCollect").val(InvoiceCollect);
			}
			if (DiscountGroupIDno != "")
			{
				$("#DiscountGroupIDno").val(DiscountGroupIDno);
			}
		}
	})

//	window.open(url, '_blank', 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
//	sAddressTimer=setTimeout('doAddressTimeOut_v2()',100);
}

function cfautoidno(obj){
	cf();
	if (($("#CustPrice").val()=="")||($("#CustPrice").val()=="0,00")){
		console.log('getPrice() init');
		setTimeout('getPrice()',1000);
	}
}

function getPrice(){
console.log('getPrice() start');
	$.ajax({
		url: 'ajax_getPrice.asp',
		data: { CustIDno: $("#CustIDno").val(), ItemIDno: $("#ItemIDno").val(), BusIDno: $("#BusIDno").val(), DateStart: $("#DateStart").val() },
		success: function(json_data){
			var data = JSON.parse(json_data);
			if (data.response.price)
			{
				var sValue = '' + data.response.price;
				sValue = sValue.replace(".", ",");
				$("#CustPrice").val(sValue);
console.log('getPrice: ' + sValue + " : " + $("#CustPrice").val());
			} else {
console.log('getPrice unchanged');
			}
		}
	})

}

function doAddressTimeOut(){
	sAddressTimeout += 1;
//	alert(sAddressChecked+'\n'+sAddress+'\n'+sAddressTimeout);

	if (sAddressTimeout>30)
	{
		alert('Kan ikke få informationen.');
		clearTimeout(sAddressTimer);
	} else
	{

		if (sAddressChecked==1){
			sAddressObject.value=sAddress;
		}else
		{
			sAddressTimer=setTimeout('doAddressTimeOut()',100);
		}
	}
}

function doAddressTimeOut_v2(){
	sAddressTimeout += 1;
//	alert(sAddressChecked+'\n'+sAddress+'\n'+sAddressTimeout);

	if (sAddressTimeout>30)
	{
		alert('Kan ikke få informationen.');
		clearTimeout(sAddressTimer);
	} else
	{

		if (sAddressChecked==1){
//			sAddressObject.value=sAddress;
		}else
		{
			sAddressTimer=setTimeout('doAddressTimeOut_v2()',100);
		}
	}
}

function isTimeOK(hour,min){
	var test = new Date(2005,2,1,hour,min);
	if((hour == test.getHours()) && (min == test.getMinutes())){
		return hour+':'+min;
	}else { return ''; }
}

function isTime(str){
	var t='';
	var r1 = new RegExp('^[0-9]{2}:[0-9]{2}$');
	var r2 = new RegExp('^[0-9]{4}$');
	var r3 = new RegExp('^[0-9]{2}$');
	var r4 = new RegExp('^[0-9]{1}$');
	if (r1.test(str)){
		t = isTimeOK(str.substring(0,2),str.substring(3,5));
	}else if (r2.test(str)){
		t = isTimeOK(str.substring(0,2),str.substring(2,4));
	}else if (r3.test(str)){
		t = isTimeOK(str.substring(0,2),'00');
	}else if (r4.test(str)){
		t = isTimeOK('0'+str.substring(0,1),'00');
	}
	return t;
}
function cft(object){
	cf();

	var str=object.value;
	if(str===''){return true;}else{
	str=isTime(str);
	if (str==='') {
		window.alert(strTimeText);
		object.focus();
		return false;
	}else{
		object.value=str;
		return true;
	}}
}


function cf(){ FieldChanged = true; }
function cfta(){cf();return true;}




function doVatNumber(){
	var value=document.data.FIELD_VATnumber.value;
	if (value.length==0)
	{window.open('http://www.cvr.dk/Site/Forms/CompanySearch/CompanySearch.aspx', '_blank', '');
	}else{
	if(value.length != 8){alert('CVR nr skal være på 8 tal.');}else{var url='http://www.cvr.dk/Site/Forms/PublicService/DisplayCompany.aspx?cvrnr='+value;window.open(url, '_blank', '');}}}


function y2k(year) { return (year < 100) ? parseInt(year,10) + 2000 : (year < 200) ? parseInt(year,10) + 1900 : year;}
function n2(value) { return (parseInt(value,10) < 10) ? '0' + parseInt(value,10) : '' + value;}

function date(){
	var d = new Date();
	return n2(d.getDate())+'-'+n2(d.getMonth()+1)+'-'+d.getFullYear();
}
function datetime(){
	var d = new Date();
	return n2(d.getDate())+'-'+n2(d.getMonth()+1)+'-'+d.getFullYear()+' '+n2(d.getHours())+':'+n2(d.getMinutes());
}

function isDateOK(xday,xmonth,xyear){
	var d = new Date();
	xmonth=((!xmonth)?d.getMonth()+1:xmonth);
	xyear=((!xyear)?d.getFullYear():y2k(xyear));
	var test = new Date();
	test.setFullYear(xyear,xmonth-1,xday)
	if((test.getFullYear() == xyear) &&
		(xmonth == test.getMonth()+1) &&
		(xday == test.getDate())){
			return n2(xday)+'-'+n2(xmonth)+'-'+xyear;
		}
	else
		{
			return '';
		}
}


function isDateTimeOK(day,month,year,hour,min) {
	var d = new Date();
	month=((!month)?d.getMonth()+1:month);
	year=((!year)?y2k(d.getYear()):y2k(year));
	hour=((!hour)?'00':hour);
	min=((!min)?'00':min);
    var test = new Date(year,month-1,day,hour,min);

	if ( (y2k(test.getYear()) == y2k(year)) &&
         (month == test.getMonth()+1) &&
         (day == test.getDate()) &&
         (hour == test.getHours()) &&
         (min == test.getMinutes()) ) {
			if ((checkOldDateTime) && ( test< (new Date()) ))
			{return '';}
			else{
		        return day+'-'+month+'-'+y2k(year)+' '+hour+':'+min;
			}
	}
    else
	{
//		alert(y2k(test.getYear())+'='+y2k(year)+' '+month+'='+test.getMonth+' '+day+'='+test.getDate+' '+hour+'='+test.getHours+' '+min+'='+test.getMinutes);
        return '';
	}
}

function isDate(str){
	var d='';
	var r1 = new RegExp('^[0-9]{2}-[0-9]{2}-[0-9]{4}$');
	var r2 = new RegExp('^[0-9]{8}$');
	var r3 = new RegExp('^[0-9]{1}|[0-9]{2}|[0-9]{4}|[0-9]{6}$');
	if (r1.test(str)){d = isDateOK(str.substring(0,2),str.substring(3,5),str.substring(6,10));}
	else if (r2.test(str)){d = isDateOK(str.substring(0,2),str.substring(2,4),str.substring(4,8));}
	else if (r3.test(str)){d = isDateOK(str.substring(0,2),str.substring(2,4),str.substring(4,6));}
	return d;
}

function cfd(object){
	cf();
	var str=trim(''+object.value);
	if (str == '') {
		return true;
	} else {
		if (str.toLowerCase()=='dd'){str=date();}
		str=isDate(str);
		if (str == '') {
			window.alert('Feltet skal indeholde en dato\ni formatet:\ndd-mm-yyyy\neller\nddmmyy\neller\nddmmyyyy');
			object.focus();
			return false;
		} else {
			object.value = str;
			cf();
			return true;
		}
	}
}

function isDateTime(str){
	var d='';
	var r1 = new RegExp('^[0-9]{2}-[0-9]{2}-20[0-9]{2} [0-9]{2}:[0-9]{2}$');	// 01-01-2006 11:22
	var r4 = new RegExp('^[0-9]{2}-[0-9]{2}-20[0-9]{2} [0-9]{4}$');             // 01-01-2006 1122
	var r5 = new RegExp('^[0-9]{2}-[0-9]{2}-20[0-9]{2} [0-9]{2}$');				// 01-01-2006 11
	var r2 = new RegExp('^[0-9]{6} [0-9]{4}$');									// 01012006 1122
	var r3 = new RegExp('^[0-9]{6}[0-9]{4}$');									// 010120061122
	var r6 = new RegExp('^[0-9]{6} [0-9]{2}$');									// 010106 11
	var r7 = new RegExp('^[0-9]{8}$');											// 01010611
	var r8 = new RegExp('^[0-9]{6}$');											// 010106
	if (r1.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(3,5),str.substring(6,10),str.substring(11,13),str.substring(14,16));
		}
	else if (r4.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(3,5),str.substring(6,10),str.substring(11,13),str.substring(13,15));
		}
	else if (r5.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(3,5),str.substring(6,10),str.substring(11,13),0);
		}
	else if (r2.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(2,4),str.substring(4,6),str.substring(7,9),str.substring(9,11));
		}
	else if (r3.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(2,4),str.substring(4,6),str.substring(6,8),str.substring(8,10));
		}
	else if (r6.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(2,4),str.substring(4,6),str.substring(7,9),0);
		}
	else if (r7.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(2,4),str.substring(4,6),str.substring(6,8),0);
		}
	else if (r8.test(str)){
		d=isDateTimeOK(str.substring(0,2),str.substring(2,4),str.substring(4,6),'',0);
		}

	return d;
}

function cfdt(object){
	cf();
	var str=trim(''+object.value);
	str = str.substr(0,16);
	if (str=="") {return true;}
	if (str.toLowerCase()=='dd'){str=datetime();}
	var str=isDateTime(str);
	/*
	if (str == "") {
		if (object.className.indexOf("invalid") === -1) {
			object.className = object.className + " invalid";
		}
	} else {
		if (object.className.indexOf("invalid") === -1) {

		}
	}
	*/
	object.value=str;
	if (str==''){/*window.alert(strDateText2);object.focus();*/return false;}else{return true;}
}


function sfd(object, e){
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key).charCodeAt();

	if(keychar==32)
	{
		var str=isDate(object.value);
		object.value = str+' ';
		return false;
	} else
	{
	return true;
	}
}

function returnDateTime(str){
	var d=null;
	var r1 = new RegExp('^[0-9]{2}-[0-9]{2}-20[0-9]{2} [0-9]{2}:[0-9]{2}$');
	if (r1.test(str)){
		d = new Date(str.substring(6,10),str.substring(3,5)-1,str.substring(0,2),str.substring(11,13),str.substring(14,16));
		}
	return d;
}


function cfe(object){
	cf();
	if (!isEmail(object.value)&&object.value!=''){
		window.alert('Feltet skal indeholde en korrekt e-mail adresse.');
		object.focus();
		return false;
	}else{return true;}
}

function cfe2(object){
	cf();
	var i
	var Error=0;
	var Email=object.value;
	var EmailArr=Email.split(";");
	var len=EmailArr.length;
	for(i=0;i<len;i++){
	if(!isEmail(EmailArr[i])&&EmailArr[i]!=''){Error++};
	}

	if (Error>0){
		window.alert('Feltet skal indeholde korrekte e-mail adresser adskilt med ;');
		object.focus();
		return false;
	}else{return true;}
}


function cfdtg(object,smallObject){
	var str,d1,d2
	if (cfdt(object))
	{
		str = object.value;
		d2=returnDateTime(isDateTimeOK(str.substring(0,2),str.substring(3,5),str.substring(6,10),str.substring(11,13),str.substring(14,16)));
		str = smallObject.value;
		d1=returnDateTime(isDateTimeOK(str.substring(0,2),str.substring(3,5),str.substring(6,10),str.substring(11,13),str.substring(14,16)));

		if (d2<d1)
		{
//			window.alert('Feltet skal indeholde en større dato og tid.');
//			object.focus();
			return false;
		} else
		{ return true; }
	} else
	{ return false;}
}

function cfi(object){cf();if(object.value==''){return true;}var str=parseInt(object.value,10)+0;if(isNaN(str)){window.alert('Feltet skal indeholde et tal.');object.focus();return false;}else{object.value=str;return true;}}

function cff(object){
	cf();
	if (object.value==''){
		return true;
	}
	var st=''+object.value;
	st=st.replace(',','.');
	var str=parseFloat(st)+0;
	if (isNaN(str)){
		window.alert('Feltet skal indeholde en pris.');
		object.focus();
		return false;
	}else{
//		st = str;
//		window.alert(st);
//		st=st.replace('.',',');

		object.value=str;
		return true;
	}
}

function formatNumber( num, dec )
{
var x1 = '';
var x = new String(Math.round( num * Math.pow(10,dec) ) / Math.pow(10,dec)).split('.')
if(x.length==2){x1=''+x[1]}else{x1='0'}
while(x1.length<dec){ x1 = x1 + '0'}
return x[0] + '.' + x1;
}


function cff2(object,dec){
	if (!dec){dec=2;}
	cf();
	var value=replace(object.value,',','.');
	if (value==''){return true;}

	var str=parseFloat(value)+0.0;
	if(isNaN(str)){
		window.alert('Feltet skal indeholde et tal.');
		object.focus();
		return false;
	}
	else{
		str = formatNumber(str, dec);
		object.value=replace(str+'','.',',');
		return true;
	}
}


var FieldArray = ':';

function setValidate(field){
FieldArray += field+':';
}

function validateFields(Object) {

	var valid = true;
	var myType;
	var ObjectName;
	var sDummy='';
	var StartT=null;
	var EndT=null;
	var checkBoxes = false;
	var checkboxChecked = false;
	var radioButtons = false;
	var radioChecked = false;

    for (var i=0, j=Object.elements.length; i<j; i++) {
		myType = Object.elements[i].type;
		ObjectName = Object.elements[i].name;


		if (FieldArray.indexOf(':'+ObjectName+':')!=-1){

			if (myType=='select-one'|| myType == 'select-multiple') {
				if (-1==Object.elements[i].options[Object.elements[i].selectedIndex].value){
						valid = false;
						sDummy += '\''+ObjectName+'\' skal vælges.\n';
						Object.elements[i].style.backgroundColor="#FFFF99";
					}
			} else
			if (myType=='text' || myType == 'password' || myType == 'textarea') {
				if (''==Object.elements[i].value){
						valid = false;
						sDummy += '\''+ObjectName+'\' skal udfyldes.\n';
						Object.elements[i].style.backgroundColor="#FFFF99";
				}
			} else
			{
				if (myType == 'radio') {
					radioButtons = true;
					if (Object.elements[i].checked) radioChecked = true;
				}

				if (myType == 'checkbox') {
					checkBoxes = true;
					if (Object.elements[i].checked){checkboxChecked = true;}else {Object.elements[i].style.backgroundColor="#FFFF99";}
				}
			}
		}
    }

    if ((checkBoxes && !checkboxChecked) || (radioButtons && !radioChecked)){ valid = false;sDummy+=ObjectName+'\n'}

    if (!valid){
		sDummy = '\nAlle gule felter skal benyttes.'
        alert(sDummy);
	}

    return valid;
}


function checkDates3(D1,D2,D3)
{
	var ok=true;
	var xD1,xD2,xD3
	if (D1){xD1 = returnDateTime(D1.value);} else return ok;
	if (D2){xD2 = returnDateTime(D2.value);} else return ok;
	if (D3){xD3 = returnDateTime(D3.value);} else return ok;
	if ((xD1>xD2)||(xD1>xD3)||(xD2>xD3))
	{
		ok = false;
		alert('\nDatoerne skal være i følgende rækkefølge\n- Bus hos kunden\n- Start tid\n- Slut tid\nRet venligst og gem så turen.');
	}
	return ok;
}

function checkDates2(D1,D2)
{
	var ok=true;
	var xD1,xD2
	if (D1){xD1 = returnDateTime(D1.value);} else return ok;
	if (D2){xD2 = returnDateTime(D2.value);} else return ok;
	if (xD1>xD2)
	{
		ok = false;
		alert('\nDatoerne skal være i følgende rækkefølge\n- Start tid\n- Slut tid\nRet venligst og gem så turen.');
	}
	return ok;
}


function format(str,len)
{
	var s = ''+str
	while (s.length < len){s = '0' + s;}
	return s;
}

function fdt(str, addMin)
{
//	alert(str+'\n'+addMin);
	var year, month, day, hour, min
	year = str.substring(6,10)
	month = str.substring(3,5)-1
	day = str.substring(0,2)
	hour = str.substring(11,13)
	min = str.substring(14,16)

	var d = new Date(year, month, day, hour, min)
	var d1 = new Date(d.getTime() + addMin*60*1000);
	var m = format(d1.getMonth()+1,2)
	var d = format(d1.getDate(),2)
	var y = y2k(d1.getYear())
	var h = format(d1.getHours(),2)
	var n = format(d1.getMinutes(),2)

    return d+'-' +m+'-'+y+' '+h+':'+n;
}
function doDateMeeting(orgObj,obj,value)
{
	if (obj.value.length==0)
	{
		if (orgObj.value.length>0)
		{
			obj.value = fdt(orgObj.value, value);
		}
	}
}


function doDateEnd(orgObj,obj)
{
	if (obj.value.length==0)
	{
		if (orgObj.value.length>0)
		{
			var str = orgObj.value;

			obj.value = str.substring(0,11);
		}
	}
}

function s(text){window.status = text;}

function doSMS(Owner,DriverIDs,message){
	var popup='working';
//	if (Owner=4){popup='_blank'};
	var url='/cms/sms.asp?O='+escape(Owner)+'&DriverIDs='+escape(DriverIDs)+'&smsMessage='+escape(message);
//	if (Owner=4){alert(url);};
	window.open(url, popup, 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
}

function doSMScontent(TourIDno){
	var popup='working';
//  if (Owner=4){popup='_blank'};
	var url='/bus/styring/smsContent.asp?TourIDno='+escape(TourIDno)+'&r=' + new Date();
//	if (Owner=4){alert(url);};
//	window.open(url, popup, 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
	window.open(url, popup, '');
}

function maxLength(object,maxLen){

	if (object.value.length>maxLen)
	{
		alert('Du kan maximal indtaste '+maxLen+' tegn i dette felt');
		object.value = object.value.substring(0,maxLen);
		object.focus();
		return true;
	}
	return true;
}



function o2(M,L,ID,L1,L2,L3,L4,LT,CP){var url='index.asp?mode='+M+'&TS='+new Date().getTime()+'&I='+ID+'&l='+L+'&L1='+L1+'&L2='+L2+'&L3='+L3+'&L4='+L4+'&D='+LT+'&CP='+CP;location.href=url;return false;}
function styleInW(obj){obj.className = obj.className + '_s';return false;}
function styleOut(obj){obj.className = String(obj.className).substring(0,4);return false;}
function o6(M,L,ID,L1,L2,L3,L4,LT,CP,LA,P,CS){if(CS==1){location.href='/'+LA+'/'+P+'/?mode='+M+'&I='+ID+'&L='+L+'&L1='+L1+'&L2='+L2+'&L3='+L3+'&L4='+L4+'&D='+LT+'&CP='+CP;}else{location.href='?mode='+M+'&I='+ID+'&L='+L+'&L1='+L1+'&L2='+L2+'&L3='+L3+'&L4='+L4+'&D='+LT+'&CP='+CP;};return false;}

function selectNone(object) {
    for (var i=0, l=object.options.length;i<l;i++) {
        object.options[i].selected = false;
    }
}

function deleteOption(object,index) {
    object.options[index] = null;
}

function addOption(object,text,value) {

  selectNone(object);

	var defaultSelected = true;
  var selected = true;

	var tekstLen = text.lastIndexOf(' (Nicam)');
	if (tekstLen>0) {
		text = text.substring(0,tekstLen)+'*';
		var valueLen = value.lastIndexOf(':N');
		value = value.substring(0,valueLen);
	}

	var optionName = new Option(text, value, defaultSelected, selected);

  object.options[object.length] = optionName;
}

function selectAll(object) {
    for (var i=0, l=object.options.length;i<l;i++) {
        object.options[i].selected = true;
    }
}

function copySelected(fromObject,toObject) {
	var i;
    for (i=0, l=fromObject.options.length;i<l;i++) {
        if (fromObject.options[i].selected) {
            addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
		}
    }
    for (i=fromObject.options.length-1;i>-1;i--) {
        if (fromObject.options[i].selected) {
            deleteOption(fromObject,i);
		}
    }
}

function copySelected2(fromObject,toObject) {
	var i;
	alert(fromObject.name);
    for (i=0, l=fromObject.options.length;i<l;i++) {
        if (fromObject.options[i].selected) {
            addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
		}
    }
    for (i=fromObject.options.length-1;i>-1;i--) {
        if (fromObject.options[i].selected) {
            deleteOption(fromObject,i);
		}
    }
}

function copyAll(fromObject,toObject) {
	var i;
    for (i=0, l=fromObject.options.length;i<l;i++) {
        addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
    for (i=fromObject.options.length-1;i>-1;i--) {
        deleteOption(fromObject,i);
    }
}

function openCustomer( IDno ) {
	var url = '/bus/styring/index.asp?mode=40&TourIDno=' + IDno;
	window.open(url, '_self');
}

var Utf8 = {

	// public method for url encoding
	encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// public method for url decoding
	decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}
function openGmap( startPlace, roadInfo, endPlace ) {

	var sDummy='', i;
	if (document.getElementById(roadInfo))
	{
		sDummy = document.getElementById(roadInfo).value;
		var sList = sDummy.split('\n');
		sDummy = '';

		for (i=0;i<sList.length;i++)
		{
			if (sList[i])
			{
				sDummy = sDummy + sList[i] + ' to:';
			}

		}

	}
	sDummy = sDummy + document.getElementById(endPlace).value;


	//var url = 'http://maps.google.com/maps?saddr=' + Utf8.encode(document.getElementById(startPlace).value) + '&daddr='+ Utf8.encode(sDummy) +'&hl=da'
	var url = 'http://maps.google.com/maps?saddr=' + encodeURI(document.getElementById(startPlace).value) + '&daddr='+ encodeURI(sDummy) +'&hl=da'
	window.open(url, '_blank');
}

function doGPS(TourIDno){
	var popup='working';
	var url='/bus/styring/gps_SendText.asp?TourIDno='+encodeURI(TourIDno)+'&_='+new date();
	window.open(url, popup, 'toolbar=no,statusbar=yes,top=10000,left=10000,width=1,height=1,resizable=1,scrollbars=1');
}

function fillDate (field) {
	cf();

	var jField = $(field);
	var fieldValue = jField.val();

	var date = new Date();
	var formattedNow = n2(date.getDate()) + "-" + n2(date.getMonth()+1) + "-" + date.getFullYear() + " " + n2(date.getHours()) + ":" + n2(date.getMinutes());

	if (fieldValue.toLowerCase() === "dd") {
		jField.val(formattedNow);
		if (jField.hasClass("invalid")) {
			jField.removeClass("invalid");
		}
		return true;
	} else {

		if (isDateTime(fieldValue) || fieldValue === "") {
			jField.val(isDateTime(fieldValue));
			if (jField.hasClass("invalid")) {
				jField.removeClass("invalid");
			}
			return true;
		} else {
			if (!jField.hasClass("invalid")) {
				jField.addClass("invalid");
			}
			return false;
		}

	}
	/*
	var object = $(field);
	var str=trim(''+object.val());
	str = str.substr(0,16);
	if (str=="") {return true;}
	if (str.toLowerCase()=='dd'){str=datetime();}
	str=isDateTime(str);
	Debug.log("string: " + str);
	if (!isDateTime(str)) {
		Debug.log("" + object.hasClass("invalid"));
		field.focus();
		if (!object.hasClass("invalid")) {
			Debug.log("adding invalid...");
			object.addClass("invalid");
		}
	} else {
		if (object.hasClass("invalid")) {
			object.removeClass("invalid");
		}
	}
	object.val(str);
	if (str==''){return false;}else{return true;}
	*/
}

