function trimString (str) {
	str = this != window? this : str;
	return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
String.prototype.trim = trimString;

var expand_minus = new Image();
expand_minus.src="../images/expand_minus.gif";

//This function is called in reports when the user submits the form and it will be usefull for changing the graph (bar or line)
//neel
function changegraph(type) {
	var frmObj = document.appsreport;
	var bartypeVal = frmObj.bartype.value.trim();
	if ( type != '' ) {
		frmObj.bartype.value = type;
	} else {
		if ( bartypeVal == "" ) {
			frmObj.bartype.value = 'bar';
		}
	}
	
	//Check for valid date range
	if(document.getElementById('customRadio') && document.getElementById('customRadio').checked == true){
		if(frmObj.fromdate.value.length != 10 || frmObj.todate.value.length != 10){
			return false;	//Return false, if dates are empty or invalid
		}
		/*if(!validateDateRange(frmObj.fromdate.value, frmObj.todate.value, 30)){
			//Show some error message
			alert("Invalid date range");
			return false;
		}*/
	}

	frmObj.submit();
}

//This function is used for js validation for custom selection of date range in reports
//Here limit is no of days, the range should be.
function validateDateRange(date1, date2, limit){
	var d1 = set_date(date1);
	var d2 = set_date(date2);
			     //milliseconds / seconds / minutes /hours
	var d1Days = parseInt(d1.getTime() / 1000 / 60 / 60 / 24);
	var d2Days = parseInt(d2.getTime() / 1000 / 60 / 60 / 24);
	if((d2Days < d1Days) || ((d2Days - d1Days) > limit))	return false;
	return true;
	function set_date(dateString){	//dateString in dd-mm-yyyy
		var t = dateString.split("-");
		var d1 = new Date();
		d1.setFullYear(t[2], t[1] - 1, t[0]);
		return d1;
	}
}

//This function will invoike a new window when the user clicks on link
function modelWindow(obj,act_type,id,url,fieldname){
	if(act_type == 'delete'){
		if(confirm('Are You sure you want to delete the record')){
		}else{
			return false;
		}
	}
	if(fieldname.trim()!=''){
		document.getElementById(fieldname).value=id;
	}
	obj.action = url;
	obj.raction.value=act_type;
	obj.submit();
}

//This function is used to clear the text in textarea(contactus.tpl.html,supcnter_contactus.tpl.html)
function cleartext(obj,event){
	if(event!='blur'){
		if(obj.message.value=="Type your message here..."){
			obj.message.value="";
		} 
	} else if(event=='blur') {
		if(obj.message.value==""){
			obj.message.value='Type your message here...';
		}
	}
}

//This function will get all the dashboard values when the user try to select the application
function getdbvalues_archive(url,id){
	var params = "action=getvalues&appid="+id;
	var xmlHttp=getHTTPObject();
	xmlHttp.open("POST", url, true);
	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange=function(){
										if( xmlHttp.readyState == 4){
											//disabling applist box
											document.dashappfrm.dashapplist.disabled=true;
											if(xmlHttp.status == 200){
												var result=xmlHttp.responseText;
												if(result){
													document.getElementById('dbajaxchange').innerHTML=result;
													//enabling applist box
													document.dashappfrm.dashapplist.disabled=false;
												}
											}else{
												// something went wrong, report the error
												alert("HTTP "+xmlHttp.status+". An error was » encountered: "+ xmlHttp.statusText );
												//enabling applist box
												document.dashappfrm.dashapplist.disabled=false;
											}
										}
	};
	xmlHttp.send(params);
}


//This function will invoike when the user try to change the creditpercentage (allmyadds.tpl.html)
//neel Done
function getcreditchange(frm,bannerid,creditpercentage,prvcreditpercentage,creditpercentage_total,url,prevprctname,listname){
	percentage = Number(creditpercentage)-Number(prvcreditpercentage);
	var remval = Number(percentage)+Number(creditpercentage_total);
	if(remval>100) {
		alert("All your future earnings are already allotted");
		listname.value=prvcreditpercentage;
		return;
	}
	if(creditpercentage!=prvcreditpercentage){
		var params = "action=changecrdt&bannerid="+bannerid+"&creditpercentage="+creditpercentage;
		var xmlHttp=getHTTPObject();
		xmlHttp.open("POST", url, true);
		//Send the proper header information along with the request
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.onreadystatechange=function(){
											if( xmlHttp.readyState == 4){
												if(xmlHttp.status == 200){
													var result=xmlHttp.responseText;
													if(result>0){
														document.getElementById('totpercntg').innerHTML=result;
														frm.tot_credit.value=result;
														prevprctname.value=creditpercentage;
													}
												}else{
													// something went wrong, report the error
													alert("HTTP "+xmlHttp.status+". An error was » encountered: "+ xmlHttp.statusText );
												}
											}
		};
		xmlHttp.send(params);
	}
}

//to enable or disable when the user clicks on link of enable or disable
//neel Done
function getenabledisable(bannerid,fieldname,divid,url,fieldname1,fieldname2,prevprctname,frm){
   
 	var status=document.getElementById(fieldname).value;
	var points=document.getElementById(fieldname1).value;
	var creditpercentage=fieldname2.options[fieldname2.selectedIndex].value;
	var displayKey = "";

	if (status == 1) {
		displayKey = "Disable";
	} else if ( status == 0 ) {
		displayKey = "Enable";
	}
	if (displayKey == "Disable")
	{
		if(!confirm("Are you sure you want to disable this ad?(or) This ad has points assigned to it. Disabling it will send the points to back to your pool of available points, from where you can assign them again to any of your ads. Continue?")){
			return;
		} else {
			if(points!='' && points>=0){
				var pnts = points;
			} else {
				var pnts = 0;
			}
		}
	} else {
		if(!confirm(displayKey+ " this ad ?") ) {
			return;
		} else {
			var pnts = 0;
		}
	}

	var params = "action=changeed&bannerid="+bannerid+"&status="+status+"&points="+pnts;
	var xmlHttp=getHTTPObject();
	xmlHttp.open("POST", url, true);
	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange=function(){
		if( xmlHttp.readyState == 4){
			if(xmlHttp.status == 200){
				var result=xmlHttp.responseText;
				resultArr = result.split("^^");
				if(resultArr[0] == 1){
					document.getElementById(divid).innerHTML="Disable";
				}else if(resultArr[0] == 0){
					document.getElementById(divid).innerHTML="Enable";
				}
				document.getElementById(fieldname).value = resultArr[0];
				if(resultArr[1] > 0) {
					document.getElementById('totpercntg').innerHTML=resultArr[1];
					frm.tot_credit.value=resultArr[1];
					prevprctname.value=creditpercentage;
					fieldname2.selectedIndex = 0;
				}
			} else {
				// something went wrong, report the error
				alert("HTTP "+xmlHttp.status+". An error was » encountered: "+ xmlHttp.statusText );
			}
		}
	};
	xmlHttp.send(params);
}


//neel
function checkcontact(url){
	var frm = document.contacts;
	var cname = frm.companyname.value.trim();
	var pcname = frm.primarycontactname.value.trim();
	var peid = frm.primaryemailid.value.trim();
	var ppno = frm.primaryphonenumber.value.trim();
	var scname = frm.secondarycontactname.value.trim();
	var seid = frm.secondaryemailid.value.trim();
	var spno = frm.secondaryphonenumber.value.trim();
	frm.contactbtn.disabled=true;
	var params = "action=contactinfo&cname="+cname+"&pcname="+pcname+"&peid="+peid+"&ppno="+ppno+"&scname="+scname+"&seid="+seid+"&spno="+spno;
	var xmlHttp=getHTTPObject();
	xmlHttp.open("POST", url, true);
	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange=function(){
										if( xmlHttp.readyState == 4){
											if(xmlHttp.status == 200){
												var result=xmlHttp.responseText;
												if(result){
													document.getElementById("msg").innerHTML='<font color="green">'+result+'</font>'
													frm.contactbtn.disabled=false;
												}
											}else{
													// something went wrong, report the error
													alert("HTTP "+xmlHttp.status+". An error was encountered: "+ xmlHttp.statusText );
											}
										}
	};
	xmlHttp.send(params);
}

function hideReportDiv(id) {
	switch (id) {
		case 'reportdiv1':
			document.getElementById('reportdiv1').style.display = 'none';
			document.getElementById('reportdiv2').style.display = '';
			break;
		case 'reportdiv2':
		default :
			document.getElementById('reportdiv1').style.display = '';
			document.getElementById('reportdiv2').style.display = 'none';
	}
}


//This function is for creating an xmlobject which is used for calling server side scripting (AJAX)
function getHTTPObject(){
	var xmlHttp;
	//if running Internet Explorer
	if(window.ActiveXObject){
		try{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e){
			try{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xmlHttp=false;
			}
		}
	}  else if(window.XMLHttpRequest) {
		xmlHttp=new XMLHttpRequest();
	}
	//return the created object or display an error message.
	if(!xmlHttp){
		alert("Error creating the XMLHttpRequest Object");
	} else {
		return xmlHttp;
	}
}


// Allowing the Currency or Length  fields to accept only numbers and '.' (used manageads.tpl.html)
function validate_chrg(e){
	if (!e) var e = window.event;
	if (e.keyCode) val = e.keyCode;
	else if (e.which) val = e.which;
	if(navigator.appName == "Netscape"){
		// BackSpace || TAB || End || Home || LeftArrow || RightArrow || Delete - keys
		if(val==8 || val==9 || val==35 || val==36 || val==37 || val==39 || val==46)
		return true;
	}
	if ((val !=13) && (val !=46) && (val < 48)  || (val > 57))
	return false;
}

//using is index.tpl.html
function emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
		return false;
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}
		return true;
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 ||
		domArr[domArr.length-1].length>4) {
		return false;
	}
	if (len<2) {
		return false;
	}
	return true;
}

