// workaround for absence of target attributes in xhtml strict

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

function fChangeLanguage () {
	if (document.getElementById('displaylanguages').style.display=='block')
		document.getElementById('displaylanguages').style.display='none';
	else
		document.getElementById('displaylanguages').style.display='block';
}

// Obfuscate email
function obfuscate(type) {
var obfuscated = '';

if (type == 'link')
	obfuscated = String.fromCharCode(60,97,32,104,114,101,102,61,34,109,97,105,108,116,111,58,99,111,110,116,97,99,116,64,110,97,116,117,114,101,108,97,110,100,115,99,97,112,101,115,46,99,111,109,34,62,99,111,110,116,97,99,116,64,110,97,116,117,114,101,108,97,110,100,115,99,97,112,101,115,46,99,111,109,60,47,97,62)

document.write(obfuscated);
}

function display_flash(filename, width, height) {

document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '">'
+ '<param name="allowScriptAccess" value="sameDomain" />'
+ '<param name="movie" value="' + filename + '" />'
+ '<param name="quality" value="high" />'
+ '<param name="wmode" value="transparent" />'
+ '<embed src="' + filename + '" width="' + width + '" height="' + height + '" quality="high" wmode="transparent" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
+ '</object>')

}

// For Flash
/*
if (AC_FL_RunContent == 0) {
	alert("This page requires AC_RunActiveContent.js.");
}
else {
	AC_FL_RunContent(
		'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
		'width', '980',
		'height', '550',
		'src', 'NBD',
		'quality', 'high',
		'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
		'align', 'middle',
		'play', 'true',
		'loop', 'true',
		'scale', 'showall',
		'wmode', 'transparent',
		'devicefont', 'false',
		'id', 'NBD',
		'name', 'NBD',
		'menu', 'true',
		'allowFullScreen', 'false',
		'allowScriptAccess','sameDomain',
		'movie', 'NBD',
		'salign', ''
		); //end AC code
}
*/

// for com
function toggle_id(id) {
   var item = document.getElementById(id);

   if (item.style.display == "block")
      item.style.display = "none";
   else
      item.style.display = "block";
}



function toggle(linkid, id) {
   var item = document.getElementById(id);
   var link = document.getElementById(linkid);

   if (item.style.display != "block") {
      item.style.display = "block";
      link.firstChild.src = 'images/ico_collapse.gif';
   }
   else {
      item.style.display = "none";
      link.firstChild.src = 'images/ico_expand.gif';
   }
}



function submitForm(formName)
{
	document.forms[formName].submit();
}



function submitFormSpecial(formName, addOption)
{
	if (addOption == "add")
		document.forms[formName].add.value = "add";
	else
		document.forms[formName].add.value = "";
	
	document.forms[formName].submit();
}



function validateCom(type) {
	var aMsg = new Array();
	if (type == 'all')
		var aMandatory = new Array('comName','comContact','comEmail');
	else
		var aMandatory = new Array('comName','comContact','comEmail');
	var bMissing = false;
	var currField = '';

	resetLabels();

	for (var i = 0; i < aMandatory.length; i++) {
		currField = document.getElementById(aMandatory[i]);
		if (currField.value == '') {
			bMissing = true;
			highlightLabel(currField.previousSibling);
		}
	}
	if (bMissing)
		aMsg[aMsg.length] = 'Please fill in all mandatory fields';

	var fTitle = document.getElementById('comName');
	var sTitle = fTitle.value;
	if (sTitle != '' && sTitle.length > 255) {
		aMsg[aMsg.length] = 'Name should be less than 255 characters';
		highlightLabel(fTitle.previousSibling);
	}
	
	var fTitle = document.getElementById('comContact');
	var sTitle = fTitle.value;
	if (sTitle != '' && sTitle.length > 20) {
		aMsg[aMsg.length] = 'Contact should be less than 20 characters';
		highlightLabel(fTitle.previousSibling);
	}
	
	var fEmail = document.getElementById('comEmail');
	var sEmail = fEmail.value;
	if (sEmail != '' && !validateEmail(sEmail)) {
		aMsg[aMsg.length] = 'Email is invalid';
	}

	if (aMsg.length > 0) {
		alert(aMsg.join('\n'));
		return false;
	}
	else
		return true;
}



