function openDhtmlWithElmt(eId,widthPx,heightPx)
{
	if (parseInt(navigator.appVersion)>3)
	{
		if (navigator.appName.indexOf("Microsoft")!=-1)
		{
			winW = screen.width;
			winH = screen.height;
			var top1 = (winH) /2;
			var left1 = (winW - parseInt(widthPx)) /2;
		}
	//if (navigator.appName=="Netscape")
		else
		{
			winW = screen.width;
			winH = screen.height;
			var top1 = (winH) /2;
			var left1 = (winW - parseInt(widthPx)) /2;
		}
	}

		left1 = ($(window).width() - widthPx) /2;
		var top1 = ($(window).height() - heightPx) /2;
		$.blockUI({
			message: $('#'+eId),
			css: {
				left: left1 + 'px',
				top:  top1 + 'px',
				border: 'none',
				cursor: 'default'
			}
		});
}

function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    
    if (MSIEOffset == -1) {
        return 0;
    } else {
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
    }
}
function _showstatus(on)
{
    if(on)
	{
		if (parseInt(navigator.appVersion)>3) 
		 {
			if (navigator.appName.indexOf("Microsoft")!=-1) 
			{
				winW = document.body.offsetWidth;
				winH = document.body.offsetHeight;
				var top1 = (winH) /2;
				
				if( getIEVersionNumber() == 8 )
				{
					var left1 = (winW - 91) /2;
				}
				else if( getIEVersionNumber() == 7 )
				{
					var left1 = (winW - 350) /2;
				}
				else
				{
					var left1 = (winW - 91) /2;
				}
			}
			else 
			{
				winW = window.innerWidth;
				winH = window.innerHeight;
				var top1 = (winH) /2;
				var left1 = (winW - 91) /2;
			}
		}
		
		var msg = "<div id='loading' style='width:85px;'><img src='images/loader.gif' /></div>";
		
		$.blockUI({ 
		message: msg,
		css: {
						//top:  top1 + 'px', 
						top:  '42%', 
						left: left1+'px',
						border : 'none',
						fadeIn: 0,
						fadeOut: 0,
						'background-color':'transparent'
			 }
		});
    }
	else
	{
		$.unblockUI();
    }
    return true;
}

function trim(str)
{
	return $.trim(str);
}

function hideVal(eleId,tempVal,origVal){
	
	if(tempVal == origVal){
		$('#'+eleId).val('');
	}
}

function showVal(eleId,tempVal,origVal){
	if(tempVal == ''){
		$('#'+eleId).val(origVal);
	}
}

