// VIEW GIG TOOLBAR -- Change Description Text
function changeDesc (text, id) {
	var box = document.getElementById('descText' + id);
	box.innerHTML = text;
	box.style.textAlign = "left";
}

// INSPECTOR -- Check Cookies
function checkCookies () {
	var tmpcookie = new Date();
	chkcookie = (tmpcookie.getTime() + '');
	document.cookie = "chkcookie=" + chkcookie + "; path=/";	
	if (document.cookie.indexOf(chkcookie,0) < 0) { return false; }
	else { return true; }
}

function validate_required(field,alerttxt)
{
	if (field.value==null||field.value=="")
	{
		alert(alerttxt);
		return false;
	}
	else {
		return true;
	}
}

function validateContact(thisform)
{
	with (thisform)
	{
		
		if (validate_required(email,"Please fill in your e-mail address.")==false)
		  {email.focus();return false} 
		
		if (isValidEmail(email.value)==false) 
		{ alert("Please enter a valid e-mail address"); email.focus();return false} 

		if (validate_required(message,"Please enter a message.")==false)
		{message.focus();return false}  

	}
}

function validate_form(thisform)
{
	with (thisform)
	{
		
		if (validate_required(fname,"Please fill in your first name.")==false)
		  {fname.focus();return false}
		  
		if (validate_required(lname,"Please fill in your last name.")==false)
		  {lname.focus();return false}
		  
		if (validate_required(email,"Please fill in your e-mail address.")==false)
		  {email.focus();return false} 
		
		if (isValidEmail(email.value)==false) 
		{ alert("Please enter a valid e-mail address"); email.focus();return false} 

		// Validate Passwords
		if(validatePwd(password1,password2,thisform)==false) { password2.focus(); return false;}
	
		if (validate_required(zip,"Please enter the zip code for the area you perform in.")==false)
		{zip.focus();return false}  

		if (validZip(zip.value)==false) {
			zip.focus(); return false;
		}
	}
}


function validateEmail(thisform)
{
	with (thisform)
	{

		if (validate_required(email,"You need to include your email address")==false)
		  {email.focus();return false} 
	}
}

function validatePwd(pw1,pw2,form) {
	var invalid = " "; // Invalid character is a space
	var minLength = 6; // Minimum length
	
	// check for a value in both fields.
	if (pw1.value == '' || pw2.value == '') {
		alert('Please enter your password twice.');
		return false;
	}
	// check for minimum length
	if (pw1.value.length < minLength) {
		alert('Your password must be at least ' + minLength + ' characters long. Try again.');
		return false;
	}
	
	// check for spaces
	if (pw1.value.indexOf(invalid) > -1) {
		alert("Sorry, spaces are not allowed.");
		return false;
	}
	
	else {
		if (pw1.value != pw2.value) {
			alert ("Your passwords do not match.  \nPlease make sure you've entered the same password in both fields.");
			return false;
		}
		else {
			return true;
		}
   	}
	
}


// Validate E-mail address
function isValidEmail(str) {

   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 
}

// Validate Zip Code
function validZip(zip)
{
	len=zip.length
	digits="0123456789"
	if(len != 5 && len != 10)
    {
		alert("Zip is not the correct length")
     	return false;
	}

    for(i=0; i<5; i++)
    {
		if (digits.indexOf(zip.charAt(i))<0)
    	{
			alert("First five digits of zip code must be numeric");
			return false;
    		break;
		}
    }
 
}

// Make Sure Box is Checked
function agreetoTerms(chk, name, number){
   
  // All Three Radio Buttons
  var one = document.getElementById('m1');
  var two = document.getElementById('m2');
  var three = document.getElementById('m3');
  
  if (one.checked == 1) {  name.value = name.value + " - 1 Month"; number.value = '1'; }
  else if (two.checked == 1) {  name.value = name.value + " - 3 Months"; number.value = '3'; }
  else if (three.checked == 1) {  name.value = name.value + " - 12 Months"; number.value = '12'; }
  else {
  	alert ("Please select a payment plan!");
	return false;
  }
  
  if (chk.checked != 1) {
    alert("You must agree to the terms of service before continuing.")
	return false;
  }

	
	
}


