var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers && window.innerWidth ? true : false);
var items;
var re_email = /^(.)+\@(.)+\.(.)+$/;
var re_url = /^(http:\/\/)*(.+\.)+\w+$/;
var re_zip = /^((\w\d\w)\s*(\d\w\d))|\d{5}$/;
var re_phone = /^\(*(\d{3})\)*\s*-*\s*(\d{3})\s*-*\s*(\d{4})\s*(.*)$/;


/*----------------------------------------------------------------------  GENERAL  ----------------------------------------------------------------------*/
function getElement(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function swapImg(id,img,src) {
	f = getElement(id)
	if (f.value == '0') {
		img.src = src+'_on.gif';
		f.value = '1';
	} else {
		img.src = src+'_off.gif';
		f.value = '0';
	}
}


/**
* Job related functions
*/
function countJobs() {
	items = 0;
	for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name.match(/^q(\d+)_DisplayOrder/)) {
			items++;
		}
	}
}

function swapJob(id,dir) {

	countJobs();

	var DisplayOrder = parseInt(getElement(id+'_DisplayOrder').value);

	var New = getElement(id+'_New').value;
	var TitleFR = getElement(id+'_TitleFR').value;
	var TitleEN = getElement(id+'_TitleEN').value;
	var DescriptionFR = getElement(id+'_DescriptionFR').value;
	var DescriptionEN = getElement(id+'_DescriptionEN').value;
	var Email = getElement(id+'_Email').value;
	var Del = getElement(id+'_Del').value;
	var btnDelete = getElement(id+'_btnDelete').src;

	if (dir == 'down' && DisplayOrder < (items-1)) {

		getElement(id+'_New').value = getElement('q'+(DisplayOrder+1)+'_New').value;
		getElement(id+'_TitleFR').value = getElement('q'+(DisplayOrder+1)+'_TitleFR').value;
		getElement(id+'_TitleEN').value = getElement('q'+(DisplayOrder+1)+'_TitleEN').value;
		getElement(id+'_DescriptionFR').value = getElement('q'+(DisplayOrder+1)+'_DescriptionFR').value;
		getElement(id+'_DescriptionEN').value = getElement('q'+(DisplayOrder+1)+'_DescriptionEN').value;
		getElement(id+'_Email').value = getElement('q'+(DisplayOrder+1)+'_Email').value;
		getElement(id+'_Del').value = getElement('q'+(DisplayOrder+1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q'+(DisplayOrder+1)+'_btnDelete').src;

		getElement('q'+(DisplayOrder+1)+'_New').value = New;
		getElement('q'+(DisplayOrder+1)+'_TitleFR').value = TitleFR;
		getElement('q'+(DisplayOrder+1)+'_TitleEN').value = TitleEN;
		getElement('q'+(DisplayOrder+1)+'_DescriptionFR').value = DescriptionFR;
		getElement('q'+(DisplayOrder+1)+'_DescriptionEN').value = DescriptionEN;
		getElement('q'+(DisplayOrder+1)+'_Email').value = Email;
		getElement('q'+(DisplayOrder+1)+'_Del').value = Del;
		getElement('q'+(DisplayOrder+1)+'_btnDelete').src = btnDelete;

	} else if (dir == 'up' && DisplayOrder > 0) {

		getElement(id+'_New').value = getElement('q'+(DisplayOrder-1)+'_New').value;
		getElement(id+'_TitleFR').value = getElement('q'+(DisplayOrder-1)+'_TitleFR').value;
		getElement(id+'_TitleEN').value = getElement('q'+(DisplayOrder-1)+'_TitleEN').value;
		getElement(id+'_DescriptionFR').value = getElement('q'+(DisplayOrder-1)+'_DescriptionFR').value;
		getElement(id+'_DescriptionEN').value = getElement('q'+(DisplayOrder-1)+'_DescriptionEN').value;
		getElement(id+'_Email').value = getElement('q'+(DisplayOrder-1)+'_Email').value;
		getElement(id+'_Del').value = getElement('q'+(DisplayOrder-1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q'+(DisplayOrder-1)+'_btnDelete').src;

		getElement('q'+(DisplayOrder-1)+'_New').value = New;
		getElement('q'+(DisplayOrder-1)+'_TitleFR').value = TitleFR;
		getElement('q'+(DisplayOrder-1)+'_TitleEN').value = TitleEN;
		getElement('q'+(DisplayOrder-1)+'_DescriptionFR').value = DescriptionFR;
		getElement('q'+(DisplayOrder-1)+'_DescriptionEN').value = DescriptionEN;
		getElement('q'+(DisplayOrder-1)+'_Email').value = Email;
		getElement('q'+(DisplayOrder-1)+'_Del').value = Del;
		getElement('q'+(DisplayOrder-1)+'_btnDelete').src = btnDelete;

	}

}


/**
* Contact Us related functions
*/
function countDepartment() {
	items = 0;
	for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name.match(/^q(\d+)_DisplayOrder/)) {
			items++;
		}
	}
}

function swapDepartment(id,dir) {

	countDepartment();

	var DisplayOrder = parseInt(getElement(id+'_DisplayOrder').value);

	var New = getElement(id+'_New').value;
	var UID = getElement(id+'_UID').value;
	var NameFR = getElement(id+'_NameFR').value;
	var NameEN = getElement(id+'_NameEN').value;
	var Del = getElement(id+'_Del').value;
	var btnDelete = getElement(id+'_btnDelete').src;

	if (dir == 'down' && DisplayOrder < (items-1)) {

		getElement(id+'_New').value = getElement('q'+(DisplayOrder+1)+'_New').value;
		getElement(id+'_UID').value = getElement('q'+(DisplayOrder+1)+'_UID').value;
		getElement(id+'_NameFR').value = getElement('q'+(DisplayOrder+1)+'_NameFR').value;
		getElement(id+'_NameEN').value = getElement('q'+(DisplayOrder+1)+'_NameEN').value;
		getElement(id+'_Del').value = getElement('q'+(DisplayOrder+1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q'+(DisplayOrder+1)+'_btnDelete').src;

		getElement('q'+(DisplayOrder+1)+'_New').value = New;
		getElement('q'+(DisplayOrder+1)+'_UID').value = UID;
		getElement('q'+(DisplayOrder+1)+'_NameFR').value = NameFR;
		getElement('q'+(DisplayOrder+1)+'_NameEN').value = NameEN;
		getElement('q'+(DisplayOrder+1)+'_Del').value = Del;
		getElement('q'+(DisplayOrder+1)+'_btnDelete').src = btnDelete;

	} else if (dir == 'up' && DisplayOrder > 0) {

		getElement(id+'_New').value = getElement('q'+(DisplayOrder-1)+'_New').value;
		getElement(id+'_UID').value = getElement('q'+(DisplayOrder-1)+'_UID').value;
		getElement(id+'_NameFR').value = getElement('q'+(DisplayOrder-1)+'_NameFR').value;
		getElement(id+'_NameEN').value = getElement('q'+(DisplayOrder-1)+'_NameEN').value;
		getElement(id+'_Del').value = getElement('q'+(DisplayOrder-1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q'+(DisplayOrder-1)+'_btnDelete').src;

		getElement('q'+(DisplayOrder-1)+'_New').value = New;
		getElement('q'+(DisplayOrder-1)+'_UID').value = UID;
		getElement('q'+(DisplayOrder-1)+'_NameFR').value = NameFR;
		getElement('q'+(DisplayOrder-1)+'_NameEN').value = NameEN;
		getElement('q'+(DisplayOrder-1)+'_Del').value = Del;
		getElement('q'+(DisplayOrder-1)+'_btnDelete').src = btnDelete;

	}

}


function countTitles(department) {
	items = 0;
	for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (m = document.forms[0].elements[i].name.match(/^q_(\w+)_(\d+)_DisplayOrder$/)) {
			if (m[1] == department){
				items++;
			}
		}
	}
}

function swapTitle(department,entry,dir) {

	var id = 'q_'+department+'_'+entry;

	countTitles(department);

	var DisplayOrder = parseInt(getElement(id+'_DisplayOrder').value);

	var New = getElement(id+'_New').value;
	var UID = getElement(id+'_UID').value;
	var NameFR = getElement(id+'_NameFR').value;
	var NameEN = getElement(id+'_NameEN').value;
	var Del = getElement(id+'_Del').value;
	var btnDelete = getElement(id+'_btnDelete').src;

	if (dir == 'down' && DisplayOrder < (items-1)) {

		getElement(id+'_New').value = getElement('q_'+department+'_'+(DisplayOrder+1)+'_New').value;
		getElement(id+'_UID').value = getElement('q_'+department+'_'+(DisplayOrder+1)+'_UID').value;
		getElement(id+'_NameFR').value = getElement('q_'+department+'_'+(DisplayOrder+1)+'_NameFR').value;
		getElement(id+'_NameEN').value = getElement('q_'+department+'_'+(DisplayOrder+1)+'_NameEN').value;
		getElement(id+'_Del').value = getElement('q_'+department+'_'+(DisplayOrder+1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q_'+department+'_'+(DisplayOrder+1)+'_btnDelete').src;

		getElement('q_'+department+'_'+(DisplayOrder+1)+'_New').value = New;
		getElement('q_'+department+'_'+(DisplayOrder+1)+'_UID').value = UID;
		getElement('q_'+department+'_'+(DisplayOrder+1)+'_NameFR').value = NameFR;
		getElement('q_'+department+'_'+(DisplayOrder+1)+'_NameEN').value = NameEN;
		getElement('q_'+department+'_'+(DisplayOrder+1)+'_Del').value = Del;
		getElement('q_'+department+'_'+(DisplayOrder+1)+'_btnDelete').src = btnDelete;

	} else if (dir == 'up' && DisplayOrder > 0) {

		getElement(id+'_New').value = getElement('q_'+department+'_'+(DisplayOrder-1)+'_New').value;
		getElement(id+'_UID').value = getElement('q_'+department+'_'+(DisplayOrder-1)+'_UID').value;
		getElement(id+'_NameFR').value = getElement('q_'+department+'_'+(DisplayOrder-1)+'_NameFR').value;
		getElement(id+'_NameEN').value = getElement('q_'+department+'_'+(DisplayOrder-1)+'_NameEN').value;
		getElement(id+'_Del').value = getElement('q_'+department+'_'+(DisplayOrder-1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q_'+department+'_'+(DisplayOrder-1)+'_btnDelete').src;

		getElement('q_'+department+'_'+(DisplayOrder-1)+'_New').value = New;
		getElement('q_'+department+'_'+(DisplayOrder-1)+'_UID').value = UID;
		getElement('q_'+department+'_'+(DisplayOrder-1)+'_NameFR').value = NameFR;
		getElement('q_'+department+'_'+(DisplayOrder-1)+'_NameEN').value = NameEN;
		getElement('q_'+department+'_'+(DisplayOrder-1)+'_Del').value = Del;
		getElement('q_'+department+'_'+(DisplayOrder-1)+'_btnDelete').src = btnDelete;

	}

}


function countContacts(poste) {
	items = 0;
	for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (m = document.forms[0].elements[i].name.match(/^q_(\w+)_(\d+)_DisplayOrder$/)) {
			if (m[1] == poste){
				items++;
			}
		}
	}
}

function swapContact(poste,entry,dir) {

	var id = 'q_'+poste+'_'+entry;

	countContacts(poste);

	var DisplayOrder = parseInt(getElement(id+'_DisplayOrder').value);

	var New = getElement(id+'_New').value;
	var Name = getElement(id+'_Name').value;
	var Email = getElement(id+'_Email').value;
	var Del = getElement(id+'_Del').value;
	var btnDelete = getElement(id+'_btnDelete').src;

	if (dir == 'down' && DisplayOrder < (items-1)) {

		getElement(id+'_New').value = getElement('q_'+poste+'_'+(DisplayOrder+1)+'_New').value;
		getElement(id+'_Name').value = getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Name').value;
		getElement(id+'_Email').value = getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Email').value;
		getElement(id+'_Del').value = getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q_'+poste+'_'+(DisplayOrder+1)+'_btnDelete').src;

		getElement('q_'+poste+'_'+(DisplayOrder+1)+'_New').value = New;
		getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Name').value = Name;
		getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Email').value = Email;
		getElement('q_'+poste+'_'+(DisplayOrder+1)+'_Del').value = Del;
		getElement('q_'+poste+'_'+(DisplayOrder+1)+'_btnDelete').src = btnDelete;

	} else if (dir == 'up' && DisplayOrder > 0) {

		getElement(id+'_New').value = getElement('q_'+poste+'_'+(DisplayOrder-1)+'_New').value;
		getElement(id+'_Name').value = getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Name').value;
		getElement(id+'_Email').value = getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Email').value;
		getElement(id+'_Del').value = getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Del').value;
		getElement(id+'_btnDelete').src = getElement('q_'+poste+'_'+(DisplayOrder-1)+'_btnDelete').src;

		getElement('q_'+poste+'_'+(DisplayOrder-1)+'_New').value = New;
		getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Name').value = Name;
		getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Email').value = Email;
		getElement('q_'+poste+'_'+(DisplayOrder-1)+'_Del').value = Del;
		getElement('q_'+poste+'_'+(DisplayOrder-1)+'_btnDelete').src = btnDelete;

	}

}