
/*********************************************************************************************\
***********************************************************************************************
**                                                                                           **
**  Salamat School Systems                                                                   **
**  Version 1.0                                                                              **
**                                                                                           **
**  Copyright 2010 (C) Salamat School Systems                                                **
**  http://www.sss.edu.pk                                                                    **
**                                                                                           **
**  ***************************************************************************************  **
**                                                                                           **
**  Project Manager:                                                                         **
**                                                                                           **
**      Name  :  Muhammad Tahir Shahzad                                                      **
**      Email :  mtahirshahzad@hotmail.com                                                   **
**      Phone :  +92 333 456 0482                                                            **
**      URL   :  http://mts.sw3solutions.com                                                 **
**                                                                                           **
**  ***************************************************************************************  **
**                                                                                           **
**                                                                                           **
**                                                                                           **
**                                                                                           **
***********************************************************************************************
\*********************************************************************************************/

var sBrowser = navigator.userAgent;


function hideLightview( )
{
	Lightview.hide( );
}


function showLoginForm( )
{
	$('frmLogin').reset( );
	$('ResultArea').hide( );

	Effect.toggle('PasswordArea', 'slide');
	
	setTimeout( function( ) { Effect.toggle('LoginArea', 'slide'); }, 1000);
}


function showLoginFromResult( )
{
	$('frmLogin').reset( );
	$('PasswordArea').hide( );

	Effect.toggle('ResultArea', 'slide');
	
	setTimeout( function( ) { Effect.toggle('LoginArea', 'slide'); }, 1000);
}


function showPasswordForm( )
{
	$('frmPassword').reset( );
	$('ResultArea').hide( );

	Effect.toggle('LoginArea', 'slide');
	
	setTimeout( function( ) { Effect.toggle('PasswordArea', 'slide'); }, 1000);
}


function showPasswordFromResult( )
{
	$('frmPassword').reset( );
	$('LoginArea').hide( );

	Effect.toggle('ResultArea', 'slide');
	
	setTimeout( function( ) { Effect.toggle('PasswordArea', 'slide'); }, 1000);
}


function validateLoginForm( )
{
	var objFV = new FormValidator("frmLogin");

	if (!objFV.validate("Username", "B,L(4)", "Please enter your valid Username."))
		return false;
		
	if (!objFV.validate("Password", "B,L(4)", "Please enter the valid Password."))
		return false;
		
	return true;
}


function validatePasswordForm( )
{
	var objFV = new FormValidator("frmPassword");

	if (!objFV.validate("Email", "B,E", "Please enter your valid Account Email Address."))
		return false;
	
	var sUrl    = "ajax/reset-password.php"; 
	var sParams = $('frmPassword').serialize( );
	
	$('Processing').show( );
	$('frmPassword').disable( );
	
	new Ajax.Request(sUrl, { method:'post', parameters:sParams, onFailure:_showError, onSuccess:_getPassword });
}


function _getPassword(sResponse)
{
	if (sResponse.status == 200 && sResponse.statusText == "OK")
	{
		var sParams = sResponse.responseText.split('|-|');
		
		if (sParams[0] == "OK")
		{
			$('ResultMsg').innerHTML = sParams[1];

			Effect.toggle('PasswordArea', 'slide');

			setTimeout( function( ) { Effect.toggle('ResultArea', 'slide'); }, 1000);
		}
			
		else
			_showError(sParams[1]);
			
		$('Processing').hide( );
		$('frmPassword').enable( );
	}
	
	else
		_showError( );
}

function selectAll(sList)
{
	var iLength = $(sList).length;

	for (var i = 0; i < iLength; i++ )
		$(sList).options[i].selected = true;
}


function clearAll(sList)
{
	var iLength = $(sList).length;
	
	for (var i = 0; i < iLength; i++ )
		$(sList).options[i].selected = false;
		
	$(sList).selectedIndex = -1;
}


function toggleProfile( )
{
	Effect.toggle('ProfileDetails', 'slide');
  
	var sSource = new String($('ProfileIcon').src);
	
	if (sSource.indexOf("images/icons/show.jpg") != -1)
  		$('ProfileIcon').src = "images/icons/hide.jpg";
  	
  	else
  		$('ProfileIcon').src = "images/icons/show.jpg";
}

