//need to create a maintainable list of questions/problems, and the recommendations for those topics.
//also need a search engine for the page, but that can wait until there are enough questions to search
//general layout:  List of question links followed by list of guestion/answer pairs
function faqItem(Category, Question, SolutionCode){
	this.Category = Category
	this.QuestionText = Question
	this.SolutionCode = SolutionCode
}

function solItem(SolutionCode,SolutionText){
	this.SolutionCode = SolutionCode
	this.SolutionText = SolutionText
}

// DO NOT EDIT ABOVE THIS LINE
//*************************************************************************	

// THE FOLLOWING SECTION MAY BE EDITED
// Each Category must be listed once following the first item in that group.
// The Category for all others should be empty -- "".

function faqList(){
	n=0;
	this[n++]=new faqItem(
		'Software DVR',
		'Each user of the computer has to log in as the account that installed the software. How can we make the program accessible to all user accounts?',
		'100')
	this[n++]=new faqItem(
		'Software DVR',
		'When logged in as an Administrator the program has all its functions, but when logged in as a normal user some functions seem to be disabled.  Do I have to make the user an administrator?',
		'110')
	this[n++]=new faqItem(
		'Connection DVR',
		'We can connect to the DVR and view the camera images from our LAN, but not through an offsite Internet connection.  What could be wrong?',
		'200')
	this[n++]=new faqItem(
		'Connection DVR',
		'What kind of bandwidth is necessary to do remote viewing with these DVRs?',
		'250')
        this[n++]=new faqItem(
		'Connection DVR',
		'Is there a way to test the connection speed?',
		'251')
	this[n++]=new faqItem(
		'IP Issues DVR',
		'Can we remote view our DVR if we cannot obtain a static IP address from our ISP?',
		'300')
	this[n++]=new faqItem(
		'Product Description',
		'What is the difference between a Multiplexer and a Quad?',
		'400')
	this[n++]=new faqItem(
		'Camera',
		'CE-VFCD954 - Picture is black with no video. What is wrong?',
		'501')
	this[n++]=new faqItem(
		'Camera',
		'CE-CC108 - Camera\'s video appears to be black and white when camera is installed outside. What\'s wrong?',
		'502')
	this[n++]=new faqItem(
		'Camera',
		'CE-VF53IR - Picture is black with no video.',
		'503')
	this[n++]=new faqItem(
		'Camera, PublicView, CCTVMonitor',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - Nothing appears on the screen.',
		'504')
	this[n++]=new faqItem(
		'Camera, PublicView, CCTVMonitor',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - The video image is not clear.',
		'505')
	this[n++]=new faqItem(
		'Camera, PublicView, CCTVMonitor',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - The screen is dark.',
		'506')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - There is a problem with the camera operation. The camera surface is too hot and black stripes appear on the screen.',
		'507')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - The MOTION DETECTION function is not working.',
		'508')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - Colors are not quite right.',
		'509')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - The Screen is flickering.',
		'510')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - L/L mode can&prime;t be selected:',
		'511')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - L/L mode is not available.',
		'512')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - COLOR mode is not working:',
		'513')
	this[n++]=new faqItem(
		'Camera, PublicView',
		'CE-VFCD955 & CE-20PV (Only applies to units with 540 TVL cameras) - SENS-UP function is not working.',
		'514')
}

