// ----- confirm action -----
function confirmLink(theLink, theQuestion) {
    var is_confirmed = confirm(theQuestion);
    if (is_confirmed) {
        theLink.href;
    }
    return is_confirmed;
}

function LoginCheck(frm, alerts) {
	frm.teluname.value = frm.teluname.value.replace(/ /g,'');
	frm.teluname.value = frm.teluname.value.replace(/^ +/, "");
	frm.telpwd.value = frm.telpwd.value.replace(/ /g,'');
	frm.telpwd.value = frm.telpwd.value.replace(/^ +/, "");
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if (frm.teluname.value.length < 1) {
		alert(alertArr[0]);
		frm.teluname.focus();
		return false;
	}
	if (frm.telpwd.value.length < 1) {
		alert(alertArr[1]);
		frm.telpwd.focus();
		return false;
	}
	
	return true;
}


// Check if fields are filled in for new post to helpdesk
function CheckHelpdeskNewPost(frm, alerts) {
	frm.help_q_title.value = frm.help_q_title.value.replace(/^ +/, "");
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if (frm.help_q_title.value.length < 1) {
		alert(alertArr[0]);
		frm.help_q_title.focus();
		return false;
	}
	if (frm.help_q_descr.value.length < 1) {
		alert(alertArr[1]);
		frm.help_q_title.focus();
		return false;
	}
	return true;
}

// Check if all fields are filled in when adding an adapter
function NewAdapterCheck(frm, alerts) {
	frm.mac.value = frm.mac.value.replace(/ /g,'');
	frm.mac.value = frm.mac.value.replace(/^ +/, "");
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if(frm.DoNow.value ==  "remove"){
		return confirm('Registreringen fjernes fra nummeret.');
	}else	if (frm.adapter_type_id.value.length < 1) {
		alert(alertArr[0]);
		frm.adapter_type_id.focus();
		return false;
	} else if (frm.mac.value.length != 12) {
		alert(alertArr[1]);
		frm.mac.focus();
		return false;
	} else if (frm.phone_number.value.length < 8) {
		alert(alertArr[2]);
		frm.phone_number.focus();
		return false;
	}
}


// Check if a comment is filled in for answer to the helpdesk
function CheckHelpdeskNewAnswer(frm, alerts) {
	frm.help_a_descr.value = frm.help_a_descr.value.replace(/^ +/, "");
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if (frm.help_a_descr.value.length < 1) {
		alert(alertArr[0]);
		frm.help_a_descr.focus();
		return false;
	}
	return true;
}

function CheckMoveActivity(frm, alerts){
	frm.amount_one.value = frm.amount_one.value.replace(/ /g,'');
	frm.amount_two.value = frm.amount_two.value.replace(/ /g,'');
	
	var amount = frm.amount_one.value + "." + frm.amount_two.value;
	var commaamount = frm.amount_one.value + "," + frm.amount_two.value;
	frm.amount.value = amount;
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if((frm.amount_one.value == 0) && (frm.amount_two.value == 0)) {
		alert(alertArr[0]);
		return false;
	} else if((!frm.amount_one.value.match(/^[0-9]{1,8}$/)) || (!frm.amount_two.value.match(/^[0-9]{1,4}$/))) {
		alert(alertArr[1]);
		return false;
	} else if(frm.fundsreceiver.value==''){
		alert(alertArr[2]);
		return false;
	} else {
		//adding variables to confirm text
		alertArr[3] = alertArr[3].replace(/%0/, ""+commaamount+" "+frm.currency.value);
		alertArr[3] = alertArr[3].replace(/%1/, ""+frm.activities.value);
		alertArr[3] = alertArr[3].replace(/%2/, ""+frm.fundsreceiver.value);
		
		
		var is_confirmed = confirm(alertArr[3]);
    	if (is_confirmed) {
    		return true;
		} else {
			return false;
		}
	}
	
}

