var errors = 0;
var resubbed = 0;
var firstrun = true;
var countrycode;
var lit=0;

function light(q_id)
 {
  if(lit!=0)
   {
    document.getElementById("svar"+lit).className = "hidden";
    document.getElementById("f"+lit).className = "faqoff";
   }
  document.getElementById("svar"+q_id).className = "shown";
  document.getElementById("f"+q_id).className = "faqoff2";
  lit=q_id;
  return;
 }

function chars_to_html(mystring)
{
 var convert_string = '39,193,196,197,198,214,216,220,228,229,230,246,248,225,201,233,205,237,211,243,218,250,252,221,253,282,283,212,244,366,367,313,314,340,341,268,269,270,271,317,318,327,328,344,345,352,353,356,357,381,382,260,261,262,263,280,281,321,322,323,324,211,243,346,347,377,378,379,380,336,337,368,369'
 convert_arr = new Array();
 convert_arr = convert_string.split(',');
 var i=0;
 while(convert_arr[i])
 {
  while(mystring.indexOf(String.fromCharCode(convert_arr[i]))!=-1)
  {
   mystring = mystring.replace(String.fromCharCode(convert_arr[i]),'&#' + convert_arr[i] + ';');
  }
  i++;
 }
 return mystring;
}

function fixce()
{
 if(document.apform.msg_raw)
 {
  document.apform.msg.value=chars_to_html(document.apform.msg_raw.value);
 }
 return;
}



function showcal(container)
{
 if (document.getElementById(container + '_container').innerHTML == '')
  {
   document.getElementById(container + '_container').innerHTML = ajaxget('/shared/calendar.asp?fid=' + container + '&l=' + countrycode);
  }
 else
  {
   document.getElementById(container + '_container').innerHTML = '';
  }
return;
}

function putdate(fid,datestring)
{
 document.getElementById(fid).value = datestring;
 document.getElementById(fid + '_container').innerHTML = '';
 return;
}

function gomonth(fid,y,m)
{
 document.getElementById(fid + '_container').innerHTML = ajaxget('/shared/calendar.asp?fid=' + fid + '&l=' + countrycode + '&y=' + y + '&m=' + m);
}


function redraw(loginstring) {
 if(document.apform.taskselect.selectedIndex>0)
 {
  if(document.apform.hd_lang)
   {
    loginstring=loginstring + document.apform.hd_lang.value + ";";
   }
  // alert(loginstring);
  document.getElementById("dynaform").innerHTML = ajaxget('/shared/custform.inc.asp?t=' + document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value + '&l=' + loginstring);
 }
 else
 {
  document.getElementById("dynaform").innerHTML = '';
 }
 return;
}

function resub(yourchoice)
{

loginstring=document.apform.loginstring.value;

resubbed = 1;
switch(yourchoice)
 {
   case 1:
   document.getElementById("info").innerHTML = "<input type=\"hidden\" name=\"original_choice\" value=\"" + document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value + "\"><input name=\"clicked_choice\" type=\"hidden\" value=\"1\">";
   i=0;
   while(document.apform.taskselect.options[i])
   {
     if(document.apform.taskselect.options[i].value=="14")
       {
         document.apform.taskselect.selectedIndex=i;
         redraw(loginstring);
       }
     i++;
   }
   resubbed=0;
   break;

   case 2:
   document.getElementById("info").innerHTML = "<input type=\"hidden\" name=\"original_choice\" value=\"" + document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value + "\"><input name=\"clicked_choice\" type=\"hidden\" value=\"2\">";
   i=0;
   while(document.apform.taskselect.options[i])
   {
     if(document.apform.taskselect.options[i].value=="11")
       {
         document.apform.taskselect.selectedIndex=i;
         redraw(loginstring);
       }
     i++;
   }
   resubbed=0;
   break;

   case 3:
   document.getElementById("info").innerHTML = "<input type=\"hidden\" name=\"original_choice\" value=\"" + document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value + "\"><input name=\"clicked_choice\" type=\"hidden\" value=\"3\">";
   document.getElementById("avslut").innerHTML = "<input type=\"checkbox\" name=\"avsluta\" class=\"avsluta\" checked> " + document.apform.endconfirm.value + "."
   document.apform.usemail.checked=true;
   document.apform.skicka.className = "sendbutton";
   break;

   case 4:
   document.getElementById("info").innerHTML = "<input type=\"hidden\" name=\"original_choice\" value=\"" + document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value + "\"><input name=\"clicked_choice\" type=\"hidden\" value=\"4\">";
   document.getElementById("avslut").innerHTML = "<input type=\"checkbox\" name=\"avsluta\" class=\"avsluta\" checked> " + document.apform.endconfirm.value + "."
   document.apform.skicka.className = "sendbutton";
   break;

 }

}



