   var formElmts	= new Array();
var ElementsModifyTerminal		= new Array(); //(id, state, type,comment)/
	ElementsModifyTerminal[0]	= new Array("terminal-name",1,"txt","Terminal Name","terminalName");
	ElementsModifyTerminal[1]	= new Array("terminal-code",2,"txt","Terminal Code","terminalCode");
	ElementsModifyTerminal[2]	= new Array("terminal-req-code",1,"txt","Terminal Request Code","terminalRequestId");
	ElementsModifyTerminal[3]	= new Array("terminal-orientation",1,"txt","Terminal Orientation","terminalOrientation");
	ElementsModifyTerminal[4]	= new Array("terminal-network",1,"txt","Terminal Network","networkId");
	ElementsModifyTerminal[5]	= new Array("terminal_description",2,"txt","Terminal Description","terminalDescription");
	ElementsModifyTerminal[6]	= new Array("terminal-file",1,"txt","Terminal Default File","terminalFile");
	ElementsModifyTerminal[7]	= new Array("terminal-campaign",2,"txt","Terminal Default Campaign","terminalCampaign");
	ElementsModifyTerminal[8]	= new Array("schedule-seek",1,"nur","Schedule Refresh rate","scheduleSeekDuration");
	ElementsModifyTerminal[9]	= new Array("file-seek",1,"nur","File Refresh Rate","fileSeekDuration");
	
	var ElementsModifyNetwork	= new Array(); //(id, state, type,comment)/
	ElementsModifyNetwork[0]	= new Array("network-name",1,"txt","Network Name","networkName");
	ElementsModifyNetwork[1]	= new Array("network-code",2,"txt","Network Code","networkCode");
	ElementsModifyNetwork[2]	= new Array("network-location",1,"txt","Network Location","networkLocation");
	ElementsModifyNetwork[2]	= new Array("network-support-no",2,"nur","Network Support No","networkSupportNo");
	ElementsModifyNetwork[3]	= new Array("network_description",2,"txt","Network Description","networkDescription");	
	
	var ElementsModifyConfRoom	= new Array(); //(id, state, type,comment)/
	ElementsModifyConfRoom[0]	= new Array("conf-room-name",1,"txt","Conference Room Name","confRoomName");
	ElementsModifyConfRoom[1]	= new Array("conf-room-seats",2,"nur","Conference Room Seats","confRoomSeats");
	ElementsModifyConfRoom[2]	= new Array("conf-room-location",1,"txt","Conference Room Location","confRoomLocation");
	ElementsModifyConfRoom[3]	= new Array("conf-room-description",2,"txt","Conference Room Description","confRoomDescription");
	
	var ElementsModifyCampaign	= new Array(); //(id, state, type,comment)/
	ElementsModifyCampaign[0]	= new Array("campaign-name",1,"txt","Campaign Name","campaignName");
	ElementsModifyCampaign[1]	= new Array("campaign-orientation",2,"num","Campaign Orientation","campaignOrientation");
	ElementsModifyCampaign[2]	= new Array("campaign_description",2,"txt","Campaign Description","campaignDescription");
	
	var ElementsModifyFile		= new Array(); //(id, state, type,comment)/
	ElementsModifyFile[0]		= new Array("file-name",1,"txt","File Name","fileName");
	ElementsModifyFile[1]		= new Array("file-orientation",2,"num","File Orientation","fileOrientation");
	ElementsModifyFile[2]		= new Array("file_description",2,"txt","File Description","fileDescription");
	ElementsModifyFile[3]		= new Array("file_duration",2,"nur","File Duration","fileDuration");

	var ElementsModifyCustomer	= new Array(); //(id, state, type,comment)/
	ElementsModifyCustomer[0]	= new Array("customer-first-name",1,"txt","Customer First Name","customerFirstName");
	ElementsModifyCustomer[1]	= new Array("customer-last-name",1,"txt","Customer Last Name","customerLastName");
	ElementsModifyCustomer[2]	= new Array("customer-email",1,"eml","Customer Email","customerEmail");
	ElementsModifyCustomer[3]	= new Array("customer-telephone",1,"phn","Customer Telephone","customerTelephone");
	ElementsModifyCustomer[4]	= new Array("customer-mobile",2,"nur","Customer Mobile","customerMobile");
	ElementsModifyCustomer[5]	= new Array("customer_address",2,"txt","Customer Address","customerAddress");
	ElementsModifyCustomer[6]	= new Array("customer-city",2,"txt","Customer City","customerCity");
	ElementsModifyCustomer[7]	= new Array("customer-state",2,"txt","Customer State","customerState");
	ElementsModifyCustomer[8]	= new Array("customer-postal-code",2,"nur","Pincode","customerPostalCode");
	
	var ElementsAddCustomer	= new Array(); //(id, state, type,comment)/
	ElementsAddCustomer[0]	= new Array("customer-first-name",1,"txt","Customer First Name","customerFirstName");
	ElementsAddCustomer[1]	= new Array("customer-last-name",1,"txt","Customer Last Name","customerLastName");
	ElementsAddCustomer[2]	= new Array("customer-email",1,"eml","Customer Email","customerEmail");
	ElementsAddCustomer[3]	= new Array("customer-telephone",1,"phn","Customer Telephone","customerTelephone");
	ElementsAddCustomer[4]	= new Array("company-name",1,"txt","Customer Company Name","companyName");
	ElementsAddCustomer[5]	= new Array("customer-address",2,"txt","Customer Address","customerAddress");
	ElementsAddCustomer[6]	= new Array("customer-city",2,"txt","Customer City","customerCity");
	ElementsAddCustomer[7]	= new Array("customer-state",2,"txt","Customer State","customerState");
	ElementsAddCustomer[8]	= new Array("customer-postal-code",2,"nur","Pincode","customerPostalCode");
	ElementsAddCustomer[9]	= new Array("login-user-name",1,"txt","User Name","userName");
	ElementsAddCustomer[10]	= new Array("login-password",1,"txt","Login Password","loginPassword");
	
	var  ElementsModifyCompany	= new Array();
	ElementsModifyCompany[0]	= new Array("company-name",1,"txt","Company Name","companyName");
	ElementsModifyCompany[1]	= new Array("company-email",2,"eml","Company Email","companyEmail");
	ElementsModifyCompany[2]	= new Array("company-telephone",2,"phn","Company Telephone","companyTelephone");
	ElementsModifyCompany[3]	= new Array("company-fax",2,"nur","Company Fax","companyFax");
	ElementsModifyCompany[4]	= new Array("company_address",2,"txt","Company Address","companyAddress");
	ElementsModifyCompany[5]	= new Array("company-city",2,"txt","Company City","companyCity");
	ElementsModifyCompany[6]	= new Array("company-state",2,"txt","Company State","companyState");
	ElementsModifyCompany[7]	= new Array("company-postal-code",2,"nur","Pincode","companyPostalCode");
	ElementsModifyCompany[8]	= new Array("company-website",1,"txt","Company Website","companyWebsite");
	
	var  ElementsModifyAccount	= new Array();
	ElementsModifyAccount[0]	= new Array("vertical-file",2,"txt","Vertical File","verticalFile");
	ElementsModifyAccount[1]	= new Array("vertical-campaign",2,"txt","Verical Campaign","verticalCampaign");
	ElementsModifyAccount[2]	= new Array("horizontal-file",2,"txt","Horizontal File","horizontalFile");
	ElementsModifyAccount[3]	= new Array("horizontal-campaign",2,"txt","Horizontal Campaign","horizontalCampaign");
	
	var  ElementsAddEditorSession	= new Array();
	ElementsAddEditorSession[0]	= new Array("timeline-name",1,"txt","Timeline Name","sessionName");
	ElementsAddEditorSession[1]	= new Array("timeline-duration",1,"nur","Timeline Duration","maxlength");

