var whitespace 		= " \t\n\r";

// This is pricing tires array for buy account in advance page, also used in prduct_add and product edit page in admin site
// For update this array please update in global.php (common global file) 
// For update this array for local please update global_1.php too.
//var arr_pricing_3	= new Array('1-20','21-50','51-100');
//var arr_pricing_5	= new Array('1-20','21-50','51-100','101-150','151-200');
//var arr_pricing_7	= new Array('1-20','21-50','51-100','101-150','151-200','201-250','251-300');

function isEmpty(s)
{
   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{  
	var i;
	// Is s empty?
	if (isEmpty(s)) return true;

	 // Search through string's characters one by one
	 // until we find a non-whitespace character.
	 // When we do, return false; if we don't, return true.
	 for (i = 0; i < s.length; i++)
	 {   
		 // Check that current character isn't whitespace.
		 var c = s.charAt(i);
 
		 if (whitespace.indexOf(c) == -1) return false;
	 }
 
	 // All characters are whitespace.
	 return true;
}

function isDouble(str)
{
	if (isEmpty(str)) return true;
	var pattern	= /^\d+.?\d*$/;
	if ( str.match(pattern)==null )
		return true;
	else
		return false;
}//function isDouble

function isAlphabateSpace(s)
{
	charpos	= s.search("[^A-Za-z\ ]");
	if (charpos >=0) 
		return false;
	else
		return true;
}

function isAlphabate(s)
{
	charpos	= s.search("[^A-Za-z]");
	if (charpos >=0) 
		return false;
	else
		return true;
}

function isNumeric(s)
{
	charpos	= s.search("[^0-9]");
	if (charpos >=0) 
		return false;
	else
		return true;
}


function isAlphaHyphen(s)
{
	charpos	= s.search("[^A-Za-z\-_]");
	if (charpos >=0) 
		return false;
	else
		return true;
}

function isAlphaNumHyphenSpace(s)
{
	charpos	= s.search("[^A-Za-z0-9\-_\ \.]");
	if (charpos >=0) 
		return false;
	else
		return true;
}

function isAlphaNumHyphen(s)
{
	charpos	= s.search("[^A-Za-z0-9\-_\.]");
	if (charpos >=0) 
		return false;
	else
		return true;
}



function BuildStr(s, s1)
{
	  if (s.length> 0) s = s + "\n";
	  s = s + s1;
	  return s;
}

function isCharsInBag (s, bag)
{  
  var i;
  // Search through string's characters one by one.
  // If character is 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) return false;
  }
  return true;
}

function isEmail(string) 
{
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else
		return false;
}

function validateUsername(loginName)
{
	//Validate the login name
	if (!isCharsInBag( loginName, "abcdefghijklmnopqrstuvwxyz0123456789.-_" ))
	{
		return "Login name has invalid characters.\n" ;
	}
	else if ( loginName.length < 3 )
	{
		return "Login name must be 3 or more characters.\n" ;
	}
	else
	{
		var count;
		for (count=0; count < loginName.length; count++)
		{
			if (loginName.charAt(count) == "_")
			{
				if (loginName.charAt(count+1) == "_")
				{
					return "Login name may not contain more than one consecutive underscore.\n";
				}
			}
		}
	}
	return "";
}

function isZip(s) 
{ 
	// Check for correct zip code
	//reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/); 
	reZip = new RegExp(/^\+?[0-9 ()-]+[0-9]$/);
	if (!reZip.test(s)) 
	{
		alert("Please provide valid Zip.");
		return false;
	} 
	return true;
} 

function is_numeric_value(theField, theCaption) 
{
	if (isWhitespace(theField.value))
	{
		alert("Please provide "+theCaption+".");
		theField.select();
		return false;
	}
	else if (isNaN(theField.value))
	{
		alert("Please enter numeric value for "+theCaption+".");
		theField.select();
		return false;
	}
	else if (parseFloat(theField.value) <= 0)
	{
		alert(theCaption+" should not be zero value.");
		theField.select();
		return false;
	}

	return true;
}

