function validate_contact_form (frmObject) {
	
	try {		
		var first_name = frmObject.elements['first_name'].value;
		var last_name = frmObject.elements['last_name'].value;
		var email = frmObject.elements['email'].value;
		var phone = frmObject.elements['phone'].value;
		var ctitle = frmObject.elements['title'].value;
		var company = frmObject.elements['company'].value;
		var CompanyCountry = frmObject.elements['CompanyCountry'].value;
		var CompanyState = frmObject.elements['CompanyState'].value;
		var association = frmObject.elements['00N80000004QGMe'].value;
		var interest = frmObject.elements['00N80000004QGMo'].value;
	} catch (err) {
		alert("We're sorry your form can not be processed at this time due to technical difficulties. Please, try again later");
		return false;
	}
	
	if (!first_name || first_name.length < 2 || first_name.length > 35) {	
		info = "Please, provide a valid First Name that is between 2 and 35 characters long.";
		//alert(info);
		set_focus(frmObject, 'first_name')
		generate_inline_error(first_name, info);
		return false;
	}
	
	if (!last_name || last_name.length < 2 || last_name.length > 35) {	
		info = "Please, provide a valid Last Name that is between 2 and 35 characters long.";
		//alert(info);
		set_focus(frmObject, 'last_name')
		generate_inline_error(last_name, info);
		return false;
	}
	
	if (!email || email.length < 6 || email.length > 35 || (!(/^\w+[\.\-\w]*@\w[\.\-\w]*(\.\w{2,4})$/.test(email.replace(/^\s*|\s*$/g,""))))) {	
		info = "Please, provide a valid Email Address that is between 6 and 35 characters long.";
		//alert(info);
		set_focus(frmObject, 'email')
		generate_inline_error(email, info);
		return false;
	}
	
	if (!company || company.length < 3 || company.length > 55) {	
		info = "Please, provide a valid Company Name that is between 3 and 55 characters long.";
		//alert(info);
		set_focus(frmObject, 'company')
		generate_inline_error(company, info);
		return false;
	}
	
	if (!CompanyCountry || CompanyCountry == "undefined") {	
		info = "Please, select a valid Country Name from the drop-down menu.";
		//alert(info);
		set_focus(frmObject, 'CompanyCountry')
		generate_inline_error(CompanyCountry, info);
		return false;
	}
	
	if (!association || association == "undefined") {	
		info = "Please, select an item from the Brand/Retailer drop-down menu.";
		//alert(info);
		set_focus(frmObject, '00N80000004QGMe')
		generate_inline_error(association, info);
		return false;
	}
	
	//alert(document.getElementById('CompanyCountry')[document.getElementById('CompanyCountry').selectedIndex].innerHTML);
	document.getElementById('country').value = frmObject.elements['country'][frmObject.elements['country'].selectedIndex].innerHTML;
	document.getElementById('state').value = frmObject.elements['state'][frmObject.elements['state'].selectedIndex].innerHTML;
	
	var pNode = parent.location.href;
	var rexp = /brandCoupon/

	if (pNode) {
		if (rexp.test(pNode) == true) frmObject.elements['referer'].value = "brandcoupon";
		else frmObject.elements['referer'].value = "retailcoupon";
		
		try { top.document.getElementById("popupIFrame").style.height = "200px"; } catch (err) {}
	}
	
	try { 
		var blastRef = top.document.getElementById("blastReferer").innerHTML; 
		if (blastRef) {
				switch (blastRef.toLowerCase()) {
					case "brand": frmObject.elements['referer'].value = "brandcoupon"; break;
					case "retailer": frmObject.elements['referer'].value = "retailcoupon"; break;
					default: break;
				}
		}
	} catch (err) {}
	
	/*
	if (!interest || interest.length < 25 || interest.length > 275) {	
		info = "Please, provide comments in the Area of Interest field. Comments must be between 25 and 275 characters long.";
		//alert(info);
		set_focus(frmObject, 'interest')
		generate_inline_error(interest, info);
		return false;
	}
	*/
	
	return true;
}

function resize_iframe () {
}

