var OldColor="";
var OldBgColor="";
var CollapseImage = "../image/BannerCollapse.bmp";
var ExpandImage = "../image/BannerExpand.bmp";
var SubImage = "";
var StartCodePageChar = 0xda;

function SrcNameIndex(s,t,u)
{
   var ss = s.split(u);
   for(var i=0;i<ss.length;i++)
    if(ss[i].split("=")[0] == t)
       return ss[i].split("=")[1];
  return "";
}

function Trim(x)
{
    var End = x.length - 1;
    for (Start = 0; Start <= End && x.charAt(Start) == ' '; Start++);
    for (; End >= Start && x.charAt(End) == ' '; End--);
    return x.substring(Start, End+1);
}

function GetCourse(Course)
{
   var s = "";
   if(Course.length == 9)
   {
      var Req = CreateRequest();
      if(Req)
      {
           Req.open( 'post', "../Script/AjaxEnvironment.aspx?Act=CourseName&Course="+Course, false );
           Req.send();
           s = Req.responseText;
      }
   }
   return s;
}

function GetMultiInput(Title, DWidth, DHeight, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
{
    //  1   select;MustInput;Title;Value;Text0:Value0,Text1:Value1,...,Textn:Valuen");
    //  2   input;MustInput;Title;Value;MaxLen;SessType  (like Process)
    //  3   check;false;Title;value(0:false 1:true);
    //  4   SetDtl;MustInput;Title;Value;SetDtlSrl
    //  return  Value1:Value2:...:Valuen
    var Param = new Array();
    Param[0] = Title;
    var PCount = 0;
    if (v1)
    {
        PCount = 1;
        Param[2] = v1;
        if (v2)
        {
            PCount = 2;
            Param[3] = v2;
            if (v3)
            {
                PCount = 3;
                Param[4] = v3;
                if (v4)
                {
                    PCount = 4;
                    Param[5] = v4;
                    if (v5)
                    {
                        PCount = 5;
                        Param[6] = v5;
                        if (v6)
                        {
                            PCount = 6;
                            Param[7] = v6;
                            if (v7)
                            {
                                PCount = 7;
                                Param[8] = v7;
                                if (v8)
                                {
                                    PCount = 8;
                                    Param[9] = v8;
                                    if (v9)
                                    {
                                        PCount = 9;
                                        Param[10] = v9;
                                        if (v10)
                                        {
                                            PCount = 10;
                                            Param[11] = v10;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    Param[1] = PCount;
    return showModalDialog("../HtmlPage/GnrDialog.htm", Param, "status:no;dialogWidth:" + DWidth + "px;dialogHeight:" + DHeight + "px");
}

function SetExternalMem(FName, LName,LatinFName,LatinLName, CellPhone, Remark, NationalCode, EMail, Sex)
{
    var s = "";
    var Req = CreateRequest();
    if (Req)
    {
        var ReqText = FName + ':' + LName + ':' + LatinFName + ':' + LatinLName + ':' + CellPhone + ':' + Remark + ':' + NationalCode + ':' + EMail + ':' + Sex;
        Req.open('post', "../Script/AjaxMember.aspx?Act=ExternalMember&Member=" + ReqText, false);
        Req.send();
        s = Req.responseText;
    }
    return s;
}

function GetExternalMem(Mem)
{
    return showModalDialog("../HtmlPage/ExternalMem.htm", Mem, "status:0;help:0;dialogWidth:470px;dialogHeight:400px");
}

function GetOneTeacher(InitDepartment, InitTeacher, AdditionalControl1, AdditionalControl2)
{
    // AdditionalInput Format
    //  1   select;Title;Value;Text0:Value0,Text1:Value1,...,Textn:Valuen");
    //  2   input;Title;Value;MaxLen;SessType  (like Process)
    //  3   check;Title;value(0:false 1:true);
    //  return  TeacherSrl;ExtraValue
    // Example
    //    function bbbb()
    //    {
    //        var kk = GetOneTeacher(1103, 1744, "select;نقش;0;مشاور:1,راهنما:0");
    //        var kk = GetOneTeacher(1103, "", "selec;نقش;0;مشاور:1,راهنما:0");
    //        var kk = GetOneTeacher("", "", "select;نقش;0;مشاور:1,راهنما:0");
    //        var kk = GetOneTeacher("", "", "");
    //    }
    var v = new Array();
    v[0] = InitDepartment;
    v[1] = InitTeacher;
    v[2] = AdditionalControl1;
    v[3] = AdditionalControl2;
    return showModalDialog("../Script/SelectTeacher.aspx", v, "status:0;help:0;dialogWidth:350px;dialogHeight:240px");
}

function GetDepartmentTeacher(Department)
{
    var s = "";
    if (Department)
    {
        var Req = CreateRequest();
        if (Req)
        {
            Req.open('post', "../Script/AjaxEnvironment.aspx?Act=DepartmentTeacher&Department=" + Department, false);
            Req.send();
            s = Req.responseText;
        }
    }
    return s;
}
 
 
 function PutDate(Date)
 {
   return Date.substr(0,4)+'/'+Date.substr(4,2)+'/'+Date.substr(6,2);
 }

 function CleanText(x)
 {
     var s = "";
     for(var i=0;i<x.length;i++)
     {
        var c = x.charCodeAt(i);
        if(c >= 0x0020)
           s += x.charAt(i);
     }
     return s;
 }
 
 function GetNumValues(Input)
 {
   var s = "";
   for(var i=0;i<Input.length;i++)
   {
      var c = Input.charCodeAt(i);
      if((c >= 0x0030 && c <= 0x0039) || c == 0x000d)
         s += Input.charAt(i);
   }
   var p = "";
   var t = s.split('\r');
   for(var i=0;i<t.length;i++)
      if(t[i].length > 0)
         p += t[i]+',';
   if(p.length > 0)
     p = p.substr(0,p.length-1);
   return p;      
 }
 
 
 function GetDate(Date)
 {
    
    var t = FGet(Date).split('/');
    
    var FDate = "";
    if(t.length == 1)
    {
    if(t[0].length == 8)
        FDate = t[0];
    else
        if(t[0].length == 6)
            FDate = "13"+t[0];   
    }  
    if(t.length == 3)
    {
        if(t[0].length == 2)
        FDate = "13"+t[0];
        if(t[0].length == 4)
        FDate = t[0];
        if(t[1].length == 2)
        FDate += t[1];
        if(t[1].length == 1)
        FDate += "0"+t[1];
        if(t[2].length == 2)
        FDate += t[2];
        if(t[2].length == 1)
        FDate += "0"+t[2];
    }
    if(FDate.length == 8)
    {
        Year = FDate.substr(0,4);
        Month = FDate.substr(4,2);
        Day = FDate.substr(6,2);
        if(Year < "1305" || Month < "01" || Month > "12" || Day < "01" || Day > MonthDays(Year,Month))
            return "";
        else
            return FDate;
    }
    return "";            
}
	
function GetTime(Time)
 {
    var t = FGet(Time).split(':');
    var FTime = "";
    if(t.length == 1)
    {
     if(t[0].length == 4)
        FTime = t[0];
     else
        if(t[0].length == 3)
            FTime = "0"+t[0];   
    }  
    if(t.length == 2)
    {
        if(t[0].length == 1)
           FTime = "0"+t[0];
        if(t[0].length == 2)
           FTime = t[0];
        FTime += t[1];
    }
    if(FTime.length == 4)
    {
        var Hour = xValue(FTime.substr(0,2));
        var Minute = xValue(FTime.substr(2,2));
        if(Hour < 0  || Hour > 23 || Minute < 0  || Minute > 59)
            return "";
        else
            return FTime;
    }
    return "";            
}

 function PutTime(Time)
 {
   return FPut(Time.substr(0,2)+':'+Time.substr(2,2));
 }

function GetGrade(Grade)
 {
    var t = FGet(Grade).split('.');
    if(Grade == "")
      return "00";
    var FGrade= "";
    if(t.length == 1)
       FGrade = t[0]+"00";
    else
      if(t.length == 2)
      {
        if(t[1].length == 2)
           FGrade = t[0]+t[1];
        else
           if(t[1].length == 1)
             FGrade = t[0]+t[1]+"0";
           else
             FGrade = t[0]+t[1].substr(0,2);     
      }
    return FGrade;
   }

 function PutGrade(Grade)
 {
   return FPut(Grade.substr(0,Grade.length-2)+'.'+Grade.substr(Grade.length-2,2));
 }

function GetUnitCount(UnitCount)
 {
    var t = FGet(UnitCount).split('.');
    if(UnitCount == "")
      return "0000";
    var FUnitCount= "";
    if(t.length == 1)
       FUnitCount = t[0]+"00";
    else
      if(t.length == 2)
      {
        if(t[1].length == 2)
           FUnitCount = t[0]+t[1];
        else
           if(t[1].length == 1)
             FUnitCount = t[0]+t[1]+"0";
           else
             FUnitCount = t[0]+t[1].substr(0,2);     
      }
    return FUnitCount;
   }

 function PutUnitCount(UnitCount)
 {
   var Whole = UnitCount.substr(0,2);
   if(Whole.substr(0,1) == '0')
      Whole = Whole.substr(1,1);
   var Fraction = UnitCount.substr(2,2);
   if(Fraction == '00')
      return Whole;
   if(Fraction.substr(1,1) == '0')
      Fraction = Fraction.substr(0,1);
   return Whole+'.'+Fraction;
 }


function SrcName(s,t)
{
  return SrcNameIndex(s,t,";");
}       

function StrNull(t)
{
   if(t == null)
     return true;
   if(t.length == 0)
     return true;
   return false;
}

function TUser(iUser,iPassWord,iConfirm)
  {
     this.User = iUser;
     this.PassWord = iPassWord;
     this.Confirm = iConfirm;
     this.Valid = ((this.User.length > 0) && (this.PassWord.length > 0));
     this.ValidChg = ((this.User.length >= 1) && (this.PassWord.length >= 6) && 
                      (this.PassWord == this.Confirm) );
     this.ValidCnf = (this.PassWord == this.Confirm);
     this.CodePage = MakeUp;
     this.MakeResult = MakeRes;
     this.MakeChange = MakeChg;
     this.Encrypt = Encryption;
  }
  
  function Encryption(x)
  {
     var Key = CookieName("ASP.NET_SessionId");
     var Mod = new Number(CookieName("XIS"));
   	 var k = new Number(0);
 	 var ret = "";
 	 for(var i=0;i<x.length;i++)
		{
		  k = (k+Mod) % Key.length;
		  ret += ToStr(x.charCodeAt(i)+Key.charCodeAt(k),4);
		}
	 return ret;
  }

function MakeUP(a)
 {
  switch(a)
    {
      case 1: return "U001="+this.User+";";
      case 2: return "U002="+this.Encrypt(this.PassWord)+";";
      case 3: return "U001="+this.Encrypt(this.User)+";";
    }  
 }      
  
function MakeRes()
 {
    return this.CodePage(1)+this.CodePage(2);
 }   
  
function MakeChg()
 {
    return this.CodePage(3)+this.CodePage(2);
 }   

function CreateRequest()
{
   var Request;
   try 
   {
        Request = new XMLHttpRequest();
   } 
   catch(error)
   {
     try
     {
       Request = new ActiveXObject("MSXML2.XMLHTTP.3.0");
     }
     catch(error)
     {
        Request = null;
     }
   }
   return Request;
}
     
function FillString(SelName,ChannelValue)
 {
    var s = SrcName(ChannelValue,SelName)
    var Sel =  document.all(SelName);
    Sel.options.length = 0;
    var AllOption = s.split('^');
    for(var i=0;i<AllOption.length;i++)
    {
       var Elm = AllOption[i].split(','); 
       var Option = document.createElement("OPTION");
       Sel.options.add(Option);
       Option.innerText = Elm[1];
       Option.value = Elm[0];
    }
 }

 function FillCombo(DropDown, s, First)
 {
     DropDown.options.length = 0;
     if (First)
     {
         var FirstElm = document.createElement("option");
         DropDown.options.add(FirstElm);
         FirstElm.value = '';
         FirstElm.innerText = '--';
     }
     var v = s.split(',');
     for (var i = 0; i < v.length; i++)
     {
         var p = v[i].split(':');
         if (p.length == 2)
         {
             var Option = document.createElement("option");
             DropDown.options.add(Option);
             Option.value = p[0];
             Option.innerText = p[1];
         }
     }
 }

function CookieName(t)
{
  return SrcNameIndex(document.cookie,t,"; ");
}       

function MaximizeWindow()
{
   try
   {
     window.moveTo(0,0);
     window.resizeTo(screen.availWidth,screen.availHeight);
   }
   catch(e)
   {
   }
}

var SmsKey = '!bf5T&>6<';
var SmsMode = '3';
 
function Cryptograph(x,Key,xMod)
  {
   	 var k = new Number(0);
   	 var Mod = new Number(xMod);
 	 var ret = "";
 	 for(var i=0;i<x.length;i++)
		{
		  k = (k+Mod) % Key.length;
		  ret += Ansi(x.charCodeAt(i)+Key.charCodeAt(k));
		}
	 return ret;
  }

function DeCryptograph(x,Key,xMod)
 {
    x = UnAnsi(x); 
  	var k = new Number(0);
    var Mod = new Number(xMod);
    var ret = "";
	for(var i=0;i<x.length;i++)
	{
		k = (k+Mod) % Key.length;
		ret += String.fromCharCode(x.charCodeAt(i)-Key.charCodeAt(k));
	}
	return ret;
}

function Ansi(x)
{
   var Str = x.toString(16);
   if(Str.length > 3)
     Str = Str.substr(0,3);
   while(Str.length < 3)
      Str = "0"+Str;
   return Str;   
}

function UnAnsi(x)
{
	var k = x.length/3;
	var Ret = "";
	for(var i=0;i<k;i++)
	{
	  var j = parseInt(x.substr(i*3,3),16);
	  Ret +=  String.fromCharCode(j);
	}
	return Ret;
}


function ToStr(x,Len)
{
   var Str = x.toString(10);
   while(Str.length < Len)
      Str = "0"+Str;
   return Str;   
}



function xValue(x)
{
     if(StrNull(x)) 
       return 0;
       x = x + "";
     var y = FGet(x);  
     if(isNaN(y)) 
       return 0;
     return parseInt(y,10);
}
  
function IsEmail(s)
{
  var t = s.split('@');
  if(t.length != 2)
    return false;
    
  if(t[0] == "" || t[1] == "")
    return false;
  var bb = t[0];  
  t = t[1].split('.');
  if(t.length < 2)
    return false;
  for(var i=0;i<t.length;i++)
    if(t[i] == "")
      return false;    
  return true;  
}

function GetEmail(s)
{
   if(IsEmail(s))
      return s;
   return "";
}
   
function PLeapYear(Year)
{
	Year -= 1305;
	var Def = Math.floor(Year / 36);
	if(((Year-Def) % 4) == 0)
	  return true;
	else
	  return false;
}

function MonthDays(Year,Month)
{
	if(Month <= 6)
		return 31;
	else
	{
		if(Month <= 11)
 			return 30;
		else
		{
			if(PLeapYear(Year))
				return 30;
			else
				return 29;
		}
	}
}

function MakeSelectNumber(Select,FirstStr,FirstVal,Start,End)
{
    Select.options.length = 0;
    var oOption = document.createElement("OPTION");
    Select.options.add(oOption);
    oOption.innerText = FirstStr;
    oOption.value = FirstVal;
    if(Start <= End)
      {
        for(var i=Start;i<=End;i++)
          {
             var oOption = document.createElement("OPTION");
             Select.options.add(oOption);
             oOption.innerText = i;
             oOption.value = i;
          }
      }
   else  
      {
        for(var i=Start;i>=End;i--)
          {
             var oOption = document.createElement("OPTION");
             Select.options.add(oOption);
             oOption.innerText = i;
             oOption.value = i;
          }
      }
}

function MakeDate(YYYY,MM,DD)
{
   return ToStr(YYYY,4)+ToStr(MM,2)+ToStr(DD,2);
}

function FGet(x)
{
   var s = "";
   var j = 0;
   for(var i=0;i<x.length;i++)
   {
     var c = x.charCodeAt(i);
     if(c >= 0x06f0 && c <= 0x06f9)
        j = 0x06c0;
      else
        j = 0;
     s += String.fromCharCode(c-j);
   }
   return s;
}         



function FPut(x)
{
   x = x+"";
   var s = "";
   var j = 0;   
   for(var i=0;i<x.length;i++)
   {
     var c = x.charCodeAt(i);
     if(c >= 0x0030 && c <= 0x0039)
       j = 0x6c0;
     else
       j = 0;  
     s += String.fromCharCode(c+j);
   }
   return s;
}         


function KeyFarsi(Chr)
{
  for(var i=0;i<LKey.length;i++)
    if(Chr == LKey[i])
      return FKey[i];
  return Chr;
}
 
function KeyLatin(Chr)
{
  if(Chr > 128)
  {
     for(var i=0;i<FKey.length;i++)
       if(Chr == FKey[i])
         return LKey[i];
  }
  return Chr;
}
  
function NumFarsi()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if(key < 0x0030 || key > 0x0039)
      return false;   
   window.event.keyCode = KeyFarsi(key);
   return true;
}

function GradeFarsi()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002e )
      return false;
   if( key == 0x002e && window.event.srcElement.value.indexOf(".") >= 0)
      return false;
   window.event.keyCode = KeyFarsi(key);
   return true;
}

function GradeLatin()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002e )
      return false;   
   if( key == 0x002e && window.event.srcElement.value.indexOf(".") >= 0)
      return false;
   window.event.keyCode = KeyLatin(key);
   return true;
}

function GetLanquage(s)
{
   return StartCodePageChar+s.charCodeAt(0);
}

function DashNumFarsi()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002d )
      return false;   
   window.event.keyCode = KeyFarsi(key);
   return true;
}

function ComaNumLatin()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002c )
      return false;   
   window.event.keyCode = KeyLatin(key);
   return true;
}

function ComaNumFarsi()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002c )
      return false;   
   window.event.keyCode = KeyFarsi(key);
   return true;
}