function solList(){
	n=0;
	this[n++]=new solItem(
		'100',
		'This often occurs in Windows2000 and similar versions of Windows as a security feature.  Windows assumes that if there are multiple users on the system, they should not all be administrators.  Some software should only be used by administrators.  If the software is not specifically installed to the "All Users" account then each user will have to install it so they can use it.  A simple solution is to move the program icon from the "Administrator" (or priviledged user) Start Menu to the "All Users" Start Menu.  To do this, <br />1. Log on as an administrator.<br />2. Right-click "Start", and then click "Explore".<br />3. Expand the "Documents and Settings" folder, expand the "Administrator" folder, and then expand the "Start menu" folder.<br />4. Click "Programs" folder.  The shortcut for the Clinton DVR Remote View program appears in the right pane.<br />5. Also expand the "All Users" folder and its "Start menu" folder.<br />6. Drag and drop the Clinton DVR program icon from "Administrator->Start menu->Programs" to "All Users->Start menu->Programs".')
	this[n++]=new solItem(
		'110',
		'This often occurs in Windows2000 and similar versions of Windows as a security feature.  In Windows2000 you may need to give the user full rights to the program.  To do so:<br />1. Log on as Administrator.<br />2. Right-Click the "Start" button and choose "Explore".<br />3. Expand the "Documents and Settings" folder, select the folder for that user<br />4. Open "Start Menu", open "Programs", open "Clinton".<br />5. Right-click on the Clinton shortcut and choose "Properties".<br />6. Click the "Security" tab and make sure there is a check in all the Allow boxes for that user.<br />7. Then click the "Advanced" button, select the user, click the "Veiw/Edit" button and make sure there is a check inall the allow boxes.')
	this[n++]=new solItem(
		'200',
		'In most cases this if a router or firewall configuration problem.  Our DVRs can be configured to use a port of your choosing.  Whichever port you choose, the router must be configured to forward all incoming traffic on that port to the DVR.  The software must also be configured to use that port to make the connection to the DVR.  There are many makes and models of routers, and unfortunately the configuration process varies greatly.  Some of the common terms for allowing traffic to pass through the router/firewall to a specific network device include, but are not limited to, "NAT", "Network Address Translation", "pinhole", "port forwarding", and "access control".')
	this[n++]=new solItem(
		'200',
		'It is possible that the internet service provider has blocked the port you are setup to use.  This is not because they are trying to prevent you from doing what you want to do.  It occurs because hackers try to find open ports that they can use for their dirty-work.  To restrict such activity, many ISPs block all ports they do not specifically need open.  You should contact your ISP to find out if the port you are trying to use is blocked, and if so whether they would be willing to open it, or if they can recommend a port for you to use.')
	this[n++]=new solItem(
		'250',
		'The quality of remote view is going to be affected by the number of cameras being viewed simultaneously and the quality of resolution required. At roughly 2KB per frame, 8 frames per second, 4 cameras you would need at least 655Kbps. 2 cameras would be about half that. This is assuming you want to view live streaming video. With live remote view there will be occasional dropped frames so that what you view is as close to current as possible. Network / Internet traffic will affect this, and higher bandwidth will help to reduce its effects.<br />Recorded playback is less demanding because it will assume you can live with lag time between frames. At narrower bandwidth you will see all, but much slower')
	this[n++]=new solItem(
		'251',
		'<a href="http://myspeed.visualware.com/" target="_blank"><img style="float:right;" src="http://myspeed.visualware.com/images/poweredby.gif" width="120" height="30" border="0" alt="Visualware Speed Test" /></a><p>This test should be run at both ends of the remote connection.  This will give you a general idea of your Internet connection speed, and should give you an indication of which end may be causing a problem.  This test does not test the actual throughput between the DVR and the remote computer, but is a free test provided by myspeed.visualware.com.</p> ')
	this[n++]=new solItem(
		'300',
		'The easy solution would be to change to a provider that will assign a static or "sticky" address.  In this case they would set up their DHCP server to assign a specific IP address to the MAC address of the network interface of the DVR.  If you do not know how to find that information, call our tech support.  We have that on record or can walk you through the procedure to find it.<br /><br />However, changing providers is not always a viable option.  You can subscribe to a managed DNS service such as <a href="http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html" tagret="_blank">No-IP.com</a> (This is not to be taken as an endorsement. Other similar and perhaps better services are available.  See the list at <a href="http://www.technopagan.org/dynamic/" target="_blank">http://www.technopagan.org/dynamic/</a>.) Then from the remote site you can issue the following command at the command prompt: <br /><strong>ping yourdomainname.com</strong><br />where yourdomainname.com is replaced by the name you have arranged to use through that service.  This should return to you the IP address of the router or cable modem to which your DVR is connected.  Set up the software to connect to that IP address.')
	this[n++]=new solItem(
		'400',
		'A quad allows you to view either 1 or 4 camreas at a time.  It is a less expensive alternative to a multiplexer for smaller surveillance systems.  A multiplexer has extended capabilities and, depending on the model, can display up to 16 camera inputs simultaneously.  If there is any chance your surveillance need will grow beyond the limit of 4 inputs at a time, we recommend you choose a multiplexer over a quad.')
	this[n++]=new solItem(
		'501',
		'In cases the CE-VFCD954\'s picture will go black.  This can be easily fixed with a minor internal adjustment.<br />Step 1.<br />Unscrew the dome case as shown.<br />Step 2.<br />Locate trim pot.<br />Step 3.<br />Take note of trim pot&prime;s initial setting.  Typically when the image is black the trim pot is set at approximately 11 O\'clock.  Use a small Phillips head screw driver and rotate the pot clockwise to approximately 2 O\'clock.<br />Step 4.<br />Check video to make sure trim pot adjustment fixed problem, you may or may not need to readjust pot at this point.  Finally, screw the dome case back on.')
	this[n++]=new solItem(
		'502',
		'For outside applications the CE-CC108 should have the AES dipswitch set to on.<br />Step 1.<br />Locate AES dipswitch on back of camera and take note of current setting. If dipswitch is \"off\" push switch to \"on\" position.<br />Step 2.<br />Check video to see if this procedure resolved the problem.')
	this[n++]=new solItem(
		'503',
		'In some cases the CE-VF53IR\'s picture will go black.  This can be easily fixed with a minor internal adjustment.<br /><br />Step1. Unscrew the barrel case as shown.<br /><center><img src="faqpics/unscrew.jpg" width=203 height=128 /></center><hr />Step 2. Locate trim pot.<br /><center><img src="faqpics/locate.jpg" width=132 height=159 /></center><hr />Step 3. Take note of trim pot\'s initial setting.  Typically when the image is black the trim pot is set at approximately 2 O\'clock.  Use a small Phillips head screw driver and rotate the pot counterclockwise to approximately 11 O\'clock.<br /><center><img src="faqpics/2_11.jpg" width=179 height=101 /><hr /></center>Step 4. Check video to make sure trim pot adjustment fixed problem, you may or may not to readjust pot at this point.  Finally, screw the barrel case back on. ')
	this[n++]=new solItem(
		'504',
		'Troubleshooting:<ul><li>Check power connection.</li><li>Check the video signal line connection.</li><li>Check and make sure that the auto lens switch is set to DC (VIDEO) when using a VIDEO (DC) lens.</li></ul>')
	this[n++]=new solItem(
		'505',
		'Troubleshooting:<ul><li>Check if the lens is clean. Please clean the lens with a clean soft cloth.</li><li>Adjust the contrast feature of the monitor.</li><li>Make sure that the screen is not exposed directly to a bright light. May have to relocate camera.</li><li>Readjust the back focus of the camera.</li></ul>')
	this[n++]=new solItem(
		'506',
		'Troubleshooting:<ul><li>Adjust the contrast feature of the monitor.</li><li>If you have an intermediate device, set the 75/ Hi-z properly, and check the terminals.</li><li>Check whether auto iris lens is being used and adjust the brightness level.</li></ul>')
	this[n++]=new solItem(
		'507',
		'Check power source and make sure that it complies with the camera\'s power requirements, or check if the voltage keeps changing.')
	this[n++]=new solItem(
		'508',
		'Troubleshooting:<ul><li>Check if \"MOTION FUNCTION\" mode is turned on.</li><li>Check if MD LEVEL is set too low.</li><li>Check the setting of the MD AREA.</li></ul>')
	this[n++]=new solItem(
		'509',
		'Check the \"WHITE BAL\" setting.')
	this[n++]=new solItem(
		'510',
		'Troubleshooting:<ul><li>Check if the camera is facing directly into sunlight or fluorescent light.</li><li>Check the connection of the lens connector cable.</li></ul>')
	this[n++]=new solItem(
		'511',
		'Have you connected your camera to DC power source? Connect it to AC power source.')
	this[n++]=new solItem(
		'512',
		'Check the frequency of power supply (60Hz for NTSC, 50Hz for PAL).')
	this[n++]=new solItem(
		'513',
		'Check if the AGC menu is set to the OFF position.')
	this[n++]=new solItem(
		'514',
		'Troubleshooting:<ul><li>Check if the AGC menu is set to the OFF position.</li><li>Check if the SHUTTER menu is set to MANUAL mode.</li></ul>')
}

