function MM_reloadPage(init) 
{//reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
  document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function resizeBlankDiv() {
    // resize blank placeholder div so IE 5 on mac will get all clicks in window
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	getStyleObject('blankDiv').width = document.body.clientWidth - 20;
	getStyleObject('blankDiv').height = document.body.clientHeight - 20;
    }
}

function explorerMacResizeFix () {
    location.reload(false);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

function CenterWindow(mypage,myname,wie,hie,resizeable,scrol)
{
  var iewinl = (screen.availWidth - wie) / 2;
  var iewint = (screen.availHeight - hie) / 2;
  if (navigator.appName=='Netscape')
    winprops = 'innerHeight='+hie+',innerWidth='+wie+',top='+iewint+',left='+iewinl+',scrollbars='+scrol+',resizable='+resizeable;
  else
    winprops = 'height='+hie+',width='+wie+',top='+iewint+',left='+iewinl+',scrollbars='+scrol+',resizable='+resizeable;
  win = window.open(mypage, myname, winprops)
}

function toggleMenu(currMenu, divID, pos)
{	//fill_menu();
	if (document.all)
    {  	menu = eval("document.all." + currMenu);
		/*if (menu.style.visibility == "visible")
    	{  menu.style.visibility = "hidden";
    	}
    	else*/
    	{  divObj = eval("document.all." + divID);
			menu.style.pixelTop = divObj.offsetTop;
			if (pos == "right") menu.style.pixelLeft = divObj.offsetLeft + divObj.offsetWidth;
			else menu.style.pixelLeft = divObj.offsetLeft - menu.offsetWidth - 5;
	    	menu.style.visibility = "visible";	  
    	}		
	} else if (document.getElementById)
	{	menu = eval("document.getElementById('" + currMenu + "')");
		/*if (menu.style.visibility == "visible")
    	{  menu.style.visibility = "hidden";
    	}
    	else*/
    	{  divObj = eval("document.getElementById('" + divID + "')");
			menu.style.top = divObj.offsetTop;
			if (pos == "right") menu.style.left = divObj.offsetLeft + divObj.offsetWidth;
			else menu.style.left = divObj.offsetLeft - menu.offsetWidth - 5;
	    	menu.style.visibility = "visible";	  
    	}						
	}    
}

function hide_menu(currMenu)
{	menu = eval("document.getElementById('" + currMenu + "')");
	if (menu.style.visibility == "visible")
   	{  menu.style.visibility = "hidden";
   	}
}

function resize()
{	hide_menu('menu1');
}

function findPos(obj)
{	var curleft = curtop = 0;
	if (obj.offsetParent)
	{	//alert(obj.offsetParent.offsetLeft);
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent)
		{	curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
	//return curleft;
}

function positionSecImg()
{	var obj = document.getElementById("sec_img");
	
	var pos = findPos(document.getElementById("img_id"));	
	
	//alert("left = " + pos[0] + ", top = " + document.getElementById("pos_top").offsetTop);
	
	obj.style.left = pos[0] + "px";		//document.getElementById("left_m").offsetLeft;
	obj.style.top = document.getElementById("pos_top").offsetTop + 15 + "px";
	
	obj.style.visibility = "visible";
}


///*************************admin part***********************************///
//Valid admin options form in admin part admin/options.php
/*function validBizForm(passForm)
{	if (passForm.s_date.value == "")
    {  alert("Please, select the start date");
	    passForm.s_date.focus();
		return false;
	}	
	if (passForm.e_date.value == "")
    {  alert("Please, select the end date");
	    passForm.e_date.focus();
		return false;
	}
	if (passForm.e_dateH.value < passForm.s_dateH.value)
	{	alert("The report start date must be before the end date");
		passForm.s_date.focus();
		return false;
	}
	return true;
}*/

function validYearsForm(passForm)
{  if (passForm.fin_year.value == "first")
    {  alert("Please, select financial year.");
	    passForm.fin_year.focus();
		return false;
	}
	return true;
}

function validLogAdminForm(passForm)
{	if(passForm.Pass.value == "")
	{	alert("Please, enter password.")
		passForm.Pass.focus();
		return false;
	}
	if(passForm.Pass1.value == "")
	{	alert("Please, repeat password.")
		passForm.Pass1.focus();
		return false;
	}
	if(passForm.Pass.value != passForm.Pass1.value)
	{	alert("The two passwords must be the same.")
		passForm.Pass.focus();
		passForm.Pass.select();		
		return false;
	}
	return true;
}

function submit_login()
{	if (validLogForm(document.forms['login_form']))
	{	document.forms['login_form'].submit();		
	}
}

//valid login form in admin/index.php
function validLogForm(passForm)
{  if (passForm.username.value == "")
    {  alert("Please, type your username.");
	    passForm.username.focus();
		return false;
	}
	if (passForm.password.value == "")
    {  alert("Please, type your password.");
	    passForm.password.focus();
		return false;
	}
	return true;
}
//valid form in file admin\adm_edit1.php 
function validFormUser(passForm)
{	if (passForm.username.value == "")
	{	alert("Please, enter username.");
		passForm.username.focus();
		return false;
	}
	if (passForm.password.value == "")
    {  alert("Please, enter password.");
	    passForm.password.focus();
		return false;
	}
	if (passForm.password2.value == "")
    {  alert("Please, confirm password.");
	    passForm.password2.focus();
		return false;
	}
	if (passForm.password.value != passForm.password2.value)
	{  alert("The two passwords should be the same.");
	    passForm.password.focus();
		passForm.password.select();
		return false;
	}
	if (passForm.first_name.value == "")
    {  alert("Please, enter first name.");
	    passForm.first_name.focus();
		return false;
	}
	if (passForm.surname.value == "")
    {  alert("Please, enter surname.");
	    passForm.surname.focus();
		return false;
	}
	/*if (passForm.phone.value == "")
    {  alert("Please, enter phone.");
	    passForm.phone.focus();
		return false;
	}
	if (!validEmail(passForm.email.value))
    {  alert("Invalid mail.");
	    passForm.email.focus();
		passForm.email.select();
		return false;
	}*/
	if (!passForm.deleted[0].checked && !passForm.deleted[1].checked)
	{	alert("Please, select if the administrator is inactive.");
		passForm.phone.focus();
		return false;
	}
	if (passForm.company.value == "first")
    {  alert("Please, select white labelled company.");
	    passForm.company.focus();
		return false;
	}
	return true;
}


///*************************admin part END***************************************///
///*************************public part***************************************///

function validEmail(email)
{  invalidChars = " /:,;"
	if (email == "")
	{  return false
	}	
	for(i = 0; i < invalidChars.length; i++)
	{  badChar = invalidChars.charAt(i)
	    if (email.indexOf(badChar, 0) > -1)
		{  return false
		}
	}
	atPos = email.indexOf("@", 1)
	if (atPos == -1)
	{  return false
	}
	if (email.indexOf("@", atPos+1) > -1)
	{  return false
	}
	periodPos = email.indexOf(".", atPos)
	if (periodPos == -1)
	{  return false
	}
	if (periodPos + 3 > email.length)
	{  return false
	}
	return true
}

function CheckEmail(myForm) 
{
 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.mail.value)){
   return (true)
 } 
 return (false);
}

