function GetXmlHttpObject(){  
	var xmlHttp=null;
	try{  
		// Firefox, Opera 8.0+, Safari  
		xmlHttp=new XMLHttpRequest();  
	}  
	catch(e){  
		// Internet Explorer  
		try{  
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");  
		}  
		catch(e){  
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  
		}  
	}  
	return xmlHttp;  
}  
	
function XmlPost(QueryString, ResponsePage){  
	var xmlRequest = GetXmlHttpObject();
	xmlRequest.open("POST", ResponsePage, false);  
	xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
	xmlRequest.send(QueryString);
	return xmlRequest.responseText;
  }

function encode(uri){  
    if (encodeURIComponent){  
        return encodeURIComponent(uri);  
    }  
  
    if (escape){  
        return escape(uri);  
    }  
}

function subnav(aID) {
	var x;
	x = document.getElementById(aID);
	if (x.style.visibility == 'visible')
	{
		x.style.visibility = 'hidden';
	}
	else
	{
		x.style.visibility = 'visible';
	}
	return;		
}

function validemail(aemail) {
	apos=aemail.indexOf("@")
	dotpos=aemail.lastIndexOf(".")
	if (apos<1||dotpos-apos<2) {
		return false
	}
	else {
		return true
	}
}

function adjustkeyword() {
	var keyword = document.getElementById('keyword');
	if(keyword.value=='') {
		keyword.value='Omit Keyword Search';
		keyword.style.background = '#eeeeee';
		keyword.style.color = '#666666';
	}

}

function emailcheck(aemail) {
	document.getElementById('emailerror').style.display = 'none';
	var bvalidated = true;	
	var qs = "email=" + encode(aemail);
	if(XmlPost(qs, "emailcheck.asp")=="bad") {
		document.getElementById('emailerror').style.display = 'block';
		bvalidated = false;
	}
	return bvalidated;
}

function professioncheck(aprofession) {
	document.getElementById('professionerror').style.display = 'none';
	var bvalidated = true;	
	var qs = "profession=" + encode(aprofession);
	if(XmlPost(qs, "professioncheck.asp")=="bad") {
		document.getElementById('professionerror').style.display = 'block';
		bvalidated = false;
	}
	return bvalidated;
}

function miningsubsectorcheck(aminingsubsector) {
	document.getElementById('miningsubsectorerror').style.display = 'none';
	var bvalidated = true;	
	var qs = "mss=" + encode(aminingsubsector);
	if(XmlPost(qs, "miningsubsectorcheck.asp")=="bad") {
		document.getElementById('miningsubsectorerror').style.display = 'block';
		bvalidated = false;
	}
	return bvalidated;
}

function validateregistration() {

	document.getElementById('emailerror').style.display = 'none';
	document.getElementById('professionerror').style.display = 'none';
	document.getElementById('miningsubsectorerror').style.display = 'none';	

	var diverror = document.getElementById('errormessage');
	var bvalid = true;
	var serror = '<strong>There is a problem with your form:</strong><br /><br />';
			 
	if(document.getElementById('firstname').value=='') {
		serror = serror + 'Please enter First Name.<br />';
		bvalid = false;
	}
	if(document.getElementById('lastname').value=='') {
		serror = serror + 'Please enter Last Name.<br />';
		bvalid = false;
	}
	if(document.getElementById('company').value=='') {
		serror = serror + 'Please enter Company Name.<br/>';
		bvalid = false;
	}
	if(document.getElementById('title').value=='') {
		serror = serror + 'Please enter Job title.<br/>';
		bvalid = false;
	}
	if(document.getElementById('city').value=='') {
		serror = serror + 'Please enter City.<br/>';
		bvalid = false;
	}
	if(document.getElementById('country').value=='-1') {
		serror = serror + 'Please select a Country.<br />';
		bvalid = false;
	}

	if(!validemail(document.getElementById('email').value)) {
		serror = serror + 'Please enter a Valid Email Address.<br />';
		bvalid = false;
	} else {
		if(!emailcheck(document.getElementById('email').value)) {
			document.getElementById('emailerror').style.display = 'block';
			serror = serror + 'Email already in use.<br />';
			bvalid = false;
		}
	}

	if(document.getElementById('profession').value=='0' || (document.getElementById('profession').value=='-1' && document.getElementById('profession2').value == '')) {
		serror = serror + 'Please select or enter your profession.<br />';
		bvalid = false;
	} else if(document.getElementById('profession2')!='') {
		if(!professioncheck(document.getElementById('profession2').value)) {
			document.getElementById('professionerror').style.display = 'block';
			bvalid = false;
		}
	}
	if(document.getElementById('miningsubsector').value=='0' || (document.getElementById('miningsubsector').value=='-1' && document.getElementById('miningsubsector2').value=='')) {
		serror = serror + 'Please select or enter your mining subsector.<br />';
		bvalid = false;
	} else if(document.getElementById('miningsubsector2')!='') {
		if(!miningsubsectorcheck(document.getElementById('miningsubsector2').value)) {
			document.getElementById('miningsubsectorerror').style.display = 'block';
			bvalid = false;
		}
	}
	if(document.getElementById('bio').value == '') {
		serror = serror + 'Please enter your Bio.<br />';
		bvalid = false;
	}
	if(document.getElementById('file').value != '') {
		if(!validext(document.getElementById('file').value, ".jpg")) {
			serror = serror + 'Picture can only be in JPG format.<br />';
			bvalid = false;
		}
	}

	if(!bvalid) {
		diverror.innerHTML = serror;
		diverror.style.display = 'block';
		window.scrollTo(0,0);
	} else {
	      diverror.style.display = 'none';
	}
	return bvalid;
}

