window.onload=function()
{
	banner = Math.round(Math.random()*1);
	$('header').style.background = "url('img/headers/"+banner+".jpg')";
	//if($('provapa') != null) $('provapa').disable();
	//if($('kursanmalan') != null) $('kursanmalan').disable();
	SetBodyHeight();
	var MenuButtons = $A($('menu').getElementsByClassName('menuItem'));
	MenuButtons.each(
		function(e)
		{
			Event.observe(e, 'mouseover', SwitchImg);
			Event.observe(e, 'mouseout', SwitchImg);
		}
	);
	
/*	Control.DatePicker.Locale['sv_SE'] = {
    dateTimeFormat: 'yyyy-MM-dd HH:mm',
    dateFormat: 'yyyy-MM-dd',
    firstWeekDay: 1,
    weekend: [6],
    language: 'se'
  };
  Control.DatePicker.Language['se'] = {
    months: ['Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 
    'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December'],
    days: ['Sön', 'Mån', 'Tis', 'Ons', 'Tors', 'Fre', 'Lör']
  };
	
  var DatePickers = $A($('main').getElementsByClassName('DatePicker'));
	DatePickers.each(
    function(e)
    {
    e.style.marginRight = "5em";
      new Control.DatePicker(e, { 
        'icon': '/img/icons/calendar.png',
        'locale': 'sv_SE',
        'onSelect': PopulateAvailableTimes
      });
    }
  );*/
}
/*
function PopulateAvailableTimes()
{
  $('time').disabled = false;
  var url = "functions/PrivateClasses.php?req=1&date="+$('date').value;
	new Ajax.Request(url, {
    onSuccess: function(transport) 
    {
      var Times = transport.responseJSON;
      $('time').innerHTML = '<option>-----</option>';
      for(var i = 0; i < Times.length; i++)
      {
        if(Times[i].status == 'false')
          $('time').innerHTML += '<option>'+Times[i].time+'</option>';
        else
          $('time').innerHTML += '<option disabled="true">'+Times[i].time+'</option>';
      }
    },
		method: 'get' });
}
*/
function SetBodyHeight()
{
        var spotlightY = $('spotlight').offsetHeight;
        var mainY;
	$('main').offsetHeight > document.viewport.getHeight() ? mainY = $('main').offsetHeight : mainY = document.viewport.getHeight();
	spotlightY < mainY ? $('pbody').style.height = (mainY+45)+"px" : $('pbody').style.height = (spotlightY+40)+"px";
        $('borderShadow').style.height = $('pbody').offsetHeight+"px";
}

function SwitchImg(event)
{
	elem = event.element(event);
	!$(elem.id).src.match('shade') ? $(elem.id).src = $(elem.id).src.split('.gif')[0]+'_shade.gif' : $(elem.id).src = $(elem.id).src.split('_shade.gif')[0]+'.gif';
}

function showThumbs(id)
{
 	if($(id).style.visibility == "" || $(id).style.visibility == "hidden")
   	{
		$(id).style.margin = "10px 0px 0px 0px";
	   	$(id).style.visibility = "visible";
	   	$(id).style.height = "100px";
	   	$('pbody').style.height = $('pbody').offsetHeight+100+"px";
   	}
   	else
   	{
   		$(id).style.margin = "0px";
		$(id).style.visibility = "hidden";
		$(id).style.height = "0px";
		$('pbody').style.height = $('pbody').offsetHeight-100+"px";
   	}
   	$('borderShadow').style.height = $('pbody').offsetHeight+"px";
}

function visaVillkor(show, lang)
{
	if(!show)
	{
		if( $('popupDiv') )
		{
			document.body.removeChild($('popupDiv'));
		}
	}
	else
	{
	   	var popupDiv = document.createElement('div');
   		popupDiv.setAttribute('id', 'popupDiv');
		popupDiv.style.overflow = "auto";
		popupDiv.style.padding = "10px";
		if (typeof window.innerHeight != 'undefined')
		{
			popupDiv.style.top = ((self.innerHeight / 2) - 317 + window.pageYOffset)+"px";
		}
		else
		{
			popupDiv.style.top = ((document.body.clientHeight / 3) - 317 + document.documentElement.scrollTop)+"px";
		}
   		document.body.appendChild(popupDiv);

		var url = "includes/"+lang+"/villkor.inc.php";
		new Ajax.Updater('popupDiv', url, {
			method: 'get' });
	}
}

function skickaAnmalan( sender )
{
	if(sender == "workshop")
		var url = "functions/WorkshopAnmalan.php";
	else
		var url = "functions/skickaAnmalan.php";
	new Ajax.Updater(sender, url, {
		method: 'get',
		parameters: $(sender).serialize(true),
		insertion: Insertion.Bottom,
		onSuccess: function(transport) {
			alert(transport.responseText.replace(/(<([^>]+)>)/ig,""));
			$(sender).disable();
		}
		});
}

function prenumereraPaNyhetsbrev(email)
{
	new Ajax.Updater('prenumeration', 'functions/prenumereraPaNyhetsbrev.php', {
		method: 'get',
		parameters: { email: email },
		onSuccess: function(transport) {
			$('nyhetsbrev').disable();
			SetBodyHeight();
		}
		});
}

function Pause( m )
{
	var date = new Date();
   	var curDate = null;

   	do { curDate = new Date(); }
   	while( curDate-date < m );
}

function validate_form( form )
{
	with( form )
      	{
         	if( validate_email( email ) == false )
         	{
            		email.focus();
            		email.style.backgroundColor = "#e46a6a";
            		email.style.fontWeight = "bold";
            		return false;
         	}
      	}	
}