function toggle(box, current) {
	
	var changeMe=document.getElementById(box);
	
	if (changeMe.style.display == 'none') {
		try { changeMe.style.display='table'; } 
		catch(e) { changeMe.style.display = 'block'; }
		current.innerHTML = "&mdash;";
	}
	
	// First Round
	else if (!changeMe.style.display) {
		
		if (current) {
			changeMe.style.display = 'none';
			current.innerHTML = "+";
		}
		else {
			// We're on Add a Gig
			try { changeMe.style.display='table'; } 
			catch(e) { changeMe.style.display = 'block'; }
			current.innerHTML = "&mdash;";
		}
	}
	else {
		changeMe.style.display = 'none';
		current.innerHTML = "+";
		
	}
	
	if (current == 'off') {
		changeMe.style.display = 'none';
		current.innerHTML = "+";
	}
}




// ADD A GIG PAGE - STANDARD SERVICES
function addTotal (price, service) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue');

	var deposit = document.getElementById('deposit').value;
	deposit   = deposit.replace(/,/g,"");
	deposit   = deposit.replace('$',"");
	
	var currentvalue = subject1.innerHTML;
	var currentDue = subject2.innerHTML;
	currentvalue = currentvalue.replace(/,/g,"");
	currentDue   = currentDue.replace(/,/g,"");
	currentvalue = parseFloat(currentvalue);
	currentDue   = parseFloat(currentDue);

	var newvalue = 0;
	
	var discount = document.getElementById('discount').value;
	
	// If Percentage is Checked and a Value is There
	if (document.addagig.discountType[1].checked && discount) {
		
		// Undo the old percentage to get the original total
		var originalvalue = (currentvalue * 100)/ (100 - discount);
		
		
		// Add the number
		if (service.checked == true) {
			newvalue = originalvalue + price;
		}
		
		// Subtract the number
		else if (service.checked == false) {
			newvalue = originalvalue - price;
		}
		
		//  Find the new percentage and subtract it from the original
		var deduct = (discount * newvalue) / 100;
		
		newvalue = newvalue - deduct;

	}
	else {
	
		// Add the number
		if (service.checked == true) {
			newvalue = currentvalue + price;
		}
		
		// Subtract the number
		else if (service.checked == false) {
			newvalue = currentvalue - price;
		}
	
	}
	
	newvalue = newvalue.toFixed(2);
	subject1.innerHTML = newvalue;
	var totaldue = newvalue - deposit;
	totaldue = totaldue.toFixed(2);
	subject2.innerHTML = totaldue;
}



// ADD A GIG PAGE = QUANTIFIABLE SERVICES
function addQuant(field, price, todo) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue');
	var deposit = document.getElementById('deposit').value;
	deposit   = deposit.replace(/,/g,"");
	deposit   = deposit.replace('$',"");
	
	var currentvalue = subject1.innerHTML;
	var currentDue = subject2.innerHTML;
	currentvalue = currentvalue.replace(/,/g,"");
	currentDue   = currentDue.replace(/,/g,"");
	currentvalue = parseFloat(currentvalue);
	currentDue   = parseFloat(currentDue);
	
	var amount = parseFloat(field.value);
    var newvalue = 0;
	price = parseFloat(price);

	var cost = price * amount;
	
	if (amount > 0) {
		
		var discount = document.getElementById('discount').value;
	
		// If Percentage is Checked and a Value is There
		if (document.addagig.discountType[1].checked && discount) {	
			var addback = (discount * cost) / 100;
			
			if (todo == 'minus'){
				// Find the original value
				newvalue = (currentvalue + addback) - cost;
																 
			} else {
				newvalue = (currentvalue + cost) - addback;
			}			
		}
		else {
			if (todo == 'minus'){
				newvalue = currentvalue - cost;	
			} else {
				newvalue = currentvalue + cost;
			}
		}
		
		newvalue = newvalue.toFixed(2);
		subject1.innerHTML = newvalue;
		var totaldue = newvalue - deposit;
		totaldue = totaldue.toFixed(2);
		subject2.innerHTML = totaldue;
	}
}