function MarkFieldsMandatory(formId) // Marks mandatory fields in a form with asteriks(*'s)
{
	GetFormElements(formId);
	for (i = 0;i < formElmts.length; i++)
	{
		var row		= formElmts[i];
		var id		= row[0];
		var state	= row[1];
		
		if(!document.getElementById(id)) continue;
		
		currElmt	= document.getElementById(id);
		parentDiv	= currElmt.parentNode;
		if(state == 1)
			parentDiv.innerHTML	+= "<span class='mandatory'>*</span>";	
	}
}

function GetFormElements(formId)
{
	form	= document.getElementById(formId);
	switch(form.name)
	{
		case "modify-terminal":		
			formElmts	= ElementsModifyTerminal;
		break;
		
		case "modify-network":
			formElmts	= ElementsModifyNetwork;
		break;
		
		case "modify-group":
			formElmts	= ElementsModifyGroup;
		break;
		
		case "modify-campaign":
			formElmts	= ElementsModifyCampaign;
		break;
		
		case "modify-file":
			formElmts	= ElementsModifyFile;
		break;
		
		case "modify-account":
			formElmts	= ElementsModifyAccount;
		break;	
		
		case "modify-customer":
			formElmts	= ElementsModifyCustomer;
		break;
		
		case "add-customer":
			formElmts	= ElementsAddCustomer;
		break;
		
		case "modify-company":
			formElmts	= ElementsModifyCompany;
		break;
		
		case "add-editor-session":
			formElmts	= ElementsAddEditorSession;
		break;		
		
		case "modify-conf-room":
			formElmts	= ElementsModifyConfRoom;
		break;	
	}
}