function leftTrim(sString) 
{	while (sString.substring(0,1) == ' ')
	{	sString = sString.substring(1, sString.length);
	}
	return sString;
}

function validReqForm(passForm)
{  	
	if (passForm.name.value == "")
    {  alert("Please, enter your name.");
	    passForm.name.focus();
		return false;
	}
	if (passForm.surname.value == "")
    {  alert("Please, enter your surname");
	    passForm.surname.focus();
		return false;
	}
	if (!validEmail(passForm.email.value))
    {  alert("Please, enter a valid e-mail address.");
	    passForm.email.focus();
		passForm.email.select();
		return false;
	}
	if (passForm.enquery.value == "")
    {  alert("Please, enter your enquery.");
	    passForm.enquery.focus();
		return false;
	}
	return true;
}

function validDownloadForm(passForm)
{	if (passForm.name.value == "")
    {  alert("Please, enter your name.");
	    passForm.name.focus();
		return false;
	}
	if (passForm.surname.value == "")
    {  alert("Please, enter your surname");
	    passForm.surname.focus();
		return false;
	}
	if (passForm.address.value == "")
    {  alert("Please, enter your address");
	    passForm.address.focus();
		return false;
	}	
	if (!validEmail(passForm.email.value))
    {  alert("Please, enter a valid e-mail address.");
	    passForm.email.focus();
		passForm.email.select();
		return false;
	}
	if (!validEmail(passForm.email2.value))
    {  alert("Please, retype the e-mail address.");
	    passForm.email2.focus();
		passForm.email2.select();
		return false;
	}
	if (passForm.email.value != passForm.email2.value)
	{	alert("The two e-mails must be the same.");
		passForm.email.focus();
		passForm.email.select();
		return false;
	}
	if (passForm.phone.value == "")
    {  alert("Please, enter your phone number.");
	    passForm.phone.focus();
		return false;
	}
	if (passForm.company.value == "")
    {  alert("Please, enter your company name.");
	    passForm.company.focus();
		return false;
	}
	if (passForm.position.value == "")
    {  alert("Please, enter your position.");
	    passForm.position.focus();
		return false;
	}
	return true;
}