// CALCULATE ADDED FEES
function assessFee (field, todo) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue');
	var deposit = document.getElementById('deposit').value;
	deposit   = deposit.replace(/,/g,"");
	deposit   = deposit.replace('$',"");
	
	var currentvalue = subject1.innerHTML;
	var currentDue = subject2.innerHTML;
	currentvalue = currentvalue.replace(/,/g,"");
	currentDue   = currentDue.replace(/,/g,"");
	currentvalue = parseFloat(currentvalue);
	currentDue   = parseFloat(currentDue);
	
	var amount = field.value;

    if (amount) {
		amount = amount.replace("$",'');
		amount = amount.replace(",",'');
		amount = parseFloat(amount);
		var newvalue = 0;

		if (todo == 'minus'){
			newvalue = currentvalue - amount;	
		} else {
			newvalue = currentvalue + amount;
		}
		
		newvalue = round(parseFloat(newvalue));
		newvalue = newvalue.toFixed(2);
		subject1.innerHTML = newvalue;
	
		var totaldue = newvalue - deposit;
		totaldue = totaldue.toFixed(2);
		subject2.innerHTML = totaldue;
	
	}
}

// CALCULATE DISCOUNTS
function assessDiscount (field, todo) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue'); 
	var deposit = document.getElementById('deposit').value;
	
	deposit   = deposit.replace(/,/g,"");
	deposit   = deposit.replace('$',"");
	
	var currentvalue = subject1.innerHTML;
	var currentDue = subject2.innerHTML;
	currentvalue = currentvalue.replace(/,/g,"");
	currentDue   = currentDue.replace(/,/g,"");
	currentvalue = parseFloat(currentvalue);
	if (currentvalue < 0) currentvalue = "0";
	currentDue   = parseFloat(currentDue);
	
	var discountType;
	if (document.addagig.discountType[0].checked) discountType = '$';
	else if (document.addagig.discountType[1].checked) discountType = '%';
	
	var newvalue = 0;
	var amount = field.value;
	
	if (amount > 0) {
		amount = amount.replace("$",'');
		amount = amount.replace(",",'');
		amount = amount.replace("%",'');
		amount = parseFloat(amount);
		
		var addedfee = document.getElementById('added').value;
		if (addedfee) {
				addedfee = addedfee.replace("$",'');
				addedfee = addedfee.replace(",",'');
				addedfee = addedfee.replace("%",'');
				addedfee = parseFloat(addedfee);
		}
		
		if (todo == 'plus'){
			// Add a Dollar Discount
			if (discountType == '$') {
				newvalue = currentvalue + amount;
			}
			// Add a Percentage Discount
			else if (discountType == '%'){
				newvalue = (((currentvalue - addedfee) * 100)/ (100 - amount)) + addedfee;
			}
		}
		else if (todo == 'minus') {
			// Subtract a Dollar Discount
			if (discountType == '$') {
				newvalue = currentvalue - amount;
			}
			// Subtract a percentage Discount
			else if (discountType == '%'){
				var newamount = (amount * (currentvalue - addedfee))/100;
				newvalue = (currentvalue - newamount);
			}
		}
		
		newvalue = round(parseFloat(newvalue));
		newvalue = newvalue.toFixed(2);
		subject1.innerHTML = newvalue;
		var totaldue = newvalue - deposit;
		totaldue = totaldue.toFixed(2);
		subject2.innerHTML = totaldue;
	}
}

// CALCULATE DEPOSITS
function applyDeposit (field, todo) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue');
	var currentvalue = parseFloat(subject1.innerHTML);
	if (currentvalue < 0) currentvalue = "0";
	var currentDue = parseFloat(subject2.innerHTML);
	var amount = field.value;
	var percent = document.getElementById('percent');
	percent.value = "";
	
	if (amount) {
		amount = amount.replace("$",'');
		amount = parseFloat(amount);
	
		if (todo == 'minus'){
			var newvalue = currentvalue - amount;	
		} else {
	
			var newvalue = currentDue + amount;
		}
	
		newvalue = round(parseFloat(newvalue));
		newvalue = newvalue.toFixed(2);
		subject2.innerHTML = newvalue;
	}
}

