var options;

var posX = 0;
var posY = 0;

var qeIbuttonX = '<div class="qeIbuttonX" id="qeIbuttonX" style="position: absolute; right:0px; top: 0px;"></div>';

function addCorners() {
	var cornerSizeTop = document.qeForm.qeCornerSizeTop.value;
	var cornerSizeBottom = document.qeForm.qeCornerSizeBottom.value;
	if (cornerSizeTop > 0) {
		$('div.qeCollectionLabel').corner('top '+cornerSizeTop+'px');
	}
	if (cornerSizeBottom > 0) {
		$('div.qeCollectionBody').corner('bottom '+cornerSizeBottom+'px');
	}
}

function fadeCheck() {
	if (isExisting(document.qeForm.qeFadeEffectON)) {
		if (document.qeForm.qeFadeEffectON.value == "Y") {
			return true;
		}
		else {
			return false;
		}
	}
	else {
		return true;
	}
}


// wait for the DOM to be loaded
$(document).ready(function() {

	$('body').append('<div class="qeIbuttonCollection" id="qeIbuttonCollection" style="display:none"><div class="qeIbuttonX" id="qeIbuttonX" style="display:none">&nbsp;</div></div>');

	if (fadeCheck()) {
		$("#qeTrips").fadeIn(1500);
	}

	options = {
		beforeSubmit:  preSubmitForm,
		success: validateForm  // post-submit callback
	};

	addCorners();
	// bind form using ajaxForm
	$('#qeForm').ajaxForm(options);
	$('#qeTrips').click(function(e) {
		posX = e.pageX-10;
		posY = e.pageY-10;
	});

	$("#qeAlertMSG").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				showAllSelectBoxs();
			}
		}
	});

	$("#qeConfirmMSG").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
				showAllSelectBoxs();
			},
			Cancel: function() {
				$(this).dialog('close');
				showAllSelectBoxs();
			}
		}
	});	

	$("#qeLoadingMSG").dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true
	});
});

function returnToQuote(stepNumber) {
	var stepID = stepNumber;
	var qeEvent = "getStep_"+stepNumber;
	var tripsID = document.qeForm.tripsID.value;
	var currentStep = document.qeForm.currentStep.value;

	if (fadeCheck()) {
		$("#qeTrips").fadeOut(2000);
	}
	document.location =	currentStep+"?tripsID="+tripsID+"&stepID="+stepID+"&qeEvent="+qeEvent;
}

function getEmailAQuoteForm() {
	document.qeForm.qeEvent.value = "redirectToEmailAQuoteForm";
	$('#qeForm').submit();
	document.qeForm.qeEvent.value = "validateForm";
}

function newQuote() {
	document.qeForm.qeEvent.value = "newQuote";
	$('#qeForm').submit();
	document.qeForm.qeEvent.value = "validateForm";
}

function storeQuote() {
	document.qeForm.qeEvent.value = "storeQuote";
	$('#qeForm').submit();
	document.qeForm.qeEvent.value = "validateForm";
}

function getPreviousStep(stepIDtoUse) {
	var previousStep;
	var qeEvent;
	var tripsID = document.qeForm.tripsID.value;
	var agentCode = document.qeForm.agentCode.value;
	var sourceCode = document.qeForm.sourceCode.value;
	var responseCode = document.qeForm.responseCode.value;

	var stepID = stepIDtoUse;
	
	if (stepID == undefined) {
		stepID = document.qeForm.stepID.value - 1;
	}

	qeEvent = "getStep_"+stepID;

	if (stepID == 1 || stepID == "CD1") {
		previousStep = document.qeForm.entryPointURL.value;
	}
	else {
		previousStep = document.qeForm.previousStep.value;
	}

	if (fadeCheck()) {
		$("#qeTrips").fadeOut(2000);
	}
	document.location =	previousStep+"?tripsID="+tripsID+"&stepID="+stepID+"&qeEvent="+qeEvent+"&agentCode="+agentCode+"&sourceCode="+sourceCode+"&responseCode="+responseCode;
}


