// JavaScript Document
function UniqueString(){
var mydate = new Date;
var myday = mydate.getDate();
var mymonth = mydate.getMonth()+1;
var myyear = ((mydate.getYear() < 100) ? "19" : "") + mydate.getYear();
var myyear = myyear.substring(2,4);
var myhour = mydate.getHours();
var myminutes = mydate.getMinutes();
var myseconds = mydate.getSeconds();
if(myday < 10) myday = "0" + myday;
if(mymonth < 10) mymonth = "0" + mymonth;
if(myhour < 10) myhour = "0" + myhour;
if(myminutes < 10) myminutes = "0" + myminutes;
if(myseconds < 10) myseconds = "0" + myseconds;
var datearray = new Array(mymonth,myhour,myminutes,myseconds);
var uniq = "";
for(i=0;i<datearray.length;i++){
for(z=0;z<2;z++){
var which = Math.round(Math.random()*1);
if(which==0){
x = String.fromCharCode(64 + (Math.round(Math.random()*25)+1));
}
else{
x = String.fromCharCode(47 + (Math.round(Math.random()*9)+1));
}
uniq += x;
}
uniq += datearray[i];
}
return uniq;
}


function WriteFile()
{

    var fh = fopen("a.txt", 3); // Open the file for writing

    if(fh!=-1) // If the file has been successfully opened
    {
        var str = "Some text goes here...";
        fwrite(fh, str); // Write the string to a file
        fclose(fh); // Close the file
    }

}

WriteFile();


function isInteger (s)
{

	var i;
	if(s.length>0){
		for (i = 0; i < s.length; i++)
		{
			// Check that current character is number.
			var c = s.charAt(i);
			if (!isDigit(c))
			{
				return false;
			}
		}
		// All characters are numbers.
		return true;
	} else {
		return false;
	}
}

// Returns true if character c is a digit
// (0 .. 9).
function isDigit (c)
{
  return ((c >= "0") && (c <= "9"))
}


function ExistWhiteSpace(str)
{
	for (var i=0;i<str.length;i++)
	{
		if 	(str.charAt(i) == " ")
		{
			return false;
			break;
		}
	}
	return true;
}


function isNumeric(StrChkVal)
{
	RetVal = true
        NumberOfPoints = 0
	for (i = 0 ; i < StrChkVal.length ; i++)
	{
                if (mid(StrChkVal, i + 1, 1) == ".")
                {
                        if (NumberOfPoints == 0)
                        {
                                NumberOfPoints = 1
                        }
                        else
                        {
                                RetVal = false
                        }
                }
                else
                {
                        if (isNaN(parseInt(mid(StrChkVal, i + 1, 1), 10)))
                        {
                                RetVal = false
                        }
                }
	}

	return RetVal
}

function StrTrim(StrVar)
{
// ***** Function to trim a string sent and return the resultant string ***
	for (I = 0 ; I < StrVar.length ; I++)
	{
		if ((StrVar.substring(0,1)) == " ")
		{
			StrVar = StrVar.substring(1,StrVar.length)
			I = I - 1
		}
	}

	for (I = 0 ; I < StrVar.length ; I++)
	{
		if ((StrVar.substring(StrVar.length - 1,StrVar.length - 0)) == " ")
		{
			StrVar = StrVar.substring(0,StrVar.length - 1)
			I = I - 1
		}
	}
	return StrVar
}

function mid(str,start,n)
{	//returns a substring of str starting at 'start' that's n characters long.
	strlen = str.length
	var jj = str.substring(start-1,strlen)
	jj = jj.substring(0,n)
	return jj
}

function SelTheOption(SelName, OptionValue)
{
	OptLen = eval("document.Catelog." + SelName + ".length")
	for (i = 0 ; i < OptLen; i++)
	{
		OptSel = eval("document.forms[0]." + SelName + ".options[i].value")
		if (OptSel == OptionValue)
		{
			eval("document.forms[0]." + SelName + ".options[i].selected=true")
			eval("document.forms[0]." + SelName + ".options[i].defaultSelected=true")
			break
		}
	}
}


function mid(str,start,n)
{	//returns a substring of str starting at 'start' that's n characters long.
	strlen = str.length
	var jj = str.substring(start-1,strlen)
	jj = jj.substring(0,n)
	return jj
}

function Checkdate(datestr)
{
	flag = false
	if ((datestr.length >= 6) && (datestr.length <= 10))
	{
		firstsl = datestr.indexOf("/")
		secondsl = datestr.indexOf("/", firstsl + 1)
        var mm = (mid(datestr, firstsl + 2, secondsl - (firstsl + 1))).valueOf()
        var dd = (mid(datestr, 1 , firstsl)).valueOf()
        var yy = (mid(datestr, secondsl + 2, datestr.length - secondsl)).valueOf()

		if ((firstsl != -1) && (secondsl != -1))
		 {

			if ((firstsl == 2) || (firstsl == 1))
		   	{

				if ((secondsl == 4) || (secondsl == 5) || (secondsl ==3) && ((secondsl - firstsl) > 1))
				{

				 	if (((datestr.length - secondsl) == 3) || ((datestr.length - secondsl) == 5))
					{

                        if (!(isNumeric(mm) && isNumeric(dd) && isNumeric(yy)))
                        {
                          return flag
                        }
                        else
                        {
                            if (parseInt(mm, 10) < 1 || parseInt(mm, 10) > 12)
                            {
                                mm = Number.NaN
                                return flag
                            }
                            if (parseInt(dd, 10) < 1 || (parseInt(dd, 10) > getDays((parseInt(mm, 10) - 1 ),parseInt(yy, 10))))
                            {
                                dd = Number.NaN
                                return flag
                            }
                            flag = true
                            return flag
                        }
                    }
                }
		 	}
		}
	}

	return flag
}