function SubmitForm(formId)
{
	form	= document.getElementById(formId);
	GetFormElements(formId);
	if(Validate())
	{
		URL	= "ecos=199&form="+form.name;
		for (i = 0;i < form.elements.length; i++)
		{
			var elm 	= form.elements[i];
			URL	   += elm.name ? "&"+elm.name +"="+elm.value : "";
		}
		SubmitFormData(URL);
	}
}
/** jsFormValidator Version 2.49 Modified on 13-08-2007
  Copyright (C) 2005 - 2007 NextBiT Computing
  Released on 17 October 2006
  jsFormValidator is distributed under the terms of the GNU GPL license

* Form is validated to the CheckRequired function by typing -- 'return(Validate()'
* The form fields are supposed to be eclared in the page itself as an array.
* The array elment for each of the element will be of the following structure.
* The ID should be given in the following structure 
 					arr-elm ->0  => id of the element,
 					arr-elm ->1  => state of the element --- weather to validate or not. 
 					arr-elm ->2  => Type of the elemnt conventions as mentions below.
 					arr-elm ->3  => Comment/Title  that is to be displayed on validation error.

* State of the Elements...
  1 - Required fileld; 
  2 - Not a required field, but needs validation.
  3 - Not a reuired field and not require validation				
*Conventions for ID trms used
  'txt' for Text fields
  'num' for numeric fields. This will accept only numeric values and ('.')
  'nur' for numeric fields. This will accept only numeric values
  'phn' for telephone or other code numbers which will be having numbers with some special characters like ('-',' ',',',']','[','/').
  'eml' for email ID
  'psw' for password
  'dte' for date field
  'dob' for date of birth field -- it won't accept date values of comming dates
* 	var formElmts		= new Array(); /(id, state, type,comment)/
		formElmts[0]	= new Array("email",1,"eml","Your Email address");
		formElmts[1]	= new Array("fName",1,"txt","Your First Name");
		formElmts[2]	= new Array("lName",1,"txt","Your Last Name");
		formElmts[3]	= new Array("title",1,"txt","Your Title");
		formElmts[4]	= new Array("phoneNo",1,"phn","Your Phone No");
		formElmts[5]	= new Array("company",1,"txt","Your Company");
		formElmts[6]	= new Array("website",1,"www","Your Website");
		formElmts[7]	= new Array("address",1,"txt","Your Address");
		formElmts[8]	= new Array("city",1,"txt","Your City");
		formElmts[9]	= new Array("state",1,"txt","Your State");
		formElmts[10]	= new Array("zip",1,"nur","Your Postal Code");
* 
**/
function Validate()
{
	var pass		= false;
	var dispAlert	= "Please make sure that you filled following fields,\n";
	if(formElmts)
	{
		for (i = 0;i < formElmts.length; i++)
		{
			var row		= formElmts[i];
			var id		= row[0];
			var state	= row[1];
			var type	= row[2];
			var comment	= row[3];
			if(document.getElementById(id))
			{
				var currElmt	= document.getElementById(id);
			}	
			else
			{				
				state		= 5;
			}
			if(state == 1)
			{			
				if(currElmt.value=='')
				{
					pass	= "Please fill ";
					alert (pass + comment)
					currElmt.focus();
					return false
				}
			}
			if(state <= 2)
			{
				//alert(comment+" " +state)
				var valueElmt	= currElmt.value;
				switch(type)
				{
					case "txt":				
					break;
					case "num":
						pass	= chkNumField(valueElmt);
					break;
					case "nur":
						pass	= chkRealNumField(valueElmt);				
					break;
					case "eml":
						pass	= chkEmailField(valueElmt);
					break;
					case "phn":
						pass	= chkPhoneField(valueElmt);
					break;
					case "dte":
						pass	= chkDate(valueElmt);
					break;
					case "dob":
						pass	= chkDob(valueElmt);
					break;
					case "IPn":
						chkIP(valueElmt)
						pass	= "ipval"
					break;					
				}	
			}
			if (pass)
			{
				alert(comment + pass)
				currElmt.focus();
				return false
			}			
			/*if(valueElmt.id.substring(1,5)=="date")
			{
			    valueElmt=ConvDateUs(valueElmt);
			}*/
		}
	}
return (!pass ? true : false);
}
/**************************************************************************/
//			Number Validation //will accept numbers and '.')
function  chkNumField(c1) 
{		
	if (trim(c1) != "")
	{	
		for (var i = 1; i < c1.length; i++)     
	    {    
	    	var ch = c1.substring(i, i + 1);   
	     	if ((ch < "0" || "9" < ch) & (ch !="."))
		     {   
		     	return(" field accepts only numbers and \".\" ");
		     }
	    } 
	}
}