// Check påkrævede felter ved registrering af nummer til de hvide sider
function CheckNumberReg(frm, alerts){
	//Creating array containing required alerts
	alertArr = alerts.split("|");
/*
Du har ikke indtastet firmanavn.
Der skal indtastes 1 navn i efternavn.
Du har ikke indtastet dit fornavn.
Du har ikke indtastet gade.
Du har ikke indtastet husnr.
Husnr. må kun indeholde tal og bogstaver.
Etage må kun indeholde tallene fra 1 til 99,\\neller en af følgende værdier:\\nKD, KL, ME, MZ, PA, ST, TA, MA.
Det indtastede postnummer er ikke dansk.\\Der kan kun registreres forbrugsadresser i Danmark.
Du har ikke indtastet by.
Både Efternavn (2) og Fornavn (2) skal udfyldes.
*/
	if(frm.u_type.value == 0){
		frm.u_company.value = frm.u_company.value.replace(/^\s*/, "");
		frm.u_company.value = frm.u_company.value.replace(/\s*$/, "");

		frm.u_intStruct.value = frm.u_intStruct.value.replace(/^\s*/, "");
		frm.u_intStruct.value = frm.u_intStruct.value.replace(/\s*$/, "");
		
		if(frm.u_type.value == 0 && frm.u_company.value.length < 1){
			alert(alertArr[0]);
			return false;
		}
	}
	if(frm.u_type.value == 1){	
		frm.u_lname.value = frm.u_lname.value.replace(/^\s*/, "");
		frm.u_lname.value = frm.u_lname.value.replace(/\s*$/, "");
		frm.u_fname.value = frm.u_fname.value.replace(/^\s*/, "");
		frm.u_fname.value = frm.u_fname.value.replace(/\s*$/, "");
		frm.u_lname2.value = frm.u_lname2.value.replace(/^\s*/, "");
		frm.u_lname2.value = frm.u_lname2.value.replace(/\s*$/, "");
		frm.u_fname2.value = frm.u_fname2.value.replace(/^\s*/, "");
		frm.u_fname2.value = frm.u_fname2.value.replace(/\s*$/, "");
		frm.u_job.value = frm.u_job.value.replace(/^\s*/, "");
		frm.u_job.value = frm.u_job.value.replace(/\s*$/, "");
		
		//Only 1 name in lastname
		lNameArr = frm.u_lname.value.split(" ");		
		lNameArr2 = frm.u_lname2.value.split(" ");		
		
		if((frm.u_lname.value.length < 1) || (lNameArr.length > 1)) {
			alert(alertArr[1]);
			return false;
		}else if(frm.u_fname.value.length < 1) {
			alert(alertArr[2]);
			return false;
		}

		//Are the names(2) entered
		if((frm.u_lname2.value.length > 0) || (frm.u_fname2.value.length > 0)){
			if((frm.u_lname2.value.length < 1) || (lNameArr2.length > 1)) {
				alert(alertArr[9]);
				return false;
			}else if(frm.u_fname2.value.length < 1) {
				alert(alertArr[9]);
				return false;
			}
		}
		
	}
	
	frm.u_street.value = frm.u_street.value.replace(/^\s*/, "");
	frm.u_street.value = frm.u_street.value.replace(/\s*$/, "");
	frm.u_number.value = frm.u_number.value.replace(/^\s*/, "");
	frm.u_number.value = frm.u_number.value.replace(/\s*$/, "");
	frm.u_floor.value = frm.u_floor.value.replace(/^\s*/, "");
	frm.u_floor.value = frm.u_floor.value.replace(/\s*$/, "");
	frm.u_zip.value = frm.u_zip.value.replace(/^\s*/, "");
	frm.u_zip.value = frm.u_zip.value.replace(/\s*$/, "");

	frm.for_addr0.value = frm.for_addr0.value.replace(/^\s*/, "");
	frm.for_addr0.value = frm.for_addr0.value.replace(/\s*$/, "");
	frm.for_addr1.value = frm.for_addr1.value.replace(/^\s*/, "");
	frm.for_addr1.value = frm.for_addr1.value.replace(/\s*$/, "");
	frm.for_addr2.value = frm.for_addr2.value.replace(/^\s*/, "");
	frm.for_addr2.value = frm.for_addr2.value.replace(/\s*$/, "");
	frm.for_addr3.value = frm.for_addr3.value.replace(/^\s*/, "");
	frm.for_addr3.value = frm.for_addr3.value.replace(/\s*$/, "");
	frm.for_addr4.value = frm.for_addr4.value.replace(/^\s*/, "");
	frm.for_addr4.value = frm.for_addr4.value.replace(/\s*$/, "");
	frm.for_addr5.value = frm.for_addr5.value.replace(/^\s*/, "");
	frm.for_addr5.value = frm.for_addr5.value.replace(/\s*$/, "");
	
	if(frm.for_addr0.value.length < 1)
	{
		if(frm.u_street.value.length < 1) {
			alert(alertArr[3]);
			return false;
		}else if(frm.u_number.value.length < 1) {
			alert(alertArr[4]);
			return false;
		}else if(!frm.u_number.value.match(/^[0-9a-z]+$/i)) {
			alert(alertArr[5]);
			return false;
		}else if((frm.u_floor.value.length > 0) && (!frm.u_floor.value.match(/^[1-9]{1}[0-9]?$/))) {
			//Array containing possible values for floor
			var floorArray = ["KD","KL","ME","MZ","PA","ST","TA","MA"];
			//Checking if the value is within floorArray
			var found = false;
			for(i=0;i<floorArray.length;i++){
				if(floorArray[i] == frm.u_floor.value){
					found = true;
				}
			}
			if(!found){
				alert(alertArr[6]);
				return false;
			}
		}else if((frm.u_zip.value.length < 1) || (frm.u_zip.value.length > 4)) {
			alert(alertArr[7]);
			return false;
		}else if((frm.u_county.value.length < 1) || (frm.u_county.value == "Ikke fundet"))
		{
			alert("Adressen blev ikke fundet. Undersøg om gade, husnummer og postnummer er korrekt.");
			return false;
		}
	}
	
	return true;
}