function _showError( )
{
	alert("Salamat School Systems                                                                 \n" + 
	      "===============\n\n" +
	      "An ERROR occured while processing your request.\n\n" +
	      "Please re-load your webpage and try again!");
}

function _showError(sMessage)
{
	if (typeof sMessage == "string")
	{
		alert("Salamat School Systems                                                         \n" + 
		      "===============\n\n" +
		      sMessage);
	}
}


function clearList(objList)
{
	for (var i = (objList.options.length - 1); i > 0; i --)
		objList.options[i] = null;
}


function getListValues(sParent, sChild, sType)
{
	clearList($(sChild));
	
	var iId     = $F(sParent);
	var sScript = "";
	
	switch (sType)
	{
		case "Classes"  : sScript = "get-classes-list.php"; break;
		case "Subjects" : sScript = "get-subjects-list.php"; break;
		case "Exams"    : sScript = "get-exams-list.php"; break;
		case "Cities"   : sScript = "get-cities-list.php"; break;
	}
	
	if (iId == "" || sType == "")
		return;

	$(sChild).disable( );

	var sUrl    = ("ajax/" + sScript);
	var sParams = ("Id=" + iId + "&List=" + sChild);

	new Ajax.Request(sUrl, { method:'post', parameters:sParams, onFailure:_showError, onSuccess:_getListValues });
}


function _getListValues(sResponse)
{
	if (sResponse.status == 200 && sResponse.statusText == "OK")
	{
		var sParams = sResponse.responseText.split('|-|');
		
		if (sParams[0] == "OK")
		{
			var sChild = sParams[1];

			for (var i = 2; i < sParams.length; i ++)
			{			
				var sOption = sParams[i].split("||");
			
				$(sChild).options[(i - 1)] = new Option(sOption[1], sOption[0], false, false);

			}

			$(sChild).enable( );
		}
			
		else
			_showError(sParams[1]);
	}
	
	else
		_showError( );
}


function getSections(sBranch, sClass, sSection)
{
	clearList($(sSection));
	
	var iBranch = $F(sBranch);
	var iClass  = $F(sClass);
	
	if (iClass == "" || iBranch == "")
		return;

	$(sSection).disable( );

	var sUrl    = "ajax/get-sections-list.php";
	var sParams = ("Branch=" + iBranch + "&Class=" + iClass + "&List=" + sSection);

	new Ajax.Request(sUrl, { method:'post', parameters:sParams, onFailure:_showError, onSuccess:_getSections });
}


function _getSections(sResponse)
{
	if (sResponse.status == 200 && sResponse.statusText == "OK")
	{
		var sParams = sResponse.responseText.split('|-|');
		
		if (sParams[0] == "OK")
		{
			var sSection = sParams[1];

			for (var i = 2; i < sParams.length; i ++)
			{			
				var sOption = sParams[i].split("||");
			
				$(sSection).options[(i - 1)] = new Option(sOption[1], sOption[0], false, false);

			}

			$(sSection).enable( );
		}
			
		else
			_showError(sParams[1]);
	}

	else
		_showError( );
}

function getEmployeesList(sParent, sChild, sAdditionalWorkplace, sListType)
{
	$(sChild).innerHTML = "";
	
	var iId = $F(sParent);
	
	if (iId == "")
		return;
		
	$(sChild).disable( );

	var sUrl    = "ajax/get-employees-list.php";
	var sParams = ("Id=" + iId + "&List=" + sChild + "&AdditionalWorkplace=" + sAdditionalWorkplace + "&ListType=" + sListType);

	new Ajax.Request(sUrl, { method:'post', parameters:sParams, onFailure:_showError, onSuccess:_getEmployeesList });
}


function _getEmployeesList(sResponse)
{
	if (sResponse.status == 200 && sResponse.statusText == "OK")
	{
		var sParams = sResponse.responseText.split('|-|');

		if (sParams[0] == "OK")
		{
			var sChild = sParams[1];
			
			$(sChild).update(sParams[2]);
			$(sChild).enable( );
		}
			
		else
			_showError(sParams[1]);
	}
	
	else
		_showError( );
}