function visiblydisableInput(optName)
{ 
	all_inputs = document.getElementsByTagName(optName); 
	for(j=0;j<all_inputs.length;j++)
	{ 
		all_inputs[j].disabled=true;
	} 
}

function monthno(mnth)
{
	getmonthno=13
	mnth=mnth.toLowerCase();
	switch(mnth)
	{
		case "jan": getmonthno = 1; break;
		case "feb": getmonthno = 2; break;
		case "mar": getmonthno = 3; break;
		case "apr": getmonthno = 4; break;
		case "may": getmonthno = 5; break;
		case "jun": getmonthno = 6; break;
		case "jul": getmonthno = 7; break;
		case "aug": getmonthno = 8; break;
		case "sep": getmonthno = 9; break;
		case "oct": getmonthno = 10; break;
		case "nov": getmonthno = 11; break;
		case "dec": getmonthno = 12; break;       
	}
	return getmonthno;				
}

function monthname(mnth)
{
	getmonthname=13
	mnth=mnth;
	switch(mnth)
	{
		case "01": getmonthname= "jan"; break;
		case "02": getmonthname= "feb"; break;
		case "03": getmonthname= "mar"; break;
		case "04": getmonthname= "apr"; break;
		case "05": getmonthname= "may"; break;
		case "06": getmonthname= "jun"; break;
		case "07": getmonthname= "jul"; break;
		case "08": getmonthname= "aug"; break;
		case "09": getmonthname= "sep"; break;
		case "10": getmonthname= "oct"; break;
		case "11": getmonthname= "nov"; break;
		case "12": getmonthname= "dec"; break;       
	}
	return getmonthname;				
}

function checkDates(paramStartDate, paramEndDate)
{	
	dtfrom=paramStartDate;

	if(dtfrom!="")
	{
		dt1_s=dtfrom.split("-");
		dt1_d=dt1_s[1]	
		dt1_m=dt1_s[0]
		dt1_y=dt1_s[2]		
	}
	
	dtto=paramEndDate;

	if(dtto!="")
	{
		dt2_s=dtto.split("-");
		dt2_d=dt2_s[1]	
		dt2_m=dt2_s[0]
		dt2_y=dt2_s[2]		
	}		
	
	var dteStart = new Date(dt1_y, dt1_m, dt1_d,0,0,0);
	var dteEnd = new Date(dt2_y, dt2_m, dt2_d,0,0,0);

	var dteCurrent = new Date();	

	if(dteStart.valueOf() - dteEnd.valueOf() > 0)
	   	getvalno=0;
	else
		getvalno=1;

	return getvalno;				
}

function roundNumber(num, dec) 
{
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function add_zeros(num, zeros) 
{
	// It will add trailing zeros
	if(zeros == undefined || zeros == null)
		zeros = 2;
		
	var result = num.toFixed(zeros); // result will equal 10.00
	return result;
}

function add_commas(num)
   {
	  numArr=new String(num).split('').reverse();
        for (i=3;i<numArr.length;i+=3)
        {
             numArr[i]+=',';
        }
        return result= numArr.reverse().join('');
   }
function numberFormat(nStr,prefix){
	
	//alert("COMMING AMOUNT"+nStr);
    var prefix = prefix || '';
    nStr += '';
	
	nStr=add_zeros(parseFloat(nStr));
	
    x = nStr.split('.');
    x1 = x[0];
	var dev_val=x[1];
	
	
	var temp_str=x[1].length>0 ? x[1].toString() : '';
	
	//alert('Value of Fraction part'+temp_str+'Lengh of fraction part'+temp_str.length);
	if(temp_str.length>2)
		var final_var=temp_str.substr(0,2);
	
	else
		var final_var=temp_str;
	
    x2 = x.length > 1 ? '.' + final_var : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1))
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    return prefix + x1 + x2;
}

function checknumeric(thefval,thestr)
{
	if(!isCharsInBag(thefval, thestr) || isNaN(thefval))
		{
			alert("Please enter numeric value.");
			return false;
		}
}

function checksort(val)
{	
	if(isNaN(val))
	{
		alert("Please enter numeric value. \n");
		this.focus();
	}
}