function IsNumeric(strString)
   //  check for valid numeric strings
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function addbra()
{
 var brastring = "";
 for(i=0;i<parseInt(document.apform.antal_reabh.selectedIndex)+1;i++)
 {
  brastring += "<select name=\"reabh_storlek\"><option value=\"70B\">70B</option><option value=\"75B\">75B</option><option value=\"80B\">80B</option><option value=\"85B\">85B</option><option value=\"70C\">70C</option><option value=\"75C\">75C</option><option value=\"80C\">80C</option><option value=\"85C\">85C</option></select>";
 }
 document.getElementById("bhrea_container").innerHTML = brastring;
}


function checkfields() {

choice = document.apform.taskselect.options[document.apform.taskselect.selectedIndex].value;
var strErrorMsg=''

switch(document.apform.land.value)
{
  case '1':
   var invalid_chars = '      * felaktiga tecken ';
   var no_at = '      * Inget snabela \n';
   var no_dot = '      * Ingen punkt \n';
   var no_size = '      * Välj storlek\n';
   var no_model = '      * Välj modell\n';
   var no_bra = '      * Välj BH-storlek!\n';
   var no_invoiceno = '      * Fakturanumret kan endast bestå av siffror\n';
   var no_confirm_skip = '      * Bekräfta hoppa över\n';
   var no_confirm_end = '      * Bekräfta avslut av medlemskap\n';
   var no_interval = '      * Välj ett intervall!\n';
   var no_confirm_postpone = '      * Bekräfta att du vill skjuta upp nästa leverans\n';
   var no_confirm_handle = '      * Du måste godkänna beställningen\n';
   var no_msg = '      * Meddelandefältet tomt.\n';
   var no_good = 'Följade fält är inkorrekta:\n\n';
   break;
  default:
   var invalid_chars = '      * illegal characters ';
   var no_at = '      * no @ \n';
   var no_dot = '      * missing dot \n';
   var no_size = '      * must select size\n';
   var no_model = '      * must select model\n';
   var no_bra = '      * must select brasserie size!\n';
   var no_invoiceno = '      * field must contain numbers only\n';
   var no_confirm_skip = '      * please confirm your choice\n';
   var no_confirm_end = '      * please confirm your choice\n';
   var no_interval = '      * must select interval!\n';
   var no_confirm_postpone = '      * please confirm your choice\n';
   var no_confirm_handle = '      * please confirm your choice\n';
   var no_msg = '      * Message area empty.\n';
   var no_good = 'The following fields are incorrect:\n\n';
   break;

}

        function verifyEmail(s) {
	var chrs = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-@_';
	var sLen = s.length;
        var i=0;
        var c=0;
	if (sLen < 6) { return false; }
	while (i < sLen){
		c=s.charAt(i);
                if(chrs.indexOf(c)<0)
                {
                strErrorMsg+=invalid_chars + c  + ' ' + i + ' ' + chrs.indexOf(c) + ' \n';
                return false;
                }
                i++;
	}
	if(s.indexOf('@')<0)
	{
               return false;
               strErrorMsg+=no_at;
	}
	else
	{
        substr = s.substring(s.indexOf('@'),sLen);
               if(substr.indexOf('.')<=0 || s.charAt(s.indexOf('@')-1)=='.' || s.charAt(s.indexOf('@')+1)=='.' || s.charAt(s.length-1)=='.')
               {
                return false;
                strErrorMsg+=no_dot;
	       }
	}
	return true;
	}

	// EMAIL
	var strfldemail=document.apform.epost.value;
	if (!verifyEmail(strfldemail)) {
		strErrorMsg+='      * Email \n';
	}



switch(choice)
  {
  case "4":
  if(document.apform.storlek.selectedIndex == 0)
    {
    strErrorMsg+=no_size;
    }
  break;

  case "5":
  if(document.apform.modell.selectedIndex == 0)
    {
    strErrorMsg+=no_model;
    }
  break;

  case "3":
    if (document.apform.artikelnummer.selectedIndex == 0)
     {
     strErrorMsg+=no_bra;
     }
  break;
  
  case "7":
  if (!IsNumeric(document.apform.fakturanummer.value))
     {
     strErrorMsg+=no_invoiceno;
     }
  break;

  case "1":
  if (!document.apform.hoppa.checked)
     {
     strErrorMsg+=no_confirm_skip;
     }
  break;
  
  case "2":
  if (!document.apform.avsluta.checked)
     {
     strErrorMsg+=no_confirm_end;
     }
  break;


  case "11":
  if (document.apform.intervall.selectedIndex == 0)
     {
     strErrorMsg+=no_interval;
     }
  break;
  
  case "14":
  if (!document.apform.skjutaupp.checked)
     {
     strErrorMsg+=no_confirm_postpone;
     }
  break;
  
  case "15":
  if (!document.apform.plu.checked)
     {
     strErrorMsg+=no_confirm_handle;
     }
  break;

  }
if (choice>5 && choice!=11 && choice!=10 && choice<14)
 {
 var strfldzipcode=document.apform.msg.value;
	if (strfldzipcode.length < 4)  {
		strErrorMsg+=no_msg;
	}
 }

if (strErrorMsg!='' || errors > 3) 
        {
		strErrorMsg = no_good + strErrorMsg
		alert (strErrorMsg);
		errors++;
		return false;
	}	
else    {
         i=1;
         return true;
	}

}