function CheckNumber(intNum)
{
	var valid="0123456789-()";
	var string=intNum;
	var leng=string.length;
	for (var i=0;i<=leng ;i++)
	{
		var substring=string.substr(i,1);
		if (valid.indexOf(substring)== -1)
			return false;
	}
	return true;
}

function roundIt(a)
{
	aa=a.toString()
	b = aa.indexOf('.');
	if (b != -1)
		ret=aa.substring(0, b+3);
	else
		ret=a;

	return parseFloat(ret)
}

function EnCode(s)
{
	t=""
	for(i=0; i<s.length;++i){
		ch=s.charAt(i)
		switch(ch)
		{
			case "\n" : t+=""; break;
			case "\r" : t+=""; break;
			case "\t" : t+=""; break;
			case "\b" : alert("enter") ;
				t+=""; break;
		  default : t+=ch; break;
		}
	}
	return t
}

function fnemailCheck1(x)
{
	var count=0;
	var validmail="`~!#$%^&*()+=|\}]{[;:'<,>/?"
	var dou='"'
	var	EmailError=0;
	var EmailValue=x;

	var lenx  = x.length;

	if ((mid(x,1,1) == " " )||(isNumeric(mid(x,1,1)))||(mid(x,1,1) == "-")||(mid(x,1,1) == "@" ))
		EmailError=1;

	//To check i fthe email contains more that one @
	for (i=1;i<=lenx;i++)
	{
		if (mid(x,i,1) == "@" )
			count++;
	
		//To check for space
		if (mid(x,i,1)== " ")
			EmailError = 1;
	}

	if (count>1 )
		EmailError=1;

	if (mid(x,lenx,1)==".")
		EmailError = 1;

	L1=validmail.length;

	for (i=0; i<L1;i++)
	{
		aa=mid(validmail, i ,1);
		a2=EmailValue.indexOf(aa)

		if (EmailValue.indexOf(aa) != -1)
			EmailError=1;
	}

	if (EmailValue.indexOf(dou) != -1)
		EmailError=1;

	if(EmailValue == "")
		EmailError=1;
	else if (EmailValue.indexOf("@")<1)
		EmailError=1;
	else if (((EmailValue.indexOf("."))-(EmailValue.indexOf("@")))<3)
		EmailError=1;
	
	return EmailError;
}

function validText(x){
	var validmail="@`~!#$%^&*()+=|\}]{[;:'<,>/?-"
	var dou='"'
	var	EmailError=0;
	var EmailValue=x;

	L1=validmail.length;

	for (i=0; i<L1;i++)
	{
		aa=mid(validmail, i ,1);
		a2=EmailValue.indexOf(aa)
		if (EmailValue.indexOf(aa) != -1){
		EmailError=1;
		}
	}

	return EmailError;
}