//this function is using in index.tpl for validating the SignUp 
// neel
function validateSingUpform(){
	var errMsg = "";
	var bool = true;
	var frm = document.register;

	var emailid = frm.emailid.value.trim();
	var passwd = frm.passwd.value.trim();
	var rpasswd = frm.c_passwd.value.trim();

	if ( emailid == "" ) {
		errMsg += "Please enter an Email address\n";
		bool = false;
	} else {
		if( !emailCheck(emailid) ) {
			errMsg += "Please enter a valid Email address\n";
			bool = false;
		}
	}

	if ( passwd == "" ) {
		errMsg += "Please enter a Password.\n";
		bool = false;
	}

	if ( rpasswd == "" && passwd != "" ) {
		errMsg += "Please re-enter the password to confirm\n";
		bool = false;
	}

	if ( passwd != "" && rpasswd != "" ) {
		if ( passwd == rpasswd ) {
		} else {
			errMsg += "Passwords entered do not match, please re-enter the passwords\n";
			bool = false;
		}
	}

	if(bool) {
		if(frm.tc.checked == false){
			errMsg += "You have to accept Terms and Conditions";
			bool = false;
		}
	}
	frm.emailid.value = frm.emailid.value.trim();

	if ( !bool ) {
		alert( errMsg );
	}
	return bool;
}