function showcity()
{
 var landletter
 switch(document.apform.land.value)
 {
  case '1':
   landletter="S"
  break;

  case '2':
   landletter="F"
  break;

  case '3':
   landletter="N"
  break;

  case '4':
   landletter="D"
  break;
  
  case '5':
   landletter="H"
  break;
  
  case '7':
   landletter="C"
  break;
  
  case '8':
   landletter="K"
  break;
  
  default:
   landletter="X"
  break;
 }

 var theresponse = ajaxget('/zip.asp?zip=' + document.apform.postnummer.value + "&c=" + landletter);
 
 theresponse=chars_to_html(theresponse);

 document.apform.city.value=theresponse;
 document.getElementById("cityname").innerHTML = theresponse;
}

function email_validate(s) {
	var chrs = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-@_';
	var sLen = s.length;
        var i=0;
        var c=0;
	if (sLen < 6) { return false; }
	while (i < sLen){
		c=s.charAt(i);
                if(chrs.indexOf(c)<0)
                {
                return false;
                }
                i++;
	}
	if(s.indexOf('@')<0)
	{
               return false;
	}
	else
	{
        substr = s.substring(s.indexOf('@'),sLen);
               if(substr.indexOf('.')<=0 || s.charAt(s.indexOf('@')-1)=='.' || s.charAt(s.indexOf('@')+1)=='.' || s.charAt(s.length-1)=='.')
               {
                return false;
	       }
	}
	return true;
	}
function checkmail()
{
if(verifyEmail(document.regmail.mymail.value))
 {
  return true;
 }
else
 {
  alert('Ogiltig e-mailadress, vg försök igen');
  return false;
 }
}
