/**
 * All the functions here should be named lyseForm2<pagename><functionname>
 *
 * This is not consequent yet, but it should be consequent for the future.
*/


function lyseForm2PersonalInfoToggleLoginOrNewCustomer(el){
	
	p = document.getElementById('form2LyseBasisPersonalInfo');
	l = document.getElementById('form2LyseBasisPersonalInfoLogin');
	
	if( el.checked ){
		if( el.value == 'yes' ) {
			p.style.display = 'none';
			l.style.display = '';
		}
		else if( el.value == 'no' ) {
			p.style.display = '';
			l.style.display = 'none';
		}
	}
}


function lyseForm2DisableDivFormPart(value, part_id){
	inputs = document.getElementById(part_id).getElementsByTagName("input");
	alert(inputs);
	
}


function lyseForm2MoveOutDisable(alter_element_id, disabled){
	
	alter_element = document.getElementById(alter_element_id);
	input_elements = alter_element.getElementsByTagName('input');
	for(i=0 ; i < input_elements.length ; i++){
		
		if(input_elements[i].type != "submit" && input_elements[i].type != "reset"){
			input_elements[i].disabled = disabled;
		}
	}
	input_elements = alter_element.getElementsByTagName('select');
	for(i=0 ; i < input_elements.length ; i++){
		input_elements[i].disabled = disabled;
	}
	
}

function countAndLimitInput(input, max_length, output_id){
	
	if(input.value.length > max_length){
		input.value = input.value.substring(0, max_length);
		alert("Du kan ha maksimalt " + max_length + " tegn.");
	}
	
	// Update the field saying who many chars is in the text area.
	output = document.getElementById(output_id);
	output.innerHTML = input.value.length;	
}


function lyseform2InquirychangeCategoryByArea(object, change_select_id) {
	try {
		
		document.getElementById(change_select_id).length = 0;
		
		if(object.options[object.selectedIndex].value == '') {
			document.getElementById(change_select_id).options[0] = new Option('Velg...','');
		} else {
			for(var i=0; i<category[object.options[object.selectedIndex].value].length; i++) {
				document.getElementById(change_select_id).options[i] = category[object.options[object.selectedIndex].value][i];
			}
		}
	} catch(e) {
	}
}