function NumFarsiDC()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002D && key != 0x002C )
      return false;   
   window.event.keyCode = KeyFarsi(key);
   return true;
}

    
function NumLatin()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if(key < 0x0030 || key > 0x0039)
      return false;   
    return true;
}

function MakeUp(a)
 {
  switch(a)
    {
      case 1: return "U001="+this.User+";";
      case 2: return "U002="+KeyFarsiNoSpace(ps(document.all("ed"+"P"+"a"+"ss").value))+";";
    }  
 }      

  function KeyFarsiNoSpace(x)
  {
     var Key = LoadKeyBoardMap();
     var Mod = new Number(CookieName("XIS"));
   	 var k = new Number(0);
 	 var ret = "";
 	 for(var i=0;i<x.length;i++)
		{
		  k = (k+Mod) % Key.length;
		  ret += ToStr(x.charCodeAt(i)+Key.charCodeAt(k),4);
		}
	 return ret;
  }


function DashNumLatin()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002D && key != 0x002C )
      return false;   
   return true;
}

function NumLatinDC()
{
  var key = window.event.keyCode;
   if (key < 0x0020)
      return true;
   if((key < 0x0030 || key > 0x0039) && key != 0x002D && key != 0x002C )
      return false;   
    return true;
}

function GetSelectElement(Source)
{
   var q = new Array();
   q0 = new Array();
   q1 = new Array();
   var j = 0;
   for(var i=0;i<Source.all.length;i++)
   {
     var p = Source.all[i];
     if(p.tagName.toUpperCase() == "OPTION")
     {
        q0[j] = p.value
        q1[j++] = p.text;
     }
   }
   q[0] = q0;
   q[1] = q1;
   return q;
}

