//To validate if entered MAC address is valid
function validateMACAddress(val){
	var regex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
	return regex.test(val);
}
function validatePhoneNumber(value) {
	var raw_number = value.replace(/[^0-9]/g,'');
	var regex1 = /^1?([2-9]..)([2-9]..)(....)$/;
	if(!regex1.test(raw_number)) {
		return false;
	} else {
		return phoneCheckAndFormat(raw_number,raw_number.length);
		//var formatted_number = str.replace(regex1,'1 ($1) $2 $3');
	}
}
function phoneCheckAndFormat(phone, digits) {
	phone = phone.replace(/[^0-9]/g,'');
	code = '';
	if (digits == 11) {
		code = '1 ';
		phone = phone.substring(1);
	}
	area = phone.substring(0,3);
	prefix = phone.substring(3,6);
	line = phone.substring(6);
	return code + '(' + area + ') ' + prefix + '-' + line;
}
function modifyPrice(val){
	try{
		var qty = gel('quantity');
		while(qty.options.length > 0){
			qty.remove(0);
		}
		var option = document.createElement("option");
		option.text = val;
		option.value = val;
		qty.add(option);
		var price = gel('price_span').innerHTML.toString().trim().substring(1);
		var totalPrice = parseFloat(val)*parseFloat(price);
		gel('price_subtotal_span').innerHTML = "$"+totalPrice;
		gel('recurring_price_subtotal_span').innerHTML = "+ $"+totalPrice;
	}catch(e){
	}
}
function getSOIDUTSS(){
	var url = window.location.href;
	if(url.indexOf('so_sys_id')>-1){
		var urlArr = url.split('&');
		for(var index=0;index<urlArr.length;index++){
			if(urlArr[index].indexOf('so_sys_id')>-1){
				var id = urlArr[index].split('=');
				if(id)
					g_form.setValue('service_offering', id[1]);
				break;
			}
		}
	}
}
function checkCharacterLimit(name,displayName, limit){
	if(g_form.getValue(name).length != limit){
		g_form.showFieldMsg(name, displayName +" should contain a maximum of "+limit+" characters");
		return false;
	}else if(!(/^[a-zA-Z0-9_]+$/.test(g_form.getValue(name)))){
		g_form.showFieldMsg(name, displayName +" should contain only characters");
		return false;
	}else
	return true;
}
function validateVendorPhoneNumber(value){
	var raw_number = value.replace(/[^0-9]/g,'');
	if(raw_number.length != 10){
		return false;
	}else if(value.substring(3,4) != '-')
	return false;
	else if(value.substring(7,8) != '-')
		return false;
	else
		return true;
}
function disableOption(fieldName, choiceValue) {
	fieldName = g_form.removeCurrentPrefix(fieldName);
	var control = g_form.getControl(fieldName);
	if (control && !control.options) {
		var name = 'sys_select.' + this.tableName + '.' + fieldName;
		control = gel(name);
	}
	if (!control)
		return;
	
	if (!control.options)
		return;
	
	var options = control.options;
	for (var i = 0; i < options.length; i++) {
		var option = options[i];
		if (option.value != '' && option.value == choiceValue) {
			control.options[i].disabled = 'true';
			break;
		}
	}
}

function enableOption(fieldName, choiceValue) {
	fieldName = g_form.removeCurrentPrefix(fieldName);
	var control = g_form.getControl(fieldName);
	if (control && !control.options) {
		var name = 'sys_select.' + this.tableName + '.' + fieldName;
		control = gel(name);
	}
	if (!control)
		return;
	
	if (!control.options)
		return;
	
	var options = control.options;
	for (var i = 0; i < options.length; i++) {
		var option = options[i];
		if (option.value != '' && option.value == choiceValue) {
			control.options[i].disabled = '';
			break;
		}
	}
}
function enableDisabledOption(fieldName, choiceValue) {
	fieldName = g_form.removeCurrentPrefix(fieldName);
	var control = g_form.getControl(fieldName);
	if (control && !control.options) {
		var name = 'sys_select.' + this.tableName + '.' + fieldName;
		control = gel(name);
	}
	if (!control)
		return;
	
	if (!control.options)
		return;
	
	var options = control.options;
	for (var i = 0; i < options.length; i++) {
		var option = options[i];
		if (control.options[i].disabled) {
			control.options[i].disabled = '';
			break;
		}
	}
}
function validAccntNumberFormat(cntrl){
	var raw_number = cntrl.value || cntrl;
	if(!raw_number){ return; }
	raw_number = raw_number.replace(/[^0-9]/g,'');
	raw_number = raw_number.trim();
	if(raw_number.length != 10 || isNaN(raw_number))
		return false;
	//var reg = /^([0-9]{2}[-])([0-9]{4}[-])([0-9]{4})$/;
	//return reg.test(value);
	if(raw_number.length == 10 && !isNaN(raw_number)){
		cntrl.value = raw_number;
		return true;
	}
}
function validCurrencyFormat(value){
	var reg = /^[0-9]\d*(?:\.\d{0,2})?$/;
	return reg.test(value);
}