﻿/*

errorid = 10: URL has '#&' instead of '#&&'
errorid = 11: URL has '#' instead of '#&&'
errorid = 12: URL has invalid tag
errorid = 13: 'ver'-tag value is invalid
errorid = 14: Version 2.00 does not support 'format'-tag.
errorid = 15: 'sura'-tag value is invalid
errorid = 16: 'aya'-tag value is invalid
errorid = 17: 'aya'-tag value doesn't exist in corresponding sura
errorid = 18: 'trans'-tag value is invalid
errorid = 19: Some translations in URL couldn't be found
errorid = 20: 'show'-tag value is invalid
errorid = 21: 'show'-tag specifies an invalid arabic text
errorid =  

*/

function handleBadURL()
{
  switch(errorid)
  {
    case 10:
      /// URL has '#&' instead of '#&&' ///
      var tmp = location.href.replace("%23","#").split('#&');
      badurl_demo.innerHTML = tmp[0] + "<span id='urlred' class='urlredhighlight'>" + '#&' + "</span>" + tmp[1];
      break;
      
    case 11:
      /// URL has '#' instead of '#&&' ///
      var tmp = location.href.replace("%23","#").split('#');
      badurl_demo.innerHTML = tmp[0] + "<span id='urlred' class='urlredhighlight'>" + '#' + "</span>" + tmp[1];
      break;
      
    case 12:
      /// URL has invalid tag ///
      var url = location.href.replace("%23","#").split('#&&');
      var list = url[1].split('&');
      var tmp = "";
      var sublist; var found;
      for( var i = 0; i < list.length; i++ )
      {
        sublist = list[i].split('=');
        found = false;
        for( var j = 0; j < checklist.length; j++)
        {
          if( sublist[0] == checklist[j] )
          {
            found = true;
            break;
          }
        }
        
        if(!found)
        {
          if(sublist[0]== "" )
          { sublist[0] = "undefined"; }
          tmp += "&" + "<span id='urlred' class='urlredhighlight'>" + sublist[0] + "</span>" + "=" + sublist[1];
        }
        else
        {
          tmp += "&" + list[i];
        }
      }
      badurl_demo.innerHTML = url[0] + "#&" + tmp;
      break;
    
    case 13:
      /// 'ver'-tag value is invalid ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      tmp += "&trans=" + statemap['trans'];
      if(statemap["show"] != null)
      { tmp += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp += "&format=" + statemap['format']; }
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&ver=" + "<span id='urlred' class='urlredhighlight'>" + statemap['ver'] + "</span>";
      break;
    
    case 14:
      /// Version 2.00 does not support 'format'-tag ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      tmp += "&trans=" + statemap['trans'];
      if(statemap["show"] != null)
      { tmp += "&show=" + statemap['show']; }
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "<span id='urlred' class='urlredhighlight'>&format=" + statemap['format'] + "</span>" + "&ver=" + statemap['ver'];
      break;
    
    case 15:
      /// 'sura'-tag value is invalid ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = "";
      var tmp2;
      if( statemap["sura"] == null )
      { tmp2 = "undefined" }
      else
      { tmp2 = statemap['sura'] }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      tmp += "&trans=" + statemap['trans'];
      if(statemap["show"] != null)
      { tmp += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp += "&format=" + statemap['format']; }
      tmp += "&ver=" + statemap['ver'];
      badurl_demo.innerHTML = url[0] + "#&&sura=" + "<span id='urlred' class='urlredhighlight'>" + tmp2 + "</span>" + tmp;
      break;
    
    case 16:
      /// 'aya'-tag value is invalid ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = ""; var tmp2 = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      tmp2 += "&trans=" + statemap['trans'];
      if(statemap["show"] != null)
      { tmp2 += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp2 += "&format=" + statemap['format']; }
      tmp2 += "&ver=" + statemap['ver'];
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&aya=<span id='urlred' class='urlredhighlight'>" + statemap['aya'] + "</span>" + tmp2;
      break;
    
    case 17:
      /// 'aya'-tag value doesn't exist in corresponding sura ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = "";
      tmp += "&trans=" + statemap['trans'];
      if(statemap["show"] != null)
      { tmp += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp += "&format=" + statemap['format']; }
      tmp += "&ver=" + statemap['ver'];
      badurl_demo.innerHTML = url[0] + "#&&sura=<span class='urlredhighlight'>" + statemap['sura'] + "</span>&aya=<span id='urlred' class='urlredhighlight'>" + statemap['aya'] + "</span>" + tmp;
      break;
    
    case 18:
      /// 'trans'-tag value is invalid ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = ""; var tmp2 = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      if(statemap["show"] != null)
      { tmp2 += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp2 += "&format=" + statemap['format']; }
      tmp2 += "&ver=" + statemap['ver'];
      if(statemap['trans']=="")
      { statemap['trans'] = "undefined"; }
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&trans=<span id='urlred' class='urlredhighlight'>" + statemap['trans'] + "</span>" + tmp2;
      break;
    
    case 19:
      /// Some translations in URL couldn't be found ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = ""; var tmp2 = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      if(statemap["show"] != null)
      { tmp2 += "&show=" + statemap['show']; }
      if(statemap["format"] != null)
      { tmp2 += "&format=" + statemap['format']; }
      tmp2 += "&ver=" + statemap['ver'];
      var tmp3 = statemap["trans"].split(',');
      var tmp4 = ""; var found;
      var tmp5;
      var header;
      for(var j = 0; j < tmp3.length; j++)
      {
        found = false;
        for(var i = 1; i < t_OQP_Flyout_Trans_Overview.rows.length; i++)
        {
          header = t_OQP_Flyout_Trans_Overview.rows[i].className;
          
          if(header != "" && header != null )
          { i++; }
          else
          {
            tmp5 = t_OQP_Flyout_Trans_Overview.rows[i].cells[3].innerHTML;
            
            if( tmp3[j] == tmp5 )
            { found = true; break; }
          }
        }
        
        if(found)
        { tmp4 += tmp3[j] + ","; }
        else
        { tmp4 += "<span id='urlred' class='urlredhighlight'>" + tmp3[j] + "</span>,"; }
      }
      tmp4 = tmp4.substring(0,tmp4.length-1);
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&trans=" + tmp4 + tmp2;
      
      break;
    
    case 20:
      /// 'show'-tag value is invalid ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = ""; var tmp2 = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      tmp += "&trans=" + statemap['trans'];
      if(statemap["format"] != null)
      { tmp2 += "&format=" + statemap['format']; }
      tmp2 += "&ver=" + statemap['ver'];
      var tmp3 = statemap['show'].split(',');
      var tmp4 = "";
      if( tmp3.length > 1 )
      { tmp4 = "," + tmp3[1]; }
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&show=" + "<span id='urlred' class='urlredhighlight'>" + tmp3[0] + "</span>" + tmp4 + tmp2;
      break;
    
    case 21:
      /// 'show'-tag specifies an invalid arabic text ///
      var url = location.href.replace("%23","#").split('#&&');
      var tmp = ""; var tmp2 = "";
      if(statemap["sura"] != null)
      { tmp += "&sura=" + statemap['sura']; }
      if(statemap["aya"] != null)
      { tmp += "&aya=" + statemap['aya']; }
      tmp += "&trans=" + statemap['trans'];
      if(statemap["format"] != null)
      { tmp2 += "&format=" + statemap['format']; }
      tmp2 += "&ver=" + statemap['ver'];
      var tmp3 = statemap['show'].split(',');
      badurl_demo.innerHTML = url[0] + "#&" + tmp + "&show=" + tmp3[0] + ",<span id='urlred' class='urlredhighlight'>" + tmp3[1] + "</span>" + tmp2;
      break;
  }
}