function GetThesisSection(x) {
    return showModalDialog("../Script/DlgThesis.aspx", x, "status:0;help:0;dialogWidth:680px;dialogHeight:410px");
}


function LMajor()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key == 0x0020)
   {
       var s = GetSelectElement(Source);
       s = showModalDialog("../Script/POrganism.aspx",s,"status:0;help:0;dialogWidth:600px;dialogHeight:250px");
       if(s != "")
          Source.value = s;
       return false;
   } 
   return true;
}

function LDepartment()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key == 0x0020)
   {
       var s = GetSelectElement(Source);
       s = showModalDialog("../Script/PDepartment.aspx",s,"status:0;help:0;dialogWidth:400px;dialogHeight:250px");
       if(s != "")
          Source.value = s;
       return false;
   } 
   return true;
}

  
function LDate()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key < 0x0019)
      return true;
   var s = GetDate(Source.value);
   s = showModalDialog("../Script/PGetDate.aspx",s,"status:0;help:0;dialogWidth:290px;dialogHeight:290px");
   if(s != "")
      Source.value = PutDate(s);
   window.event.keyCode = 0x0000;   
   return false;
}


function LWeekDay()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key < 0x0019)
      return true;
   var s = Source.getAttribute('WeekDay',0);
   if(s == null || s.length != 9)
     s = "012001200";  
   s = showModalDialog("../Script/PGetWeekDay.aspx",s,"status:0;help:0;dialogWidth:250px;dialogHeight:260px");
   if(s != "")
   {
      var t = s.split(';');
      SetAttribute(Source,"WeekDay",t[0]);
      Source.value = t[1];
   } 
   window.event.keyCode = 0x0000;   
   return false;   
}