//This function is used for validation while login time (index.tpl.html)
function loginfrm() {
	var errMsg = "";
	var bool = true;
	var frm = document.signup_form;

	var emailid = frm.lemail.value.trim();
	var passwd = frm.lpasswd.value.trim();
	if ( emailid == "" ) {
		errMsg += "Please enter an Email address\n";
		bool = false;
	} else {
		if( !emailCheck(emailid) ) {
			errMsg += "Please enter a valid Email address\n";
			bool = false;
		}
	}
	if ( passwd == "" ) {
		errMsg += "Please enter a Password.\n";
		bool = false;
	}
	if ( !bool ) {
		alert( errMsg );
	}
	return bool;
}

//replacement of loginfrm
function signupfrm() {
	var errMsg = "";
	var validated = true;
	var frm = document.getElementById('registrationForm');

	var fname = frm.fullName.value.trim();
	//var pwd = frm.pwd.value.trim();
	var email = frm.email.value.trim();
	var phone = frm.phone.value.trim();
	var phreg = /^[0-9 \+\-\(\[\]\)\}\{]+$/;

	//Hide any previous error msgs.
	frm.fullName.className = 'input_text';
	frm.email.className = 'input_text';
	//frm.pwd.className = 'input_text';
	frm.phone.className = 'input_text';

	//$("#fullName").removeClass('input_text').addClass('input_text');

	if (fname == "" ) {
		frm.fullName.className = 'input_text_error';
		if(validated)	frm.fullName.focus();
		validated = false;
	}
	if (email == "" || !emailCheck(email)) {
		frm.email.className = 'input_text_error';
		if(validated)	frm.email.focus();
		validated = false;
	}
	/*if (pwd == "" ) {
		frm.pwd.className = 'input_text_error';
		if(validated)	frm.pwd.focus();
		validated = false;
	}*/
	if (phone == "" || !phone.match(phreg)) {
		frm.phone.className = 'input_text_error';
		if(validated)	frm.phone.focus();
		validated = false;
	}
		
	if ( !validated ) {
		return false;
	}
	frm.submit();
	return false;
}

