var curProdID = -1;


function couponOverlayDisplay(i)
{
	curProdID = i;
	var dialogOpts  = {
				bgiframe: true,
				backgroundcolor: '#000',
				hide: 'true',
				overlay: {				
					backgroundColor: "#000",
					opacity: 0.5
					},	
				height: 800,
				width: 600,		
				modal: true
			};
		document.getElementById("clientnameMsg"+i).innerHTML="";		
		document.getElementById("emailMsg"+i).innerHTML="";
		
		document.getElementById("couponCreatorForm"+i).clientName.value="";
		document.getElementById("couponCreatorForm"+i).clientEmail.value="";
		document.getElementById("couponCreatorForm"+i).comments.value="";
		$("#coupon-creator-form"+i).show();
		$("#coupon-creator-form-response"+i).hide();
		$("#coupon-creator-form-response"+i).html('Sending...');	
		$(function() {
			$("#couponOverlaydialog" + i).dialog(dialogOpts);
			document.getElementById("couponOverlaydialog" + i).style.display= "block";			
		});	

}
function couponOverlayClose(i)
{
	
	$("#coupon-creator-form"+i).show();
	$("#coupon-creator-form-response"+i).hide();
	
	$(function() {
			$("#couponOverlaydialog" + i).dialog("close");		
		});
	curProdID = -1;
}

function couponCreatorDetailsTextOverlay()
{
	var dialogOpts  = {
				bgiframe: true,
				backgroundcolor: '#000',
				hide: 'true',
				overlay: {				
					backgroundColor: "#000",
					opacity: 0.5
					},	
				height: 375,
				width: 600,		
				modal: true
			};
	
		$(function() {
			$("#couponOverlaydialog-1").dialog(dialogOpts);
			document.getElementById("couponOverlaydialog-1").style.display= "block";			
		});	
}

function couponCreatorDetailsTextOverlayClose()
{
	$(function() {
			$("#couponOverlaydialog-1").dialog("close");		
		});
}

function validateForm(i){
	
	var clientname = document.getElementById("couponCreatorForm"+i).clientName.value;
	var email = document.getElementById("couponCreatorForm"+i).clientEmail.value;
	var comments = document.getElementById("couponCreatorForm"+i).comments.value;
	var percentOff = document.getElementById("couponCreatorForm"+i).percentOff.value;
	var developerLastName = document.getElementById("couponCreatorForm"+i).developerLastName.value;
	var developerFirstName = document.getElementById("couponCreatorForm"+i).developerFirstName.value; 
	var developerEmail = document.getElementById("couponCreatorForm"+i).developerEmail.value;
	var personOrgId = document.getElementById("couponCreatorForm"+i).personOrgId.value;
	var validForm = true;
	
	
	clientname = clientname.replace(/(<([^>]+)>)/ig,"");
	email = email.replace(/(<([^>]+)>)/ig,"");	
	comments = comments.replace(/(<([^>]+)>)/ig,"");	
	
	document.getElementById("clientnameMsg"+i).innerHTML="";
	document.getElementById("emailMsg"+i).innerHTML="";
	
	if(clientname!= null && clientname.length== 0){
		document.getElementById("clientnameMsg"+i).innerHTML="*client name is required";
		validForm = false;
	}
	if(checkEmailValid(document.getElementById("couponCreatorForm"+i).clientEmail) == false)
	{
		document.getElementById("emailMsg"+i).innerHTML="*enter a valid email address";
		validForm = false;
	}
	//call to action to complete setup
	if(validForm)
	{
		//form is validated complete ajax call to send message
		//alert('valid form');
		document.getElementById("couponCreatorForm"+i).clientName.value = clientname;
		document.getElementById("couponCreatorForm"+i).comments.value = comments;
		submitCouponCode(clientname, email, comments, i, percentOff, developerLastName, developerFirstName, developerEmail, personOrgId);
	}
	else
	{
		return validForm;
	}
	
}

function checkEmailValidation(formInput) {

    if (typeof(formInput) != "object") {
         return(false);
    }

    var message;

    if (stringEmpty(formInput.value)) {
        return false;
    } else if (noAtSign( formInput.value )) {
        return false;
    } else if (nothingBeforeAt(formInput.value)) {
        return false;
    } else if (noLeftBracket(formInput.value)) {
        return false;
    } else if (noRightBracket(formInput.value)) {
        return false;
    } else if (noValidPeriod(formInput.value)) {
        return false;
    } else if (noValidSuffix(formInput.value)) {
        return false;
    } else {
        return true;
    }

    var objType = typeof(formInput.focus);
    if (objType == "object" || objType == "function") {
         formInput.focus();
    }

    return (false);
}

function submitCouponCode(clientName, clientEmail, comments, i, percentOff, developerLastName, developerFirstName, developerEmail, personOrgId) {
	$(function() {
			$("#couponOverlaydialog" + i).dialog("close");		
		});
	$("#coupon-creator-form"+i).hide();
	$("#coupon-creator-form-response"+i).show();
	
	var dialogOpts  = {
				bgiframe: true,
				backgroundcolor: '#000',
				hide: 'true',
				overlay: {				
					backgroundColor: "#000",
					opacity: 0.5
					},	
				height: 400,
				width: 600,		
				modal: true
			};
	$(function() {
			$("#couponOverlaydialog" + i).dialog(dialogOpts);
			document.getElementById("couponOverlaydialog" + i).style.display= "block";			
		});	
	page = "offers";
	url = "/CouponGenerator.do?method=execute&clientName="+escape(clientName)+"&clientEmail="+escape(clientEmail)+"&comments="+escape(comments)+"&productID="+i+"&percentOff="+percentOff+"&developerLastName="+escape(developerLastName)+"&developerFirstName="+escape(developerFirstName)+"&developerEmail="+escape(developerEmail)+"&personOrgId="+personOrgId;
	//alert(url);
	req = newXMLHttpRequest();
	req.open("GET", url, true);
	req.onreadystatechange = processCouponResponseXml;
	req.send(null);
	//document.location.hash = "#0";
}

function processCouponResponseXml() {
	
	if((req.readyState == 4)||(req.readyState == "complete"))
	{
		var myresponse = req.responseText;
		if(myresponse.match("true"))
		{
			$("#coupon-creator-form-response"+curProdID).html('Thank you for passing the deal on.<br/><h2>Your coupon has been sent successfully!</h2><br/>Be sure to pass the deal on to other clients who need them.<br/><a href="javascript: void(0)" onclick="couponOverlayClose('+curProdID+');">Close</a>');
		}
		else
		{
			$("#coupon-creator-form-response"+curProdID).html('There was an error sending your coupon, please try again and if you continue to have issues please contact a site administrator<br/><a href="javascript: void(0)" onclick="couponOverlayClose('+curProdID+');">Close</a>');
		}
		
	}
	//var responseValue = myresponse.getElementsByTagName("response")[0].firstChild.nodeValue;
	//alert(responseValue);
}

function checkEmailValid (formField) {
    if ( checkEmailValidation ( formField ) == true ) {
        return true;
    }

    return ( false );
}

function stringEmpty (formField) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( formField.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign (formField) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (formField.indexOf ('@', 0) == -1) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt (formField) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( formField.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (formField.indexOf ( '.', 0 ) == -1)
        return ( true );

    return ( false );
}

function noValidSuffix(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return ( false );
    }

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = formField.length;
    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}
	