function CheckVMsettings(frm, alerts) {
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	//alert('Number: ' + frm.VMphonenumber.value + '\nMailbox: ' + frm.VMmailbox.value + '\nAnnounce CID: ' + frm.voicemail_saycid.value + '\nEmail: ' + frm.voicemail_email.value + '\nAttach Wave: ' + frm.voicemail_attach.value);
	
	// check before voicemail is deleted
	if(frm.voicemail_status.value == 'inactive' && frm.MailboxAlreadyExists.value == 'active') {
		var is_confirmed = confirm(alertArr[0]);
    	if (!is_confirmed) {
    		return false;
    	}
    }
	
	if(!frm.voicemail_email.value && frm.voicemail_status.value == 'active' || !frm.voicemail_email.value.match(/^.+@.+\..{2,4}$/)) {
		alert(alertArr[1]);
		return false;
	}
	
	// check if a phonenumber is defined (should always be, otherwise something is really wrong)
	if(!frm.VMphonenumber.value) {
		alert(alertArr[2]);
		return false;
	} else if(frm.voicemail_email.value.length > 0 && !frm.voicemail_email.value.match(/^.+@.+\..{2,4}$/)) {
		alert(alertArr[3]);
		return false;
	} else {
		return true;
	}
}

// Check påkrævede felter ved redigering af konto
function CheckAccountUpdate(frm, alerts) {
	frm.user_company.value = frm.user_company.value.replace(/^ +/, "");
	frm.user_name.value = frm.user_name.value.replace(/^ +/, "");
	frm.user_addr.value = frm.user_addr.value.replace(/^ +/, "");
	frm.user_zip.value = frm.user_zip.value.replace(/^ +/, "");
	frm.user_city.value = frm.user_city.value.replace(/^ +/, "");
	frm.user_email.value = frm.user_email.value.replace(/ /g,'');
	frm.user_cell.value = frm.user_cell.value.replace(/^ +/, "");
	frm.birthyear.value = frm.birthyear.value.replace(/ /g,'');
	frm.user_vat.value = frm.user_vat.value.replace(/ /g,'');
	frm.user_ean.value = frm.user_ean.value.replace(/ /g,'');
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	

	if (frm.user_name.value.length < 1) {
		alert(alertArr[0]);
		return false;
	} else if (frm.user_addr.value.length < 1) {
		alert(alertArr[1]);
		return false;
	} else if (frm.user_zip.value.length < 1) {
		alert(alertArr[2]);
		return false;
	} else if (frm.user_city.value.length < 1) {
		alert(alertArr[3]);
		return false;
	} else if (frm.user_email.value.length < 1) {
		alert(alertArr[4]);
		return false;
	} else if(!frm.birthyear.value.match(/^[0-9\+ ]+$/) || !frm.birthyear.value.length == 4) {
		alert(alertArr[5]);
		return false;
	}/*else if(!chkVAT(frm.country_id.value, frm.user_vat.value, alertArr[8])){		
			return false;
	}	else if(frm.user_ean.value != '' && (!frm.user_ean.value.match(/^[0-9]{13}$/))){
			alert(alertArr[7]);
			return false;
	}*/	else {
		return true;
	}
}

// Check if a comment is filled in for answer to the helpdesk
function CheckPickNumber(frm, alerts) {
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if(frm.normalnumber.value.length < 1 && frm.goldnumber.value.length < 1) {
		alert(alertArr[0]);
		frm.normalnumber.focus();
		return false;
	}
	return true;
}