function signinfrm() {

	var frm = document.getElementById('loginForm');
	var validated = true;

	var lemail = frm.lemail.value.trim();
	var lpasswd = frm.lpasswd.value.trim();

	frm.lemail.className = 'input_text_3';
	frm.lpasswd.className = 'input_text_2';

	if (lemail == "" || !emailCheck(lemail)) {
		frm.lemail.className = 'input_text_3_error';
		frm.lemail.focus();
		validated = false;
	}
	if (lpasswd == "" ) {
		frm.lpasswd.className = 'input_text_2_error';
		if(validated) frm.lpasswd.focus();
		validated = false;
	}

	if ( !validated ) {
		return false;
	}
	return true;
}

function changeClass(elementID, newClass) {
	var element = document.getElementById(elementID);
	element.setAttribute("class", newClass); //For Most Browsers
	element.setAttribute("className", newClass); //For IE; harmless to other browsers.
}



//this function is used to open terms and conditions window (index.tpl.html)
var termsUrl = '../terms.html';
function openWindow() {
	window.open(termsUrl, 'terms', 'left=20,top=20,width=600,height=650,toolbar=0,location=0,status=0,menubar=0,resizable=0,scrollbars=1');
	return false;
}

function validateAPPSTORE(frm){
	url=frm.url.value.trim();
	if(url!=''){
		return true;
	} else {
		return false;
	}
}