//valid form for send password in send_pass.php
function validFPForm(passForm)
{  if (passForm.username.value == "" && passForm.email.value == "")
    {  alert("Please, enter your username or password.");
	    passForm.username.focus();
		return false;
	}
	return true;
}

function mySubmitLog()
{
	if (validLogForm(document.forms['login_form']))
	{	 
	     //document.forms['login_form'].onsubmit();	
	     document.forms['login_form'].submit();		
	}
}
function mySubmitLog1()
{
	if (validLogForm(document.forms['log_form']))
	{	 
	     //document.forms['log_form'].onsubmit();	
	     document.forms['log_form'].submit();		
	}
}
function mySubmitLog2()
{
	if (validLogForm(document.forms['logi_form']))
	{	 
	     //document.forms['log_form'].onsubmit();	
	     document.forms['logi_form'].submit();		
	}
}

function IsNumeric(sText)
{	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++)
	{	Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{	IsNumber = false;
		}
	}
	return IsNumber;
}

months = ['January','February','March','April','May','June','July','August','September','October','November','December'];

function GetDateFormat(str_date)
{	var pos1 = str_date.indexOf("-", 0);
	var pos2 = str_date.indexOf("-", pos1+1);
	var theDay = str_date.substr(pos2+1, 2);
	var theMonth = str_date.substr(pos1+1, 2) - 1;
	var theYear = str_date.substr(0, pos1);
	var DateStr = theDay + " " + months[theMonth] + " " + theYear;
	return DateStr;
}

function DateSelected(dayField, monthField, yearField, str)
{	if (dayField.value == "first")
    {  alert("Please, select the " + str + " date");
	    dayField.focus();
		return false;
	}
	if (monthField.value == "first")
    {  alert("Please, select the " + str + " date");
	    monthField.focus();
		return false;
	}
	if (yearField.value == "first")
    {  alert("Please, select the " + str + " date");
	    yearField.focus();
		return false;
	}
	return true;
}

function SetHiddenDates(passForm)
{	var month_s = passForm.s_month.value;
	if (month_s < 10) month_s = '0' + month_s;
	var day_s = passForm.s_day.value;
	if (day_s < 10) day_s = '0' + day_s;
	
	var month_e = passForm.e_month.value;
	if (month_e < 10) month_e = '0' + month_e;
	var day_e = passForm.e_day.value;
	if (day_e < 10) day_e = '0' + day_e;
	
	passForm.s_dateH.value = passForm.s_year.value + '-' + month_s + '-' + day_s;
	passForm.e_dateH.value = passForm.e_year.value + '-' + month_e + '-' + day_e;
	//alert("Start Date: " + passForm.s_dateH.value + ", End Date: " + passForm.e_dateH.value);
}

function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

///*********************************** public part END************************///