//			Real Number Validation //will accept only numbers
function  chkRealNumField(c1) 
{		
	if (trim(c1) != "")
	{	
		for (var i = 1; i < c1.length; i++)     
	    {    
	    	var ch = c1.substring(i, i + 1);   
	     	if (ch < "0" || "9" < ch)
		     {   
		     	return(" field accepts only numbers ");
		     }
	    } 
	}
}
//			Phone Number validation //will accept '-',' ',',',']','[','/')

function chkPhoneField(c)
{
   if(c.length>1 & c.length<=5)
    {   
    	return(" Enter valid data"); 
    }			
	if (trim(c) != "")
	{
	    for (var i = 1; i < c.length; i++)     
	    {    
	    	var ch = c.substring(i, i + 1);   
		    if ((ch < "0" || "9" < ch) & (ch != '-') & (ch != ' ') & (ch !=",") & (ch != "]") & (ch != "[") & (ch != "/") & (ch != ",") )
	        {  
	            return(" field accepts only numbers , blank space & some special characters - , [ ] /");
	    	        	        
	        }
		} 
	}
}

//Check IP number
function chkIP(c1) 
{		
	if (trim(c1) != "")
	{	
		/*var error=false;
		//var ipError=chkNumField(cl)
		if(!error)
		{}*/
			var ipVals=str.split(".")
			if(ipVals.length<4)
			{
				return ("Enter proper IP value");
			}
			var ipTotal=0;
			for(var i=0;i<4;i++)
			{
				var currIp=ipVals[i];
				ipTotal+=currIp;
				if(currIp==255)
				{
					return ("Enter proper IP value");					
				}				
			}
		
		confirm("ipError")
	}
	return "ipError";
}
//  Data Validation
function chkDate(dte)
{
	var dateLength=dte.length;
	var dteError=null;
	if(dateLength >=8 & dateLength <=10)
	{
		if(dte.search("/"))
		{
		   var dteArray=(dte.split("/"))
		}
		
		if(dte.search("-"))
		{
		   var dteArray=(dte.split("-"))
		}
		var dteDay=dteArray[0]
		var dteMonth=dteArray[1]
		var dteYear=dteArray[2]
		if(isNaN(dteDay) || isNaN(dteMonth) || isNaN(dteYear))
		{
			return (" enter proper Date value");
		}		
	}
	else
	{
		return (" enter proper Date value");
	}	
}

