function timer(){
var signupcookie = getCookie('signup');
if (signupcookie == null || signupcookie == "")
{

  var chktimer;
  chktimer = getCookie('timer');
  if (chktimer == null || chktimer == ""){
	  var now = new Date();
      setCookie2('timer', now , 3600);
  }

  var test = getCookie('timer');
 
  $("body").everyTime(1000, 'controlled', function() {
	                  var chkdate = new Date();
					  var timerchk = parseInt(Date.parse(chkdate)) - parseInt(Date.parse(test));
					 // alert(timerchk);
					 if (timerchk == 30000)
					  showoverlay();
                          
		          });
}}


function showoverlay(){
   var cook;
   cook = getCookie('signup');
   if (cook == null || cook == "")
   {
     $('#overlay').fadeIn(500);
   }

}
var bgchk;
bgchk = 0;
var xmlhttpobj = createxmlhttpobj();
var src;
var htmlstr;
var src_subscrib;
var src_value;

function hideoverlay(obj){
$("body").stopTime('controlled');
	var cookiechk;
	if (obj == 1)//yes
	{

	    setCookie('signup', 'yes', 365);
		submitform();
		$('#overlay').fadeOut(500);
	}
	if (obj == 2)//no
	{
	  setCookie('signup', 'no', 365);
	  $('#overlay').fadeOut(500);
	}
	if (obj == 3)//no
	{
	  $('#overlay').fadeOut(500);
	}
	if (obj == 4)//no
	{
	  if (bgchk == 0)
	  {
	   $('#overlay').fadeOut(500);
	  }
	}
}



function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function setCookie2(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setSeconds(exdate.getSeconds()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}


function checkValidation(formInput) {

    if (typeof(formInput) != "object") {
        alert("Validation not supported on this browser.");
        return(false);
    }

    var message;

    if (stringEmpty(formInput.value)) {
        message = "Please enter your email address on the field provided.";
        alert(message);
    } else if (noAtSign( formInput.value )) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value + "\" does not contain an '@' character.";
        alert(message);
    } else if (nothingBeforeAt(formInput.value)) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value;
        message += "\" must contain at least one character before the '@' character";
        alert(message);
    } else if (noLeftBracket(formInput.value)) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value;
        message += "\" contains a right square bracket ']',\nbut no corresponding left square bracket '['.";
        alert(message);
    } else if (noRightBracket(formInput.value)) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value;
        message += "\" contains a left square bracket '[',\nbut no corresponding right square bracket ']'.";
        alert( message);
    } else if (noValidPeriod(formInput.value)) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value + "\" must contain a period ('.') character.";
        alert(message);
    } else if (noValidSuffix(formInput.value)) {
        message = "The email address you've entered is invalid\n- The address \"" + formInput.value;
        message += "\" must contain a two, three or four character suffix.";
        alert(message);
    } else {
        return (true);
    }

    var objType = typeof(formInput.focus);
    if (objType == "object" || objType == "function") {
         formInput.focus();
    }

    return (false);
}

function checkValid (formField) {
    if ( checkValidation ( formField ) == true ) {
        alert ( 'E-Mail Address Validates OK' );
    }

    return ( false );
}

function stringEmpty (formField) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( formField.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign (formField) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (formField.indexOf ('@', 0) == -1) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt (formField) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( formField.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (formField.indexOf ( '.', 0 ) == -1)
        return ( true );

    return ( false );
}

function noValidSuffix(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return ( false );
    }

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = formField.length;
    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function overchk(){
  bgchk = 1;
}

function outchk(){
  bgchk = 0;
}


function submitform(){
   var firstName = document.getElementById("firstname").value;
   var lastName = document.getElementById("lastname").value;
   var Email = document.getElementById("email").value;
   src = "regInterest_Proc.asp?FirstName="+firstName+"&LastName="+lastName+"&Email="+Email;
   ///submit the hidden form
    var hiddenform = document.getElementById("SignupForm");
	//hiddenform.Firstname.value = firstName;
	//hiddenform.Lastname.value = lastName;
	//hiddenform.Email.value = Email;
    //hiddenform.submit();
	var iframe = document.getElementById("submitform");
    iframe.src = "http://service.ecast.net.au/subscribe/?FirstName="+firstName+"&LastName="+lastName+"&Email="+Email+"&NMGID=1923&SignUpBox=14fc04aeb9fac2acf4d5ffc3dce6edd6fa9256";
	

   ////
   var obj = document.getElementById("email");
   var chk = checkValidation(obj);
	 if (chk == true)
	 {
     Ajaxcall();

   }

}

///  ajax functions


function createxmlhttpobj()
{
    var xmlObj;
    if (window.ActiveXObject)
    {
        try
        {
           xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e)
        {
           xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
    else
        xmlObj = new XMLHttpRequest();

    return xmlObj;
}
if( document.implementation.hasFeature("XPath", "3.0") )
{
	XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
	{
		if( !xNode ) { xNode = this; }

		var oNSResolver = this.createNSResolver(this.documentElement)
		var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
		var aResult = [];
		for( var i = 0; i < aItems.snapshotLength; i++)
		{
			aResult[i] =  aItems.snapshotItem(i);
		}

		return aResult;
	}
	XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
	{
		if( !xNode ) { xNode = this; }

		var xItems = this.selectNodes(cXPathString, xNode);
		if( xItems.length > 0 )
		{
			return xItems[0];
		}
		else
		{
			return null;
		}
	}

	Element.prototype.selectNodes = function(cXPathString)
	{
		if(this.ownerDocument.selectNodes)
		{
			return this.ownerDocument.selectNodes(cXPathString, this);
		}
		else{throw "For XML Elements Only";}
	}

	Element.prototype.selectSingleNode = function(cXPathString)
	{
		if(this.ownerDocument.selectSingleNode)
		{
			return this.ownerDocument.selectSingleNode(cXPathString, this);
		}
		else{throw "For XML Elements Only";}
	}

}


function Ajaxcall()
{

    if (xmlhttpobj)
    {

	 xmlhttpobj.open("GET",src, true);

	 xmlhttpobj.onreadystatechange=function()
	 {

            if (xmlhttpobj.readyState == 4)
			{

                htmlstr=xmlhttpobj.responseText;
               // var content = document.getElementById("overlay-panel");
				//content.innerHTML = "<h3>"+htmlstr+"</h3><br><br><button onclick=\"hideoverlay(1)\">CLOSE</button>"

	        }


	 }

     xmlhttpobj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     xmlhttpobj.send(null);

   }
}


