function FP_preloadImgs() {//v1.0
 var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
 for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}

function FP_swapImg() {//v1.0
 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
 n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
 elm.$src=elm.src; elm.src=args[n+1]; } }
}

function FP_getObjectByID(id,o) {//v1.0
 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
 else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
 if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
 for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
 f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
 for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
 return null;
}

function ebook()
{
  window.open("ebooks.php","_blank","STATUS=NO,TOOLBAR=NO,LOCATION=NO,DIRECTORIES=NO,SCROLLBARS=YES,COPYHISTORY=NO,MENU=NO,RESISABLE=NO,TOP=40,LEFT=20,WIDTH=791,HEIGHT=560"); 
}

var messagecount=1;
var initialTime=0;
var currTime=0;
var keepTimerRunning=1;
var saveArray = new Array();
var saveMessage;
var puzzlenum
var puzzlelevel;
var debug=0;
var highscorewindow;
var popupconfig=0;
var TimerOn=1; // 26042009

function restartgame()
{
	// --------------------------
	// initializing variables
	// --------------------------
	var rows = document.getElementById('rows').value;
	var columns= document.getElementById('columns').value;
	var obj= document.getElementById('N0_1');	

//			alert(obj.readOnly);
	
    
	for (currrow1=0; currrow1<rows; currrow1++) {
		for (currcolumn1=0; currcolumn1<columns; currcolumn1++) {

			currobj=document.getElementById('N'+currrow1+'_'+currcolumn1);
			if (currobj!=null)
			{
				if (currobj.readOnly == false)
				{
					currobj.value='';
				}
			}
		}
	}
	popupconfig=0;
	checkme();
	document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B>Restarted '+puzzlelevel+' Sudoku puzzle no. '+puzzlenum+'</B></FONT>';
	initTimer();
}




function fixspace(currrow1)
{
//	 alert('TEMP XXXXXXXXXXXXXXXXX');
	var currcolumn1=document.getElementById(currrow1).value;
//	var temp_r = (row  - (row % 3) ) / 3;
//	var sec;

	if(currcolumn1==" ")
	{
		document.getElementById(currrow1).value="";
	}
	else if (currcolumn1=="0")
	{
		//alert('only number between 1 to 9 can be used');
		document.getElementById(currrow1).value="";
	}
	
	if (	currcolumn1 != "1" && currcolumn1 != "2" && currcolumn1 != "3" && currcolumn1 != "4" && currcolumn1 != "5" && currcolumn1 != "6" && currcolumn1 != "7" && currcolumn1 != "8" && currcolumn1 != "9"		)
	{
		//alert('TEMP XXXXXXXXXXXXXXXXX');
		document.getElementById(currrow1).value="";
	}
	else
	{
//		 if(s_check_row(row) == "error" || s_check_col(col) == "error" || s_check_section(sec) == "error")
//		{
//		}
		
	}
	 checkme();


}



function s_temp_x(input_row_number)
{
	var current_cell_value = new Array(9);

	document.getElementById('msgbox_1').innerHTML='<FONT COLOR=#800000><B><U>You WIN! </U></B></FONT>';
		// temp print the line:
	for (col_i=0 ; col_i<9 ; col_i++ )
	{
		current_cell_value[col_i]=document.getElementById('N'+input_row_number+'_'+col_i).value;
//		alert('TEMP XXXXXXXXXXXXXXXXX'+col_i+'xx');
//		if(current_cell_value[col_i] != NULL)
		{
			alert('row('+input_row_number+'),col('+col_i+') = '+current_cell_value[col_i]+'  ');
			// alert('TEMP XXXXXXXXXXXXXXXXX'+col_i+'xx');
		}
//		alert('row('+input_row_number+'),col('+col_i+') = '+current_cell_value[col_i]' ');
	}


}

function s_check_row(input_row_number)
{
	var checked_numbers = new Array(10);
	var cell_value;
	var numbers_counter = 0;
	for (col_i=0 ; col_i<9 ; col_i++ )
	{
		cell_value = document.getElementById('N'+input_row_number+'_'+col_i).value;
		//alert('row('+input_row_number+'),col('+col_i+') = '+cell_value+'  ');
		
		if(checked_numbers[cell_value] == "used") // this value was already discovered
		{
//			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - row('+input_row_number+'),col('+col_i+') - value ('+cell_value+') was already used </U></B></FONT>';
			return("error");
		}
		else // (checked_numbers[cell_value] == null) // this value wasn't discovered yet
		{
			if(cell_value != "")
			{
				checked_numbers[cell_value] = "used"; // mark this value as used
				numbers_counter++;
			}
		}
	}

	if(numbers_counter == 9)
	{
//		document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - row ('+input_row_number+') is ok </U></B></FONT>';
		return("ok");
	}
	else
	{
//		document.getElementById('msgbox_debug_1').innerHTML='<FONT COLOR=#800000><B><U>debug text - there are still unfilled cells in row ('+input_row_number+')  </U></B></FONT>';
		return("not_ok");
	}

}