// Check if a number is filled in when porting a number to telsome
function CheckPortNumber(frm, alerts) {
	frm.portnumber.value = frm.portnumber.value.replace(/ /g,'');
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if(!frm.portnumber.value.match(/^[0-9]{8}$/)) {
		alert(alertArr[0]);
		frm.portnumber.focus();
		return false;
	}
	return true;
}

// Check påkrævede felter ved oprettelse af ny konto
function CheckNewAccount(frm, alerts) {
	
	//frm.user_company.value = frm.user_company.value.replace(/^ +/, "");
	frm.user_name.value = frm.user_name.value.replace(/^ +/, "");
	frm.user_addr.value = frm.user_addr.value.replace(/^ +/, "");
	frm.user_zip.value = frm.user_zip.value.replace(/^ +/, "");
	frm.user_city.value = frm.user_city.value.replace(/^ +/, "");
	frm.user_email1.value = frm.user_email1.value.replace(/ /g,'');
	frm.user_email2.value = frm.user_email2.value.replace(/ /g,'');
	frm.user_cell.value = frm.user_cell.value.replace(/^ +/, "");
	//frm.birthyear.value = frm.birthyear.value.replace(/ /g,'');
	//frm.user_vat.value = frm.user_vat.value.replace(/ /g,'');
	//frm.user_ean.value = frm.user_ean.value.replace(/ /g,'');	

	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	
	if (frm.terms.checked == false) {
		frm.terms.focus();
		alert(alertArr[0]);
		return false;
	}/* else if ((frm.user_company.value.length > 0) && (frm.user_vat.value.length < 1)) {
		frm.user_vat.focus();
		alert(alertArr[17]);
		return false;
	}*/else if (frm.user_name.value.length < 1) {
		frm.user_name.focus();
		alert(alertArr[6]);
		return false;
	} else if (frm.user_addr.value.length < 1) {
		frm.user_addr.focus();
		alert(alertArr[7]);
		return false;
	} else if (frm.user_zip.value.length < 1) {
		frm.user_zip.focus();
		alert(alertArr[8]);
		return false;
	} else if (frm.user_city.value.length < 1) {
		frm.user_city.focus();
		alert(alertArr[9]);
		return false;
	} else if (!frm.user_email1.value.match(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i)) {
		frm.user_email1.focus();
		alert(alertArr[10]);
		return false;
	} else if (!frm.user_email2.value.match(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i)) {
		frm.user_email2.focus();
		alert(alertArr[10]);
		return false;
	} else if (frm.user_email1.value != frm.user_email2.value) {
		frm.user_email1.focus();
		alert(alertArr[11]);
		return false;
	}/* else if(!chkVAT(frm.country_id.value, frm.user_vat.value, alertArr[13])){		
		return false;
	}	else if((frm.user_ean.value != '') && (!frm.user_ean.value.match(/^[0-9]{13}$/))){
		alert(alertArr[14]);
		return false;
	}*/else {
		return true;
	}
}

// Check påkrævede felter ved ændring af login og password
function CheckChangeLogin(alerts) {
	
	document.changelogin.new_user_login.value = document.changelogin.new_user_login.value.replace(/ /g,'');
	document.changelogin.current_user_pass.value = document.changelogin.current_user_pass.value.replace(/ /g,'');
	document.changelogin.new_user_pass1.value = document.changelogin.new_user_pass1.value.replace(/ /g,'');
	document.changelogin.new_user_pass2.value = document.changelogin.new_user_pass2.value.replace(/ /g,'');
	
	//Creating array containing required alerts
	alertArr = alerts.split("|");
	
	if (document.changelogin.new_user_login.value == '') {
		alert(alertArr[0]);
		return false;
	} else if (document.changelogin.current_user_pass.value == '' || document.changelogin.current_user_pass.value.length < 6) {
		alert(alertArr[1]);
		return false;
	} else if (document.changelogin.new_user_pass1.value == '' || document.changelogin.new_user_pass1.value.length < 6) {
		alert(alertArr[2]);
		return false;
	} else if (document.changelogin.new_user_pass2.value == '') {
		alert(alertArr[3]);
		return false;
	} else if (document.changelogin.new_user_pass1.value != document.changelogin.new_user_pass2.value) {
		alert(alertArr[4]);
		return false;
	}
	
}