function set_focus (frmObject, field) {
	frmObject.elements[field].focus();
	for (var i=0; i<frmObject.elements.length; i++) {
		frmObject.elements[i].style.cssText = "";
	}
	
	frmObject.elements[field].style.border = "1px #ff0000 solid";
}

function generate_inline_error (id, info) {
	var d = document;
	var eHeadline = d.getElementById("errorHeadline");
	var eInfo = d.getElementById("errorInfo");
	
	eHeadline.style.color = "#ff0000";
	eHeadline.style.fontWeight = "bold";
	eInfo.style.color = "#ff0000";
	eInfo.innerHTML = info;
}

function generate_pdf_form () {
	var d = document;
	//var shellObj = d.getElementById("shell");
	var sWidth = getDocumentWidth();
	var sHeight = getDocumentHeight();
	var xyCenter = [sWidth/2, sHeight/2];
	
	var pObj = d.getElementById("popupForm");
	pObj.style.position = "absolute";	
	pObj.style.visibility = "visible";	
	pObj.style.display = "";	
	pObj.style.left = xyCenter[0] - pObj.offsetWidth/2 + "px";
	pObj.style.top = xyCenter[1] - pObj.offsetHeight/4 + "px";
	
	return false;
}

function close_pdf_form () {
	var d = document;
	var pObj = d.getElementById("popupForm");
	pObj.style.visibility = "hidden";
	pObj.style.display = "none";	
	
	return false;
}

function getDocumentWidth () {
		var myWidth = 0;

		if ( typeof( window.innerWidth ) == 'number' ) myWidth = window.innerWidth;
		else if ( document.documentElement && document.documentElement.clientWidth ) myWidth = document.documentElement.clientWidth;
		else if ( document.body && document.body.clientWidth ) myWidth = document.body.clientWidth;		
		return myWidth;
}

function getDocumentHeight () {
		var myHeight = 0;

		if ( typeof( window.innerHeight ) == 'number' ) myHeight = window.innerHeight;
		else if ( document.documentElement && document.documentElement.clientHeight ) myHeight = document.documentElement.clientHeight;
		else if ( document.body && document.body.clientHeight ) myHeight = document.body.clientHeight;
		return myHeight;
}




/* 

	SearchField 
	written by Alen Grakalic, provided by Css Globe (cssglobe.com)
	please visit http://cssglobe.com/post/1202/style-your-websites-search-field-with-jscss/ for more info
	
*/

