function hide_id(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        node.className=node.className.replace('showed', '');
        node.className += ' hidden';
    }
}

function show_id(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        node.className=node.className.replace('hidden', '');
        node.className += ' showed';
    }
}

function toggle_id(nodeId)
{
    var node = document.getElementById(nodeId);
    if (node)
    {
        if (node.className.indexOf('hidden') != -1)
            node.className=node.className.replace('hidden', 'showed')
        else if (node.className.indexOf('showed') != -1)
            node.className=node.className.replace('showed', 'hidden')
        else node.className += ' showed';
     }
}

function setPrintCSS(isPrint) {
  if (document.getElementsByTagName)
      x = document.getElementsByTagName('link');
  else
  {
      return;
  }
  for (var i=0;i<x.length;i++) {
      if(x[i].title == 'printview'){x[i].disabled = !isPrint;}
      if(x[i].title == 'screenview'){x[i].disabled = isPrint;}
  }
}

function validateForm(e) {
var elem = $(e + ":input");
var err = "";
for (var i=0; i<elem.length; i++) {
    if ($(elem[i]).hasClass("required") && $(elem[i]).val() == "")
    {
      err += "<li><strong>"+ $(elem[i]).attr("placeholder") +"</strong> - required to be filled</li>";
	  $(elem[i].parentNode).addClass('error');
    }
	else
	{
		  $(elem[i].parentNode).addClass('ok');
	}
	if ($(elem[i]).hasClass("email") && $(elem[i]).val() !== "" )
    {
		if (!checkEmail($(elem[i]).val()) )
		{
		  err += "<li><strong>"+ $(elem[i]).attr("placeholder") +"</strong> - must be valid</li>";
		  $(elem[i].parentNode).addClass('error');
		  $(elem[i].parentNode).removeClass('ok');
		}
		else
		{
			  $(elem[i].parentNode).addClass('ok');
		}

	}

	if ($(elem[i]).hasClass("required") && (elem[i].selectedIndex <= 0))
    {
      err += "<li><strong>"+ $(elem[i]).attr("placeholder") +"</strong> - necessarily need to choose</li>";
	  $(elem[i].parentNode).addClass('error');
	  $(elem[i].parentNode).removeClass('ok');

	}

	if ($(elem[i]).hasClass("phone") && $(elem[i]).val() !== "" )
    {
		if (!checkPhone($(elem[i]).val()) )
		{
		  err += "<li><strong>"+ $(elem[i]).attr("placeholder") +"</strong> - must be valid</li>";
		  $(elem[i].parentNode).addClass('error');
		  $(elem[i].parentNode).removeClass('ok');
		}
		else
		{
			  $(elem[i].parentNode).addClass('ok');
		}

	}

  }
  if (err != "") {
    err = "<span>You forgot or did not correctly enter one or more fields. Please correct these errors:</span><ul>" + err + "</ul>";
    $("#fill_form").html(err).addClass("visible");
    return false;
  }
  else return true;
}



/* --========================--*/
function checkEmail(e)
{
 ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

 for(i=0; i < e.length ;i++)
  if(ok.indexOf(e.charAt(i))<0)
   return (false);

 if (document.images)
 {
  re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
  re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  if (!e.match(re) && e.match(re_two))
   return true;
  else
   return false;

 }
 return true;

}

function checkPhone(e)
{
	if(e.match(/^\+?[0-9\- ]{5,}$/))
		return true
	else
   		return false;
}

function elementSupportsAttribute(element,attribute) {
	var test = document.createElement(element);
	if (attribute in test) {
		return true;
	} else {
		return false;
	}
}

/* *********************************
        ON LOAD
********************************* */
$(function(){
	if(document.getElementById('contact-form') )
	{
		if (!elementSupportsAttribute('input','placeholder') && !(jQuery.browser.safari && (navigator.appVersion.indexOf('3.') != -1)))
		{
			var el = $(" input, select, textarea");
			for (var i=0; i<el.length; i++) {
			    if ($(el[i]).val() == "")
			    {
				  $(el[i]).addClass('placeholder');
			    }

				$(el[i]).blur(function() {
					if ($(this).val() =='')
					{
						$(this).addClass('placeholder');
					}
					else
					{
						$(this).removeClass('placeholder');
					}
									   })
			}
		}
	}
});