function validatepicture() {
	var diverror = document.getElementById('errormessage');
	var bvalid = true;
	var serror = '';
	
	if(!validext(document.getElementById('file').value, ".jpg")) {
		serror = serror + 'Picture can only be in JPG format.<br />';
		bvalid = false;
	}
	if(!bvalid) {
		diverror.innerHTML = serror;
		diverror.style.display = 'block';
		window.scrollTo(0,0);
	} else {
	      diverror.style.display = 'none';
	}

	return bvalid;
}

function validateedit() {
	document.getElementById('emailerror').style.display = 'none';
	document.getElementById('professionerror').style.display = 'none';
	document.getElementById('miningsubsectorerror').style.display = 'none';	

	var diverror = document.getElementById('errormessage');
	var bvalid = true;
	var serror = '<strong>There is a problem with your form:</strong><br /><br />';
			 
	if(document.getElementById('firstname').value=='') {
		serror = serror + 'Please enter First Name.<br />';
		bvalid = false;
	}
	if(document.getElementById('lastname').value=='') {
		serror = serror + 'Please enter Last Name.<br />';
		bvalid = false;
	}
	if(document.getElementById('country').value=='-1') {
		serror = serror + 'Please select a Country.<br />';
		bvalid = false;
	}
	if(document.getElementById('password').value=='') {
		serror = serror + 'Please enter a Password.<br />';
		bvalid = false;
	}
	if(!validemail(document.getElementById('email').value)) {
		serror = serror + 'Please enter a Valid Email Address.<br />';
		bvalid = false;
	} else if(document.getElementById('email').value != document.getElementById('currentemail').value) {
		if(!emailcheck(document.getElementById('email').value)) {
			document.getElementById('emailerror').style.display = 'block';
			serror = serror + 'Email already in use.<br />';
			bvalid = false;
		}
	}

	if(document.getElementById('profession').value=='0' || (document.getElementById('profession').value=='-1' && document.getElementById('profession2').value == '')) {
		serror = serror + 'Please select or enter your profession.<br />';
		bvalid = false;
	} else if(document.getElementByid('profession2')!='') {
		if(!professioncheck(document.getElementById('profession2').value)) {
			document.getElementById('professionerror').style.display = 'block';
			bvalid = false;
		}
	}
	if(document.getElementById('miningsubsector').value=='0' || (document.getElementById('miningsubsector').value=='-1' && document.getElementById('miningsubsector2').value=='')) {
		serror = serror + 'Please select or enter your mining subsector.<br />';
		bvalid = false;
	} else if(document.getElementById('miningsubsector2')!='') {
		if(!miningsubsectorcheck(document.getElementById('miningsubsector2').value)) {
			document.getElementById('miningsubsectorerror').style.display = 'block';
			bvalid = false;
		}
	}
	if(!bvalid) {
		diverror.innerHTML = serror;
		diverror.style.display = 'block';
		window.scrollTo(0,0);
	} else {
	      diverror.style.display = 'none';
	}
	return bvalid;
}

function checklogin(aemail, apassword) {
	var serror = "Invalid login, try again.";
	var diverror = document.getElementById('errormessage');
	diverror.style.display = 'none';

	var bvalid = true;
	var qs = "email=" + encode(aemail) + "&password=" + encode(apassword);

	if(XmlPost(qs, "logincheck.asp")=="bad") {
			bvalid = false;
	}
	if(!bvalid) {
		diverror.innerHTML = serror
		diverror.style.display = 'block';
		window.scrollTo(0,0);
	} 
	return bvalid;
}

function checkadminlogin(ausername, apassword) {
	var serror = "Invalid login, try again.";
	var diverror = document.getElementById('errormessage');

	var bvalid = true;
	var qs = "username=" + encode(ausername) + "&password=" + encode(apassword);

	if(XmlPost(qs, "/admin-logincheck.asp")=="bad") {
			bvalid = false;
	}
	if(!bvalid) {
		diverror.innerHTML = serror
		diverror.style.display = 'block';
		window.scrollTo(0,0);
	} 
	return bvalid;
}

function deleteprofile(iServiceProviderId) {
	var qs = "id=" + encode(iServiceProviderId);
	return XmlPost(qs, "deleteprofile.asp");
}

function showdeleteconfirm() {
	window.scrollTo(0,0);
	document.getElementById('deleteconfirm').style.display = 'block';
}


function docategory(aid) {
	if(document.getElementById(aid).value=='-1') {
		document.getElementById('new'+aid).style.display = 'block';
	} else {
		document.getElementById('new'+aid).style.display = 'none';
	} 
}

function validext(avalue,ext) {
	var svalue = avalue.toLowerCase();
	if(svalue.indexOf(ext.toLowerCase())==-1)
	{
		return false;
	} else {
		return true;
	}
}

function shownav(navid) {
	document.getElementById(navid).style.display = 'block';
	return true;
}

function hidenav(navid) {
	document.getElementById(navid).style.display = 'none';
	return true;
}
