// JavaScript Document
count=-1;
end=false;

function getDev(what_link)
{
	if(timerID) clearInterval(timerID);
	    timerID = setInterval(function(){updateTimer(what_link);},40);	
	
}

function updateTimer(what_link)
{
	
	//getting the image and caption elements
	var world = document.getElementById("world");
	if(world != null)
	{
		//opacity variable for IE only and FF
		var opac = "alpha(opacity=0)";
		var FFopac = 0;
		
	
		//handling IE
		if(navigator.appName == "Microsoft Internet Explorer")
		{
			num += 5;
				//diminishing image opacity
			if(num<101) 
				opac = "alpha(opacity=" + (100-num) + ")";
		
			if(num>100)
			{
				clearInterval(timerID); //stopping the current time
				timer2(what_link);
			}
			world.style.filter = opac;
		}
		//handling firefox
		else if(navigator.appName == "Netscape")
		{
			num += .05;
			if(num < 1)
				opac = 1-num;
			
			if(num > 1)
			{
				clearInterval(timerID);
				timer2(what_link);
			}
			world.style.MozOpacity = opac;
		}
		//handling others (opera)
		else
		{
			num += .05;
			if(num < 1)
				FFopac = 1-num;
			
			if(num > 1)
			{
				clearInterval(timerID);
				timer2();
			}
				
			world.style.opacity = opac;	
		}
	}
	else
		devtimer2(what_link)
}

function devtimer2(what_link)
{
	/*if(navigator.appName=="Microsoft Internet Explorer")
		document.getElementById('development').innerHTML="<br />";
	else*/
		document.getElementById('development').innerHTML="";
	
	count=0;
	
	if(timerID) clearInterval(timerID);
	
	timerID = setInterval(function(){updateDevTimer2(what_link);},30);	
	
}

function updateDevTimer2(what_link)
{
	writeup = "";
	if(end)
	{
		end = false;
		count = -1;
		clearInterval(timerID);
	}
	else
		document.getElementById('development').innerHTML += getLine(what_link);
		
	count++;
	
	
}