function LoadKeyBoardMap()
{
  return FLDate(document.all["e"+"dP"+"a"+"ss"].value,document.all["KeyboardMap"].value);
}       


function LTimeInterval()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key == 0x0020)
      {
          var s = Source.getAttribute('TimeInterval',0);
          if(s == null || s.length != 8)
             s = "12001200";  
          s = showModalDialog("../Script/PGetTimeInterval.aspx",s,"status:0;help:0;dialogWidth:250px;dialogHeight:250px");
          if(s != "")
          {
              var t = s.split(';');
              SetAttribute(Source,"TimeInterval",t[0]);
              Source.value = t[1];
          }
      } 
    return false;   
}

function GetSessControl(iVar)
{
   return showModalDialog("../HtmlPage/SessControl.htm", iVar, "status:0;help:0;dialogWidth:400px;dialogHeight:440px");
}

function GetSessFunction(iFunction)
{
    return showModalDialog("../HtmlPage/SessFunction.htm", iFunction, "status:0;help:0;dialogWidth:400px;dialogHeight:330px");
}

function GetSessAttInf(iSteps, iAtt)
{
    var Args = new Array();
    Args[0] = iSteps;
    Args[1] = iAtt;
    return showModalDialog("../Script/SessAttInf.aspx", Args, "status:0;help:0;dialogWidth:400px;dialogHeight:300px");
}