function s_check_col(input_col_number)
{
	var checked_numbers = new Array(10);
	var cell_value;
	var numbers_counter = 0;
	for (row_i=0 ; row_i<9 ; row_i++ )
	{
		cell_value = document.getElementById('N'+row_i+'_'+input_col_number).value;
		//alert('row('+row_i+'),col('+input_col_number+') = '+cell_value+'  ');
		
		if(checked_numbers[cell_value] == "used")  // this value was already discovered
		{
//			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - row('+row_i+'),col('+input_col_number+') - value ('+cell_value+') was already used </U></B></FONT>';
			return("error");
		}
		else //if(checked_numbers[cell_value] == null) // this value wasn't discovered yet
		{
			if(cell_value != "")
			{
				checked_numbers[cell_value] = "used"; // mark this value as used
				numbers_counter++;
			}
		}	
	}

	if(numbers_counter == 9)
	{
//		document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - col ('+input_col_number+') is ok </U></B></FONT>';
		return("ok");
	}
	else
	{
//		document.getElementById('msgbox_debug_1').innerHTML='<FONT COLOR=#800000><B><U>debug text - there are still unfilled cells in col ('+input_col_number+')  </U></B></FONT>';
		return("not_ok");
	}
}

function s_check_section(input_sec_number)
{
	var checked_numbers = new Array(10);
	var cell_value;
	var numbers_counter = 0;

	var row_start = 3 * ( (input_sec_number - (input_sec_number % 3)) / 3);
	var col_start = 3 * (input_sec_number % 3);

	//alert('row('+row_start+'),col('+col_start+')');
	//return(0);


	for (r_i=0 ; r_i<3 ; r_i++ )
	{
		for (c_i=0 ; c_i<3 ; c_i++ )
		{
			row_i = row_start + r_i;
			col_i = col_start + c_i;
			cell_value = document.getElementById('N'+row_i+'_'+col_i).value;
			// alert('section('+input_sec_number+'),row('+row_i+'),col('+col_i+') = '+cell_value+'  ');
			
			if(checked_numbers[cell_value] == "used") // this value was already discovered
			{
//				document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - section('+input_sec_number+'),row('+row_i+'),col('+col_i+') - value ('+cell_value+') was already used </U></B></FONT>';
				return("error");
			}
			else //if(checked_numbers[cell_value] == null) // this value wasn't discovered yet
			{
				if(cell_value != "")
				{
					checked_numbers[cell_value] = "used"; // mark this value as used
					numbers_counter++;
				}
			}
		}
	}

	if(numbers_counter == 9)
	{
//		document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - col ('+input_sec_number+') is ok </U></B></FONT>';
		return("ok");
	}
	else
	{
//		document.getElementById('msgbox_debug_1').innerHTML='<FONT COLOR=#800000><B><U>debug text - there are still unfilled cells in section ('+input_sec_number+')  </U></B></FONT>';
		return("not_ok");
	}
}