//validate allowed imagetype
function checkImageType(sImageName)
{	
	var imageFilename = trimAll(sImageName);	
	var imageExtention = "";
	var arrAllowedImageType = new Array();
	arrAllowedImageType[0] = "jpg";
	arrAllowedImageType[1] = "jpeg";
	arrAllowedImageType[2] = "gif";	
	
	//get image file TYPE
	var arrImageName = new Array();		
	arrImageName = imageFilename.split(".");		
	imageExtention = arrImageName[arrImageName.length-1];
	imageExtention = imageExtention.toLowerCase();
	
	var i;
	for (i=0; i < arrAllowedImageType.length; i++) 
	{
		if (arrAllowedImageType[i] == imageExtention) 
		{
			return true;
		}
	}
	return false;
}

/* checks max character length for textarea */
function textCounter(field, maxlimit) 
{
	if (field.value.length > maxlimit) // if too long...trim it!
	{
		alert("You can not enter more than "+maxlimit+" characters.");
		field.value = field.value.substring(0, maxlimit);
	}
}

function trimAll(sString) 
{
	if(!isEmpty(sString))
	{
		while (sString.substring(0,1) == ' ' || sString.substring(0,1) == '\n' || sString.substring(0,1) == '\r' || sString.substring(0,1) == '\t')
		{
			sString = sString.substring(1, sString.length);
		}
		while (sString.substring(sString.length-1, sString.length) == ' ' || sString.substring(sString.length-1, sString.length) == '\n' || sString.substring(sString.length-1, sString.length) == '\r' || sString.substring(sString.length-1, sString.length) == '\t')
		{
			sString = sString.substring(0,sString.length-1);
		}
	}
	return sString; 
}

function doAdminPost(page,theForm) //for paging script
{ 	
	document.all.page.value = page;
	if(document.all.search)
	{
		if(document.all.search.value == 'Enter Keyword') { document.all.search.value='';}
	}

	if(theForm==null || theForm=="undefined")
	{
		theForm=document.form1;
	}

	theForm.submit();
}

function doAdminSearch()
{	
	if(document.all.letter != undefined)
		document.all.letter.value='';
	if(document.all.page != undefined)
		document.all.page.value=1;		
	if(document.all.search != undefined)
		if(document.all.search.value == 'Enter Keyword') { document.all.search.value='';}

	document.all.page.value = 1;
}

function showpopup(val,filedName) //Date POPup
{
	popUpCalendar(val, filedName, "mm/dd/yyyy");
}

function doProductList(page,theForm) //for paging script
{ 	
	theForm.method = 'GET';	
	document.all.page.value = page;
	theForm.submit();
}
function doPriceSort(sortField) //for paging script
{ 	
	theForm = document.form1;
	theForm.p_sort.value = sortField.value;
	theForm.method = 'GET';
	theForm.submit();
}
function doSearchFilter(sortField, filterField) //for product listing sort script
{	
	theForm = document.form1;
	theForm.page.value = 1;
	theForm.p_sort.value = document.all(sortField).value;
	theForm.p_filter.value = document.all(filterField).value;
	theForm.method = 'GET';
	theForm.submit();
}

function validateSearch(theForm)
{
	theForm.q.value = document.all('txtsearch').value;
	if(isWhitespace(theForm.q.value) || theForm.q.value == "Enter Keyword or Product Code")
	{
		theForm.q.value = "";
		theForm.q.focus();
	}
	return true;
}

//IT AUTO SELECTS VALUE OF DROPDOWN BASED ON SEARCH VALUE PASSED TO IT
//IT COMPARES DROPDOWN VALUE AND NOT TEST
function selectdatabasevalue(toselect,cmb)
{
	for(i=0;i<eval(cmb).length;i++)
	{
		if(eval(cmb).options[i].value==toselect)
		{
			eval(cmb).selectedIndex = i;
		}
	}
}