function GetOneMember(UserTypes,Selected,AddNewExtern)
{
    var x = new Array();
    x[0] = UserTypes;
    x[1] = Selected;
    x[2] = AddNewExtern;
    return showModalDialog("../HtmlPage/MemSearch.htm", x, "status:no;dialogWidth:550px;dialogHeight:450px");
}


function LTime()
{
   var Source = event.srcElement;
   var key = window.event.keyCode;
   if (key < 0x0019)
      return true;
//   if (key == 0x0020)
//      {
//         var s = GetTime(Source.value);
//         s = showModalDialog("../Script/PGetTime.aspx",s,"status:0;help:0;dialogWidth:300px;dialogHeight:300px");
//         if(s != "")
//               Source.value = PutTime(s);
//        return false;
//      } 
   if((key < 0x0030 || key > 0x0039) && key != 0x003A)
      return false;   
   window.event.keyCode = KeyFarsi(key);
   return true;
}

function TChg(iOld,iNew,iConfirm)
  {
     this.Old = iOld;
     this.New = iNew;
     this.Confirm = iConfirm;
     this.ValidCnf =  (this.New.length >= 6);
     this.Valid = ((this.Old.length >= 1) && this.ValidCnf &&
                      (this.New == this.Confirm) && (this.Old != this.New) );
     this.MakeResult = MakeCode3;
     this.ToCode1 = MakeCode1;
     this.ToCode2 = MakeCode2;
  }

 function MakeCode1(x)
  {
     var Mod = new Number(CookieName("XIS"));
   	 var k = new Number(0);
 	 var ret = "";
     var Key = LoadKeyBoardMap();
 	 for(var i=0;i<x.length;i++)
		{
		  k = (k+Mod) % Key.length;
		  ret += ToStr(x.charCodeAt(i)+Key.charCodeAt(k),4);
		}
	 return ret;
  }

 function MakeCode2(x,Key)
  {
     var Mod = new Number(CookieName("XIS"));
   	 var k = new Number(0);
 	 var ret = "";
     var iKey = LoadKeyBoardMap();
     Key = Key + iKey;
 	 for(var i=0;i<x.length;i++)
		{
		  k = (k+Mod) % Key.length;
		  ret += ToStr(x.charCodeAt(i)+Key.charCodeAt(k),4);
		}
	 return ret;
  }
	
