// JavaScript Document



function FormatNumberBy3(num, decpoint, sep) {
  // check for missing parameters and use defaults if so
  if (arguments.length == 2) {
    sep = ",";
  }
  if (arguments.length == 1) {
    sep = ",";
    decpoint = ".";
  }
  // need a string for operations
  num = num.toString();
  // separate the whole number and the fraction if possible
  a = num.split(decpoint);
  x = a[0]; // decimal
  y = a[1]; // fraction
  z = "";


  if (typeof(x) != "undefined") {
    // reverse the digits. regexp works from left to right.
    for (i=x.length-1;i>=0;i--)
      z += x.charAt(i);
    // add seperators. but undo the trailing one, if there
    z = z.replace(/(\d{3})/g, "$1" + sep);
    if (z.slice(-sep.length) == sep)
      z = z.slice(0, -sep.length);
    x = "";
    // reverse again to get back the number
    for (i=z.length-1;i>=0;i--)
      x += z.charAt(i);
    // add the fraction back in, if it was there
    if (typeof(y) != "undefined" && y.length > 0)
      x += decpoint + y;
  }
  return x;
}
function validateForms()
{
	var elementsForms;
	
	if (!document.getElementsByTagName) return false;
	elementsForms = document.getElementsByTagName("form"); 
	for (var i = 0; i < elementsForms.length; i++) 
	{ 
		return validateForm(elementsForms[i]);
	} 
}

function validRadio(radio_name)
{
	    var bIsOneChecked = false;
		var bObligatorisk = false;
		var inputs = document.getElementsByTagName("input");

		for (i = 0; i < inputs.length; i++)
		{

			if (inputs[i].getAttribute("type").toLowerCase() == "radio" && 
			inputs[i].getAttribute("name") == radio_name)
			{
				if(inputs[i].checked)
				{
				   bIsOneChecked = true;
				
				}
				if (/obligatorisk/.test(inputs[i].className))
				{
					bObligatorisk = true;
				}
			
			}
		}

	    if (!bIsOneChecked && bObligatorisk) 
		{
	         return false;
	    }
		else
		{
			return true;
		}

}
	
function validateForm(currentForm)
{
	var bValidate = true;
	var aElements;
	var sAlert = "";
	
	
	var aFormElements = new Array("input", "textarea", "select");
	for (h in aFormElements)
	{
	 	aElements = currentForm.getElementsByTagName(aFormElements[h]);
	 	
		for (var i = 0; i < aElements.length; i++)
		{
			/* Lägg till fält för rubriker */ 
			if( (aElements[i].type == 'text' || 
			aElements[i].type == 'radio' || 
			aElements[i].type == 'checkbox' || 
			aElements[i].type == 'textarea' || 
			aElements[i].type == 'select-one') && 
			(aElements[i].getAttribute("title") != ''))
			{

//				var hiddenField = document.createElement('input');
//				hiddenField.type = 'hidden';
//				hiddenField.name = 'geMailHeader-' + aElements[i].getAttribute("name");
//				hiddenField.name =  aElements[i].getAttribute("name");
//				hiddenField.value = aElements[i].getAttribute("title") + ": ";
//				currentForm.appendChild(hiddenField);
			}
			
			if (/obligatorisk/.test(aElements[i].className))
			{
				if(aElements[i].type == 'radio')
				{
					if(!validRadio(aElements[i].name))
					{
						bValidate = false;
		 				sAlert += "- " + aElements[i].title + " är obligatoriskt\n";
					}
				}
				else if (validateText(aElements[i].value))
				{
					bValidate = false;
	 				sAlert += "- " + aElements[i].title + " är obligatoriskt\n";
				}
			}
		}
	}
	if(!bValidate)alert("Formuläret är inte korrekt ifyllt!\n\n" + sAlert);
	return bValidate;
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g, '');
}


function validateText(v)
{
	if (trim(v) == "")
	{
		return true;
	}
}

function applyOnSubmitToForms()
{
	elementsForms = document.getElementsByTagName("form"); 
	for (var i = 0; i < elementsForms.length; i++) 
	{ 
		elementsForms[i].onsubmit = function ()
		{
			if (!validateForms())
			{
				return false;
			}
			else if(!confirm("Skicka formuläret?"))
			{
				return false;
			}
		}
		
	} 
}		
function addLoadEvent(func) 
{
 	var oldonload = window.onload;
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	} 
	else 
	{
		window.onload = function() 
		{
	      		oldonload();
	      		func();
	    	}
	}
}