/** ====== Alarm form functions ===== */
function lyseForm2AlarmCalculate(productChoiceButton, caller) {

	if (caller != null) {
		toggleProductButtons();
	}
	//calculates total sums og startup fee and monthly fee
	elements = document.getElementsByTagName('input');
	var output_montly = document.getElementById('form2_alarm_sum_monthly');
	var output_etablering = document.getElementById('form2_alarm_sum_startup_fee');
	var sums = new Array();
	var sumMontly = 0;
	var sumStartupFee = 0;
	for (i = 0; i < elements.length; i++) {
		if (elements[i].type == 'checkbox' || elements[i].type == 'radio') {
			if (belongsToSubproduct(elements[i].name) || isProduct(elements[i].name)) {
				subproduct_id = elements[i].value;
				// calculate sum of the selected checkboxes and radio buttons
				if (elements[i].checked == true) {
					sumMontly = sumMontly + form2_alarm_price_matrix[elements[i].value][1];
					sumStartupFee = sumStartupFee + form2_alarm_price_matrix[elements[i].value][0];
				}
			}
		}
	}
	
	output_montly.innerHTML = sumMontly + ',-';
	output_etablering.innerHTML = sumStartupFee + ',-';

	
	function toggleProductButtons() {
	// if a product btn is checked the product package is also checked
	// if a product package button is checked a product default button is also checked
	// if a product package button is unchecked all product buttons are unhecked
			var currentProdct = document.getElementById(productChoiceButton);	
			var productBtnPressed = (caller.id == productChoiceButton) ? true : false;
			if (productBtnPressed){
			     if (caller.checked == true){
			        // check the default sub product
			        for (var p_id in form2_alarm_product_vs_subproduct_matrix) {
						if (p_id == caller.id){ // only look for subproducts within the selected product
						   if (form2_alarm_product_vs_subproduct_matrix[p_id].length > 0) {
						      var sid = form2_alarm_product_vs_subproduct_matrix[p_id][0];
						      var sid_element = document.getElementById(sid);
						      sid_element.checked = true;
			    		    }
						}
					}
				} else {
			       // uncheck all subproducts
			       for (var p_id in form2_alarm_product_vs_subproduct_matrix) {
						if (p_id == caller.id){ // only look for subproducts within the selected product
							for (var i = 0; i < form2_alarm_product_vs_subproduct_matrix[p_id].length; i++) { 
							 	var sid = form2_alarm_product_vs_subproduct_matrix[p_id][i];
						   		var sid_element = document.getElementById(sid);
						     	sid_element.checked = false;
			    			}
						}
					}
			     }
			} else {
				// the last case is when a subproduct is selected and the product needs to be selected
			    var prod_element = document.getElementById(productChoiceButton);
			    prod_element.checked = true;
			}
	}
	function belongsToSubproduct(name) {
		//r = /order_subproduct_p([0-9]+)/g;
		r = /order_subproduct\[([0-9]+)\]/g;
		if (name.match(r) != null) {
			return true;
		}
		return null;
	}
	function isProduct(name) {
		r = /order_product/g;
		if (name.match(r) != null) {
			return true;
		}
		return null;
	}
}
function lyseForm2AlarmCalculateSumAccessoryDevice() {	
	// update total sum of accessory devices in addition to the individual sums
	// when the user upates the number of extra products
	var sum = 0;
	var sum_accessoryDevice = document.getElementById('lyse_form2_alarm_extraProduct_totalsum');
	var elements = document.getElementsByTagName('select');
			   
			   
	// find extra products select elements (combo boxes)
	var selectAccessoryElements = new Array();
	j = 0;
	for (i = 0; i < elements.length; i++) {
		if (isAccessory(elements[i].id)) {
			selectAccessoryElements[j] = elements[i];
			j++;
		}
	}
	for (i = 0; i < selectAccessoryElements.length; i++) {
		sumName = 'sum_' + selectAccessoryElements[i].id;
		var iden = selectAccessoryElements[i].id;
		var idNumber = getIdNumber(iden);
		var number_of_extraproducts = (selectAccessoryElements[i].options[selectAccessoryElements[i].selectedIndex].text - 0);
		var price = (form2_alarm_extraProduct_price_matrix[idNumber] - 0) * number_of_extraproducts;
		sum = sum + price;
		var sumField = getThisAccessorysSumField(sumName);
		if (sumField != null) {
    		sumField.innerHTML = price+",-";
		}
	}
	
	// update total sum
	sum_accessoryDevice.innerHTML = sum+",-";
	
	function isAccessory(id) {
		r = /order_extraproduct/g;
		if (id.match(r) != null) {
			return true;
		}
		return null;
	}
	function getThisAccessorysSumField(name) {
		var sumelements = document.getElementsByTagName('td');
		var i = 0;
		for (i = 0; i < sumelements.length; i++) {
			if ((sumelements[i].id != null) && (name == (sumelements[i].id))) {
				return sumelements[i];
			}
		}
		return null;
	}
	function getIdNumber(name) {
		r = /([0-9]+)/g;
		return (name.match(r)[1] - 0);
	}
}
/* ===== End Alarm function ==== */


/** ====== DLS Profile functions ===== */
function lyseForm2profile_toggleContact(blockId) {
    var div = document.getElementById(blockId);
	if(div != null){
		div.style.display = (div.style.display == 'none'?'block':'none');
	}
}

function lyseForm2profile_editContact(blockNum) {
    var div = document.getElementById('profile_div_' + blockNum);
	if(div != null){
		div.style.display = 'block';
	}
    var div2 = document.getElementById('profile_div_edit_' + blockNum);
	if(div2 != null){
		div2.style.display = (div2.style.display == 'none'?'block':'none');
	}
    var div3 = document.getElementById('profile_div_display_' + blockNum);
	if(div3 != null){
		div3.style.display = (div3.style.display == 'none'?'block':'none');
	}
}

function lyseForm2profile_editAddress(blockNum) {
    var div = document.getElementById('address_div_' + blockNum);
	if(div != null){
		div.style.display = 'block';
	}
    var div2 = document.getElementById('address_div_edit_' + blockNum);
	if(div2 != null){
		div2.style.display = (div2.style.display == 'none'?'block':'none');
	}
    var div3 = document.getElementById('address_div_display_' + blockNum);
	if(div3 != null){
		div3.style.display = (div3.style.display == 'none'?'block':'none');
	}
}
/** ====== End DLS Profile functions ===== */