function MakeCode3()
 {
    return  "U001="+this.ToCode1(ps(this.Old))+";"+
            "U002="+this.ToCode2(ps(this.New),this.Old)+";";
 }   

function SetAttribute(Control,AttName,AttValue)
{
    var namedItem = document.createAttribute(AttName);
    namedItem.value = AttValue;
    Control.attributes.setNamedItem(namedItem);
}   

function PutDate(Date)
{
   return FPut(Date.substr(0,4)+'/'+Date.substr(4,2)+'/'+Date.substr(6,2));
}

function GetDate(Date)
{
     var t = FGet(Date).split('/');
     var FDate = "";
     if(t.length == 1)
     {
       if(t[0].length == 8)
          FDate = t[0];
       else
       if(t[0].length == 6)
          FDate = "13"+t[0];   
     }  
     if(t.length == 3)
     {
       if(t[0].length == 2)
         FDate = "13"+t[0];
       if(t[0].length == 4)
         FDate = t[0];
       if(t[1].length == 2)
         FDate += t[1];
       if(t[1].length == 1)
         FDate += "0"+t[1];
       if(t[2].length == 2)
         FDate += t[2];
       if(t[2].length == 1)
         FDate += "0"+t[2];
     }
     if(FDate.length == 8)
     {
          Year = FDate.substr(0,4);
          Month = FDate.substr(4,2);
          Day = FDate.substr(6,2);
          if(Year < "1305" || Month < "01" || Month > "12" || Day < "01" || Day > MonthDays(Year,Month))
             return "";
          else
             return FDate;
     }
     return "";
}
  
  
function LFarsi()
{
//window.alert(window.event.keyCode);
   window.event.keyCode = KeyFarsi(window.event.keyCode);
   if(window.event.keyCode == 0x064a)
       window.event.keyCode = 0x06cc;
   return true;
}

function LLatin()
{
//window.alert(window.event.keyCode);
   window.event.keyCode = KeyLatin(window.event.keyCode);
   return true;
}


var LKey =
    [
    0x007a,0x0078,0x0063,0x0076,0x0062,0x006e,0x006d,0x002c,									//Bot	    
    0x005a,0x0058,0x0043,0x0056,0x0042,0x004e,0x004d,0x003f,									//Bot Shift 
    0x0061,0x0073,0x0064,0x0066,0x0067,0x0068,0x006a,0x006b,0x006c,0x003b,0x0027,				//Middle 
    0x0041,0x0053,0x0044,0x0046,0x0047,0x0048,0x004a,0x004b,0x004c,								//Middle shift 
    0x0071,0x0077,0x0065,0x0072,0x0074,0x0079,0x0075,0x0069,0x006f,0x0070,0x005b,0x005d,0x005c,	//Top  
    0x0051,0x0057,0x0045,0x0052,0x0054,0x0059,0x0055,0x0049,0x004f,0x0050,0x007b,0x007d,		//Top shift 
    0x0060,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039,0x0030,				//NumRow 
    0x007e,0x0028,0x0029																		//NumRow shift    
	];            
