var sessid = '';
function escEnc(val)
{
	return escape(encodeURI(val));
}

function trim(str) 
{
   return str.replace(/^\s*|\s*$/g,"");
}

function getRadioVal(name)
{
	cact_len=document.getElementsByName(name).length;
	for(i=1;i<=cact_len;i++)
	{
		if($(name+i).checked)
		{
			return $(name+i).value;
		}
	}
	return false;
}

function echeck(str) 
{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){		   
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){		   
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){		    
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){		    
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){		    
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){		    
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){		    
		    return false
		 }
 		 return true					
	}


/**
 * Display the Error message when the Ajax request fails 
 * @param {String} originalRequest the request object
 */
function showError(originalRequest)
{
	if (originalRequest.status == 999)
	{
		//window.location.href = "../auth/sessionExpire.php";
	}
	else
	{
		var response = originalRequest.responseText;
		$(maindivid).innerHTML = response;
		alert(response);
	}
};



/**
 * This is the Ajax function that requests the url and loads the HT response to particular Div/container
 * @param {String} url The url called by the Ajax request
 * @param {String} queryString The parameter String passed to the url 
 * @param {String} inDiv The Div/Container in which the response to be set
 * @param {String} callbackfn The callback function name
 */ 
function loadToDiv(url,queryString,inDiv,callbackfn,classNm)
{
	if(classNm==null)
		classNm = false;
	inDiv = typeof(inDiv) != 'undefined' ? inDiv : maindivid; 
	if(queryString=='')
	{
		queryString = "PHPSESSID="+sessid;
	}
	else
	{
		queryString = "PHPSESSID="+sessid+"&"+queryString;
	}
	
	/*
	var callbackfn = function(myAjaxObjext)
	{
		alert(inDiv+" :: "+$(inDiv)+" :: "+$(inDiv).innerHTML);
		alert(myAjaxObjext.responseText);
	}
	*/ 
	if(callbackfn==null)
	{
		var objAjax = new Ajax.Updater({success: inDiv},url, {method: 'post', parameters: queryString, onFailure: showError,onlyLatestOfClass:classNm,evalScripts: true});
	}
	else
	{
		var objAjax = new Ajax.Updater({success: inDiv},url, {method: 'post', parameters: queryString, onFailure: showError,onlyLatestOfClass:classNm,onSuccess: callbackfn, evalScripts: true});
	}
};

/**
 * This is the Ajax function that request the particular url 
 * @param {String} url The url called by the Ajax request
 * @param {String} queryString The parameter String passed to the url 
 * @param {String} callbackfn The callback function name
 * @param {boolean} requestType The type of the request to be made should synchronous or asynchronous(default)
 */
 
function ajaxRequest(url,queryString,callbackfn,requestType,classNm)
{

	if(classNm==null)
		classNm = false;
		
	if(requestType==null)
	{
		requestType=true;
	}

	if(queryString=='')
	{
		queryString = "PHPSESSID="+sessid;
	}
	else
	{
		queryString = "PHPSESSID="+sessid+"&"+queryString;
	}
	if(typeof(callbackfn) == 'undefined')
	{
		var objAjaxReq = new Ajax.Request(url, {method: 'post',asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, evalScripts: true});
	}
	else
	{
		var objAjaxReq = new Ajax.Request(url, {method: 'post',asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, onSuccess: callbackfn, evalScripts: true});
	}
};
/*-----------------------SUGGESTION EMAIL POPUP VALIDATION START-----------------*/

	var sugEmailPopup;

	function showSuggestionPopup()

	{	

		if($('emailPopupSuggestion'))

		{

			sugEmailPopup = createDialog('emailPopupSuggestion');		

			$('emailPopupSuggestion').style.display='block';

			if($('emailPopupSuggestion_c')) $('emailPopupSuggestion_c').style.zIndex='15';

			if($('emailPopupSuggestion_mask')) $('emailPopupSuggestion_mask').style.zIndex='14';

			sugEmailPopup.show();			

			$('errEmailPro').innerHTML = '';

			$('txtComments').className = ''; $('txtComments').value = '';

			$('txtEmail').className = ''; $('txtEmail').value = '';

			$('txtName').className = ''; $('txtName').value = '';

			$('errEmailPro').innerHTML = '';

			$('sent').value = '0';

		}

	}

	function sendSuggestion()

	{

		if($('sent').value == '0')

		{

			$('errEmailPro').innerHTML = '';

			$('txtComments').className = '';

			$('txtEmail').className = '';

			$('txtName').className = '';

			$('errEmailPro').innerHTML = '';			

			var sent = false;

			var comments = trim($('txtComments').value);

			var name = trim($('txtName').value);

			var email = trim($('txtEmail').value);

			var specialchars = "!@#$%^&*()+=-[]\\\';,/{}|\":<>?``";





			if(name)

			{

				var fName = name;

				for (var charNo = 0; charNo < fName.length; charNo++) 

				{

					if (specialchars.indexOf(fName.charAt(charNo)) != -1)

					{

						errorMsg = "Name should not contain special characters.";

						$('errEmailPro').innerHTML = errorMsg;

						$('txtName').className 	= "textboxRed";

						$('txtName').focus();

						return false ;	  				

					}

				}

			}

			

			if(email != '' && !emailIsValid("txtEmail"))

			{

				$('errEmailPro').innerHTML = "Please specify valid email.";

				$('txtEmail').focus();

				$('txtEmail').className="textboxRed";

				return false;

			}

			if(comments == '')

			{

				$('errEmailPro').innerHTML = "Please specify suggestions.";

				$('txtComments').focus();

				$('txtComments').className="textboxRed";

				return false;

			}

			if(comments)

			{			

				var specialchars = "#%^()+=[]\\\'/{}|\"<>``";

				for (var charNo = 0; charNo < comments.length; charNo++) 

				{

					if (specialchars.indexOf(comments.charAt(charNo)) != -1)

					{

						errorMsg = "Suggestions should not contain special characters.";

						$('errEmailPro').innerHTML = errorMsg;

						$('txtComments').className 	= "textboxRed";

						$('txtComments').focus();

						return false ;	  				

					}

				}

			}

			$('sent').value = '1';
			var url = "/app/listing/singlePropertyLanding.php";
			var qs = "action=suggestion&name="+name+"&email="+email+"&comments="+encodeURI(comments);
			ajaxRequest(url,qs,function(reqobj)
			{ 
				var varResponse = trim(reqobj.responseText);	
				if(varResponse == '1')
				{
					$('errEmailPro').innerHTML = "Your suggestions have been sent successfully.";
					$('txtComments').value = '';
					$('txtName').value = '';
					$('txtEmail').value = '';
					$('sent').value = '0';
				}
				else
				{
					$('errEmailPro').innerHTML = "Problem in email sending.";					
					$('sent').value = '0';
				}
				setTimeout('sugEmailPopup.hide();',800);
			});

		}

	}