function submitData(){
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	$('#newsletter_msg').html('');
	$('#newsletter_msg').hide();
	
	$('#newsletter_name').val(trim($('#newsletter_name').val()));
	$('#newsletter_company').val(trim($('#newsletter_company').val()));
	$('#newsletter_email').val(trim($('#newsletter_email').val()));
	
	if($('#newsletter_name').val() == '' || $('#newsletter_name').val() == 'ie: John Smith'){
		$('#newsletter_msg').html('Please enter name.');
		$('#newsletter_msg').show();
		$('#newsletter_name').val('');
		$('#newsletter_name').focus();
		return false;
	}
	else if($('#newsletter_company').val() == '' || $('#newsletter_company').val() == 'ie: Smithco Pty Ltd'){
		$('#newsletter_msg').html('Please enter company.');
		$('#newsletter_msg').show();
		$('#newsletter_company').val('');
		$('#newsletter_company').focus();
		return false;
	}
	else if($('#newsletter_email').val() == '' || $('#newsletter_email').val() == 'ie: john.smith@smithco.com.au'){
		$('#newsletter_msg').html('Please enter email.');
		$('#newsletter_msg').show();
		$('#newsletter_email').val('');
		$('#newsletter_email').focus();
		return false;
	}
	else if (!filter.test($('#newsletter_email').val())){
		$('#newsletter_msg').html('Please enter a valid email address.');
		$('#newsletter_msg').show();
		$('#newsletter_email').focus();
		return false
	 }
	 else{
		var name = $('#newsletter_name').val();
		var company = $('#newsletter_company').val();
		var email = $('#newsletter_email').val();
		 
		var data = $('#newsletterSubscribe').serialize();
		$('#loaderDisplayDiv').html('<img src=\'images/loader.gif\' />');	
		$.ajax({
			url: 	'index.php',
			data:	'mode=subscriberAdd&'+data,
			type:	'POST',
			//timeout: 20000,
			success: function(result){
				var resultArr = result.split('^^^');
				if(resultArr[0] == 1){
					var thanksHtml = '<p>Thanks for signing your life away (only kidding). We hope you\'ll enjoy our updates and market insights. We\'d still love to hear from you though, so please feel free to <a href="contact.php">contact us</a> at anytime.</p><div class="btn_fire_holder" align="right"><input name="ok_button" id="ok_button" type="button" value="Ok" class="btn" onclick="resetForm();" /></div>';
					$('#loaderDisplayDiv').html(thanksHtml);
				}else{
					var formField = '<p>If you\'d like to hear from us and see what our teams are up to, sign up to our newsletter. Each edition will feature our latest work, market insights and just some randem stuff from the team.</p><div id="newsletter_msg" style="padding:0 0 5px 0;color:red;">'+resultArr[1]+'</div><div class="cont_field"><label>Name</label><input name="newsletter_name" id="newsletter_name" type="text" value="'+name+'" onclick="hideVal(this.id,this.value,\'ie: John Smith\');" onblur="showVal(this.id,this.value,\'ie: John Smith\');" maxlength="100" /></div><div class="cont_field"><label>Company</label><input name="newsletter_company" id="newsletter_company" type="text" value="'+company+'" onclick="hideVal(this.id,this.value,\'ie: Smithco Pty Ltd\');" onblur="showVal(this.id,this.value,\'ie: Smithco Pty Ltd\');" maxlength="200" /></div><div class="cont_field"><label>Email</label><input name="newsletter_email" id="newsletter_email" type="text" value="'+email+'" onclick="hideVal(this.id,this.value,\'ie: john.smith@smithco.com.au\');" onblur="showVal(this.id,this.value,\'ie: john.smith@smithco.com.au\');" maxlength="200" /></div><div class="btn_fire_holder padding30" align="right"><input name="canecl_button" id="canecl_button" type="button" value="Cancel" class="btn_cancel" onclick="resetForm();" /><input name="fire_button" id="fire_button" type="button" value="Fire Away" class="btn" onclick="return submitData();" /></div>';
					$('#loaderDisplayDiv').html(formField);
				}
			}
		});
	 }
	 
	 return false;
}

function resetForm(){
	$.unblockUI();
	wait(500);
	var formField = '<p>If you\'d like to hear from us and see what our teams are up to, sign up to our newsletter. Each edition will feature our latest work, market insights and just some randem stuff from the team.</p><div id="newsletter_msg" style="display:none;padding:0 0 5px 0;color:red;"></div><div class="cont_field"><label>Name</label><input name="newsletter_name" id="newsletter_name" type="text" value="ie: John Smith" onclick="hideVal(this.id,this.value,\'ie: John Smith\');" onblur="showVal(this.id,this.value,\'ie: John Smith\');" maxlength="100" /></div><div class="cont_field"><label>Company</label><input name="newsletter_company" id="newsletter_company" type="text" value="ie: Smithco Pty Ltd" onclick="hideVal(this.id,this.value,\'ie: Smithco Pty Ltd\');" onblur="showVal(this.id,this.value,\'ie: Smithco Pty Ltd\');" maxlength="200" /></div><div class="cont_field"><label>Email</label><input name="newsletter_email" id="newsletter_email" type="text" value="ie: john.smith@smithco.com.au" onclick="hideVal(this.id,this.value,\'ie: john.smith@smithco.com.au\');" onblur="showVal(this.id,this.value,\'ie: john.smith@smithco.com.au\');" maxlength="200" /></div><div class="btn_fire_holder padding30" align="right"><input name="canecl_button" id="canecl_button" type="button" value="Cancel" class="btn_cancel" onclick="resetForm();" /><input name="fire_button" id="fire_button" type="button" value="Fire Away" class="btn" onclick="return submitData();" /></div>';
	$('#loaderDisplayDiv').html(formField);
}

function wait(msecs){
	var start = new Date().getTime();
	var cur = start
	while(cur - start < msecs){
		cur = new Date().getTime();
	}
}

function getkey(e)
{
	if (window.event)
		return window.event.keyCode;
	else if (e)
		return e.which;
	else
		return null;
}	
function goodchars(e, goods)
{
	var key, keychar;
	key = getkey(e);
	if (key == null) 
		return true;
	// get character
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	goods = goods.toLowerCase();
	// check goodkeys
	if (goods.indexOf(keychar) != -1)
		return true;
	// control keys
	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
	return true;
	// else return false
	return false;
} 