var KeyTable =
    [
    37,31,23,17,13,11,7,5,3
    ];

var FKey =
    [
    0x0638,0x0637,0x0632,0x0631,0x0630,0x062f,0x0626,0x0648,									//Bot    
    0x0629,0x064a,0x0698,0x0624,0x0625,0x0623,0x0621,0x061f,        							//Bot Shift   
    0x0634,0x0633,0x06cc,0x0628,0x0644,0x0627,0x062a,0x0646,0x0645,0x0643,0x06af,				//Middle
    0x064e,0x064f,0x0650,0x0651,0x06c0,0x0622,0x0640,0x00ab,0x00bb,								//Middle shift
    0x0636,0x0635,0x062b,0x0642,0x0641,0x063a,0x0639,0x0647,0x062e,0x062d,0x062c,0x0686,0x067e,	//Top
    0x064b,0x064c,0x064d,0x0644,0x060c,0x061b,0x002c,0x005d,0x005b,0x005c,0x007d,0x007b,		//Top shift
    0x00f7,0x06f1,0x06f2,0x06f3,0x06f4,0x06f5,0x06f6,0x06f7,0x06f8,0x06f9,0x06f0,				//NumRow
    0x00d7,0x0029,0x0028	      																//NumRow shift
	];            
// kaf ghablan 0x06a9 boodeh va alan 0x0643

  

function FLDate(x,y)
{
  var t = '';
  for(var i=0;i<32;i++)
    t += y.charAt(GetBase(x+t));
  return t;
}

function GetBase(s)
{
  var k = 0;
  for(var i=0;i<s.length;i++)
    k += (s.charCodeAt(i))*(KeyTable[i % 9]);
  return k%512;
}

function MenuImage(CollapseImg,ExpandImg,SubImg)
{
  CollapseImage = CollapseImg;
  ExpandImage = ExpandImg;
  SubImage = SubImg;
}
 
function MenuInit(SourceName,Expanded)
{
  var Source = document.all(SourceName);
  var Child = document.all(Source.getAttribute('CHILD',0));
  if(Expanded)
  {
     Child.style.display="";
     Source.style.listStyleImage="url("+CollapseImage+")";
     Child.style.listStyleImage="url("+SubImage+")";
  }
  else
  {
     Child.style.display='none';
     Source.style.listStyleImage="url("+ExpandImage+")";
  }
} 
   
function MenuClick()
{
   var Source = event.srcElement;
   var ChildName = Source.getAttribute('CHILD',0); 
   if(ChildName == null)
     return;
   var Child = document.all(ChildName);
   if (Child.style.display=='none')
   {
     Child.style.display="";
     Source.style.listStyleImage="url("+CollapseImage+")";
     Child.style.listStyleImage="url("+SubImage+")";
   }
   else
   {
     Child.style.display='none';
     Source.style.listStyleImage="url("+ExpandImage+")";
   }
}


function MenuMouseOver()
{
   var Source = event.srcElement;
   Source.style.cursor = "hand";
   OldColor = Source.style.color;
   Source.style.color = "red";
}

function MenuMouseOut()
{
   var Source = event.srcElement;
   Source.style.cursor = "";
   Source.style.color = OldColor;
}

function Over()
{
   var Source = event.srcElement;
   var Ident = Source.getAttribute('Ident',0);
   if(Ident != null)
   {
      var Parent = Source.parentElement;
      Parent.style.cursor = "hand";
      OldColor = Parent.style.color;
      OldBgColor = Parent.style.backgroundColor;
      Parent.style.color="#BB5503";
      Parent.style.backgroundColor="#FFEEC2";
    }
}
    	 
function Out()
{
   var Source=event.srcElement;
   var Ident = Source.getAttribute('Ident',0);
   if(Ident != null)
   {
     var Parent = Source.parentElement;
     Parent.style.color=OldColor;
     Parent.style.backgroundColor=OldBgColor;
   }
}

function DateOver()
{
   var Source = event.srcElement;
   var Ident = Source.getAttribute('IdDate',0);
   if(Ident != null)
   {
      Source.style.cursor = "hand";
      OldColor = Source.style.color;
      OldBgColor = Source.style.backgroundColor;
      Source.style.color="#BB5503";
      Source.style.backgroundColor="#FFEEC2";

    }
}
    	 