function validate_email( field )
{
   with( field )
   {
      apos = value.indexOf( '@' );
      dotpos = value.lastIndexOf( '.' );
      if( apos < 1 || dotpos-apos < 2 )
      {
         alert( "Du måste ange e-mail adress" );
         return false;
      }
      else
         return true;
   }
}

function checkState(xForm)
{
	formOk = true;
	objElems = xForm.elements;
	for(i=0;i<objElems.length;i++)
	{
		if(objElems[i].name != "brevprenumeration" && objElems[i].name != "mobiltelefon" && objElems[i].name != "telefonnummer" )
		{
			if(objElems[i].type == "text")
			{
				if(objElems[i].value == "" && objElems[i].name != "rabattkod")
					formOk = false;
				else if(objElems[i].name == "email" && !valideraEmail(objElems[i].value))
					formOk = false;
				else if(objElems[i].name == "personnummer" && !valideraPersonnummer(objElems[i]))
					formOk = false;
//				else if(objElems[i].name == "postnummer" && !valideraZip(objElems[i]))
//					formOk = false;

			}
			else if(objElems[i].type == "checkbox" && objElems[i].name != "kursval[]" )
			{
				if(objElems[i].checked == false)
					formOk = false;
			}
		}
		if(objElems[i].type == "submit")
		{
			if(formOk)
				objElems[i].disabled = false;
			else
				objElems[i].disabled = true;
		}
	}	
}	


function valideraForm( sender )
{
	
	switch( sender.id )
	{
		case "nyhetsbrev": if( valideraEmail(sender.value) ) 
				   {
				   	sender.style.backgroundColor = "#89ff80";
					$("newsletter_submit").disabled = false;
				   }
				   else
				   {
				   	sender.style.backgroundColor = "#ff8080";
					$("newsletter_submit").disabled = true;
				   }
				   break;

		case "email": if( valideraEmail(sender.value) )
			      	sender.style.backgroundColor = "#89ff80";
			      else
			      	sender.style.backgroundColor = "#ff8080";
			      break;
	}
}

function valideraEmail( email )
{
	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if(re.test(email))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function valideraAlder(pNr, vMinimi) 
{
	var year = pNr.substring(0,4);
	var month = pNr.substring(4,6);
	var day = pNr.substring(6,8);
	var d = new Date();
	var cAge; // Personens faktiska ålder ( endast årtal )
	cAge = d.getFullYear()-year;
	if( parseInt(cAge)>parseInt(vMinimi)) 
	{
		return true;
	} else if( cAge==vMinimi) 
	{
		// Årtalet är rätt, men har vi fyllt så mycket ännu?
		if( (d.getMonth()+1)>= parseInt(month) ) 
		{
			return true;
		}
	}
	return false;
}

function valideraPersonnummer( sender )
{
	sPNum = sender.value;
	if (sPNum.substring(0,2) != "19")
	{
		if(sPNum != "")
		{
			sPNum = "19"+sPNum;
			sender.value = sPNum;
		}
	}
	var numbers = sPNum.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
	var checkSum = 0;
	var d = new Date();
        if (!isDate(sPNum.substring(0,4),sPNum.substring(4,6),sPNum.substring(6,8))) 
	{
		sender.style.backgroundColor = "#ff8080";
	        return false;
	}

	if (numbers == null) { return false; }
        var n;
        for (var i = 3; i <= 12; i++)
        {
  	      n=parseInt(numbers[i]);
	      if (i % 2 == 0) {
		      checkSum+=n;
		} else {
		      checkSum+=(n*2)%9+Math.floor(n/9)*9
		}
	}
	if (checkSum%10==0 && valideraAlder(sPNum, 18)) { 
		sender.style.backgroundColor = "#89ff80";
		return true;
	}
	else if(checkSum%10!=0)
	{
		alert("Du har angivit ett felaktigt personnummer");
		return false;
	}
	if(!valideraAlder(sPNum, 18)) { alert("Du bör vara 18 år fyllda för att delta."); return false; }
	return false;
}

function valideraZip( sender )
{
	reZip = new RegExp(/(^\d{5}$)|(^\d{3} \d{2}$)/);
	if( sender.value.substring(3,4) != " " && sender.value != "" )
	{
		sender.value = sender.value.substring(0,3)+" "+sender.value.substring(3,5);
	}

	if( !reZip.test(sender.value) )
	{
		sender.style.backgroundColor = "#ff8080";
		return false;
	}
	else
	{
		sender.style.backgroundColor = "#89ff80";
		return true;
	}
}

function getYear(y) { return (y < 1000) ? y + 1900 : y; }

function isDate(year, month, day)
{
	month = month - 1; // 0-11 in JavaScript
	var tmpDate = new Date(year,month,day);
	if ( (getYear(tmpDate.getYear()) == year) &&
		(month == tmpDate.getMonth()) &&
		(day == tmpDate.getDate()) )
		return true;
	else
		return false;
}

function visaBetalning(grad)
{
	switch(grad)
	{
		default:	$('betalning').innerHTML = "<h3>Betalning</h3>Efter att du skickat din anmälan är en plats reserverad åt dig och du får ett infomail. För att behålla din plats bör din kursavgift vara betalad till PlusGirot inom 5 dagar. Annars går din plats till någon annan.<br/>Kursavgift betalas till <strong>PG 30 92 99-6</strong>. Glöm inte att märka med ditt personnummer! Du får ett bekräftelsemail när din betalning är inne.";
				SetBodyHeight();
				break;
		/*default:	$('betalning').innerHTML = "<h3>Betalning</h3>Kursavgiften kan antingen betalas via PlusGirot eller kontant i studion, efter första träningspasset. För onlinebetalningar, använd <strong>PG 30 92 99-6</strong>. Glöm inte att märka med ditt personnummer!";
				SetBodyHeight();
				break;*/
	}
}