// Take a percent of the total for the deposit amount
function percentDeposit(field) {
	var percent = field.value;	
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue'); 
	var deposit = document.getElementById('deposit');
	var currentvalue = parseFloat(subject1.innerHTML);
	if (currentvalue < 0) currentvalue = "0";
	
	if (percent) {
		percent = percent.replace("$",'');
		percent = percent.replace("%",'');
		percent = parseFloat(percent);
		newvalue = (currentvalue * percent) / 100;
	}
	
	newvalue = round(parseFloat(newvalue));
	newvalue = newvalue.toFixed(2);
	deposit.value = newvalue;
	var totaldue = currentvalue - newvalue;
	totaldue = totaldue.toFixed(2);
	subject2.innerHTML = totaldue;
	percent = "";	
	
}

function changeDiscountType(type) {
	var subject1 = document.getElementById('totaldisplay');
	var subject2 = document.getElementById('totaldue'); 
	var deposit = document.getElementById('deposit').value;
	deposit   = deposit.replace(/,/g,"");
	deposit   = deposit.replace('$',"");
	
	var currentvalue = subject1.innerHTML;
	var currentDue = subject2.innerHTML;
	currentvalue = currentvalue.replace(/,/g,"");
	currentDue   = currentDue.replace(/,/g,"");
	currentvalue = parseFloat(currentvalue);
	if (currentvalue < 0) currentvalue = "0";
	currentDue   = parseFloat(currentDue);
	
	var discount = document.getElementById('discount').value;
	
	if (discount) { 
		discount = discount.replace("$",'');
		discount = discount.replace(",",'');
		discount = discount.replace("%",'');
		discount = parseFloat(discount);
		
		// Reverse a Dollar Discount
		if (type == '%') {
			newvalue = currentvalue + discount;
		}
		// Reverse a Percent Discount
		else if (type == '$') {
			var addedfee = document.getElementById('added').value;
			if (addedfee) {
				addedfee = addedfee.replace("$",'');
				addedfee = addedfee.replace(",",'');
				addedfee = addedfee.replace("%",'');
				addedfee = parseFloat(addedfee);
				newvalue = (((currentvalue -= addedfee) * 100) / (100-discount)) + addedfee;
			}
			
			else {
				newvalue = (currentvalue * 100)/ (100 - discount);
			}
		}
		
		newvalue = round(parseFloat(newvalue));
		document.getElementById('discount').value = "0";
		newvalue = newvalue.toFixed(2);
		subject1.innerHTML = newvalue;
		var totaldue = newvalue - deposit;
		totaldue = totaldue.toFixed(2);
		subject2.innerHTML = totaldue;
	
	}
}

function round(number,X) {
// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

// FOR THE LIST VIEW: PRINT
function win1(id) {
    window.open("view.php?print=1&gigid=" + id,"Gig","menubar=no,width=690,height=600,toolbar=no,scrollbars=yes");
}

// FOR THE ORDERS PAGE
function notifyMe (box,id) {
    var box = document.getElementById(box);
	var newhtml = "<p><b>Be notified when the ";
	
	if (id == 2) newhtml += "Deluxe";
	else if (id == 3) newhtml += "Premium";
	
	newhtml += " plan becomes available!</b><br /><br />Enter your e-mail address below and we&rsquo;ll send out an e-mail when this plan becomes available.</p>\n";
	
    newhtml += '<p id="notifyLink"><input type="text" name="email" class="field" id="email" value="" /><br><input type="image" src="_images/button-notify.gif" onclick="notifyLink('+ id +')" /></p>';
	
    box.innerHTML = newhtml;
}

function notifyLink(plan) {
    var box = document.getElementById('notifyLink');
	var newhtml = box.innerHTML
	var email = document.getElementById('email').value;
	newhtml = newhtml.replace("placebo",email);
	box.innerHTML = newhtml;
	window.location = "actions.php?submit=notify&plan=" + plan + "&email=" + email;
}

