var closeyourself = false;
var exitPopupNeeded = false;

function dummy() {}

// add onLoad events
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

// add onUnload events
function addUnloadEvent(func) {
	var oldonunload = window.onunload;
	if (typeof window.onunload != 'function') {
		window.onunload = func;
	} else {
		window.onunload = function() {
			oldonunload();
			func();
		}
	}
}

// exitpopup for ie only
function leave(popPage,width,height,scrollbar) {
  if ( !exitPopupNeeded || (window.name=='nopopup') ) return true;
    //var pwidth = 750;
    //var pheight = 520;
    var pwidth = 560;
    var pheight = 420;
  if ( width>0 ) {
    pwidth = width;
    pheight = height;
  }
  var args = 'status:no; help:no; dialogHeight:'+pheight+'px; dialogWidth:'+pwidth+'px; scroll:'+scrollbar;
  if(document.all) {
    showModalDialog(popPage,'',args);
  }
}

// this checks the format of the email address
function em_chk(str){
  if(!str.match(/^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i)) {
    return false;
  }
  return true;
}
function url_chk(str) {
  if(!str.match(/^(http(s)?:\/\/)?[a-z0-9-]+(\.[a-z0-9-]+)+(:[0-9]+)?(\/.*)?$/)) {
    return false;
  }
  return true;
}

function checkradios (elem,n) {
	var c = 0;
	for ( i=0; i<n; i++ ) {
		//alert (elem[i] +": "+ elem[i].checked);
		if ( elem[i].checked ) c++;
	}
	if (c==0) return false;
	else return true;
}

// to open the privacy window
function oppwin ( loc, pWidth, pHeight ) {
  if (!pWidth) var pWidth = 500;
  if (!pHeight) var pHeight = 400;
  var xPos = (screen.width/2)-(pWidth/2);
  var yPos = (screen.height/2)-(pHeight/2);
  var ppWin = "";
  //Opera most likely in tabbed mode, so calculate from the win size instead of screen size
  if (navigator.appName=="Opera") 
  yPos = (window.innerHeight/2)-(pHeight/2);
  
  ppWin = window.open ("","ppWin","width=" + pWidth + ",height=" + pHeight + ",status=0,menubar=0,location=0,resizable=1,titlebar=0,scrollbars=1,left=" + xPos + ",top=" + yPos );
  ppWin.location.href = loc;
} 

/** Return an object */
function getObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
        // W3C DOM
        return document.getElementById(objectId);
    } else if (document.all && document.all[objectId]) {
        // MSIE 4 DOM
        return document.all[objectId];
    } else if (document.layers && document.layers[objectId]) {
        // NN 4 DOM.. note: this won't find nested layers
        return document.layers[objectId];
    } else {
        return false;
    }
}

// functions for sign up form image rotations
function setHoverImage(id) {
	setImage(id, id + '-hover.gif');
}
function setNormalImage(id) {
	setImage(id, id + '.gif');
}
function setImage(id, image) {
	var obj = getObject(id);
	if (false != obj) {
		obj.src = '/images/' + image;
	}
}

// validate basic aweber subscription
function validateSubscriptionAweber(frm)
{
	if (frm.name.value == '') {
		alert('Please enter your name');
		frm.name.focus();
		return false;

	} else if (frm.from.value == '') {
		alert('Please enter your email address');
		frm.from.focus();
		return false;

	}
	var state = document.getElementById('state');
	if (state && state.value == '') {
		alert('Please select your state');
		state.focus();
		return false;

	} else {
		return true;
	}
}


// validate basic aweber subscription ** USED ON WEB-CONSULT PAGE **
function validateConsultAweber(frm)
{
	if (frm.name.value == '') {
		alert('Please enter your first name');
		frm.name.focus();		
		return false;
	} 
	
	if (frm.surname.value == '') {
		alert('Please enter your last name');
		frm.surname.focus();
		return false;
	} 
	
	if (frm.from.value == '') {
		alert('Please enter your email address');
		frm.from.focus();
		return false;
	} 
	
	if (!frm.from.value.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+$/)) {
		alert('Please enter a valid email address');
		frm.from.focus();
		return false;
	}
	
	if (frm.company.value == '') {
		alert('Please enter your comapny name');
		frm.from.focus();
		return false;
	} 
	
	if (frm.website.value == '') {
		alert('Please enter your website address');
		frm.from.focus();
		return false;
	} 
	
	if (frm.phone.value == '' && frm.mobile.value == '') {
		alert('Please enter your phone OR mobile number');
		frm.phone.focus();
		return false;
	} 
	
	if (frm.projectdesc.value == '') {
		alert('Please enter a description of your project');
		frm.projectdesc.focus();
		return false;
	} 
	
   if ( ( frm.budget[0].checked == false ) && ( frm.budget[1].checked == false ) && ( frm.budget[2].checked == false ) && ( frm.budget[3].checked == false ) )
    {
        alert ( "Please choose your budget estimate" );
        return false;
    }
	
	 if ( ( frm.urgency[0].checked == false ) && ( frm.urgency[1].checked == false ) && ( frm.urgency[2].checked == false ) && ( frm.urgency[3].checked == false ) )
    {
        alert ( "Please choose your project urgency" );
        return false;
    }
	
   return true;
	
}




// Email.js version 5.1 integrated into main.js for less requests
var tld_ = new Array()
tld_[0] = "com";
tld_[1] = "org";
tld_[2] = "net";
tld_[3] = "ws";
tld_[4] = "info";
tld_[10] = "co.uk";
tld_[11] = "org.uk";
tld_[12] = "gov.uk";
tld_[13] = "ac.uk";
tld_[20] = "com.au";
tld_[21] = "net.au";
tld_[22] = "org.au";

var topDom_ = 13;
var m_ = "mailto:";
var a_ = "@";
var d_ = ".";

function mail(name, dom, tl, params) {
  var s = e(name,dom,tl);
  document.write('<a href="'+m_+s+params+'">'+s+'</a>');
}

function mail2(name, dom, tl, params, display) {
  document.write('<a href="'+m_+e(name,dom,tl)+params+'">'+display+'</a>');
}

function e(name, dom, tl) {
  var s = name+a_;
  if (tl!=-2) {
    s+= dom;
    if (tl>=0)
      s+= d_+tld_[tl];
  }
  else
    s+= swapper(dom);
  return s;
}

function swapper(d) {
  var s = "";
  for (var i=0; i<d.length; i+=2)
    if (i+1==d.length)
      s+= d.charAt(i)
    else
      s+= d.charAt(i+1)+d.charAt(i);
  return s.replace(/\?/g,'.');
}