function validateComImgPath(type) {
	var aMsg = new Array();
	if (type == 'all')
		var aMandatory = new Array('comImgPath');
	else
		var aMandatory = new Array('comImgPath');
	var bMissing = false;
	var currField = '';

	resetLabels();

	for (var i = 0; i < aMandatory.length; i++) {
		currField = document.getElementById(aMandatory[i]);
		if (currField.value == '') {
			bMissing = true;
			highlightLabel(currField.previousSibling);
		}
	}
	if (bMissing)
		aMsg[aMsg.length] = 'Please fill in all mandatory fields';


	var fImg = document.getElementById('comImgPath');
	var sImg = fImg.value;
	if (sImg != '' && !validateImgExt(sImg)) {
		aMsg[aMsg.length] = 'Image to be uploaded should be a jpg.';
		highlightLabel(fImg.previousSibling);
	}


	if (aMsg.length > 0) {
		alert(aMsg.join('\n'));
		return false;
	}
	else
		return true;
}



function validateComImgDesc(type) {
	var aMsg = new Array();
	if (type == 'all')
		var aMandatory = new Array('comImgDesc');
	else
		var aMandatory = new Array('comImgDesc');
	var bMissing = false;
	var currField = '';

	resetLabels();

	for (var i = 0; i < aMandatory.length; i++) {
		currField = document.getElementById(aMandatory[i]);
		if (currField.value == '') {
			bMissing = true;
			highlightLabel(currField.previousSibling);
		}
	}
	if (bMissing)
		aMsg[aMsg.length] = 'Please fill in all mandatory fields';

	var fTitle = document.getElementById('comImgDesc');
	var sTitle = fTitle.value;
	if (sTitle != '' && sTitle.length > 255) {
		aMsg[aMsg.length] = 'Image description should be less than 255 characters';
		highlightLabel(fTitle.previousSibling);
	}

	if (aMsg.length > 0) {
		alert(aMsg.join('\n'));
		return false;
	}
	else
		return true;
}




function validateEmail(email) {
	var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (regex.test(email))
		return true;
	else
		return false;
}

function validateURL(url) {
	var regex = /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/;

	if (regex.test(url))
		return true;
	else
		return false;
}

function validatePdfExt(filename) {
	var dotIndex = filename.lastIndexOf('.');
	var extension = '';

	if (dotIndex != -1) {
		extension = filename.substring(dotIndex+1);
		extension = extension.toLowerCase();
		if (extension == 'pdf')
			return true;
		else
			return false;
	}
	else
		return false;
}

function validateImgExt(filename) {
	var dotIndex = filename.lastIndexOf('.');
	var extension = '';

	if (dotIndex != -1) {
		extension = filename.substring(dotIndex+1);
		extension = extension.toLowerCase();
		if (extension == 'jpg' || extension == 'jpeg')
			return true;
		else
			return false;
	}
	else
		return false;
}

function validateAlphanumeric(txt) {
	var regex = /^[a-zA-Z0-9]+$/;

	if (regex.test(txt))
		return true;
	else
		return false;
}

function validateNumber(txt) {
	var regex = /^\d+$/;

	if (regex.test(txt))
		return true;
	else
		return false;
}



function resetLabels() {
	var labels = document.getElementsByTagName('label');
	var currLabel = '';

	for (var i = 0; i < labels.length; i++) {
		currLabel = labels[i];
		currLabel.style.color = '';
	}
}

function highlightLabel(label) {
	if (label.nodeName.toLowerCase() == 'label') {
		label.style.color = 'red';
	}
}



function getParamValue(parameter) {
	var sQuery = location.search.substring(1);
	var aParams = sQuery.split('&');
	var sParamName = '';
	var sParamValue = '';

	for (i = 0; i < aParams.length; i++) {
		sParamName = aParams[i].substring(0,aParams[i].indexOf('='));
		if (sParamName == parameter) {
			sParamValue = aParams[i].substring(aParams[i].indexOf('=')+1)
		}
	}

	if (sParamValue != '')
		return sParamValue;
	else
		return false;
}

// run all necessary functions on page load

function loadAll() {
   externalLinks();
}
window.onload = loadAll;