//this function is used for checking url
function validateURL(frm){
	url=frm.url.value.trim();
	var tomatch = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
	if(url!=''){
		if(url!='' && tomatch.test(url)){
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}

//this function is used for checking Numer
function  validateNumber(frm){
	var val=frm.url.value.trim();
	var anum=/(^\d+$)|(^\d+\.\d+$)/;
	if (anum.test(val))
	   return true;
	else{
		return false;
	}
}

function hideDiv(id) {
	document.getElementById(id).style.display = 'none';		
}

	function showDiv(id) {
		//totalCount is 8 as far now, if new help div is added please increment constant in for condition
		var show = '';
		if(document.getElementById(id).style.display != 'none'){
			var show = 'none';
		}

		for(var i = 1; i <= 8; i++){
			if(document.getElementById('help_'+i)){
				document.getElementById('help_'+i).style.display = 'none';
			}
		}
		document.getElementById(id).style.display = show;
	}
	
	//This function is used for show/hide of Groupby fieldset in reports
	function toggleCalControls(){
		if(document.getElementById('filterGroupByUL').style.display != "none"){
			document.getElementById('filterGroupByUL').style.display = "none";
			document.getElementById('customGroupByUL').style.display = "block";
			document.getElementById('toggleLink').innerHTML = "hide";
			document.getElementById('customRadio').checked = true;
		}else{
			document.getElementById('filterGroupByUL').style.display = "block";
			document.getElementById('customGroupByUL').style.display = "none";
			document.getElementById('toggleLink').innerHTML = "show";
			document.getElementById('filterRadio1').checked = true;
		}
		
	}


	//This fucntion is to select menus in faq page
	function selectFAQTab(idx){
		for(var i = 1; i <= 6; i++){
			//faq_cat_active selectDiv1 tabDiv
			document.getElementById('tabDiv'+i).className = '';
			document.getElementById('selectDiv'+i).style.display = 'none';
		}
		document.getElementById('tabDiv'+idx).className = 'faq_cat_active';
		document.getElementById('selectDiv'+idx).style.display = 'block';
	}

//d1 and d2 in format : d-m-Y
//dateRange('5-10-2009', '6-10-2009', 4)
function dateRange(d1, d2, diff){
	
	if(d1 == '' || d2 == ''){	//if any one date is empty return false
		return false;
	}

	var t=d1.split("-");
	d1 = new Date(t[2], t[1]-1, t[0]);
	t=d2.split("-");
	d2 = new Date(t[2], t[1]-1, t[0]);

	if(d1.getTime() > d2.getTime()){	//Incorrect scenario d1 > d2
		return false;
	}

	var one_day=1000*60*60*24;	//milliseconds in a day
	var Diff = 0;
	//Calculate difference between the two dates, and convert to days
	Diff=Math.ceil((d2.getTime() - d1.getTime())/(one_day)); 
	if(Diff >= diff){
		return false;
	}
	return Diff;
}

function valDtFilter(diff){
	var frm = document.getElementById('appsreport');
	
	if(frm.fromdate.value == '' && frm.todate.value == ''){
		return true;
	}
	//alert(frm.fromdate.value);
	if(dateRange(frm.fromdate.value, frm.todate.value, diff)){
		return true;
	}
	alert("Date Range should be in "+diff+" days only.");
	return false;
}

var lbox = {
	lId: null,
	lcontent: null,
	Load: function(){
		if(this.lId == null){
			//lbox
			var t = document.createElement('div');
			t.style.display = 'none';
			t.id = 'lbox';
			document.body.appendChild(t);
			this.lId = document.getElementById(t.id);
			
			//Content div
			var t = document.createElement('div');
			t.id = 'lcontent';
			t.style.display = 'none';
			document.body.appendChild(t);
			this.lcontent = document.getElementById(t.id);
		}
		this.lId.style.height= getDocHeight() + 'px';
		this.lId.style.display = 'block';
		this.lcontent.style.display = 'block';
	},
	hide: function(){
		this.lcontent.style.display = 'none';
		this.lId.style.display = 'none';
		
	},
	loadContent: function(cnt){
		document.getElementById('lcontent').innerHTML = cnt;
	},	
	loadElement: function(id){
		document.getElementById('lcontent').appendChild(document.getElementById(id));
		document.getElementById(id).style.display = 'block';
	}
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function showResetScoreAlert(){
	var appfrom = document.application;
	if((appfrom.prescore && appfrom.prescore.value != appfrom.scoreCalc.value) || (appfrom.resetScores && appfrom.resetScores.checked)){
		lbox.Load();
		lbox.loadElement('resetScoreAlert');
	}
}

function resetCancel(){
	var appfrom = document.application;
	appfrom.scoreCalc.value = appfrom.prescore.value;
	appfrom.resetScores.checked = false;
	lbox.hide();
}

function lookup(inputString) {
	aid = document.applicationfrm1.aid.value;
	if(inputString.length == 0) {
		// Hide the suggestion box.
		$('#suggestions').hide();
	} else {
		
		$.post("../libs/rpc.php?aid="+aid, {queryString: ""+inputString+""}, function(data){
			if(data.length >0) {
				$('#suggestions').show();
				$('#autoSuggestionsList').html(data);
			}
		});
	}
} // lookup

function fill(thisValue) {
	$('#inputString').val(thisValue);
	setTimeout("$('#suggestions').hide();", 200);
}

/**
 *	@Searches an array for searchStr like '^str.*'
 *	@returns array of results
 */
Array.prototype.searchLike = function(searchStr){
	var returnArray = new Array();
	if(searchStr.length == 0)	return returnArray;
	var pattern = new RegExp("^"+searchStr,"i");
	for(var i = 0; i < this.length; i++){
		if(pattern.test(this[i])){
			returnArray.push(this[i]);
		}
	}
	return returnArray;
}

//Add suggest js
function addToSuggest(inputBox){
	$("#"+inputBox).focus(function(e){
		//Set dropdown width, position
		var pos = $(this).position();
		$(this).attr("autocomplete", "off");
		$("#suggestDropDown").width($("#"+inputBox).outerWidth()).css("top", pos.top + $(this).outerHeight()).css("left", pos.left).html("").hide();
	});

	//Handle functionality
	$("#"+inputBox).keyup(function(e){
		//handle keyCode s, and attach them to results
		if(e.keyCode != 13 && e.keyCode != 27 && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40){
			$("#suggestDropDown").html("");
			var res = publishers.searchLike($(this).attr("value"));
			if(res.length > 0){
				for(var i = 0; i < res.length; i++){
					$("<div class='innerElement'>"+res[i]+"</div>").appendTo($("#suggestDropDown"));
					if(i == 10){
						break;
					}
				}
				$("#suggestDropDown").show();
			}else{
				$("#suggestDropDown").hide();
			}

			$("div.innerElement").mouseover(function(){
				$(this).addClass("focus");
			});

			$("div.innerElement").mouseout(function(){
				$(this).removeClass("focus");
			});
			
			$("div.innerElement").click(function(){
				$("#"+inputBox).attr("value", $(this).html());
				$("#suggestDropDown").html("").hide();
			});
			
		}
		//Handle down key
		if(e.keyCode == 40){
			if($("div.innerElement.focus").length == 0){
				$("div.innerElement:first").addClass("focus");
			}else{
				$("div.innerElement.focus").next().addClass("focus").end().removeClass("focus");
			}
		}
		//Handle up key
		if(e.keyCode == 38){
			if($("div.innerElement.focus").length == 0){
				$("div.innerElement:last").addClass("focus");
			}else{
				$("div.innerElement.focus").prev().addClass("focus").end().removeClass("focus");
			}
			
		}
		//Handle Enter key
		if(e.keyCode == 13){
			if($("div.innerElement.focus").length > 0){
				$(this).attr("value", $("div.innerElement.focus").html());
			}
			$("#suggestDropDown").html("").hide();
		}
		//Handle Esc key
		if(e.keyCode == 27){
			$("#suggestDropDown").html("").hide();
		}
	});
}

function validateAppfrom() {
	var frm1 = document.applicationfrm1;
	var appfrom = document.application;
	var bool = true;
	var appname = frm1.appname.value.trim();
	var appstatus = '';
	//for appstatus radio button
	for (var i=0; i<frm1.appstatus.length; i++)
	{
		if(frm1.appstatus[i].checked) {
			appstatus = frm1.appstatus[i].value;
		}
	}
	appfrom.appstatus.value = appstatus; //for app status

	if ( appname == "") {
		document.getElementById('id1').style.display = 'inline';
		bool = false;
	} else {
		document.getElementById('id1').style.display = 'none';
		appfrom.appname.value = appname;
	}
	
	appfrom.appstorename.value = frm1.appstorename.value;
	appfrom.pubname.value = frm1.pubname.value;
	frm1.appstoreurl.value = frm1.appstoreurl.value.trim()
	var pattern = /^http:\/\/[\w]+/i;
	var isUrl = pattern.test(frm1.appstoreurl.value);
	if ( frm1.appstoreurl.value.length > 1 && !isUrl) {
		document.getElementById('id3').style.display = 'inline';
		bool = false;
		if(!isUrl && frm1.appstoreurl.value != ""){
			document.getElementById('urlError').style.display = "inline";	
		}
	} else {
		document.getElementById('id3').style.display = 'none';
		document.getElementById('urlError').style.display = 'none';
		appfrom.appstoreurl.value = frm1.appstoreurl.value;
	}
	
	if ( frm1.appversion.value.trim() == "") {
		document.getElementById('id9').style.display = 'inline';
		bool = false;
	} else {
		document.getElementById('id9').style.display = 'none';
		appfrom.appversion.value = frm1.appversion.value;
	}
	
	if ( frm1.appdescription.value.trim() == "") {
		document.getElementById('id4').style.display = 'inline';
		bool = false;
	} else {
		document.getElementById('id4').style.display = 'none';
		appfrom.appdescription.value = frm1.appdescription.value;
	}

	frm1.pubemail.value = frm1.pubemail.value.trim()
	var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var isUrl = pattern.test(frm1.pubemail.value);
	if ( frm1.pubemail.value.length > 1 && !isUrl) {
		document.getElementById('id7').style.display = 'inline';
		bool = false;
		if(!isUrl && frm1.pubemail.value != ""){
			document.getElementById('emailError1').style.display = "inline";	
		}
	} else {
		document.getElementById('id7').style.display = 'none';
		document.getElementById('emailError1').style.display = 'none';
		appfrom.pubemail.value = frm1.pubemail.value;
	}
	
	frm1.puburl.value = frm1.puburl.value.trim()
	var pattern = /^(https?:\/\/)|(www.?\.)[\w]+/i;
	var isUrl = pattern.test(frm1.puburl.value);
	if ( frm1.puburl.value.length > 1 && !isUrl) {
		document.getElementById('id8').style.display = 'inline';
		bool = false;
		if(!isUrl){
			document.getElementById('urlError1').style.display = "inline";
		}
	} else {
		document.getElementById('id8').style.display = 'none';
		document.getElementById('urlError1').style.display = 'none';
		appfrom.puburl.value = frm1.puburl.value;
	}

	//Expected date
	if($("#process").attr("checked") && $("#expectedDate").attr("value") == ''){
		$('#id10').show();
	}else{
		$('#id10').hide();
	}
	appfrom.expectedDate.value = frm1.expectedDate.value;

	optcount = optcheckboxes();
	imagefilename = appfrom.imageFileName.value.trim();
	if(imagefilename == "") {
		document.getElementById('upImgErr').style.display = '';
		bool = false;
	} else {
		document.getElementById('upImgErr').style.display = 'none';
	}
	
	var chklist = checkcheckboxes('app_categories[]', appfrom);
	chkarry = chklist.split('^^');
	var acount = chkarry[0];
	var chkcount = chkarry[1];
	
	if ( acount == 0 ) {
		document.getElementById('id5').style.display = '';
		bool = false;
	} else if (chkcount > 3){
		document.getElementById('id5').style.display = '';
		document.getElementById('app_categories_message').innerHTML = "Please Select only 3 App Categories";
		document.getElementById('app_categories_message').style.display = '';
		//document.getElementById('app_categories_temp_1').style.display = '';
		document.getElementById('app_categories_temp_2').style.display = '';
		bool = false;
	} else {
		document.getElementById('id5').style.display = 'none';
		document.getElementById('app_categories_message').innerHTML = '';
		document.getElementById('app_categories_message').style.display = 'none';
		//document.getElementById('app_categories_temp_1').style.display = 'none';
		document.getElementById('app_categories_temp_2').style.display = 'none';
	}
	appfrom.appcategories.value = acount;

	var chklist = checkcheckboxes('lb[]', appfrom);
	chkarry = chklist.split('^^');
	count = chkarry[0];
	if ( count == 0 ) {
		document.getElementById('lbError').style.display = 'inline';
		bool = false;
	} else {
		document.getElementById('lbError').style.display = 'none';
	}
	appfrom.leaderboard.value = count;
	
	var chklist = checkcheckboxes('categories[]', appfrom);
	chkarry = chklist.split('^^');
	count = chkarry[0];
	if ( count == 0 ) {
		document.getElementById('allowCatErr').style.display = '';
		bool = false;
	} else {
		document.getElementById('allowCatErr').style.display = 'none';
	}
	appfrom.categories.value = count;

	if(!checkappname()){
		bool = false;
	}
	if ( !bool ) {
		document.getElementById('errormsgid').style.display = '';
		window.scroll(0,150); 
	}
	return bool;
	
}

//getting appoptions list for categories
function optcheckboxes(){
	var ch=0;
	var optionsCount=0;
	var optionsSelect=0;
	for(i=0;i<document.application.elements['appoptions[]'].length;i++){
		if(document.application.elements['appoptions[]'][i].checked){
			ch=1;
			if(document.application.elements['appoptions[]'][i].value == 8){
				optionsSelect=document.application.elements['appoptions[]'][i].value;
			}
			optionsCount +=(document.application.elements['appoptions[]'][i].value)*1;
		}
	}
		  document.application.appoptions.value = optionsCount;
	return optionsSelect;
}
//getting checkboxes list for categories
function checkcheckboxes(name, frm){
	var ch=0;
	var categoriesCount=0;
	for(i=0;i < frm.elements[name].length;i++){
		if(frm.elements[name][i].checked){
			categoriesCount +=(frm.elements[name][i].value)*1;
			ch++;
		}
	}
	var catlist=categoriesCount+"^^"+ch;
	return catlist;
}

function startUpload(){
	if( document.uploadform.myfile.value.trim() != "") {
		document.getElementById('f1_upload_process').style.display = '';
		document.getElementById('f1_upload_message').style.display = 'none';
		document.getElementById('f1_upload_message_temp_1').style.display = 'none';
		document.getElementById('f1_upload_message_temp_2').style.display = 'none';
		document.getElementById('f1_upload_form').style.display = 'none';
		document.uploadform.submit();
		return true;
	}
	return false;
}

function stopUpload(success, file){
	var result = '';
	if (success == 1){
		document.application.imageFileName.value = file;
		result = 'Image Uploaded successfully.';
		document.getElementById('imageicon').src = "../"+file;
		document.getElementById('imageicon').style.display = "inline";
	} else if (success == 2){
		result = 'File format not supported. Please upload a PNG image.';
	}else if (success == 3){
		result = 'Image is too large. Make sure the image dimensions are between 30x30 and 320x480.';
	} else if (success == 4){
		result = 'Image is too small. Make sure the image dimensions are between 30x30 and 320x480.';
	} else {
		result = 'There was an error during file upload. Please try again or contact support.';
	}

	document.getElementById('f1_upload_process').style.display = 'none';
	document.getElementById('f1_upload_message').innerHTML = result;
	document.getElementById('f1_upload_message').style.display = '';
	document.getElementById('f1_upload_message_temp_1').style.display = '';
	document.getElementById('f1_upload_message_temp_2').style.display = '';
	document.getElementById('f1_upload_form').style.display = '';
	
	return true;

}

function showAppScores(ele, target, id){
	$(ele).attr("onclick", "");	//disable previous on click event
	//Add new click event just to show and hide only
	$(ele).click(function(){	
		$(ele).find("span").toggleClass("rightArrow").toggleClass("downArrow");
		$("#"+target).toggle();
	});
	$(ele).click();
	$("#"+target).getScores({"id":id});
}

function openForgotPassword(){
	$('#signinError').hide();
	$("#forgotStatus").hide();

	$('#forgotInputDiv').show();
	$('#forgotEmail').addClass('input_text').removeClass('input_text_error').attr('value', '').focus();
}

function requestPassword(obj){
	var email_pattern = /^\w+(['\.\-\+]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
	var email = $('#forgotEmail').attr('value');
	if(email.match(email_pattern) == null){
		$('#forgotEmail').removeClass('input_text').addClass('input_text_error').focus();
		return false;
	}
	
	$.post(obj.url, {'email': email}, function(data){
		$("#forgotStatus").html(data);
	});

	$('#forgotInputDiv').hide();
	$("#forgotStatus").html('Loading...').show();

}

function validateContactus(){
	var errMsg = "";
	var validated = true;
	var frm = document.getElementById('contactForm');

	var from_emailid = frm.from_emailid.value.trim();
	var subject = frm.subject.value.trim();
	var message = frm.message.value.trim();
	

	//Hide any previous error msgs.
	frm.from_emailid.className = 'input_text';
	frm.subject.className = 'input_text';
	frm.message.className = 'text_area';

	
	if (from_emailid == "" || !emailCheck(from_emailid)) {
		frm.from_emailid.className = 'input_text_error';
		if(validated)	frm.from_emailid.focus();
		validated = false;
	}
	if (subject == "" ) {
		frm.subject.className = 'input_text_error';
		if(validated)	frm.subject.focus();
		validated = false;
	}
	if (message == "" ) {
		frm.message.className = 'text_area_error';
		if(validated)	frm.message.focus();
		validated = false;
	}
	
		
	if ( !validated ) {
		return false;
	}
	frm.submit();
	return false;
}


function toggleExpected(){
	if($("#process").attr("checked")){
		$("#expectedDateDivMargin").fadeIn("slow");
		$("#expectedDateDiv").fadeIn("slow");
	}else{
		$("#expectedDateDivMargin").fadeOut("slow");
		$("#expectedDateDiv").fadeOut("slow");
		$("#expectedDate").attr("value", "");
	}
}