//Check an entered delivery address
function CheckDeliveryAddress(frm, alerts){
	//Removing leading spaces
	frm.user_company.value = frm.user_company.value.replace(/^\s*/, "");
	frm.user_vat.value = frm.user_vat.value.replace(/^\s*/, "");
	frm.user_name.value = frm.user_name.value.replace(/^\s*/, "");
	frm.user_addr.value = frm.user_addr.value.replace(/^\s*/, "");
	frm.user_zip.value = frm.user_zip.value.replace(/^\s*/, "");
	frm.user_city.value = frm.user_city.value.replace(/^\s*/, "");
	//Removing trailing spaces
	frm.user_company.value = frm.user_company.value.replace(/\s*$/, "");
	frm.user_vat.value = frm.user_vat.value.replace(/\s*$/, "");
	frm.user_name.value = frm.user_name.value.replace(/\s*$/, "");
	frm.user_addr.value = frm.user_addr.value.replace(/\s*$/, "");
	frm.user_zip.value = frm.user_zip.value.replace(/\s*$/, "");
	frm.user_city.value = frm.user_city.value.replace(/\s*$/, "");
	//Removing dangerous signs
	frm.user_company.value = frm.user_company.value.replace("'", "´");
	frm.user_vat.value = frm.user_vat.value.replace("'", "´");
	frm.user_name.value = frm.user_name.value.replace("'", "´");
	frm.user_addr.value = frm.user_addr.value.replace("'", "´");
	frm.user_zip.value = frm.user_zip.value.replace("'", "´");
	frm.user_city.value = frm.user_city.value.replace("'", "´");

	//Creating array containing required alerts
	alertArr = alerts.split("|");

	if (frm.user_name.value.length < 1) {
		alert(alertArr[0]);
		return false;
	} else if (frm.user_addr.value.length < 1) {
		alert(alertArr[1]);
		return false;
	} else if (frm.user_zip.value.length < 1) {
		alert(alertArr[2]);
		return false;
	} else if (frm.user_city.value.length < 1) {
		alert(alertArr[3]);
		return false;
	}
	
	return true;
}

// function to retrieve the city name based on country and zip -----
function SetCity(objText, objFld, strCountry, strPostalCode) {
	var strCity;
	
	strCity = GetURL("/GetCity.php?ref=xyz&country=" + strCountry + "&zip=" + strPostalCode);
	
	if (strCity == "") {
		objText.value = "";
		objFld.value="";
	} else {
		objText.value = strCity;
		objFld.value=strCity;
	}
}

// function to retrieve the street based on user input -----
function FindStreet(objText, objFld) {
	var strStreet;
	
	strStreet = GetURL("/GetAddressData.php?ref=str&u_street=" + objText);
	
	if(strStreet != "")
	{
		var items = strStreet.split("\n");
		
		//Clearing options
		objFld.options.length = 0;
		
		for(i=0; i<items.length; i++)
		{
			if(items[i].length > 0)
			{
				objFld.options[i] = new Option(items[i], items[i]);
			}
		}
	}
}

// function to retrieve the county based on user input -----
function FindCounty(objStreet, objZip, objNum, objFldCTxt, objFldCCode, objFldSCode) {
	var strCounty;
	
	strCounty = GetURL("/GetAddressData.php?ref=cou&u_street=" + objStreet + "&u_zip=" + objZip + "&u_number=" + objNum);
	
	if(strCounty.length > 0)
	{
		var items = strCounty.split("\n");
		
		if(items.length == 1)
		{
			//Layout of the line
			//county_descr|county_code|street_code
			var values = items[0].split("|");
			
			objFldCTxt.value = values[0];
			objFldCCode.value = values[1];
			objFldSCode.value = values[2];
		}
		else
		{
			objFldCTxt.value = "Ikke fundet";
		}
	}
	else
	{
		objFldCTxt.value = "Ikke fundet";
	}
}

// function to return the source of a file
// only works where ActiveX is enabled on Explorer
function GetURL(strURL) {
	if (window.XMLHttpRequest){
	  xmlhttp=new XMLHttpRequest()
	}else if (window.ActiveXObject){
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	xmlhttp.open("GET", strURL, false);
	xmlhttp.send("");
	return xmlhttp.responseText;
}

// function to retrieve the customer name based on CID -----
function chkVAT(countryID, vat, strAlert) {
	var strVAT;
	if(vat==""){
		return true;
	}
	strVAT = GetURL("/CheckVAT.php?countryID="+countryID+"&cvr="+vat);
	
	if(strVAT == "1"){
		return true;
	}
	
	alert(strAlert);
	return false;
	
}