function getLine(what_link)
{
	switch(what_link)
	{
		case 0:
			string = "<center><h2>Decision &amp; Planning</h2></center>@";
			string += "<strong><i>The Quote: </i></strong><br />~";
			string += "An important point to consider when presenting your request for a price quote is, @";
			string += "what you want to accomplish with your website? <br /><br />@";
			string += "What is your target audience?  It is important to consider what types of people will @";
			string += "be visiting your site and to design accordingly for them.<br /><br />@";
			string += "What kind of features would you like?  Features like scheduling calendars, galleries, @";
			string += "and interactive content appeal to people and can cause them to have a favorable @";
			string += "assessment of what you are presenting.<br /><br />@";
			string += "What kind of information do you want to display and how you want to display it? @";
			string += "People like to know what it is you are \"pitching.\" But at the same time, they do not @"; 
			string += "usually want to be beat over the head with extra information not relevant to their @";
			string += "query.  The organization, the design, and the content are all important things to @";
			string += "consider. <br /><br />@";
			string += "For example, suppose one of the things you are intending to do for your site is to @";
			string += "display pictures of completed jobs/products/people/etc so that potential clients can @";
			string += "see past work. You will you want to consider how it is presented - all on one page @";
			string += "or in separate galleries that people who visit your site can browse through to find @";
			string += "what they are interested in looking at?  All in one page is simpler (and thus will be @";
			string += "less expensive) but it may make the interested party become less interested if they @";
			string += "have to look through a lot of things they are not interested in to find the things they @";
			string += "are. <br /><br />@";
			string += "<span onclick='getDev(1);' onmouseover='this.style.color=\"#CCCCCC\"' ";
			string += "onmouseout='this.style.color=\"#47327A\"'><i> more...</i></span>";
			return returnLine(string);
			break;
		case 1:			
			string = "<center><h2> Decision &amp; Planning </h2></center>@";
			string += "<strong><i>The Needs Assessment: </i></strong><br />@";
			string += "The information you supply allows me to assess your expectations and needs @";
			string += "regarding your website. When asking for a quote, be specific and detailed. The @";
			string += "better you describe what you are looking for, the more expedient the @";
			string += "quote process becomes.<br /><br />@";
			string += "If I have questions or concerns about your project that will directly affect the quote @";
			string += "and/or feasibility of your request, I will express them to you before quoting a price. @";
			string += "After all, it is in everyone's best interest to have an accurate assessment of needs @";
			string += "and cost.<br /><br />@";
			string += "If I find your needs can be benefited by my services and skills, I will then provide a @";
			string += "quote for your site design. <br /><br /><br />@";
			string += "<strong><i>The Contract:</i></strong><br />@";
			string += "After an agreement has been struck on details, timeline, and price, I will prepare a @";
			string += "development contract for you to review, sign, and return with your deposit. All @";
			string += "projects, no matter the size, will be under contract.  This will protect your interests @";
			string += "as well as mine and serve as a professional agreement for services to be rendered.<br /><br />@";
			string += "Signing it will constitute a binding agreement on both ends. <br /><br />@";
			string += " <span onclick='getDev(2);' onmouseover='this.style.color=\"#CCCCCC\"' ";
			string += "onmouseout='this.style.color=\"#47327A\"'><i> more...</i></span>";
			return returnLine(string)
			break;
		case 2:
			string = "<center><h2> Decision &amp; Planning </h2><center>@";
			string += "<strong><i>Deposit:</i></strong><br />@";
			string += "The signed contract and a 50% deposit (plus cost of domain name registration, if @";
			string += "applicable) is required before any project will be started.  The remainder of your @";
			string += "balance will be due upon project completion. After receiving your 50% deposit and @";
			string += "signed contract, I will provide a copy of the contract, a receipt for your deposit, @";
			string += "and a start date for your project.  Obviously, all projects are scheduled on a \"first @";
			string += "come, first served” basis. <br /><br /><br />@";
			string += "<strong><i>Miscellaneous:</i></strong><br />@";
            string += "Website modification and enhancement are available services as well and the quote @";
			string += "for these services will vary with degree of difficulty and time required to complete. @";
			string += "As will a full build, please include a detailed description of what you are interested @";
			string += "in doing with your quote request.<br /><br />@";
			string += "If needed, I can register a domain name (if available) and procure hosting for you.  @";
			string += "(Requires a 2 year contract payable in one payment of $200.00 - domain name included) <br /><br />@";
            string += "*The domain name and hosting account will be registered in your name with your @";
			string += "information and you will be the only registrant contact on file.<br /><br />@";
			string += "<span style='font-size:11px;'>* If your site is not expected to be a high volume site ";
			string += "(as in 1000's of hits a day) I can host from one of my own hosting accounts for a reduced ";
			string += "rate. This rate will be negotiated during the quoting process and the domain name will ";
			string += "still be registered with your information only and you will still be the only registrant ";
			string += "contact on file. I will then assume webmaster responsibilities for which you will pay me a ";
			string += "monthly fee which will be included in your price quote and as part of your contract.</span>";
			return returnLine(string)
			break;
		case 3:
			string = "<center><h2> Graphical Representation </h2></center>@";
			string += "<strong><i>Receipt of Deposit &amp; Contract:</i></strong><br />@";
			string += "Upon receipt of your deposit and contract, I will email you to confirm its reception @";
			string += "and provide you with any contact information required along with a list of any times @";
			string += "which will be needed from you over the course of the site development.<br /><br />@";
            string += "<strong><i>Links &amp; Materials:</i></strong><br />@";
			string += "I will need to know what kind of links your site requires (i.e. home, about us, @";
			string += "products, services, etc.) as well as any text (mission statement, about us narrative, @";
			string += "etc.) and/or product information to be included.  Additionally, things such as the @";
			string += "company logo, photos, and whatever else is desired should be supplied.  Ideally, this @";
			string += "information and/or materials will be supplied prior to the start date of the @";
			string += "project.<br /><br />@";
			string += "<strong><i>References &amp; Preferences:</i></strong><br />@";
			string += "If you would like us to refer to other websites for guiding the site design, or have @";
			string += "preferences regarding colors, style, fonts, etc. please offer that information as well.<br /><br />@";
			string += "Work will begin on the agreed upon start date and periodic updates will be @";
			string += "provided on the websites developmental process.<br /><br />@";
			string += " <span onclick='getDev(4);' onmouseover='this.style.color=\"#CCCCCC\"' ";
			string += "onmouseout='this.style.color=\"#47327A\"'><i> more...</i></span>";        
			return returnLine(string)
			break;
		case 4:
			string = "<center><h2> Graphical Representation </h2></center>@";
			string += "<strong><i>Mock Up</i></strong><br />@";
			string += "Before actual coding begins, I will provide 2-3 possible home pages for your @";
			string += "project based on what was expressed during the quoting process which will be @";
			string += "presented to you roughly within one week of the project's start date.  From these @";
			string += "you will be afforded the opportunity to select your preferred design and offer input @";
			string += "and or opinions on what will be the final design.<br /><br />@";
            string += "<strong><i>Images:</i></strong><br />@";
			string += "Certain stock images and photography will be provided by me; however, should @";
			string += "you require additional or specialized photography/graphics not in my possession, an @";
			string += "additional research, requisition, and acquisition fee may be applied.  Such fees @";
			string += "will be discussed with you before actions are taken to incur them.";
			return returnLine(string)
			break;
		case 5:
			string = "<center><h2> Coding </h2></center>@";
			string += "<strong><i>Programming:</i></strong><br />@";
			string += "All development of special features and interactivity on the website will be tested before @"
			string += "being implemented.<br /><br />@";
			string += "<strong><i>Pages:</i></strong><br />@";
			string += "The agreed upon number of pages will be created for your website.  Should you @";
			string += "require additional pages or more functionality within the pages than was first agreed @";
			string += "upon, an assessment of whether this will increase the price quote will be made and @";
			string += "if such is determined, presented to you prior to implementation.<br /><br />@";
			string += "<strong><i>Site Map:</i></strong><br />@";
			string += "A site map with quick access links to all pages on your website will be provided at @";
			string += "your request free of charge.<br /><br />@";
			string += "<strong><i>Site Content:</i></strong><br />@";
			string += "Any and all site content that you provide me will be implemented.  Should you @";
			string += "require me to create content, such will be included in the site quote and be @";
			string += "submitted for your approval before implementation.<br /><br />@";
			string += " <span onclick='getDev(6);' onmouseover='this.style.color=\"#CCCCCC\"' ";
			string += "onmouseout='this.style.color=\"#47327A\"'><i> more...</i></span>"; 
			return returnLine(string);
			break;
		case 6:
			string = "<center><h2> Coding </h2></center>@";
			string += "<strong><i>CSS Styling:</i></strong><br />@";
			string += "CSS will be used to define the look and feel of the site content.  In-line styling will @";
			string += "also be used if needed for specific cases of format.<br /><br />@";
			string += "<strong><i>Favicon:</i></strong><br />@";
			string += "A favicon is a small image that displays in the address bar and on the favorites @";
			string += "menu when someone bookmarks or adds your website to their \"Favorites List\". @";
			string += "Creation of a favicon can be included with your website development for a small @";
			string += "charge included in the quote.<br /><br />@";
			string += "<strong><i>Contact Forms:</i></strong><br />@";
			string += "A contact form is a page that allows the potential customer/client/etc. to provide @";
			string += "feedback, comments, concerns, quests, etc. without needing to open their email @";
			string += "client or log into their webmail.  All sites are encouraged to include these in their site @";
			string += "design specifications.";
			return returnLine(string);
			break;
		case 7:
			string = "<center><h2> Testing </h2></center>@";
            string += "<strong><i>Browser Compatibility Testing:</i></strong><br />@";
			string += "Your website is tested using both I.E. and Firefox (which encompasses 95% of @";
			string += "browser use) to insure that the site renders as desired with the full functionality @";
			string += "intended. <br /><br />@";
			string += "<strong><i>Grammar & Spell Check:</i></strong><br />@";
			string += "Before the website becomes \"live,\" a grammar and spell check is performed to insure @";
			string += "no mistakes and a professional presentation.<br /><br />@";
			string += "<strong><i>Dead Link Check:</i></strong><br />@";
			string += "An exhaustive check for misdirected links and missing files is performed just prior @";
			string += "to, as well as after, the website goes \"live.\" <br /><br />@";
			string += "<strong><i>Forms & Features:</i></strong><br />@";
			string += "All email contact forms and/or programming features included in your website are @";
			string += "tested to confirm they are functioning as required.";
			return returnLine(string);
			break;
		case 8:
			string = "<center><h2> Going \"Live\" </h2></center>@";
			string += "<strong><i>Payment in Full:</i></strong><br />@";
			string += "The final payment is always due before the website is taken live onto your domain. @";
			string += "When final payment is received you will be emailed with a receipt reflecting @";
			string += "payment in full.<br /><br />@";
			string += "<strong><i>Launch:</i></strong><br />@";
			string += "All files and scripts are uploaded to your domain.<br /><br />@";
			string += "<strong><i>Error Testing:</i></strong><br />@";
			string += "All forms, features, and functions are retested to ensure the same experience as @";
			string += "documented initial testing.<br /><br />@";
			string += "<strong><i>Backup Files:</i></strong><br />@";
			string += "All files will be burned to CD and presented to you upon successful launch.<br /><br />@";
			string += "<strong><i>Instructions & Documentation:</i></strong><br />@";
			string += "If necessary, any documentation needed to use the administrative functions of the @";
			string += "website will be provided.";
			return returnLine(string);
			break;
		case 9:
			string = "<center><h2> Feeling Out </h2></center>@";
			string += "Any minor adjustments to the site will be provided at no additional charge for up to @";
			string += "a week after launch. What constitutes as minor will be determined by me but @";
			string += "generally will be anything that doesn't require massive reworking and/or additions - @";
			string += "things such as add/changing text, photos, ect.  Major revision or requests after the @";
			string += "end of the feeling out phase will require additional discussion and may incur @";
			string += "additional fees.";
			return returnLine(string);
			break;
		case 10:
			string = "<center><h2> Services Available </h2></center>@";
			string += "Full website build or existing website modification services using and/or including @";
			string += "the following:@";
			string += "<ul>@";
			string += "<li>xHTML</li>@";
			string += "<li>DHTML</li>@";
			string += "<li>CSS</li>@";
			string += "<li>PHP</li>@";
			string += "<li>JavaScript</li>@";
			string += "<li>Photo Galleries</li>@";
			string += "<li>Contact Forms</li>@";
			string += "<li>Administrative Pages</li>@";
			string += "<li>More...</li>@";
			string += "</ul>";
			return returnLine(string);
			break;
		default:
			string = "<h2><center>What can I expect?</center></h2><br />@";
			string += "<center> <img src='../images/expect.gif' alt='Making things better.' style='border:3px double #CCCCCC' />"
			string += "</center><br />@";
            string += "A valid question.  In order to better serve your needs, an understanding of the @";
			string += "process is beneficial.  To that end, this page will define the process from start to @";
			string += "finish and should give you an idea of what to expect when working with me. Please @";
			string += "click on a link on the left to proceed.<br /><br />@";
            string += "It should be noted that in the end this is only a guideline and your specific needs @";
			string += "may not be fully addressed here.<br /><br /> ";
			return returnLine(string);
			break;
	}
}

function returnLine(string)
{
	var brokendown = new Array();
	brokendown = string.split("@");
	
	if((count+1) == brokendown.length)
		end=true;
	
	return brokendown[count];
}