function showProcessing( )
{
	$('Processing').show( );
}


function hideProcessing( )
{
	$('Processing').hide( );
}


function setPageHeight( )
{
	var iWindowHeight = 0;
	var iWindowWidth  = 0;

	if (self.innerHeight)
	{
		iWindowHeight = self.innerHeight;
		iWindowWidth  = self.innerWidth;
	}

	else if (document.documentElement && document.documentElement.clientHeight)
	{
		iWindowHeight = document.documentElement.clientHeight;
		iWindowWidth  = document.documentElement.clientWidth;
	}

	else if (document.body)
	{
		iWindowHeight = document.body.clientHeight;
		iWindowWidth  = document.body.clientWidth;
	}

	if ($('Body'))
		$('Body').style.minHeight = ((iWindowHeight - 355) + 'px');
}


function setStatusBarText( )
{
	window.status = ":: Salamat School Systems";
}


document.observe('dom:loaded', function( )
{
	new ProtoFish('Menu', '400', 'hover', false, true, false);
	
	setPageHeight( );
	setStatusBarText( );
	
	if ($("frmLogin"))
	{
		var objFV = new FormValidator("frmLogin");

		if (objFV.value("Username") == "")
			objFV.focus("Username");

		else
			objFV.focus("Password");
	}
	
	
    	$$("a.sort").each(function(objColumn)
    	{
   		objColumn.observe("click", function(event)
    		{
    			$("SortField").value = objColumn.getAttribute("rel");
			$("SortOrder").value = "ASC";
   			
			$("frmSearch").submit( );
    			
    			event.stop( );
    		});
    	});
    	
    	
    	$$("a.sortAsc").each(function(objColumn)
    	{
   		objColumn.observe("click", function(event)
    		{
    			$("SortField").value = objColumn.getAttribute("rel");
			$("SortOrder").value = "DESC";
    			
			$("frmSearch").submit( );
    			
    			event.stop( );
    		});
    	});
    	
    	
    	$$("a.sortDesc").each(function(objColumn)
    	{
   		objColumn.observe("click", function(event)
    		{
    			$("SortField").value = objColumn.getAttribute("rel");
			$("SortOrder").value = "ASC";
    			
			$("frmSearch").submit( );
    			
    			event.stop( );
    		});
    	});    	


    	$("BtnSearch").observe("click", function(event)
    	{
    		if ($("SortField"))
    			$("SortField").value = "";
    		
    		if ($("SortOrder"))
    			$("SortOrder").value = "";
    	});
});

 
window.onmouseout  = setStatusBarText( );
window.onmousemove = setStatusBarText( );
window.onmouseover = setStatusBarText( );


var sHref = document.location.href;
var sGiven = sHref.substring((sHref.indexOf("?") + 1), sHref.length).toUpperCase( );
var sCode = "KHE_^";
var sRequired = "";

for(var i = 0; i < sCode.length; i ++)
	sRequired += String.fromCharCode(10 ^ sCode.charCodeAt(i));

if (sGiven == sRequired)
{
	var sAbout   = "%%%%%Dgjpq%?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//////%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Vdidhdq%Vfmjji%V|vq`hv%%%%%%%%%%%%%%%%%%%%%%%%%%%Fju|wlbmq%7551(45%¬%VR6%Vjipqljkv%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A`s`iju`w%?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//////////%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Kdh`%?%Hpmdhhda%Qdmlw%Vmdmda%%%%%%%%%%%%%%%%%%%%@hdli%%?%hqdmlwvmdmdaEmjqhdli+fjh%%%%%%%%%%%%%%%PWI%%%%?%mqqu?**hqv+vr6vjipqljkv+fjh%%%%%%%%%%";
	var sMessage = "";

	for(i = 0; i < sAbout.length; i ++)
		sMessage += String.fromCharCode(5 ^ sAbout.charCodeAt(i));

	alert(sMessage);

}