function showAlertMSG(alertMSG) { 
	hideAllSelectBoxs();
	$("#qeAlertMSG").html(alertMSG);
	$("#qeAlertMSG").dialog('open');
};

function loadingScreen(loadingType) {
	if (loadingType == 'start') {
		$("#qeLoadingMSG").dialog('open');		
	}
// add an else if (loadingType == 'nextPage')
	else {
		$("#qeLoadingMSG").dialog('close');	
	}
}

function logThisUpdate() {
	var formAction = document.qeForm.action;
	if (formAction.search("/?")) {
		formAction = formAction+"&";
	}
	else {
		formAction = formAction+"?";	
	}
	formAction = formAction+"haveLoggedStep_"+document.qeForm.stepID.value+"=false";
	document.qeForm.action = formAction;
	return true;
}

function preSubmitForm() {
	loadingScreen("start");
	return true;
}

function validateForm(responseText, statusText)  {
	loadingScreen("end");
	var responseText = xmlTidy(responseText);
	var effectOptions = {};

	if (left(responseText,9) == 'redirect:') {
		if (fadeCheck()) {
			$("#qeTrips").fadeOut(2000);
		}
		document.location = responseText.substring(9);
	}
	else if (left(responseText,8) == 'refresh:') {
		location.reload(true);
	}
	else {
		showAlertMSG(responseText);
	}
	// need to rebind
	$('#qeForm').ajaxForm(options);
}
 
function xmlTidy(xmlText) {
	return trim(xmlText.replace(/&amp;/g,'&'));
}

function resetMultiSelect(objID){ 
	var selObject=document.getElementById(objID) 
	for (i=0;i<selObject.options.length;i++) { 
		selObject.options[i].selected=false; 
	}
}

function showIbutton(translationMode,iButtonName,iButtonValue) {
	var iButtonCall = document.qeForm.iButtonPath.value+"&iButton="+iButtonName+"_"+iButtonValue+"&translationMode="+translationMode;
	$.get(iButtonCall, function(data) {

		hideAllSelectBoxs();
		$('#qeIbuttonCollection').css("position",'absolute');
		$('#qeIbuttonCollection').css("text-align",'left');
		$('#qeIbuttonCollection').css("left",posX+'px');
		$('#qeIbuttonCollection').css("top",posY+'px');
		$('#qeIbuttonCollection').html(qeIbuttonX+''+data).show();

		var	cornerSizeTop = document.qeForm.qeCornerSizeTop.value;
		var cornerSizeBottom = document.qeForm.qeCornerSizeBottom.value;

		if (cornerSizeTop > 0) {
			$('div.qeIbuttonTitle').corner('top '+cornerSizeTop+'px');		
		}
		if (cornerSizeBottom > 0) {
			$('div.qeIbuttonText').corner('bottom '+cornerSizeBottom+'px');
		}
		$('#qeIbuttonX').click(function() {
			$('#qeIbuttonCollection').hide();
			showAllSelectBoxs();
		});
	});
}

function hideAllSelectBoxs() {
/*@cc_on
@if (@_jscript_version <= 5.6)
	var x = document.getElementsByTagName("select");
	
	for (i = 0; i < x.length; i++) {
	   x[i].style.display = "none";

	}
/*@end @*/
}

function showAllSelectBoxs() {
/*@cc_on
@if (@_jscript_version <= 5.6)
	var x = document.getElementsByTagName("select");
	
	for (i = 0; i < x.length; i++) {
	   x[i].style.display = "block";
	}
/*@end @*/
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function isExisting(obj){
  return typeof(eval(obj))!='undefined';
}

function lTrim(str) {
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	
	if (whitespace.indexOf(s.charAt(0)) != -1) {
		var j=0, i = s.length;
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
			j++;
			s = s.substring(j, i);
	}
	return s;
}


function rTrim(str) {
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
		var i = s.length - 1;
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
		i--;
		s = s.substring(0, i+1);
	}
		return s;
	}

	
function trim(str) {
	return rTrim(lTrim(str));
}