var messagecount=1;
function checkme()
{
	var count_i;
	var game_error = false;
	var check_counter=0;
	var gameover=0;

	if (debug==1)
	{
		gameover=1;
	}

//	alert('tempx');
	puzzlenum=document.getElementById('puzzlenumstr').value; 
	puzzlelevel=document.getElementById('puzzlelevelstr').value; 
	var bglevel=document.getElementById('levelcolor').value;
	// var bglevel = "FF0000";

	// ---------------------------------------------
	//	re-painting all number cells with white bg
	// ---------------------------------------------
	
	for (currrow1=0; currrow1<9; currrow1++) 
	{
		for (currcolumn1=0; currcolumn1<9;currcolumn1++)
		{
			currobj=document.getElementById('tdNumber'+currrow1+'_'+currcolumn1);
			if (currobj!=null)
			{
				currobj.bgColor="#FFFFFF";
			}
		}
	}
	
//alert('temp1');
	// check all rows:
	for(count_i=0;count_i<9;count_i++)
	{
//		alert('hello');
		result = s_check_row(count_i);
		if(result == "error")
		{
//			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - error detected , row('+count_i+') </U></B></FONT>';
			game_error = true;			
			// return(error);
			// change bg color :
			
			for (currcolumn1=0; currcolumn1<9;currcolumn1++)
			{
				currobj=document.getElementById('tdNumber'+count_i+'_'+currcolumn1);
				if (currobj!=null)
				{
					currobj.bgColor=bglevel;
				}
			}
			
		}
		else if(result == "ok")
		{
			check_counter++;
		}
	}
	// check all columns:
//alert('temp2');
	for(count_i=0;count_i<9;count_i++)
	{
		result = s_check_col(count_i);
		if(result == "error")
		{
			game_error = true;					
//			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - table not finished , col('+count_i+') </U></B></FONT>';
			//return(error);
			// change bg color :
			
			for (currrow1=0; currrow1<9; currrow1++) 
			{
				currobj=document.getElementById('tdNumber'+currrow1+'_'+count_i);
				if (currobj!=null)
				{
					currobj.bgColor=bglevel;
				}
			}
			
		}
		else if(result == "ok")
		{
			check_counter++;
		}
	}
	// check all sections:
//alert('temp3');
	for(count_i=0;count_i<9;count_i++)
	{
		result = s_check_section(count_i);
		if(result == "error")
		{
			game_error = true;					
//			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>debug text - table not finished , section('+count_i+') </U></B></FONT>';
			//return(error);
			// change bg color:
			start_row = count_i - (count_i%3) ;
			start_col = (count_i%3) * 3;
			for (currrow1=0; currrow1<3; currrow1++) 
			{
				for (currcolumn1=0; currcolumn1<3;currcolumn1++)
				{
					selected_row = start_row + currrow1;
					selected_col = start_col + currcolumn1;
					currobj=document.getElementById('tdNumber'+selected_row+'_'+selected_col);
					if (currobj!=null)
					{
						currobj.bgColor=bglevel;
					}
				}
			}		

		}
		else if(result == "ok")
		{
			check_counter++;
		}
	}
//	alert(game_error);
	if (game_error)
	{
//		alert('error1');	
//
			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B>Your mistakes are marked on board  (puzzle no. '+puzzlenum+')</B></FONT>';
//
//		alert('error1end');		
	}
	else
	{
		if(check_counter == 27)
		{
			document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B><U>You WIN! (puzzle no. '+puzzlenum+')</U></B></FONT>';
			gameover=1;
		}
		else
		{
			if (messagecount==1)
			{
				document.getElementById('msgbox').innerHTML='<FONT COLOR=#000080><B>So far So good ... (puzzle no. '+puzzlenum+')</B></FONT>';	
				messagecount=2;
			}
			else if (messagecount==2)
			{
				document.getElementById('msgbox').innerHTML='<FONT COLOR=#000080><B>keep on working ... (puzzle no. '+puzzlenum+')</B></FONT>';	
				messagecount=3;
			}
			else if (messagecount==3)
			{
				document.getElementById('msgbox').innerHTML='<FONT COLOR=#000080><B>you are doing just fine ... (puzzle no. '+puzzlenum+')</B></FONT>';	
				messagecount=4;
			}
			else if (messagecount==4)
			{
				document.getElementById('msgbox').innerHTML='<FONT COLOR=#000080><B>you have a chance to win this one ... (puzzle no. '+puzzlenum+')</B></FONT>';	
				messagecount=1;
			}
		
		}
	}

	if(gameover==1)
	{
//		alert('gameover');
		dogameover();
	}
	popupconfig=1;
}

function dogameover()
{
	document.getElementById('htmlTimer2').innerHTML=document.getElementById('htmlTimer').innerHTML;
	keepTimerRunning=0;
//	alert('gameover with time '+document.getElementById('javascriptTimer').value);

	// HAGAI FIX 
	if (TimerOn == 1)
	{
		highscorewindow=dhtmlmodal.open('scorewindow', 'div', 'scorediv', 'Sudoku Highscore', 'center=1,resize=0,width=400px,height=170px');
	}
	else
	{
		highscorewindow=dhtmlmodal.open('scorewindow', 'div', 'nonscorediv', 'Sudoku Highscore', 'center=1,resize=0,width=400px,height=155px');
	}



	//window.location.href = "soduko.php?score="+document.getElementById('javascriptTimer').value;
}