// DO NOT EDIT BELOW THIS LINE
//*************************************************************************	

//create a table of contents with links to the solutions

function toc(){
	var question=new faqList();
	var answer=new solList();
	var index=0;
	while(question[index]){
		document.write('<a href="#'+question[index].SolutionCode+'">'+question[index].QuestionText+'</a><br /><br />')
		index++;
	}
	document.write('<hr />');
	index=0;
	while(question[index]){
		var i=0;
		document.write('<a name=' + question[index].SolutionCode + '></a>');
		document.write('<strong>' + question[index].QuestionText + '</strong><br />');
		while(answer[i]){
			if(answer[i].SolutionCode == question[index].SolutionCode){
				document.write(answer[i].SolutionText + '<br /><br />');
			}
			i++;
		}
		index++;
	}
}

function faqshow(category){
	var question=new faqList();
	var answer=new solList();
	var index=0;
	while(question[index]){
		if (question[index].Category.search(category)>=0 || category==""){
		document.write('<a href="#'+question[index].SolutionCode+'">'+question[index].QuestionText+'</a><br /><br />')
		}
	index++;
	}
	document.write('<hr />');
	index=0;
	while(question[index]){
		if (question[index].Category.search(category)>=0 || category==""){
			var i=0;
			document.write('<a name=' + question[index].SolutionCode + '></a>');
			document.write('<strong>' + question[index].QuestionText + '</strong><br />');
			while(answer[i]){
				if(answer[i].SolutionCode == question[index].SolutionCode){
					document.write(answer[i].SolutionText + '<br /><br />');
				}
				i++;
			}
		}
		index++;

	}

}