var checkWLAN11g=1;
var pageURL=" ";

function doPageLink(num)
{
	if(num==1)
	{
	   if(checkWLAN11g)
	   		parent.location.href="CurrentStatus2.html";
	   else
	  		parent.location.href="CurrentStatus.html";
	}
	if(num==2)
		parent.location.href="SetupWizard.html";
	if(num==3)
		parent.location.href="Hmain.html";
	if(num==4)
		parent.location.href="MonStat.html";
}

function doSubmit(action,step,reboot)
{
	document.forms[0].submit();
}

function Link(page)
{
	location.href=""+page+"";
}

//------------------------------------------------------
function HexCheck2(obj)
{
	reg1=/[^0-9a-f]/i;

	Check=obj.search(reg1);
	if(Check==-1)
	{
		return true;
	}
	else
	{
		//alert("Not valid Hex Value");
		return false;
	}

}
//-----------------------------------------------------------------
function ShowWizard(name){
	//window.open(name,"Wizard","width=450,height=320");
		location.href="HomeWizard0.html";
	return false;	//christy

}
//------------------------------------------------------------------
function ExitWizard(){

    if (confirm("Quit setup wizard without finishing settings ?"))
        window.close();
}

function CloseWindow(){
           window.close();
}
//-------------------------------------------------------------------
//  accept characters:  ascii code (20~7E)
//-------------------------------------------------------------------
function ASCIICheck(text)
{
     for(var i=0;i<text.length;i++)
     {
  	ascStr=text.charCodeAt(i);
  	hexStr=tran10to16(ascStr);
  	//if(hexStr<20) return false;
  	re=/[2-7][A-Fa-f0-9]/
     	Check2=hexStr.search(re);
        if(Check2==-1)  return false;
     }
   return true;
}

function HexToASCII(text,param)
{
   var asStr="";

   for(i=0;i<param;i++)
   {
    tempStr=String.fromCharCode(text.substr(2*i,2));
    asStr=asStr+tempStr;
    }
  return asStr;
}

function ASCIIToHex(text)
{
  var hexStr="";
 // alert("asciitohex"+text);
  for(var i=0;i<text.length;i++)
  {
  	tempStr=text.charCodeAt(i);
  	//alert("tempStr"+tempStr);
  	tempStr2=tran10to16(tempStr);
  	//alert("tempStr2"+tempStr2);
  	hexStr=hexStr+tempStr2;
  }
 // alert("hexStr"+hexStr);
   return hexStr;
}

//  Dec to Hex
var a16=new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F')

function tran10to16(num)
{
   var st16=""
   var quot=(num-(num%16))/16

   st16=a16[(num%16)]+st16

   while(quot>15)
{
        quot=(quot-(quot%16))/16
        st16=a16[(quot%16)]+st16
   }

   if(quot!=0) st16=a16[quot]+st16

   return st16
}

////////////////////////////////////////////////////////////////////
// invalid ip
//case 1:		127.(0-255).(0-255).(0-255)            //class A
//case 2:		(224-255).(0-255).(0-255).(0-255)      //class D
//case 3:		128.0.(0-255).(0-255)                  //class B
//case 4:		191.255.(0-255).(0-255)                //class C
//case 5:		(64-127).255.255.255                   //class A
//case 6:		(128-191).(0-255).255.255              //class B
//case 7:		(192-255).(0-255).(0-255).255          //class C
//case 8:		(64-127).0.0.0                         //class A
//case 9:		(128-191).(0-255).0.0                  //class B
//case 10:	(192-255).(0-255).(0-255).0            //class C
//2003.10.14
//case 11:	(255-~).(255-~).(255-~).(255-~)
//case 12:	0.0.0.0
//case 13:	11.0.0.0
//case 14:	11.127.255.255
//case 15:	11.255.255.255
//////////////////////////////////////////////////////////////////////
function CheckIP(textValue)
  {

//christy 2005/11/16
/*
  re = /\W/;

  ipSplit = textValue.split(re);

  if(ipSplit.length != 4) return false;

  re = /[A-Za-z]/;

  for(var i=0; i<ipSplit.length; i++)
  {
  	if(textValue.search(re) != -1)
  	{
  		return false;
  	}
  }

       for(i=0; i<ipSplit.length; i++)
       {
         if(ipSplit[i]>=255)  return false; // case 11
       }

       if(ipSplit[0]==0 && ipSplit[1]==0 && ipSplit[2]==0 && ipSplit[3]==0)  return false; // case 12
       if(ipSplit[0]==11 && ipSplit[1]==0 && ipSplit[2]==0 && ipSplit[3]==0)  return false; // case 13
       if(ipSplit[0]==11 && ipSplit[1]==127 && ipSplit[2]==255 && ipSplit[3]==255)  return false; // case 14
       if(ipSplit[0]==11 && ipSplit[1]==255 && ipSplit[2]==255 && ipSplit[3]==255)  return false; // case 15

       if(ipSplit[0]==127) return false;  //case 1
       if(ipSplit[0]>=224 && ipSplit[0]<=255) return false; //case 2

       if(ipSplit[0]==128 && ipSplit[1]==0) return false;   //case 3
       if(ipSplit[0]==191 && ipSplit[1]==255) return false;  // case 4


       if(ipSplit[3]==255 || ipSplit[3]==0)
        {
           if(ipSplit[0]>=192 && ipSplit[0]<=255) return false;  //case 7, 10

           if(ipSplit[2]==255 || ipSplit[2]==0)
           {
           	  if(ipSplit[0]>=128 && ipSplit[0]<=191) return false; //case 6, 9

           	  if(ipSplit[1]==255 || ipSplit[1]==0)
           	  if(ipSplit[0]>=64 && ipSplit[0]<=127) return false; //case 5, 8
           }
        }
*/
//christy 2005/11/16
       return true;
       
 }