/* DATE VALIDATION SCRIPTS --- START --- */
// Declaring valid date character, minimum year and maximum year
//it validates date in MM/DD/YYYY Format
//var dtCh= "/";
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

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++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr,dtSep){
	//alert("date "+dtStr+" date Seperator"+dtSep);
	var daysInMonth = DaysArray(12)
	
	if(dtSep != null)
		if(dtSep.length > 0) dtCh = dtSep;	
	
	//if(dtCh.length==0) dtCh="-";

	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		//The date format should be : mm/dd/yyyy
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		//Please enter a valid month
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//Please enter a valid day"
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//Please enter a valid 4 digit year between "+minYear+" and "+maxYear
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//Please enter a valid date
		return false;
	}
return true
}
/* DATE VALIDATION SCRIPTS --- END --- */

function checkUserName(uName)
{
	var iChars = " !@#$%^&*()+=-[]\\\';,./{}|\":<>±?";
	for(i=0;i<iChars.length;i++)
	{
		if(uName.indexOf(iChars.charAt(i))!=-1)
			return false;
	}
	if(i==iChars.length)
		return true;
}

function validate_name(name)//Space Not Allowed
{
	//var iChars = " !@#$%^&*()+=-[]\\\;,./{}|\":<>±?"; // not allowlable character
	var iChars = " !@#$%^&*()+=-[]\\\;/{}|\":<>±?"; // not allowlable character
	for(i=0;i<iChars.length;i++)
	{
		if(name.indexOf(iChars.charAt(i))!=-1)
			return false;
	}
	if(i==iChars.length)
		return true;
}

// FUNCTION TO VALIDATE NAME WHICH CONTAIN SPACE
function validate_name_space(name)
{
	//var iChars = "!@#$%^&*()+=-[]\\\;,./{}|\":<>±?"; // not allowlable character
	var iChars = "!@#$%^&*()+=-[]\\\;/{}|\":<>±?"; // not allowlable character
	for(i=0;i<iChars.length;i++)
	{
		if(name.indexOf(iChars.charAt(i))!=-1)
			return false;
	}
	if(i==iChars.length)
		return true;
}
//FUNCTION TO VALIDATE COMPANY NAME
function validate_name_comp(name)
{
	//var iChars = "!@#$%^*()+=-[]\\\;,/{}|\":<>±?"; // not allowlable character
	var iChars = "!@#$%^*()+=[]\\\;/{}|\":<>±?"; // not allowlable character
	for(i=0;i<iChars.length;i++)
	{
		if(name.indexOf(iChars.charAt(i))!=-1)
			return false;
	}
	if(i==iChars.length)
		return true;
}


/* Function To be fired on the the event of not checking the checkbox and clicking the button*/
function chkbox(theForm, strMsg)
{
	var cnt=theForm.elements.length;
	var flag=0;
	if(strMsg=="undefined" || strMsg.length == 0) strMsg="Please select any of the listed check boxes.";
	for(var i=0;i<cnt;i++)
	{
		 if(theForm.elements[i].checked==true)
		 flag=1;
	}
	if(flag==0)
	{
		alert(strMsg);
		return false;
	}
else if(flag==1)
	{
 	 var truthBeTold = window.confirm("Are you sure you want to approve selected affiliate(s)?");
		  if (truthBeTold) 
		      return true;	
		else
		 return false;
    }
}
/*FUNCTION TO TEST PASSWORD FOR ALPHANUMERIC*/
function isAlphaNumeric(str)
{
	var re = /^\w*(?=\w*\d)(?=\w*[a-z])/;
	if (!re.test(str)){
	return false;
	}
	else{
	return true;
	}
}

function clearListBox(objListBox)
{
	//Clear listbox if its not empty
	if(objListBox.length > 0) 
	{
		for(i=0;objListBox.length;i++)
		{
			objListBox.remove(objListBox.options[i]);
		}
	}	
}

function doODList(page,theForm) //for paging script
{ 	
	theForm.method = 'GET';	
	document.all.page.value = page;
	theForm.submit();
}

