var popUpWin=0;
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+.";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
// START OF functions for venueevent.php and showevent.php to control Iframe loading.

	
function trim(str){
   return str.replace(/^\s*|\s*$/g,"");
}

// Date Chk Function //

var tokPat=new RegExp("^month_strict|month|Month|MONTH|yyyy|YYYY|mins|MINS|mon_strict|ampm|AMPM|mon|Mon|MON|min|MIN|dd|DD|mm|MM|yy|YY|hh|HH|ss|SS|m|M|d|D|y|Y|h|H|s|S");
var lowerMonArr={jan:1, feb:2, mar:3, apr:4, may:5, jun:6, jul:7, aug:8, sep:9, oct:10, nov:11, dec:12}
var monPatArr=new Array();
monPatArr['mon_strict']=new RegExp(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/);
monPatArr['Mon']=new RegExp(/Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec/);
monPatArr['MON']=new RegExp(/JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC/);
monPatArr['mon']=new RegExp("jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec",'i');
var monthPatArr=new Array();
monthPatArr['month']=new RegExp(/^january|february|march|april|may|june|july|august|september|october|november|december/i);
monthPatArr['Month']=new RegExp(/^January|February|March|April|May|June|July|August|September|October|November|December/);
monthPatArr['MONTH']=new RegExp(/^JANUARY|FEBRUARY|MARCH|APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|OCTOBER|NOVEMBER|DECEMBER/);
monthPatArr['month_strict']=new RegExp(/^january|february|march|april|may|june|july|august|september|october|november|december/);
var cutoffYear=50;

function isValidEmail(str) {
	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)| ";
	var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
	var reg1 = new RegExp(reg1str);
	var reg2 = new RegExp(reg2str);
	if (!reg1.test(str) && reg2.test(str)) return true;

	return false;
}
function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function validateZIP(field) {
var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
var hyphencount = 0;

//if (field.length!=5 && field.length!=10) {
//alert("Please enter your 5 digit or 5 digit+4 zip code.");
//return false;
//}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
//alert("Invalid characters in your zip code.  Please try again.");
return false;
}
//if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
//alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
//return false;
//   }
}
return true;
}
function isValidURL(str){		
	//var reg1str = "^http:\/\/www.";
	var reg1str = "^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*[^\.\,\)\(\s]$";
	var reg1 = new RegExp(reg1str);
	if (reg1.test(str)) { if(validURLExtra(str)) return true; else return false; }
	else return false;
	

}
function validURLExtra(field) {
if(field.indexOf("'")>0 || field.indexOf('"')>0) return false; else return true;
}
function validatePassword(field) {
var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";

for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (valid.indexOf(temp) == "-1") {
//alert("Invalid characters in your zip code.  Please try again.");
return false;
}

}
return true;
}
function IsValidUserDirectory()
	{
		Frm=this.document.form1;
		Err="";
		Obj='';
		if (Frm.cmbCat.value=='0' || Frm.cmbCat.value.length<1)
		{
			Err=Err+"Please select a valid Category Name .\n\r";
			if(Obj=='') Obj=Frm.txtBusiness;
		}
		if (Frm.txtBusiness.value.length<1)
		{
			Err=Err+"Please enter a valid Organization Name .\n\r";
			if(Obj=='') Obj=Frm.txtBusiness;
		}
		if (Frm.txtFName.value.length<1 || alpha(Frm.txtFName.value)==false)
		{
			Err=Err+"Please type a valid Contact Name. Your entry should\navoid special characters and numbers. \n\r";
			if(Obj=='')	Obj=Frm.txtFName;
		}				
		if (Frm.txtEmail.value=="" || !isValidEmail(Frm.txtEmail.value) ){				
			Err=Err+"Please enter valid Email Address .\n\r";
			if(Obj=='') Obj=Frm.txtEmail;
		}
		if (Frm.txtEmailB.value=="" || !isValidEmail(Frm.txtEmailB.value) ){				
			Err=Err+"Please enter valid Retype Email Address .\n\r";
			if(Obj=='') Obj=Frm.txtEmailB;
		}
		if(Frm.hdnMode.value=="add")
		{
			if (Frm.txtEmail.value != Frm.txtEmailB.value) {
				Err=Err+"your email addresses do not match. Please check again .\n\r";
				if(Obj=='') Obj=Frm.txtEmail;
			}		
		}
					
		if (Frm.txtPhone.value!='' && checkInternationalPhone(Frm.txtPhone.value)==false)
		{
			Err=Err+"Please enter a valid Tel No .\n\r";
			if(Obj=='') Obj=Frm.txtPhone;
		}
		
		if (Frm.txtContent.value=='')
		{
			Err=Err+"Please enter valid Details.\n\r";
			if(Obj=='') Obj=Frm.txtWebSite;
		}	
		
		if (Frm.txtWebSite.value!='' && isValidURL(Frm.txtWebSite.value)==false)
		{
			Err=Err+"Please enter a valid Website .\n\r";
			if(Obj=='') Obj=Frm.txtWebSite;
		}
		if (Frm.txtUName.value.length<1 || alphanumeric2(Frm.txtUName.value)==false)
		{
			Err=Err+"Please type valid Username using only\nalphabetical and numeric characters with no spaces.\n\r";
			if(Obj=='') Obj=Frm.txtUName;
		}		
		if (Frm.txtPass1.value.length<1)
		{
			Err=Err+"Please type valid Password .\n\r";
			if(Obj=='') Obj=Frm.txtPass1;
		}
		if (Frm.txtPass2.value.length<1)
		{
			Err=Err+"Please retype password in second password field .\n\r";
			if(Obj=='') Obj=Frm.txtPass2;
		}
		if (validatePassword(Frm.txtPass1.value)==false || validatePassword(Frm.txtPass2.value)==false){
			Err=Err+"Please retype password.\n The only special characters allowed are \"!@#$%^&*\", Spaces are also not allowed.\n\r";
			if(Obj=='') Obj=Frm.txtPass1;
		}
		if (Frm.txtPass1.value!=Frm.txtPass2.value)
		{
			Err=Err+"Typed Password fields do not match .\n\r";
			if(Obj=='') Obj=Frm.txtPass2;
		}	
		if(Frm.hdnMode.value=="add")
		{
			if (Frm.keystring.value.length<1)
			{
				Err=Err+"Please type image string to validate .\n\r";
				if(Obj=='') Obj=Frm.keystring;
			}	
		}
		if (Err.length>0){alert(Err); Obj.focus(); Obj.select(); return false;}	else return true;
		
	}
	
function alphanumeric(alphane)
{
	var numaric = alphane;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || (hh==32))
		  {
		  }
		else	{
			 return false;
		  }
		}
 return true;
}

function alphanumeric2(alphane)
{
	var numaric = alphane;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) )
		  {
		  }
		else	{
			 return false;
		  }
		}
 return true;
}
function alpha(alphane)
{
	var numaric = alphane;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 64 && hh<91) || (hh > 96 && hh<123) || (hh==32))
		  {
		  }
		else	{
			 return false;
		  }
		}
 return true;
}
function Dir_Edit(UserID,Action)
	{
		with(document.frmEdit)
		{
			if(Action==1)
				hdnMode.value="edit";
			else if(Action==2)
			{
				if(!confirm("Are you sure to delete the User permanently ?")) return;
				hdnMode.value="delete";
			}
			else if(Action==3)
			{
				hdnMode.value="view";
			}
			else if(Action==0)
			{
				hdnMode.value="add";
			}			
			hdnUserID.value=UserID
			submit();
		}
	}