function startNewGame()
{
	if (document.menuForm.R2[0].checked)
	{
	//	alert('easy');
		document.getElementById('playref').href="sudoku.php?puzzlelevel=1";
	}
	else 	if (document.menuForm.R2[1].checked)
	{
	//	alert('Moderate');
		document.getElementById('playref').href="sudoku.php?puzzlelevel=2";

	}
	else 	if (document.menuForm.R2[2].checked)
	{
	//	alert('difficult');
		document.getElementById('playref').href="sudoku.php?puzzlelevel=3";
	}
	else 	if (document.menuForm.R2[3].checked)
	{
	//	alert('difficult');
		document.getElementById('playref').href="sudoku.php?puzzlelevel=4";
	}

//	alert(document.getElementById('playref').href);
}

function confirmleave()
{
	if (popupconfig==0)
	{
		return true;
	}
	else
	{
		return confirmation("Stop playing this puzzle leave this page?");
	}
}

function confirmnew()
{
	if (popupconfig==0)
	{
		return true;
	}
	else
	{
		return confirmation("Stop playing this puzzle and start a new one?");
	}
}
function confirmrestart()
{
	return confirmation("Clear board and restart this puzzle?");
}
  
function confirmation(message) {

	var answer = confirm(message);
	return answer;
//	alert(answer);
}

function increaseTimer()
{
	//alert('sss');
	//if (document.getElementById('sudokutimer'))
	{
		if (keepTimerRunning==1) 
		{
			d=new Date();
			currTime=d.getTime()/1000;
			t=Math.round(currTime-initialTime);
			m=Math.floor(t/60);
			s=t%60;
			
//			document.getElementById('htmlTimer').innerHTML='&nbsp;'+m+':'+((s<10) ? '0' : '')+s+'&nbsp;';
			document.getElementById('htmlTimer').innerHTML=m+':'+((s<10) ? '0' : '')+s;
			setTimeout("increaseTimer()", 1000);
			document.getElementById('javascriptTimer').value=t;
		}
	}
}


function initTimer()
{
	initialDate=new Date();
	initialTime=Math.round(initialDate.getTime()/1000);
//	alert(initialTime);
	setTimeout("increaseTimer()", 1000);
}

function pausegame()
{
	keepTimerRunning=0;
	toggle('pausegame');
	toggle('resumegame');

	var i=0;

	// saving the game aside while pausing
	for (row_i=0 ; row_i<9 ; row_i++ )
	{

		for (col_i=0 ; col_i<9 ; col_i++ )
		{
//			cell_value = document.getElementById('N'+row_i+'_'+col_i).value;
			saveArray[i] = document.getElementById('N'+row_i+'_'+col_i).value;
			document.getElementById('N'+row_i+'_'+col_i).value="?";
			i++;
		}
	}
	saveMessage=document.getElementById('msgbox').innerHTML;
	document.getElementById('msgbox').innerHTML='<FONT COLOR=#800000><B>Game paused, click <b>resume</b> to continue</B></FONT>';
	alert("Game paused, click 'resume' to continue");
}

function resumegame()
{
	keepTimerRunning=1;
	toggle('pausegame');
	toggle('resumegame');

	d=new Date();
	currTime2=d.getTime()/1000;

	initialTime = initialTime + (currTime2-currTime);
//	alert(initialTime);


	var i=0;
	// restoring game after resuming pause
	for (row_i=0 ; row_i<9 ; row_i++ )
	{

		for (col_i=0 ; col_i<9 ; col_i++ )
		{
			document.getElementById('N'+row_i+'_'+col_i).value=saveArray[i] ;
			i++;
		}
	}

	document.getElementById('msgbox').innerHTML=saveMessage;
	setTimeout("increaseTimer()", 1000);
}

function toggle2(id) 
{  
	var state = document.getElementById(id).style.display;  
    if (state == 'block') 
	{  
         document.getElementById(id).style.display = 'none';  
    } 
	else 
	{  
         document.getElementById(id).style.display = 'block';  
    }  
}  


function toggle(divID) {
  var item = document.getElementById(divID);
  if (item) {
    item.className=(item.className=='hidden')?'unhidden':'hidden';
  }
}

function submitScore(nameID,buttonID)
{
	if ((nameID.value==null)||(nameID.value==""))
	{
		alert("Please enter your name");
		nameID.focus();
		return false;
	}
	else
	{
		buttonID.disabled=true;
		submitHint();
//		document.boardform.submit();
	}
}