this.searchfield = function(){
	
	// CONFIG 
	
	// this is id of the search field you want to add this script to. 
	// You can use your own id just make sure that it matches the search field in your html file.
	var id = "searchfield";
	
	// Text you want to set as a default value of your search field.
	var defaultText = "Search...";	
	
	// set to either true or false
	// when set to true it will generate search suggestions list for search field based on content of variable below
	var suggestion = true;
	
	// static list of suggestion options, separated by comma
	// replace with your own
	var suggestionText = "whitepaper, brand services, brand, build, retail services"; 
	
	// END CONFIG (do not edit below this line, well unless you really, really want to change something :) )
	
	// Peace, 
	// Alen

	var field = document.getElementById(id);	
	var classInactive = "sf_inactive";
	var classActive = "sf_active";
	var classText = "sf_text";
	var classSuggestion = "sf_suggestion";
	this.safari = ((parseInt(navigator.productSub)>=20020000)&&(navigator.vendor.indexOf("Apple Computer")!=-1));
	if(field && !safari){
		field.value = defaultText;
		field.c = field.className;		
		field.className = field.c + " " + classInactive;
		field.onfocus = function(){
			this.className = this.c + " "  + classActive;
			this.value = (this.value == "" || this.value == defaultText) ?  "" : this.value;
		};
		field.onblur = function(){
			this.className = (this.value != "" && this.value != defaultText) ? this.c + " " +  classText : this.c + " " +  classInactive;
			this.value = (this.value != "" && this.value != defaultText) ?  this.value : defaultText;
			clearList();
		};
		if (suggestion){
			
			var selectedIndex = 0;
						
			field.setAttribute("autocomplete", "off");
			var div = document.createElement("div");
			var list = document.createElement("ul");
			list.style.display = "none";
			div.className = classSuggestion;
			list.style.width = field.offsetWidth + "px";
			div.appendChild(list);
			field.parentNode.appendChild(div);	

			field.onkeypress = function(e){
				
				var key = getKeyCode(e);
		
				if(key == 13){ // enter
					selectList();
					selectedIndex = 0;
					return false;
				};	
			};
				
			field.onkeyup = function(e){
			
				var key = getKeyCode(e);
		
				switch(key){
				case 13:
					return false;
					break;			
				case 27:  // esc
					field.value = "";
					selectedIndex = 0;
					clearList();
					break;				
				case 38: // up
					navList("up");
					break;
				case 40: // down
					navList("down");		
					break;
				default:
					startList();			
					break;
				};
			};
			
			this.startList = function(){
				var arr = getListItems(field.value);
				if(field.value.length > 0){
					createList(arr);
				} else {
					clearList();
				};	
			};
			
			this.getListItems = function(value){
				var arr = new Array();
				var src = suggestionText;
				var src = src.replace(/, /g, ",");
				var arrSrc = src.split(",");
				for(i=0;i<arrSrc.length;i++){
					if(arrSrc[i].substring(0,value.length).toLowerCase() == value.toLowerCase()){
						arr.push(arrSrc[i]);
					};
				};				
				return arr;
			};
			
			this.createList = function(arr){				
				resetList();			
				if(arr.length > 0) {
					for(i=0;i<arr.length;i++){				
						li = document.createElement("li");
						a = document.createElement("a");
						a.href = "javascript:void(0);";
						a.i = i+1;
						a.innerHTML = arr[i];
						li.i = i+1;
						li.onmouseover = function(){
							navListItem(this.i);
						};
						a.onmousedown = function(){
							selectedIndex = this.i;
							selectList(this.i);		
							return false;
						};					
						li.appendChild(a);
						list.setAttribute("tabindex", "-1");
						list.appendChild(li);	
					};	
					list.style.display = "block";				
				} else {
					clearList();
				};
			};	
			
			this.resetList = function(){
				var li = list.getElementsByTagName("li");
				var len = li.length;
				for(var i=0;i<len;i++){
					list.removeChild(li[0]);
				};
			};
			
			this.navList = function(dir){			
				selectedIndex += (dir == "down") ? 1 : -1;
				li = list.getElementsByTagName("li");
				if (selectedIndex < 1) selectedIndex =  li.length;
				if (selectedIndex > li.length) selectedIndex =  1;
				navListItem(selectedIndex);
			};
			
			this.navListItem = function(index){	
				selectedIndex = index;
				li = list.getElementsByTagName("li");
				for(var i=0;i<li.length;i++){
					li[i].className = (i==(selectedIndex-1)) ? "selected" : "";
				};
			};
			
			this.selectList = function(){
				li = list.getElementsByTagName("li");	
				a = li[selectedIndex-1].getElementsByTagName("a")[0];
				field.value = a.innerHTML;
				clearList();
			};			
			
		};
	};
	
	this.clearList = function(){
		if(list){
			list.style.display = "none";
			selectedIndex = 0;
		};
	};		
	this.getKeyCode = function(e){
		var code;
		if (!e) var e = window.event;
		if (e.keyCode) code = e.keyCode;
		return code;
	};
	
};

// script initiates on page load. 