addLoadEvent(applyOnSubmitToForms);

		priceExtraYearOne = 0;
		priceExtraYearOther = 0;
		
		priceLayoutYearOne = 0;
		
		pricePagesYearOne = 0;
		pricePagesYearOther = 0;

		
		priceUpdateringYearOne = 0;
		priceUpdateringYearOther = 0;
			
		function Sum() {
			priceYearOne = 0;
			priceYearOther = 0;
			
			Layout();
			Pages();
			Extra();
			Updatering();
			
			p1 = priceExtraYearOne + priceLayoutYearOne + pricePagesYearOne + priceUpdateringYearOne;
			p2 = priceExtraYearOther + pricePagesYearOther + priceUpdateringYearOther;
			p2month = Math.round(p2/12);
			
			p1=FormatNumberBy3(p1, ",", ".")
			p2month=FormatNumberBy3(p2month, ",", ".")
			document.getElementById('sYearOne').innerHTML = p1 + '';
			document.getElementById('s1YearOne').value = p1 + ' SEK exkl.moms';
			document.getElementById('sYearOther').innerHTML = p2month + '';
			document.getElementById('s1YearOther').value = p2month + ' SEK exkl.moms';
			
			return true;
		}
		
		function Pages() {
			pricePagesYearOne = 0;
			pricePagesYearOther = 0;
			
			if(document.getElementById('hemsida').checked == true) {
				pricePagesYearOne = 9990;
				pricePagesYearOther = 4740;
			    //document.getElementById('sNoPages').innerHTML = '20';
				//document.getElementById('fpages').value = '20';
			}
			if(document.getElementById('webshop').checked == true) {
				pricePagesYearOne = 10990;
				pricePagesYearOther = 4740;
				//document.getElementById('sNoPages').innerHTML = 'Obegr.';
				//document.getElementById('fpages').value = 'Obegr.';
			}
			
			return true;
		}
		function Updatering() {
			priceUpdateringYearOne = 0;
			priceUpdateringYearOther = 0;
			
			if(document.getElementById('updsjl').checked == true) {
				priceUpdateringYearOne = priceUpdateringYearOne + 1950;
				priceUpdateringYearOther = priceUpdateringYearOther + 0;
			}
			if(document.getElementById('updavt').checked == true) {
				priceUpdateringYearOne = priceUpdateringYearOne + 0;
				priceUpdateringYearOther = priceUpdateringYearOther + 2340;
			}
			
			return true;
		}
		
		function Layout() {
			priceLayoutYearOne = 0;
			priceLayoutYearOther = 0;
			
			if(document.getElementById('layoutLayoutvaljaren').checked == true) {
				priceLayoutYearOne = 0;
				//document.getElementById('sLayout').innerHTML = 'Väljer i layoutväljaren';
				//document.getElementById('flayout').value = 'Väljer i layoutväljaren';
			}
			if(document.getElementById('layoutUnik').checked == true) {
				priceLayoutYearOne = 4000;
				//document.getElementById('sLayout').innerHTML = 'Specialdesignad layout';
				//document.getElementById('flayout').value = 'Specialdesignad layout';
			}

			return true;
		}
		
		function Extra() {
			textExtra = '';
			priceExtraYearOne = 0;
			priceExtraYearOther = 0;
			
			//if(document.getElementById('gastbok').checked == true) {
			//	textExtra += 'Gästbok, ';
			//	priceExtraYearOne = priceExtraYearOne + 990;
			//	priceExtraYearOther = priceExtraYearOther + 490;
			//}
			
			if(document.getElementById('epostmarknadsforing').checked == true) {
				textExtra += 'epostmarknadsföring, ';
				priceExtraYearOne = priceExtraYearOne + 2688;
				priceExtraYearOther = priceExtraYearOther + 1188;
			}
			
			if(document.getElementById('banner').checked == true) {
				textExtra += 'Bannerhantering, ';
				priceExtraYearOne = priceExtraYearOne + 995;
				priceExtraYearOther = priceExtraYearOther + 0;
			}
			
			if(document.getElementById('nyhet').checked == true) {
				textExtra += 'Nyhetsfunktion, ';
				priceExtraYearOne = priceExtraYearOne + 995;
				priceExtraYearOther = priceExtraYearOther + 0;
			}
			
			if(document.getElementById('sok').checked == true) {
				textExtra += 'Sökfunktion, ';
				priceExtraYearOne = priceExtraYearOne + 2000;
				priceExtraYearOther = priceExtraYearOther + 0;

			}
			
			if(document.getElementById('statistik').checked == true) {
				textExtra += 'Statistik, ';
				priceExtraYearOne = priceExtraYearOne + 995;
				priceExtraYearOther = priceExtraYearOther + 0;
			}
			
			if(document.getElementById('intranet').checked == true) {
				textExtra += 'Intranät, ';
				priceExtraYearOne = priceExtraYearOne + 2688;
				priceExtraYearOther = priceExtraYearOther + 1188;
			}
			
		//	if(document.getElementById('logo').checked == true) {
		//		textExtra += 'Logotype för web, ';
		//		priceExtraYearOne = priceExtraYearOne + 3900;
		//		priceExtraYearOther = priceExtraYearOther + 0;
		//	}

			//document.getElementById('sExtra').innerHTML = textExtra.substring(0, (textExtra.length-2));
			//document.getElementById('fextra').value = textExtra.substring(0, (textExtra.length-2));
			
			return true;
		}