function ignoreScore()
{
//	document.getElementById('SubmitHighScore').value='0';
//	document.boardform.submit();
	window.location='/sudoku-highscores.php?puzzlenumstr='+document.getElementById('puzzlenumstr').value+"&puzzlelevelstr="+document.getElementById('puzzlelevelstr').value+"&puzzlelevel="+document.getElementById('puzzlelevel').value;
}


function ValidateName(nameID)
{

	if ((nameID.value==null)||(nameID.value==""))
	{
		alert("Please enter your name")
		nameID.focus()
		return false
	}
	return true
}


function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function submitHint()
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX! Your Score cannot be saved");
		return true;
	} 
	var puzzlenumstr = document.getElementById("puzzlenumstr").value;
	var puzzlelevelstr = document.getElementById("puzzlelevelstr").value;
	var javascriptTimer = document.getElementById("javascriptTimer").value;
	var SubmitHighScore = document.getElementById("SubmitHighScore").value;
	var HighScoreName = document.getElementById("HighScoreName").value;
	var puzzlelevel = document.getElementById("puzzlelevel").value;
	
	if (debug==1)
	{
	//	alert("puzzlenumstr ="+puzzlenumstr);
	//	alert("puzzlelevelstr ="+puzzlelevelstr);
	//	alert("javascriptTimer ="+javascriptTimer);
	//	alert("HighScoreName ="+HighScoreName);
	}

	var url="saveScore.php";
	var parameters="puzzlenumstr="+puzzlenumstr;
	parameters=parameters+"&puzzlelevelstr="+puzzlelevelstr;
	parameters=parameters+"&javascriptTimer="+javascriptTimer;
	parameters=parameters+"&HighScoreName="+HighScoreName;
	parameters=parameters+"&SubmitHighScore="+SubmitHighScore;
	parameters=parameters+"&puzzlelevel="+puzzlelevel;

	
	xmlHttp.onreadystatechange=AJAXstateChanged;
//	xmlHttp.open("GET",url,true);
//	xmlHttp.send(null);

	xmlHttp.open("POST", url, true)
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	xmlHttp.send(parameters)
}

function AJAXstateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 
		var resp = xmlHttp.responseText;
		if (resp.indexOf("SetScoreSuccesfull") >0)
		{
			//alert("Your High-Score is saved");
		}
		else
		{
			alert("Your High-Score could not be saved saved, only registered users are allowed to save scores");
			//alert(resp);
		}
		window.location='/sudoku-highscores.php?puzzlenumstr='+document.getElementById('puzzlenumstr').value+"&puzzlelevelstr="+document.getElementById('puzzlelevelstr').value+"&puzzlelevel="+document.getElementById('puzzlelevel').value;
	}
}

function gotoHighScores()
{
window.location='/sudoku-highscores.php?puzzlenumstr='+document.getElementById('puzzlenumstr').value+"&puzzlelevelstr="+document.getElementById('puzzlelevelstr').value+"&puzzlelevel="+document.getElementById('puzzlelevel').value;
}

function IsNumeric(max)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

	sText=document.getElementById("puzzlenum");
	sText=sText.value;
	//alert(sText);

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }

	if (IsNumber)
	{
		if (sText>max)
		{
         IsNumber = false;
		}
		if (sText<1)
		{
         IsNumber = false;
		}
		
	}

	if (!IsNumber)
	{
		alert('The puzzle number must be a number between 1 and '+max);
	}
   return IsNumber;
   
   }


function addfreesudoku()

{

  window.open("addfreesudoku.htm","_blank","STATUS=NO,TOOLBAR=NO,LOCATION=NO,DIRECTORIES=NO,SCROLLBARS=YES,COPYHISTORY=NO,MENU=NO,RESISABLE=NO,TOP=40,LEFT=20,WIDTH=791,HEIGHT=535"); 



}




function turntimeron() // 26042009
{
	TimerOn=1;
	toggle('htmlTimer');
	toggle('timeron');
	toggle('timeroff');
	callAJAXPage('turnontimer.php');
}


function turntimeroff() // 26042009
{
	TimerOn=0;
	toggle('htmlTimer');
	toggle('timeron');
	toggle('timeroff');
	callAJAXPage('turnofftimer.php');
}

function callAJAXPage(url)
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		//alert ("Your browser does not support AJAX! Your Score cannot be saved");
		return true;
	} 

	var parameters="dummy=dummy";
	
	xmlHttp.onreadystatechange=doNothing;

	xmlHttp.open("POST", url, true)
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	xmlHttp.send(parameters)

}

function doNothing() 
{
	//if (xmlHttp.readyState==4)
	//{ 
	//	var resp = xmlHttp.responseText;
	//}
}