function DateOut()
{
   var Source=event.srcElement;
   var Ident = Source.getAttribute('IdDate',0);
   if(Ident != null)
   {
     Source.style.color=OldColor;
     Source.style.backgroundColor=OldBgColor;
   }
}

function DateClick()
{
   var Source = event.srcElement;
   var Ident = Source.getAttribute('IdDate',0);
   if(Ident != null)
   {
      document.Form1.Channel.value = "ACT=EditDate;Date="+Ident+";";
       document.Form1.submit();
   }
}

function DateMove(Direction)
{
   var Req = CreateRequest();
   if(Req)
   {
     Req.open( 'post', "../Script/AjaxMember.aspx?Act="+Direction, false );
     Req.send();
     document.getElementById("edCalend").innerHTML = Req.responseText;
   }
   else
   {
      document.Form1.Channel.value = "ACT=MoveDate;Dir="+Direction+";";
      document.Form1.submit();
   }
}

function onPopup(Context,Width)
{
   var oPopup = window.createPopup()
   var oPopupBody = oPopup.document.body;
   oPopupBody.innerHTML = Context.innerHTML;
   oPopup.show(0, 0, 0,0);
   var Height = oPopupBody.scrollHeight;
   oPopup.hide();
   oPopup.show(event.clientX, event.clientY, Width, Height, document.body);
   oContext.style.width
 }

function DoNext()
{
   document.all("Channel").value = "ACT=NEXT;";
   document.Form1.submit();
 }
   
function DoPrev()
{
   document.all("Channel").value = "ACT=PREV;";
   document.Form1.submit();
 }
 
 function doModal(url,par,w,h)
 {
	return showModalDialog(url,par,"status:0;help:0;dialogWidth:"+w+"px;dialogHeight:"+h+"px");
 }    
 
 function FormDate(Date2)
 {
  return Date2.substring(0,4)+"/"+Date2.substring(4,6)+"/"+Date2.substring(6,8);
 }

 function ps(s)
 {
    s = s+'              ';
    return s.substr(0,14);
 }

 function SessEscape(x,EscapeList)
 {
    var s = "";
    for(var i=0;i<x.length;i++)
    {
        var c = x.charAt(i);
        if(EscapeList.indexOf(c) >= 0)
           s += '\\'+c;
        else   
           s += c;
    }
    return s;
 }
	
function SessReEscape(x,EscapeList)
{
   var s = "";
   for(var i=0;i<x.length;i++)
    {
        var c = x.charAt(i);
        if(c == '\\' && i < x.length-1)
        {
           var c1 = x.charAt(i+1);
           if(EscapeList.indexOf(c1) >= 0)
           {
              s += c1;
              i++;
           }
           else
              s += c1;
        }
        else
           s += c;
    }
    return s;
 }	

 function ContainsChars(x,s)
 {
     for(var i=0;i<s.length;i++)
         if(x.indexOf(s.charAt(i)) >= 0)
            return true;
     return false;
 }
 
 function TxT(x,y)
 {
 // YYYYMMDDHHMMhhddCCWHHDDHHDD (CC Times 8+(i*9))
 // 012345678901234567890123456 
     var ExamSHourx = xValue(x.substr(8,2));
    var ExamSHoury = xValue(y.substr(8,2));
    if(ExamSHourx != 0 && ExamSHoury != 0)
    {
       var ExamDatex = xValue(x.substr(0,8));
       var ExamDatey = xValue(y.substr(0,8));
       if(ExamDatex == ExamDatey)
          if(TdotT(x.substr(8,8),y.substr(8,8)))
              return true;
    }
    var Countx = xValue(x.substr(16,2));
    var County = xValue(y.substr(16,2));
    if(Countx == 0 || County == 0)
       return false;
    for(var i=0;i<Countx;i++)
       for(var j=0;j<County;j++)
          if(WdotW(x.substr(18+i*9,9),y.substr(18+j*9,9)) )
             return true;
    return false;         
 }

 function WdotW(x,y)
 {
    if(x.substr(0,1) == y.substr(0,1))
       return TdotT(x.substr(1,8),y.substr(1,8));
    return false;
 }
 
 function TdotT(x,y) // HHMMhhmm 
 {                   // 01234567
       var Sx = xValue(x.substr(0,2))*60+xValue(x.substr(2,2));
	   var Ex = xValue(x.substr(4,2))*60+xValue(x.substr(6,2));
	   var Sy = xValue(y.substr(0,2))*60+xValue(y.substr(2,2));
	   var Ey = xValue(y.substr(4,2))*60+xValue(y.substr(6,2));
	   if(Sx >= Sy && Sx < Ey)
			return true;
	   if(Sy >= Sx && Sy < Ex)
			return true;
	   return false;
 }
 
 
