/**
* DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/
// Declaring valid date character, minimum year and maximum year
var dtCh = "-";
var minYear = 1910;
var maxYear = 2100;

function isInteger(s) {
    var i;
    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary(year) {
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}
function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31
        if (i == 4 || i == 6 || i == 9 || i == 11) { this[i] = 30 }
        if (i == 2) { this[i] = 29 }
    }
    return this
}

function isDate(dtStr) {
    var daysInMonth = DaysArray(12)
    var pos1 = dtStr.indexOf(dtCh)
    var pos2 = dtStr.indexOf(dtCh, pos1 + 1)
    var strDay = dtStr.substring(0, pos1)
    var strMonth = dtStr.substring(pos1 + 1, pos2)
    var strYear = dtStr.substring(pos2 + 1)
    strYr = strYear
    if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
    if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1)
    }
    month = parseInt(strMonth)
    day = parseInt(strDay)
    year = parseInt(strYr)
    if (pos1 == -1 || pos2 == -1) {
        alert("Dato formatet skal være i: DD-MM-ÅÅÅÅ")
        return false
    }
    if (strMonth.length < 1 || month < 1 || month > 12) {
        alert("Indtast en gyldig måned")
        return false
    }
    if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
        alert("Indtast en gyldig dag")
        return false
    }
    if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
        alert("Indtast et gyldig år " + minYear + " and " + maxYear)
        return false
    }
    if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
        alert("Indtast en gyldig dato")
        return false
    }
    return true
}

function valider_foededato() {
    var dt = document.getElementById(foededato)
    if (isDate(dt.value) == false) {
        dt.focus()
        return false
    }
    return true
}

function update_tilmeld_formular(valgt){
    if(valgt == ""){
        document.getElementById('formular_tilmeld').style.display = 'none';
    }
    
    if(valgt == "husstand"){
        document.getElementById('formular_tilmeld').style.display = 'block';
        if (document.getElementById('forstebruger').value == "1") {
            //alert('Bemærk!\n\nDen første som bliver angivet skal være den husstandsansvarlige.\nAlle kvitteringer osv. sendes til denne person.');
            alert('Den første som bliver tilmeldt, skal være den person hvortil kvittering, kontingentopkrævning m.m. skal udstedes.');
        }
    }
    
    if(valgt == "enkelt"){
        document.getElementById('formular_tilmeld').style.display = 'block';
    }
}

function tjek_oevrige(){
    f = document.ov_frm;

    if(f.navn.value == ''){
        alert('Du skal udfylde dit navn!');
        f.navn.focus();
        return;
    }
    
     if(f.email.value == ''){
        alert('Du skal udfylde din email!');
        f.email.focus();
        return;
    }

     if(f.medlemsnummer.value == ''){
        alert('Du skal udfylde dit medlemsnummer!');
        f.medlemsnummer.focus();
        return;
    }

     if(f.webkode.value == ''){
        alert('Du skal udfylde din webkode!');
        f.webkode.focus();
        return;
    }

    f.submit();
}
 
function valider_tilmeld_frm(){
    f = document.tilmeld_frm;

    if (f.koen.selectedIndex == 0) {
        alert('Vælg køn!');
        f.koen.focus();
        return;
    }

    if (f.barn_voksen.selectedIndex == 0) {
        alert('Vælg alder!');
        f.barn_voksen.focus();
        return;
    }

    if(f.navn.value == ''){
        alert('Du skal udfylde dit navn!');
        f.navn.focus();
        return;
    }
    
     if(f.adresse.value == ''){
        alert('Du skal udfylde din adresse!');
        f.adresse.focus();
        return;
    }

     if(f.postnr.value == ''){
        alert('Du skal udfylde dit postnummer!');
        f.postnr.focus();
        return;
    }

    if (isNaN(f.postnr.value)) {
        alert('Postnummer må kun bestå af tal!');
        f.postnr.focus();
        return;
    }

    if (f.postnr.value.length > 4) {
        alert('Postnummeret er for langt - max 4 tal!');
        f.postnr.focus();
        return;
    }

    //alert(f.postnr.value.length);

    if (f.postnr.value.length < 4) {
        alert('Postnummeret er for kort\n\nEt postnummer skal være på 4 tal!');
        f.postnr.focus();
        return;
    }

     if(f.city.value == ''){
        alert('Du skal udfylde din by!');
        f.city.focus();
        return;
    }

    if (f.forstebruger.value == '1'){
         if(f.email.value == ''){
            alert('Du skal udfylde din email!');
            f.email.focus();
            return;
        }

        //alert(f.email.value.indexOf('@'));
        if (f.email.value.indexOf('@') == '-1') {
            alert('Indtast en gyldig email!');
            f.email.focus();
            return;
        }
    }
    
    if (f.foededato.value == '') {
        alert('Du skal udfylde din fødselsdato!');
        f.foededato.focus();
        return;
    }

    var dt = f.foededato;
    if (isDate(dt.value) == false) {
        dt.focus()
        return false;
        return;
    }

    f.submit();
}

function valider_skikort_login(){
    f = document.skikort_login_frm;
    if(f.kortnummer.value == ''){
        alert('Du skal udfylde dit Medlemsnummer!');
        f.kortnummer.focus();
        return;
    }
    
     if(f.webkode.value == ''){
        alert('Du skal udfylde din webkode!');
        f.webkode.focus();
        return;
    }

    f.submit();
}

function valider_konkurrence(){
    f = document.konkurrenceForm;
    
    ok = 0;
    for(i=0;i<f.svarID.length;i++){
        if(f.svarID[i].checked == true)
            ok = 1;
    }
    
    if(ok == 0){
        alert('Du skal vælge en svarmulighed!')
        return;
    }
    
    if(f.Navn.value == '' || f.Navn.value == 'Navn'){
        alert('Du skal udfylde dit navn!');
        f.Navn.focus();
        return;
    }

    if(f.Adresse.value == '' || f.Adresse.value == 'Adresse'){
        alert('Du skal udfylde din adresse!');
        f.Adresse.focus();
        return;
    }
    
    if(f.Postnummer.value == '' || f.Postnummer.value == 'Postnummer'){
        alert('Du skal udfylde dit postnummer!');
        f.Postnummer.focus();
        return;
    }
    
    if(f.city.value == '' || f.city.value == 'By'){
        alert('Du skal udfylde din by!');
        f.city.focus();
        return;
    }
    
    if(f.Email.value == '' || f.Email.value == 'Email'){
        alert('Du skal udfylde din email!');
        f.Email.focus();
        return;
    }
    f.submit();
}

function valider_kundeopl(){
    f = document.kundefrm;
    
    if(f.navn.value == ''){
        alert('Du skal udfylde dit navn!');
        f.navn.focus();
        return;
    }

    if(f.adresse.value == ''){
        alert('Du skal udfylde din adresse!');
        f.adresse.focus();
        return;
    }
    
    if(f.postnummer.value == ''){
        alert('Du skal udfylde dit postnummer!');
        f.postnummer.focus();
        return;
    }
    
    if(f.city.value == ''){
        alert('Du skal udfylde din by!');
        f.city.focus();
        return;
    }            
    
    if(f.email.value == ''){
        alert('Du skal udfylde din email!');
        f.email.focus();
        return;
    }            
        
    f.submit();
}

function valider_nyhedsbrev_tilmeld(){
    f = document.nyhedsbrev_frm;
    
    if(f.nyhedsbrev_navn.value == ''){
        alert('Du skal udfylde dit navn!');
        f.nyhedsbrev_navn.focus();
        return;
    }
    
    if(f.nyhedsbrev_email.value == ''){
        alert('Du skal udfylde din email adresse!');
        f.nyhedsbrev_email.focus();
        return;
    }
    f.submit();
}

function valider_soeg(){
    f = document.soegfrm;
    
    if(f.soeg.value == ''){
        alert('Du skal indtaste et søgeord!');
        f.soeg.focus();
        return;
    }
    
    if(f.soeg.value == 'Indtast søgeord'){
        alert('Du skal indtaste et søgeord!');
        f.soeg.focus();
        return;
    }
        
    f.submit();
}

function valider_kalender_tilmeld(){
    f = document.tilmeld_frm;
    
    if(f.navn.value == ''){
        alert('Du skal udfylde dit navn!');
        f.navn.focus();
        return;
    }

    if(f.adresse.value == ''){
        alert('Du skal udfylde din adresse!');
        f.adresse.focus();
        return;
    }
    
    if(f.postnr.value == ''){
        alert('Du skal udfylde dit postnummer!');
        f.postnr.focus();
        return;
    }
    
    if(f.city.value == ''){
        alert('Du skal udfylde din by!');
        f.city.focus();
        return;
    }            

    if(f.email.value == ''){
        alert('Du skal udfylde din email adresse!');
        f.email.focus();
        return;
    }
        
    if(f.skiklub.selectedIndex == 0){
        alert('Du skal vælge en skiklub');
        f.skiklub.focus();
        return;
    }

    f.submit();
}

function pop_print(id){
    window.open("/printvenlig.asp?id=" + id, "PopPrint",'top=150,left=150,width=515,height=500,scrollbars=no,resizeable=no,status=no,toolbars=no');
}

function popWindow(sti){
    window.open(sti, "PopVindue",'top=150,left=150,width=515,height=500,scrollbars=no,resizeable=no,status=no,toolbars=no');
}

function pop_skikort(){
    window.open("/templates/view_skikort.asp", "PopSkikort",'top=150,left=150,width=1000,height=750,scrollbars=no,resizeable=yes,status=no,toolbars=no');
}

function pop_skikort2(tcode){
    window.open("/templates/view_skikort2.asp?tcode=" + tcode, "PopSkikort",'top=150,left=150,width=1000,height=750,scrollbars=no,resizeable=yes,status=no,toolbars=no');
}

function valider_shop_koeb(){
    f = document.form1;

    if(f.stoerrelser.selectedIndex == 0){
        alert('Der skal vælges en størrelse!');
        f.stoerrelser.focus();
        return false;
    }

    if(f.antal.value == ''){
        alert('Der skal indtastes ønsket antal');
        f.antal.focus();
        return false;
    }
    
    f.submit();    
}

function valider_shop_na_str_koeb(){
    f = document.form1;
    if(f.antal.value == ''){
        alert('Der skal indtastes ønsket antal');
        f.antal.focus();
        return false;
    }
    f.submit();
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
  for (i=1; i<a.length;i=i+4){
    if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
    o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
    o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
    v=o.value;t=a[i+2];
    if (o.type=='text'||o.type=='password'||o.type=='hidden'){
      if (r&&v.length==0){err=true}
      if (v.length>0)
      if (t==1){ //fromto
        ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
      } else if (t==2){
        rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
      } else if (t==3){ // date
        ma=a[i+1].split("#");at=v.match(ma[0]);
        if(at){
          cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
          dte=new Date(cy,cm,cd);
          if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
        }else{err=true}
      } else if (t==4){ // time
        ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
      } else if (t==5){ // check this 2
            if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!o1.checked){err=true}
      } else if (t==6){ // the same
            if(v!=MM_findObj(a[i+1]).value){err=true}
      }
    } else
    if (!o.type&&o.length>0&&o[0].type=='radio'){
          at = a[i].match(/(.*)\[(\d+)\].*/i);
          o2=(o.length>1)?o[at[2]]:o;
      if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
      if (t==2){
        oo=false;
        for(j=0;j<o.length;j++){oo=oo||o[j].checked}
        if(!oo){s+='* '+a[i+3]+'\n'}
      }
    } else if (o.type=='checkbox'){
      if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
    } else if (o.type=='select-one'||o.type=='select-multiple'){
      if(t==1&&o.selectedIndex/1==0){err=true}
    }else if (o.type=='textarea'){
      if(v.length<a[i+1]){err=true}
    }
    if (err){s+='* '+a[i+3]+'\n'; err=false}
  }
  if (s!=''){alert('Der er desværre fejl i din indtastning:\t\t\t\t\t\n'+s)}
  document.MM_returnValue = (s=='');
}