this.addEvent = function(obj,type,fn){
	if(obj.attachEvent){
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn](window.event );}
		obj.attachEvent('on'+type, obj[type+fn]);
	} else {
		obj.addEventListener(type,fn,false);
	};
};
addEvent(window,"load",searchfield);



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];}
}




	var arCompanyStateAllOpts;
	var state_fd;
	var bStateInit = false;

	arNotApply = Array(	new Option("Not Required", ''));
			
	
	arCanada = Array(	new Option("Select One", '')
	
						, new Option("Alberta", "AB")
	
						, new Option("British Columbia", "BC")
	
						, new Option("Manitoba", "MB")
	
						, new Option("New Brunswick", "NB")
	
						, new Option("Newfoundland", "NL")
	
						, new Option("Northwest Territories", "NT")
	
						, new Option("Nova Scotia", "NS")
	
						, new Option("Nunavut", "NU")
	
						, new Option("Ontario", "ON")
	
						, new Option("Prince Edward Island", "PE")
	
						, new Option("Quebec", "QC")
	
						, new Option("Saskatchewan", "SK")
	
						, new Option("Yukon", "YT")
	
	);
	
	arIndia = Array(	new Option("Select One", '')
	
						, new Option("Andhra Pradesh", "Andhrapradesh")
	
						, new Option("Arunachal Pradesh", "Arunachal_Pradesh")
	
						, new Option("Assam", "Assam")
	
						, new Option("Bihar", "Bihar")
	
						, new Option("Chattisgargh", "Chattisgargh")
	
						, new Option("Delhi", "Delhi")
	
						, new Option("Goa", "Goa")
	
						, new Option("Gujarat", "Gujarat")
	
						, new Option("Haryana", "Haryana")
	
						, new Option("Himachal Pardesh", "Himachal_Pardesh")
	
						, new Option("Jammu & Kashmir", "Jammu_&amp;_Kashmir")
	
						, new Option("Jharkhand", "Jharkhand")
	
						, new Option("Karnataka", "Karnataka")
	
						, new Option("Kerala", "Kerala")
	
						, new Option("Madhya Pardesh", "Madhya_Pardesh")
	
						, new Option("Maharashtra", "Maharashtra")
	
						, new Option("Manipur", "Manipur")
	
						, new Option("Meghalaya", "Meghalaya")
	
						, new Option("Mizoram", "Mizoram")
	
						, new Option("Nagaland", "Nagaland")
	
						, new Option("Orrisa", "Orrisa")
	
						, new Option("Punjab ", "Punjab")
	
						, new Option("Rajasthan", "Rajasthan")
	
						, new Option("Sikkim", "Sikkim")
	
						, new Option("Tamil Nadu", "Tamil_Nadu")
	
						, new Option("Tripura", "Tripura")
	
						, new Option("Uttar Pradesh", "Uttar_Pradesh")
	
						, new Option("Uttarakhand", "Uttarakhand")
	
						, new Option("West Bengal", "West_Bengal")
	
	);
	
	arUSA = Array(		new Option("Select One", '')
	
						, new Option("Alabama", "AL")
	
						, new Option("Alaska", "AK")
	
						, new Option("Arizona", "AZ")
	
						, new Option("Arkansas", "AR")
	
						, new Option("California", "CA")
	
						, new Option("Colorado", "CO")
	
						, new Option("Connecticut", "CT")
	
						, new Option("Delaware", "DE")
	
						, new Option("District of Columbia", "DC")
	
						, new Option("Florida", "FL")
	
						, new Option("Georgia", "GA")
	
						, new Option("Hawaii", "HI")
	
						, new Option("Idaho", "ID")
	
						, new Option("Illinois", "IL")
	
						, new Option("Indiana", "IN")
	
						, new Option("Iowa", "IA")
	
						, new Option("Kansas", "KS")
	
						, new Option("Kentucky", "KY")
	
						, new Option("Louisiana", "LA")
	
						, new Option("Maine", "ME")
	
						, new Option("Maryland", "MD")
	
						, new Option("Massachusetts", "MA")
	
						, new Option("Michigan", "MI")
	
						, new Option("Minnesota", "MN")
	
						, new Option("Mississippi", "MS")
	
						, new Option("Missouri", "MO")
	
						, new Option("Montana", "MT")
	
						, new Option("Nebraska", "NE")
	
						, new Option("Nevada", "NV")
	
						, new Option("New Hampshire", "NH")
	
						, new Option("New Jersey", "NJ")
	
						, new Option("New Mexico", "NM")
	
						, new Option("New York", "NY")
	
						, new Option("North Carolina", "NC")
	
						, new Option("North Dakota", "ND")
	
						, new Option("Ohio", "OH")
	
						, new Option("Oklahoma", "OK")
	
						, new Option("Oregon", "OR")
	
						, new Option("Pennsylvania", "PA")
	
						, new Option("Rhode Island", "RI")
	
						, new Option("South Carolina", "SC")
	
						, new Option("South Dakota", "SD")
	
						, new Option("Tennessee", "TN")
	
						, new Option("Texas", "TX")
	
						, new Option("Utah", "UT")
	
						, new Option("Vermont", "VT")
	
						, new Option("Virginia", "VA")
	
						, new Option("Washington", "WA")
	
						, new Option("West Virginia", "WV")
	
						, new Option("Wisconsin", "WI")
	
						, new Option("Wyoming", "WY")
	
	);
	
	arAustralia = Array(		new Option("Select One", '')
	
						, new Option("Australian Capital Territory", "ACT")
	
						, new Option("New South Wales", "NSW")
	
						, new Option("Northern Territory", "NT")
	
						, new Option("Queensland", "QLD")
	
						, new Option("South Australia", "SA")
	
						, new Option("Tasmania", "TAS")
	
						, new Option("Victoria", "VIC")
	
						, new Option("Western Australia", "WA")
	
	);
	
	arChina = Array(		new Option("Select One", '')
	
						, new Option("Anhui", "Anhui")
	
						, new Option("Beijing", "Beijing")
	
						, new Option("Chongqing", "Chongqing")
	
						, new Option("Fujian", "Fujian")
	
						, new Option("Gansu", "Gansu")
	
						, new Option("Guangdong", "Guangdong")
	
						, new Option("Guangxi", "Guangxi")
	
						, new Option("Guizhou", "Guizhou")
	
						, new Option("Hainan", "Hainan")
	
						, new Option("Hebei", "Hebei")
	
						, new Option("Heilongjiang", "Heilongjiang")
	
						, new Option("Henan", "Henan")
	
						, new Option("Hubei", "Hubei")
	
						, new Option("Hunan", "Hunan")
	
						, new Option("Inner Mongolia", "Inner_Mongolia")
	
						, new Option("Jiangsu", "Jiangsu")
	
						, new Option("Jiangxi", "Jiangxi")
	
						, new Option("Jilin", "Jilin")
	
						, new Option("Liaoning", "Liaoning")
	
						, new Option("Ningxia", "Ningxia")
	
						, new Option("Qinghai", "Qinghai")
	
						, new Option("Shaanxi", "Shaanxi")
	
						, new Option("Shandong", "Shandong")
	
						, new Option("Shanghai", "Shanghai")
	
						, new Option("Shanxi", "Shanxi")
	
						, new Option("Sichuan", "Sichuan")
	
						, new Option("Tianjin", "Tianjin")
	
						, new Option("Tibet", "Tibet")
	
						, new Option("Xinjiang", "Xinjiang")
	
						, new Option("Yunnan", "Yunnan")
	
						, new Option("Zhejiang", "Zhejiang")
	
	);
	
	arHongKong = Array(		new Option("Select One", '')
	
						, new Option("Hong Kong Island", "Hong_Kong_Island")
	
						, new Option("Kowloon", "Kowloon")
	
						, new Option("Lantau Island", "Lantau_Island")
	
						, new Option("New Territories", "New_Territories")
	
	);
	
	arSingapore = Array(		new Option("Select One", '')
	
						, new Option("Singapore", "Singapore")
	
	);
	
	
	arCompanyStateAllOpts = Array(	new Option("Select One", "")
	
						, new Option("Alabama", "AL")
	
						, new Option("Alaska", "AK")
	
						, new Option("Arizona", "AZ")
	
						, new Option("Arkansas", "AR")
	
						, new Option("California", "CA")
	
						, new Option("Colorado", "CO")
	
						, new Option("Connecticut", "CT")
	
						, new Option("Delaware", "DE")
	
						, new Option("District of Columbia", "DC")
	
						, new Option("Florida", "FL")
	
						, new Option("Georgia", "GA")
	
						, new Option("Hawaii", "HI")
	
						, new Option("Idaho", "ID")
	
						, new Option("Illinois", "IL")
	
						, new Option("Indiana", "IN")
	
						, new Option("Iowa", "IA")
	
						, new Option("Kansas", "KS")
	
						, new Option("Kentucky", "KY")
	
						, new Option("Louisiana", "LA")
	
						, new Option("Maine", "ME")
	
						, new Option("Maryland", "MD")
	
						, new Option("Massachusetts", "MA")
	
						, new Option("Michigan", "MI")
	
						, new Option("Minnesota", "MN")
	
						, new Option("Mississippi", "MS")
	
						, new Option("Missouri", "MO")
	
						, new Option("Montana", "MT")
	
						, new Option("Nebraska", "NE")
	
						, new Option("Nevada", "NV")
	
						, new Option("New Hampshire", "NH")
	
						, new Option("New Jersey", "NJ")
	
						, new Option("New Mexico", "NM")
	
						, new Option("New York", "NY")
	
						, new Option("North Carolina", "NC")
	
						, new Option("North Dakota", "ND")
	
						, new Option("Ohio", "OH")
	
						, new Option("Oklahoma", "OK")
	
						, new Option("Oregon", "OR")
	
						, new Option("Pennsylvania", "PA")
	
						, new Option("Rhode Island", "RI")
	
						, new Option("South Carolina", "SC")
	
						, new Option("South Dakota", "SD")
	
						, new Option("Tennessee", "TN")
	
						, new Option("Texas", "TX")
	
						, new Option("Utah", "UT")
	
						, new Option("Vermont", "VT")
	
						, new Option("Virginia", "VA")
	
						, new Option("Washington", "WA")
	
						, new Option("West Virginia", "WV")
	
						, new Option("Wisconsin", "WI")
	
						, new Option("Wyoming", "WY")
	
	
	
						, new Option("Alberta", "AB")
	
						, new Option("British Columbia", "BC")
	
						, new Option("Manitoba", "MB")
	
						, new Option("New Brunswick", "NB")
	
						, new Option("Newfoundland", "NL")
	
						, new Option("Northwest Territories", "NT")
	
						, new Option("Nova Scotia", "NS")
	
						, new Option("Nunavut", "NU")
	
						, new Option("Ontario", "ON")
	
						, new Option("Prince Edward Island", "PE")
	
						, new Option("Quebec", "QC")
	
						, new Option("Saskatchewan", "SK")
	
						, new Option("Yukon", "YT")
		
	
	
						, new Option("Andhra Pradesh", "Andhrapradesh")
	
						, new Option("Arunachal Pradesh", "Arunachal_Pradesh")
	
						, new Option("Assam", "Assam")
	
						, new Option("Bihar", "Bihar")
	
						, new Option("Chattisgargh", "Chattisgargh")
	
						, new Option("Delhi", "Delhi")
	
						, new Option("Goa", "Goa")
	
						, new Option("Gujarat", "Gujarat")
	
						, new Option("Haryana", "Haryana")
	
						, new Option("Himachal Pardesh", "Himachal_Pardesh")
	
						, new Option("Jammu & Kashmir", "Jammu_&amp;_Kashmir")
	
						, new Option("Jharkhand", "Jharkhand")
	
						, new Option("Karnataka", "Karnataka")
	
						, new Option("Kerala", "Kerala")
	
						, new Option("Madhya Pardesh", "Madhya_Pardesh")
	
						, new Option("Maharashtra", "Maharashtra")
	
						, new Option("Manipur", "Manipur")
	
						, new Option("Meghalaya", "Meghalaya")
	
						, new Option("Mizoram", "Mizoram")
	
						, new Option("Nagaland", "Nagaland")
	
						, new Option("Orrisa", "Orrisa")
	
						, new Option("Punjab ", "Punjab")
	
						, new Option("Rajasthan", "Rajasthan")
	
						, new Option("Sikkim", "Sikkim")
	
						, new Option("Tamil Nadu", "Tamil_Nadu")
	
						, new Option("Tripura", "Tripura")
	
						, new Option("Uttar Pradesh", "Uttar_Pradesh")
	
						, new Option("Uttarakhand", "Uttarakhand")
	
						, new Option("West Bengal", "West_Bengal")
	
	
	
						, new Option("Australian Capital Territory", "ACT")
	
						, new Option("New South Wales", "NSW")
	
						, new Option("Northern Territory", "NT")
	
						, new Option("Queensland", "QLD")
	
						, new Option("South Australia", "SA")
	
						, new Option("Tasmania", "TAS")
	
						, new Option("Victoria", "VIC")
	
						, new Option("Western Australia", "WA")
	
	
	
						, new Option("Anhui", "Anhui")
	
						, new Option("Beijing", "Beijing")
	
						, new Option("Chongqing", "Chongqing")
	
						, new Option("Fujian", "Fujian")
	
						, new Option("Gansu", "Gansu")
	
						, new Option("Guangdong", "Guangdong")
	
						, new Option("Guangxi", "Guangxi")
	
						, new Option("Guizhou", "Guizhou")
	
						, new Option("Hainan", "Hainan")
	
						, new Option("Hebei", "Hebei")
	
						, new Option("Heilongjiang", "Heilongjiang")
	
						, new Option("Henan", "Henan")
	
						, new Option("Hubei", "Hubei")
	
						, new Option("Hunan", "Hunan")
	
						, new Option("Inner Mongolia", "Inner_Mongolia")
	
						, new Option("Jiangsu", "Jiangsu")
	
						, new Option("Jiangxi", "Jiangxi")
	
						, new Option("Jilin", "Jilin")
	
						, new Option("Liaoning", "Liaoning")
	
						, new Option("Ningxia", "Ningxia")
	
						, new Option("Qinghai", "Qinghai")
	
						, new Option("Shaanxi", "Shaanxi")
	
						, new Option("Shandong", "Shandong")
	
						, new Option("Shanghai", "Shanghai")
	
						, new Option("Shanxi", "Shanxi")
	
						, new Option("Sichuan", "Sichuan")
	
						, new Option("Tianjin", "Tianjin")
	
						, new Option("Tibet", "Tibet")
	
						, new Option("Xinjiang", "Xinjiang")
	
						, new Option("Yunnan", "Yunnan")
	
						, new Option("Zhejiang", "Zhejiang")
	
	
	
						, new Option("Hong Kong Island", "Hong_Kong_Island")
	
						, new Option("Kowloon", "Kowloon")
	
						, new Option("Lantau Island", "Lantau_Island")
	
						, new Option("New Territories", "New_Territories")
	
	
	
						, new Option("Singapore", "Singapore")
	
	);
		
	function InitStateOpts(){
		try {
			state_fd = SFDC_state_pl.getForm().elements['CompanyState'];
			mapCountries = {"CA":arCanada, "IN":arIndia, "US":arUSA, "AU":arAustralia, "CN":arChina, "HK":arHongKong, "SG":arSingapore};
			bStateInit = true;
		} catch(e) {
			
		}
	}

	
	function swapCountryStates(arCountry){

		new_ubound = arCountry.length;
		old_ubound = state_fd.options.length;
		z_ubound = old_ubound;
		if(new_ubound > old_ubound){z_ubound=new_ubound;}
		for(oi=0; oi < new_ubound; oi++){state_fd.options[oi] = arCountry[oi];}
		for(zi = state_fd.options.length-1;zi>=oi;zi--){state_fd.options[zi]= null;}
	}

	function checkStates(c){
		try{
			if(!bStateInit){InitStateOpts();}
			if(c == ''){
				arCountry = arCompanyStateAllOpts;
			}else{
				arCountry = mapCountries[c];
				if(typeof(arCountry) == 'undefined'){arCountry = arNotApply;}
				if(arCountry){swapCountryStates(arCountry);}
				var st_span = document.getElementById('state_req_span');
				if(st_span){st_span.style.display = ((c == 'US')||(c == 'CA')||(c == 'IN')||(c == 'AU')||(c == 'CN')||(c == 'HK')||(c == 'SG'))?'inline':'none';}
			}
		}catch(e){
				
		}finally{}
	}
	
	var SFDC_state_pl = {
		supportedCountries: 'CA,IN,US,AU,CN,HK,SG',
		
		validateState: function( countryElement, stateElement, errObject ) {
			var c_val = countryElement[countryElement.selectedIndex].value;
			
			if(this.supportedCountries.indexOf(c_val) != -1){
				if(stateElement.selectedIndex < 1) {
					errObject[stateElement.id]="Enter your State/Province";
				}
			}
		},
		
		getForm: function() {
			for( var iform = 0; iform < document.forms.length; iform++) {
				var currentForm = document.forms[iform];
				
				if (currentForm["CompanyState"]) {
					return currentForm;
				}
			}
			
			return;
		}
	}