function strstr( haystack, needle, bool ) {
    // Find first occurrence of a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strstr/
    // +       version: 810.819
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: strstr('Kevin van Zonneveld', 'van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: strstr('Kevin van Zonneveld', 'van', true);
    // *     returns 2: 'Kevin '

    var pos = 0;

    haystack += '';
    pos = haystack.indexOf( needle );
    if( pos == -1 ){
        return false;
    } else{
        if( bool ){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}// }}}


function checkCCinfo()
{
	ccdate=new Date()
	var currentYear=ccdate.getFullYear()
	var currentMonth=(ccdate.getMonth()+1);	
	
	if(currentMonth<=9)
	  var currentMonth="0"+currentMonth;  
	
	if(document.frm_view_cart.cc_type[0].checked==false && document.frm_view_cart.cc_type[1].checked==false && document.frm_view_cart.cc_type[2].checked==false)
	{
		alert("Please provide credit card type.");
		document.frm_view_cart.cc_type[0].focus();
		return false;
	}
	else if ( document.frm_view_cart.cc_type != 'undefined' && document.frm_view_cart.cc_type.value == '')
	{
		alert("Please provide credit card type.");
		document.frm_view_cart.cc_type.focus();
		return false;
	}
	if(isWhitespace(trimAll(document.getElementById("cc_holder_name").value)))
	{
		alert("Please provide name on credit card.");
		document.getElementById("cc_holder_name").focus();
		return false;
	}
	if(isWhitespace(trimAll(document.getElementById("cc_number").value)))
	{
		alert("Please provide account number.");
		document.getElementById("cc_number").focus();
		return false;
	}
	
	if((isNaN(document.getElementById("cc_number").value)==true) && strstr(document.getElementById("cc_number").value,'xxxxxxxx')==false)   
	{
		alert("Please provide valid account number.");
		document.getElementById("cc_number").focus();
		return false;
	}
	if(parseInt(document.getElementById("cc_number").value)<=0)
	{
		alert("Please provide positive numeric value for account number.");
		document.getElementById("cc_number").focus();
		return false;
	}
	if((document.frm_view_cart.cc_type[0].checked==true && (document.frm_view_cart.cc_number.value.length!=15 && document.frm_view_cart.cc_number.value.length!=16)))
	{	
		alert("Credit card number has an inappropriate number of digits.");
		document.frm_view_cart.cc_number.focus();
		return false;
	}
	if(document.frm_view_cart.cc_type[0].checked==true && document.frm_view_cart.cc_cvv.value.length!=4)
	{
		alert("Security code has an inappropriate number of digits");
		document.frm_view_cart.cc_cvv.focus();
		return false;
	}
	if(isWhitespace(trimAll(document.getElementById("cc_expiry_mm").value)))
	{
		alert("Please provide expiration month.");
		document.getElementById("cc_expiry_mm").focus();
		return false;
	}

	if(isWhitespace(trimAll(document.getElementById("cc_expiry_yy").value)))
	{
		alert("Please provide expiration year.");
		document.getElementById("cc_expiry_yy").focus();
		return false;
	}

	if(document.getElementById("cc_expiry_mm").value<currentMonth && document.getElementById("cc_expiry_yy").value<=currentYear)
	{
		alert("Expiry date can not be less then current date.")	
		document.getElementById("cc_expiry_mm").focus();
		return false
	}

	if(isWhitespace(trimAll(document.getElementById("cc_cvv").value)))
	{
		alert("Please provide security code.");
		document.getElementById("cc_cvv").focus();
		return false;
	}
	if(isNaN(document.getElementById("cc_cvv").value)==true)
	{
		alert("Please provide valid security code.");
		document.getElementById("cc_cvv").focus();
		return false;
	}
	else if(document.getElementById("cc_cvv").value<=0)
	{
		alert("Please provide positive numeric value for security code.");
		document.getElementById("cc_cvv").focus();
		return false;
	}
	if(isWhitespace(trimAll(document.getElementById("cc_address").value)))
	{
		alert("Please provide billing address.");
		document.getElementById("cc_address").focus();
		return false;
	}
	if(isWhitespace(trimAll(document.getElementById("cc_city").value)))
	{
		alert("Please provide city.");
		document.getElementById("cc_city").focus();
		return false;
	}
	if(!isZip(document.getElementById("cc_zip").value))
	{
		document.getElementById("cc_zip").focus();
		return false;
	}
	/*if(isWhitespace(trimAll(document.getElementById("cc_zip").value)))
	{
		alert("Please provide zip ");
		document.getElementById("cc_zip").focus();
		return false;
	}
	if(isNaN(trimAll(document.getElementById("cc_zip").value))==true)
	{
		alert("Please provide numeric value zip.");
		document.getElementById("cc_zip").focus();
		return false;
	}
	if(document.getElementById("cc_zip").value.length<5 || document.getElementById("cc_zip").value.length>5)
	{
		alert("Please provide five digit value for zip.");
		document.getElementById("cc_zip").focus();
		return false;
	}*/

	return true;
}

// AJAX FUNCTION
function DataByPost(url,postData)
{
	//alert('Hi');
	var return_value='';	
	var passData = postData;

	var AJAX = null;	// The variable that makes Ajax possible!

	try{
		if (window.ActiveXObject)
		{
			// code for IE6, IE5
			return new ActiveXObject("Microsoft.XMLHTTP");
		}	
		else
		{
			// Opera 8.0+, Firefox, Safari
			AJAX = new XMLHttpRequest();
		}
	} catch (e){
		// Internet Explorer Browsers
		try{
			AJAX = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				AJAX = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser doesn't support AJAX.");
				return false;
			}
		}
	}

	if (AJAX==null) {
	   alert("Your browser doesn't support AJAX.");						
	   return false
	} else {

	   AJAX.open("POST", url, false);	   
	   AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	  
	   AJAX.onreadystatechange = function() { 
			if (AJAX.readyState==4 || AJAX.readyState=="complete") { 
				var ajxData=AJAX.responseText;
				return_value = trimAll(ajxData);
		  }
	   }             
	   AJAX.send(passData);
	}
	return return_value;
}
function DataByPost1(url,postData,ID)
{
	var return_value='';	
	var passData = postData;

	var AJAX = null;	// The variable that makes Ajax possible!

	try{
		if (window.ActiveXObject)
		{
			// code for IE6, IE5
			AJAX = new ActiveXObject("Microsoft.XMLHTTP");
		}	
		else
		{
			// Opera 8.0+, Firefox, Safari
			AJAX = new XMLHttpRequest();
		}
	} catch (e){
		// Internet Explorer Browsers
		try{
			AJAX = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				AJAX = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser doesn't support AJAX.");
				return false;
			}
		}
	}

	if (AJAX==null) {
	   alert("Your browser doesn't support AJAX.");						
	   return false
	} else {

	   AJAX.open("POST", url, true);	   
	   AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	  
	   AJAX.onreadystatechange = function() { 
			if (AJAX.readyState==4 || AJAX.readyState=="complete") { 
				var ajxData=AJAX.responseText;
				return_value = trimAll(ajxData);
				document.getElementById(ID).innerHTML=return_value;
		  }
	   }             
	   AJAX.send(passData);
	}
	//return return_value;
}

function browser_detective() 
{
	var agt=navigator.userAgent.toLowerCase();
	if (agt.indexOf("opera") != -1) return 'Opera';
	if (agt.indexOf("staroffice") != -1) return 'Star Office';
	if (agt.indexOf("webtv") != -1) return 'WebTV';
	if (agt.indexOf("beonex") != -1) return 'Beonex';
	if (agt.indexOf("chimera") != -1) return 'Chimera';
	if (agt.indexOf("netpositive") != -1) return 'NetPositive';
	if (agt.indexOf("phoenix") != -1) return 'Phoenix';
	if (agt.indexOf("firefox") != -1) return 'Firefox';
	if (agt.indexOf("safari") != -1) return 'Safari';
	if (agt.indexOf("skipstone") != -1) return 'SkipStone';
	if (agt.indexOf("msie") != -1) return 'Internet Explorer';
	if (agt.indexOf("netscape") != -1) return 'Netscape';
	if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
	if (agt.indexOf('\/') != -1) {
	if (agt.substr(0,agt.indexOf('\/')) != 'mozilla') {
	return navigator.userAgent.substr(0,agt.indexOf('\/'));}
	else return 'Netscape';} else if (agt.indexOf(' ') != -1)
	return navigator.userAgent.substr(0,agt.indexOf(' '));
	else return navigator.userAgent;
}

function check_file_format(arg_file_value,arg_file_ext)
{
	var file_ext=arg_file_value.substring(arg_file_value.lastIndexOf('.')+1,arg_file_value.length);
	if(file_ext!=arg_file_ext) 
		return 0;
	else 
		return 1;
}

// {{{ trim
function trim (str, charlist) {
    // Strip whitespace (or other characters) from the beginning and end of a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_trim/
    // +       version: 810.2018
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    // *     example 3: trim(16, 1);
    // *     returns 3: 6

    var whitespace, l = 0, i = 0;
    str += '';
    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}// }}}

// {{{ ucfirst
function ucfirst( str ) {
    // Make a string&#039;s first character uppercase
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_ucfirst/
    // +       version: 810.819
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: ucfirst('kevin van zonneveld');
    // *     returns 1: 'Kevin van zonneveld'

    str += '';
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1, str.length-1);
}// }}}