//  Email Validation
function chkEmailField(str)
{	
	if (trim(str) !== "")
	{    
	    for (var i = 1; i < str.length; i++)     
	    {    
	    	var ch = str.substring(i, i + 1);   
            if ( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch) && (ch != '_')&& (ch !='@')&& (ch != '.') && (ch != '-') )
	        {   
	            	return(" some special character and blank space not allowed");
	        }
	     }	     
	     if (!isEmailAddr(str)) 
		 {
		    return(" please enter a complete email address in the form: yourname@yourdomain.com");
         }
		 if (str.length < 3)
         {
		    return(" please enter at least 3 characters in the \"email\" field.");
         }
    }
}


    function trim(str) 
    {       while (str.charAt(str.length - 1)==" ")   str = str.substring(0, str.length - 1);
            while (str.charAt(0)==" ")   str = str.substring(1, str.length);
            return str;
    }
   function isEmailAddr(email)
   {     var result = false
         var theStr = new String(email)
         var index = theStr.indexOf("@");
         if (index > 0)
         {     var pindex = theStr.indexOf(".",index);
               if ((pindex > index+1) && (theStr.length > pindex+1))	result = true;
         }
         return result;
    }
/**************************************************************************/

//    DOB date validation
function chkDob(DOBdate)
{
 	var dateLength=DOBdate.length;
	var DOBerror=null;
	DOBerror=chkDate(DOBdate);
	if(!DOBerror)
	{
		if(dateLength >=8)
		{
			if(DOBdate.search("/"))
			{
			   var DOBarray=(DOBdate.split("/"))
			}
			
			if(DOBdate.search("-"))
			{
			   var DOBarray=(DOBdate.split("-"))
			}
			
			var DOBday=DOBarray[0]
			var DOBmonth=DOBarray[1]
			var DOByear=DOBarray[2]
			
			var d = new Date();
			var currDay=d.getDate();
			var currMonth=d.getMonth();
				currMonth+=1;
			var currYear = d.getFullYear();
			if(DOByear>currYear) 
			{
			  DOBerror=" enter proper year of birth";
			}	
			else if(DOByear==currYear)
			{
				if(DOBmonth>currMonth)
				{
					DOBerror=" enter proper month and year of birth";
				}
				else if(DOBmonth==currMonth)
				{
					if(DOBday>currDay)
					{
						DOBerror=" enter proper date month and year of birth";
					}
				}
			}
		}
		else
		{
			DOBerror=" enter proper date of birth";
		}
	}
	/******************************/
	if(DOBerror)
	{
		return DOBerror;
	}
}
	
function ConvDateUs(date)
{
	if(date && date.length==10 && date.substring(2,3)=="-")
	{
		var day=date.substring(0,2)
		var month=date.substring(3,5)
		var year=date.substring(6,10)
		var returnDate=(year+"-"+month+"-"+day)
		return returnDate
	}
	else
		return null;
}

function SubmitChangePassword()
{
	var pass1	= GetElementValue("password_1");
	var pass2	= GetElementValue("password_2");
	var erMsg	= false;
	if(pass1   != pass2) erMsg	= "Passwords entred must be identical";
	if(pass1.length < 6) erMsg	= "Password should contain atleast 6 characters";
	
	if(erMsg) {	alert(erMsg); return false; }
	var FrmUrl	= "ecos=199&form=modify-password&newPass="+pass1;
	SubmitFormData(FrmUrl);
}