////////////////////////////////////////////////////////////////////
// invalid mask
//case 1:		(>255).(>255).(>255).(>255)
//case 2:   255.255.255.255
//case 3:   255.254.255.255
//case 4:   255.255.255.130
//case 5:   0.0.0.0
//case 6:   10.10.10.10
////////////////////////////////////////////////////////////////////
function CheckMask(textValue)
  {
	re = /\W/;

  ipSplit = textValue.split(re);

       if(ipSplit.length!=4) return false;

  re = /[A-Za-z]/;

  for(var i=0; i<ipSplit.length; i++)
  {
  	if(textValue.search(re) != -1)
  	{
  		return false;
  	}
  }


       for(i=0; i<ipSplit.length; i++)
       {
         if(ipSplit[i]>255)  return false; // case 1
       }
       if(ipSplit[0]==255 && ipSplit[1]==255 && ipSplit[2]==255 && ipSplit[3]==255)  return false; // case 2
       if(ipSplit[0]==255 && ipSplit[1]==254 && ipSplit[2]==255 && ipSplit[3]==255)  return false; // case 3
       if(ipSplit[0]==255 && ipSplit[1]==255 && ipSplit[2]==255 && ipSplit[3]==130)  return false; // case 4
       if(ipSplit[0]==0 && ipSplit[1]==0 && ipSplit[2]==0 && ipSplit[3]==0)  return false; // case 5
       if(ipSplit[0]==10 && ipSplit[1]==10 && ipSplit[2]==10 && ipSplit[3]==10)  return false; // case 6

   return true;
}

////////////////////////////////////////////////////////////////////
// invalid gateway
//case 1:		(>255).(>255).(>255).(>255)
//case 2:   255.255.255.255
//case 3:   (224-239).(0-255).(0-255).(0-255)
//case 4:   (240-254).(0-255).(0-255).(0-255)
//case 5:   127.0.0.1
//case 6:   0.0.0.0
////////////////////////////////////////////////////////////////////
function CheckGateway(textValue)
{
	re = /\W/;

  ipSplit = textValue.split(re);

       if(ipSplit.length!=4) return false;

  re = /[A-Za-z]/;

  for(var i=0; i<ipSplit.length; i++)
  {
  	if(textValue.search(re) != -1)
  	{
  		return false;
  	}
  }

       for(i=0; i<ipSplit.length; i++)
       {
         if(ipSplit[i]>=255)  return false; // case 1
       }
  if(ipSplit[0]==255 && ipSplit[1]==255 && ipSplit[2]==255 && ipSplit[3]==255)  return false; // case 2
  if(ipSplit[0] >= 224 && ipSplit[0] <= 239) return false; // case 3
  if(ipSplit[0] >= 240 && ipSplit[0] <= 254)  return false; // case 4
  if(ipSplit[0]== 127 && ipSplit[1]== 0 && ipSplit[2]== 0 && ipSplit[3]== 1)  return false; // case 5
  if(ipSplit[0]==0 && ipSplit[1]==0 && ipSplit[2]==0 && ipSplit[3]==0)  return false; // case 6

   return true;
}

function HexCheck2(str)
{
	var len = str.length;

	if((len == 0) || (len%2 != 0))
	{
		return false;
	}
	else
	{
		for(var i=0 ; i<len ; i++)
		{
			substring = str.substr(i,1);
		    if(!((substring>='0' && substring<='9') || (substring>='a' && substring<='f') || (substring>='A' && substring<='F') ? true : false))
				return false;
		}
		return true;
	}
}

function macCheck(str)
{
	// type 1 xx:xx:xx:xx:xx:xx
	// type 2 xx xx xx xx xx xx
	var len = str.length;
	var substring1 = str.split(":");
	//var substring2 = new Array(str.substring(0,2),str.substring(3,5),str.substring(6,8),
	//                           str.substring(9,11),str.substring(12,14),str.substring(15,17));
	var substring2 = str.split(" ");
	var len1 = substring1.length;
	var len2 = substring2.length;

	if(len == 0)
	{
		//alert("The MAC is empty.");
		return false;
	}
	else
	{
		if(len1 == 6)
		{
			for(var i=0 ; i<6 ; i++)
			{
				//alert(substring1[i]);
				if(!HexCheck2(substring1[i]))
				{
					//alert("false1");
					return false;
				}
			}
			return true;
		}

		if(len2 == 6)
		{
			for(var i=0 ; i<6 ; i++)
			{
				if(!HexCheck2(substring2[i]))
				{
					//alert("false2");
					return false;
				}
			}
			return true;
		}
		//alert(false);
		return false;
	}
}

function ASCIICheck(str)
{
	// ASCII range  16:(20~7E)  10:(32~126)
	for(var i=0 ; i<str.length ; i++)
	{
		if(str.charCodeAt(i) < 32 || str.charCodeAt(i) > 126)
		{
			//alert(false);
			return false;
		}
	}
	//alert(true);
	return true;
}

function SSIDCheck(str)
{
	 for(i=0;i<str.length;i++)
	 {
	    if(str.charAt(i)=='"')
		   return false;
		  else
		   return true;
	 }

}

function configFile(str)
{

	if(str.indexOf(".cfg")==-1)
	  return false;
	else
	   return true;
}

function UpdateFirm(str)
{
	 if(str.indexOf(".tfp")==-1)
	   return false;
	else
	   return true;

}