// {{{ ucwords
function ucwords( str ) {
    // Uppercase the first character of each word in a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_ucwords/
    // +       version: 810.819
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: _argos
    // +   bugfixed by: Onno Marsman
    // *     example 1: ucwords('kevin van zonneveld');
    // *     returns 1: 'Kevin Van Zonneveld'
    // *     example 2: ucwords('HELLO WORLD');
    // *     returns 2: 'HELLO WORLD'

    return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase ( ); } );
}// }}}

// {{{ sleep
function sleep(seconds) {
    // Delay execution
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_sleep/
    // +       version: 810.1311
    // +   original by: Christian Doebler
    // %          note: For study purposes. Current implementation could lock up the user's browser. 
    // %          note: Consider using setTimeout() instead.
    // *     example 1: sleep(1);
    // *     returns 1: 0
    
    seconds *= 1000;
    var start = new Date().getTime();
    while (new Date().getTime() < start + seconds);
    
    return 0;
}// }}}

function isValidPhone(phone1,phone2,phone3)
{
	if (phone1!='' || phone2!='' || phone3!='')
	{
		if (isNumeric(phone1)==false || isNumeric(phone2)==false || isNumeric(phone3)==false)
			return false;
		else if (phone1.length != 3 || phone2.length != 3 || phone3.length != 4 )
			return false;
		else
			return true;
	}
}
function imposeMaxLength(e, Object, MaxLen) // Added by Rajan for keypress event to check maxlength for text area, e: event, Object: this, Maxlen: 200
{
	//var KeyID = (window.event) ? event.keyCode : e.keyCode;
	if(!e) e=window.event;
  	var KeyID = e.keyCode ? e.keyCode : e.which;
	if (KeyID == 8 || KeyID == 37 || KeyID == 39 || KeyID == 46)
	{
	}
	else
	{
		return (Object.value.length <= MaxLen);
	}
}

function substr( f_string, f_start, f_length ) {
    // Return part of a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_substr/
    // +       version: 810.819
    // +     original by: Martijn Wieringa
    // +     bugfixed by: T.Wild
    // +      tweaked by: Onno Marsman
    // *       example 1: substr('abcdef', 0, -1);
    // *       returns 1: 'abcde'
    // *       example 2: substr(2, 0, -6);
    // *       returns 2: ''

    f_string += '';

    if(f_start < 0) {
        f_start += f_string.length;
    }

    if(f_length == undefined) {
        f_length = f_string.length;
    } else if(f_length < 0){
        f_length += f_string.length;
    } else {
        f_length += f_start;
    }

    if(f_length < f_start) {
        f_length = f_start;
    }

    return f_string.substring(f_start, f_length);
}// }}}

function checkMaxLength(Object, MaxLen) // Added by Rajan for keypress event to check maxlength for text area, e: event, Object: this, Maxlen: 200
{
	var tmpVal	= Object.value;
	Object.value	= substr(tmpVal, 0, MaxLen);
}