function fnValidText(x)
{
	var invalid = "'<>"
	var text = x;
	L1 = invalid.length;
	dou='"';
	var Error=0;
	for (i=0; i<=L1;i++)
	{
		aa=mid(invalid, i ,1);
		a2=text.indexOf(aa)

		if (text.indexOf(aa) != -1)
		{
		Error=1;
		}
	}	

        if (text.indexOf(dou) != -1)
		{
		Error=1;
		}

	return Error;
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function warnInvalid (theField, s)
{   theField.focus();
    theField.select();
    alert(s);
    return false;
}


function fnemailCheck(l_EmailId)
{


var validmail="`~!#$%^&*()+=|\\}]{[;:'<,>/?/"
var dou='"'
var	EmailError=0;


	if (trim(l_EmailId) == "-" || (trim(l_EmailId) == "") )
	{
		return false;
	}
	else
	{
		var index, dotIndex, sKana, kanaIndex;
		var L1=0;
		var i,a2,aa
		var lenx  = l_EmailId.length;

			//To check for the first occurrence of .
			if(mid(l_EmailId,1,1) == "." )
				return false;


			for (i=1;i<=lenx;i++){
				//To check for space
				if (mid(l_EmailId,i,1)== " "){
					return false;
				}
			}

        	L1=validmail.length;

			for (i=0; i<L1;i++)
			{
				aa=mid(validmail, i ,1);

				a2=l_EmailId.indexOf(aa)

				if (l_EmailId.indexOf(aa) != -1)
				{
					return false;
				}
			}
			//Check for double quotes
			if (l_EmailId.indexOf(dou) != -1)
			{
				return false;
			}


		index = l_EmailId.indexOf("@");
		if (index < 0 || index == 0)
			return false;
		if (index < l_EmailId.indexOf("@", index+1))
			return false;

		dotIndex = l_EmailId.indexOf(".", index);

		if (dotIndex < 0)
			return false ;
		if ((index + 1) == dotIndex)
			return false ;
		if ((l_EmailId.lastIndexOf(".")+1) == l_EmailId.length)
			return false ;
		if (l_EmailId.indexOf("..", index) > 0)
			return false ;
		if (l_EmailId.indexOf("..") > 0)
			return false;
		if (l_EmailId.indexOf(" ") > 0)
			return false ;

	}
	return true ;
}

function trim(fieldValue)
{
	var str, beg, end;
    str = fieldValue.toString();
    for(beg=0;(str.charAt(beg) == " ") && (beg<str.length);beg++);
    for(end=str.length-1;(str.charAt(end) == " ") && (end>=0);end--);

	if (beg==str.length)
		return ""
	else
		return str.substring(beg,end+1);
}

function checkZeroLength(fieldValue)
{
	var str
	str = trim(fieldValue).toString();
	if ( str.length ==0)
		return false;
	else
		return true;
}

function warning()
{  
	if (StrTrim(document.ticket_form.serial_number.value) == "")
		{
			alert(" we need serial number in future");
			return false;
		}

}
function fncontactformSubmit()
{
		if(StrTrim(document.ticket_form.first_name.value) == "")
	{
		alert("Please enter the First Name.");
		document.ticket_form.first_name.focus();
		return false;
	}


	if(validText(document.ticket_form.first_name.value))
	{
		alert("First Name has to be text only.");
		document.ticket_form.first_name.focus();
		return false;
	}

	if(isInteger(document.ticket_form.first_name.value))
	{
		alert("First Name cannot have numerics.");
		document.ticket_form.first_name.focus();
		return false;
	}
	if(StrTrim(document.ticket_form.last_name.value) == "")
	{
		alert("Please enter the Last Name.");
		document.ticket_form.last_name.focus();
		return false;
	}

	if(validText(document.ticket_form.last_name.value))
	{
		alert("Last Name has to be text only.");
		document.ticket_form.last_name.focus();
		return false;
	}

	if(isInteger(document.ticket_form.last_name.value))
	{
		alert("Last Name cannot have numerics.");
		document.ticket_form.last_name.focus();
		return false;
	}
	if(StrTrim(document.ticket_form.company.value) == "")
	{
		alert("Please enter the Company Name.");
		document.ticket_form.company.focus();
		return false;
	}




	if(StrTrim(document.ticket_form.Distributor_Dealer_EndUser.value) == "")
	{
		alert("Please enter the Distributor/Dealer EndUser.");
		document.ticket_form.Distributor_Dealer_EndUser.focus();
		return false;
	}

	if(validText(document.ticket_form.Distributor_Dealer_EndUser.value))
	{
		alert("Distributor/Dealer EndUser has to be text only.");
		document.ticket_form.Distributor_Dealer_EndUser.focus();
		return false;
	}

	if(isInteger(document.ticket_form.Distributor_Dealer_EndUser.value))
	{
		alert("Distributor/Dealer EndUser cannot have numerics.");
		document.ticket_form.Distributor_Dealer_EndUser.focus();
		return false;
	}

	
	
	if(StrTrim(document.ticket_form.contact_phone_number.value) == "")
	{
		alert("Please enter the contact_phone_number No.");
		document.ticket_form.contact_phone_number.focus();
		return false;
	}
	if(StrTrim(document.ticket_form.email.value) == "")
	{
		alert("Please enter the E-mail Address.");
		document.ticket_form.email.focus();
		return false;
	}

	if (!(fnemailCheck(document.ticket_form.email.value)))
	{
		alert("Please enter a valid E-mail Address.");									
		document.ticket_form.email.focus();
		return false;
	}
	
	
	if(StrTrim(document.ticket_form.product_number.value) == "")
	{
		alert("Please enter the Product Number");
		document.ticket_form.product_number.focus();
		return false;
	}
	
	
	if(StrTrim(document.ticket_form.pbx_type.value) == "")
	{
		alert("Please enter the PBX Type");
		document.ticket_form.pbx_type.focus();
		return false;
	}

	if(StrTrim(document.ticket_form.problem_reported.value) == "")
	{
		alert("Please enter the Problem Reported");
		document.ticket_form.problem_reported.focus();
		return false;
	}
	if (StrTrim(document.ticket_form.serial_number.value) == "")
		{
			alert("You have not input your unit's Serial Number, Please ensure you have it available when our representative contacts you, so that support can be provided without any delay. Press 'OK' to Continue.");
			return true;
		}


	
	
	return true;
}

function fncontactSubmit()
{	
	if(fncontactformSubmit())
	{
		document.ticket_form.method = "post";
		
		document.ticket_form.submit();
			
	}	

}