var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);
var NSX = (navigator.appName == "Netscape");
var IE4 = (document.all) ? true : false;
var counter = 0;

function showConversionTrackingImages()
{
	document.getElementById('Regional_Sales_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1033638917/?label=xxHPCIfmvgEQhajw7AM&amp;guid=ON&amp;script=0';
	document.getElementById('Regional_Rentals_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1046551972/?label=xZPhCNLVvQEQpLuE8wM&amp;guid=ON&amp;script=0';
	document.getElementById('Sales_Search_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1070298051/?label=0d_CCLH1ugEQw-et_gM&amp;guid=ON&amp;script=0';
	document.getElementById('Rentals_Search_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1034635609/?label=DcciCL_SsgEQ2ZKt7QM&amp;guid=ON&amp;script=0';
	document.getElementById('Content_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1036604366/?label=dXLkCMzqqgEQzqel7gM&amp;guid=ON&amp;script=0';
	document.getElementById('Old_Account_Code').src = 'http://www.googleadservices.com/pagead/conversion/1070298051/?label=_HtsCNX3ngEQw-et_gM&amp;guid=ON&amp;script=0';
}

function onFormKeyPress(e) {
    var keypressed;
    if(window.event)
        keyPressed = window.event.keyCode; // IE
        else
        keyPressed = e.which; // Firefox
    
    if (keyPressed) 
    { 
        //alert(counter++);
        counter++;
        //var lblcounter = document.getElementById('<%= lblCounter.ClientID %>');
        //lblcounter.innerHTML = counter + '';
        document.getElementById('hdncount').value = counter + '';
        //alert(document.getElementById('hdncount').value);
        return false; 
    } 
}

function delayResponse(doWhat)
      {
	if (doWhat == 1)
	{
		setTimeout("delayResponse(2);",1000);
	}

	if (doWhat == 2)
	{
		document.getElementById('SendMessage').style.display='none';
		document.getElementById('MailSending').style.display='none';
		document.getElementById('MailSent').style.display='';
		showConversionTrackingImages();
		fadeBackground('MailSent',[140,198,63],[225,252,185],3000);
		//setTimeout("delayResponse(3);",2000);
	}

	if (doWhat == 3)
	{
		document.getElementById('MailSent').style.display='none';
	}
	
	if (doWhat == 4)
	{
	       setTimeout("delayResponse(5);",1000);
	}
	
	if (doWhat == 5)
	{
		document.getElementById('SendMessage').style.display='none';
		document.getElementById('MailSending').style.display='none';
		document.getElementById('MailSent').style.display='none';
		document.getElementById('MailSentCountMaxed').style.display='';
		fadeBackground('MailSentCountMaxed',[140,198,63],[225,252,185],3000);
		//setTimeout("delayResponse(3);",5000);
	}

	if (doWhat == 7)
	{
	       setTimeout("delayResponse(8);",1000);
	}
	if (doWhat == 8)
	{
		document.getElementById('SendMessage').style.display='none';
		document.getElementById('MailSending').style.display='none';
		document.getElementById('MailSent').style.display='none';
		document.getElementById('MailSentReg').style.display='';
		showConversionTrackingImages();
		fadeBackground('MailSentReg',[140,198,63],[225,252,185],3000);
	}
 }

function switchTabsOnly(doWhat)
{
	document.getElementById('divTelephone').style.display = 'none';
	document.getElementById('divEmail').style.display = 'none';
	document.getElementById('divLogin').style.display = 'none';

	document.getElementById('tabTelephone').className = '';
	document.getElementById('tabEmail').className = '';

	document.getElementById('div' + doWhat).style.display = '';

	if (doWhat == 'Login'){doWhat='Telephone'}
	document.getElementById('tab' + doWhat).className = 'Active';
        //alert("asdasd");
}

function switchTabs(doWhat)
{
	document.getElementById('divTelephone').style.display = 'none';
	document.getElementById('divEmail').style.display = 'none';
	document.getElementById('divLogin').style.display = 'none';
	
	document.getElementById('tabTelephone').className = '';
	document.getElementById('tabEmail').className = '';
	
	document.getElementById('div' + doWhat).style.display = '';
	
	if (doWhat == 'Login'){doWhat='Telephone'}
	document.getElementById('tab' + doWhat).className = 'Active';

        var isLoggedin = document.getElementById('isLoggedIn').value;

        if((doWhat == 'Telephone')&&(isLoggedin == 1)&&(document.getElementById('hdnCheckedDetails').value == 0))
        {
           //alert("is logged in and phone agent is clicked - so log view");
           showConversionTrackingImages();
           
           var arrLogViews = new Array();
           arrLogViews[0] = document.getElementById('hdnUserId').value;
           arrLogViews[1] = document.getElementById('hdnMandateId').value;
           arrLogViews[2] = document.getElementById('hdnListingType').value;
           arrLogViews[3] = document.getElementById('hdnPageRefere').value;

           var LogViews = arrLogViews.join("~");
           //alert(LogViews);
           jsrsExecute("/asp/js/remote/rs_PropertyContactDetails.asp", LogContactDetailsViewComplete, "LogContactDetailsViews", LogViews);

        }
}

function LogContactDetailsViewComplete(returnvalue)
{
   document.getElementById('hdnCheckedDetails').value = 1;
   //alert('Success ['+ returnvalue +']');
}

function LoadingStart()
{
 	document.getElementById("divMessage").style.display = "none";
 	document.getElementById("divLoading").style.display = "";
}

function LoadingStop()
{
 	document.getElementById("divMessage").style.display = "";
 	document.getElementById("divLoading").style.display = "none";
}

function refreshCaptchaValue()
{
       jsrsExecute("/asp/js/remote/rs_PropertyContactDetails.asp", refreshCaptchaValueComplete, "refreshCaptcha","0");
}
function refreshCaptchaValueComplete(encryptedvalue)
{
    document.getElementById("imgCaptcha").src = 'http://captcha.privateproperty.co.za/JpegImage.aspx?c='+encryptedvalue;
    document.getElementById("hdCaptchaInCrypted").value =  encryptedvalue;

}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
function isNumber(mystring)
  { 
  var checkOK = "0123456789-.";
	    var checkStr = mystring;
	    var allValid = true;
	    var decPoints = 0;
	    var allNum = "";
	    for (i = 0;  i < checkStr.length;  i++)
	    {
	    ch = checkStr.charAt(i);
	    for (j = 0;  j < checkOK.length;  j++)
	    if (ch == checkOK.charAt(j))
			break;
	    if (j == checkOK.length)
	    {
	    allValid = false;
	    break;
	    }
	    if (ch == ".")
	    {
	    allNum += ".";
	    decPoints++;
	    }
	    else if (ch != ",")
	    allNum += ch;
	    }
	    return allValid;
  }

function ValidateDetails()
{
  document.getElementById('ErrorMessage').style.display='none';
  var registerMe = 0;
  var rememberMe = 0;
  var error = 0;
  var sentEmailCount = readCookie('SentEmailCount')||"0";
  var comment = document.getElementById('txtMessageToClient').value;
  var email = document.getElementById('txtUserEmail').value;
  var userName = document.getElementById('txtUserName').value;
  var userVerificationCapthca = document.getElementById('txtUserhdCaptchaNumber').value;
  var VerificationCapthca = document.getElementById('hdCaptchaInCrypted').value;
  var hndkeyCount = document.getElementById('hdncount').value;
  var isLoggedIn = document.getElementById('isLoggedIn').value;
  var mandateid = document.getElementById('hdnMandateId').value;
  var listingType = document.getElementById('hdnListingType').value;
  var ref = document.getElementById('hdnRef').value;
  var refere = document.getElementById('hdnPageRefere').value;
  var curPage = document.getElementById('hdnCurrentPage').value;
  var contactID = document.getElementById('hdnContactID').value;
  var hdnInitialcount = document.getElementById('hdnInitialcount').value||0;

  if(isLoggedIn == 0)
  {
    if(document.getElementById('chkRegisterMe').checked)
    {
         registerMe = 1
    }
    if(document.getElementById('chkRememberMe').checked)
    {
        rememberMe = 1;
    }
  }

  if ((!comment)||(hdnInitialcount == comment.length))
  {
     alert("Message field is empty!");
     document.getElementById("txtMessageToClient").focus();
     error = 1;
     return (false);
  }

  if ((!email)||(!isEmail(email)))
  {
     alert("Please enter in a valid email address");
     document.getElementById("txtUserEmail").focus();
     error = 1;
     return (false);
  }
  
  if (!userName)
  {
     alert("Please enter a your name");
     document.getElementById("txtUserName").focus();
     error = 1;
     return (false);
  }
  
  if ((!userVerificationCapthca) && (isLoggedIn == 0))
  {
     alert("Verification field is empty!");
     document.getElementById("txtUserhdCaptchaNumber").focus();
     error = 1;
     return (false);
  }

   if(!error)
   {
       document.getElementById('MailSending').style.display=''; 
       //alert('fsdf'+sentEmailCount);
       if(sentEmailCount < 10)
       {
           //send email
           var formValues = new Array();
           formValues[0] = comment;
           formValues[1] = email;
           
           if (isLoggedIn == 0)
           {
             userVerificationCapthca = userVerificationCapthca;
           }
           else
           {
             userVerificationCapthca = 'none';
           }

           formValues[2] = userVerificationCapthca;
           formValues[3] = VerificationCapthca;
           formValues[4] = hndkeyCount;
           formValues[5] = isLoggedIn;
           formValues[6] = registerMe;
           formValues[7] = rememberMe;
           formValues[8] = userName;
           formValues[9] = mandateid;
           formValues[10] = listingType;
           formValues[11] = ref;
           formValues[12] = refere;
           //formValues[12] = 'none';
           formValues[13] = curPage;
           formValues[14] = contactID;
           formValues[15] = hdnInitialcount;

           var allFormValues = formValues.join("~");

           //alert('sending '+allFormValues);
           //alert('sending'+ refere);
           jsrsExecute("/asp/js/remote/rs_PropertyContactDetails.asp", SendEmailComplete, "SendEmail", allFormValues);
           //delayResponse(1);
       }
       else
       {
           delayResponse(4);
       }
   }

}

function SendEmailComplete(results)
{
  //alert(results);
  document.getElementById('MailSending').style.display='none';
  var retArr = new Array();
  retArr = results.split("~");
  if(retArr[0] == "success")
  {
     var pp = 0;
     //email was sent successfully  set cookie increment
     var sentEmailCount = readCookie('SentEmailCount')||"0";
     //alert(sentEmailCount);
     if(sentEmailCount <= 10)
     {
       //eraseCookie('SentEmailCount');
       pp =  parseInt(sentEmailCount);
       pp++;
       createCookie('SentEmailCount',pp,1);
       //show meassage with regitration thanx
       if(retArr[1] == "Registration")
       {
        //alert("do registration meassge"+retArr[1])
        delayResponse(7);
       }
       else
       {
         delayResponse(1);
       }

     }
     else
     {
           delayResponse(4);
     }
     document.getElementById('ErrorMessage').style.display='none';
     //alert(readCookie('SentEmailCount'));
  }
  else
  {
     document.getElementById('ErrorMessage').innerHTML= retArr[1];
     document.getElementById('ErrorMessage').style.display='';
     document.getElementById('ErrorMessage').style.color='#E31722';
  }

}


function fadeBackground(elementId, startColor, endColor, timeMs) {
    var startTime = new Date().getTime();
    stepFade(elementId, startColor, endColor, startTime, startTime + timeMs);
}

function stepFade(elementId, startColor, endColor, startTime, endTime) {
    var now = new Date().getTime();

    var step = new Array(3);

    var progress = (now - startTime) / (endTime - startTime);

    step[0] = Math.round(startColor[0] + ((endColor[0] - startColor[0]) * progress));
    step[1] = Math.round(startColor[1] + ((endColor[1] - startColor[1]) * progress));
    step[2] = Math.round(startColor[2] + ((endColor[2] - startColor[2]) * progress));

    document.getElementById(elementId).style.backgroundColor
                        = "rgb(" + step[0] + "," + step[1] + "," + step[2] + ")";

    if (now <= endTime) {
        setTimeout(function() {
            stepFade(elementId, startColor, endColor, startTime, endTime);
        }, 20);
    }
    else {
        document.getElementById(elementId).style.backgroundColor
            = "rgb(" + endColor[0] + "," + endColor[1] + "," + endColor[2] + ")";
    }
}
