var OnIndexChange = function(){ alert('i can change') };
function OnChangeHandler()
{
	OnIndexChange();
}

var client_command = "";
function UpdateOptions(rid, cid, source)
{
	if(document.getElementById(source).value != '-1')
	{
		var req = new Array();
		
		req.push("ATTOPTIONS");
		var args = "t=attrs&rd="+ rid +"&a1="+ document.getElementById(source).value;
		req.push(args);
		
		var start = function(){ 
			document.getElementById(cid).value = "Loading..."; 
			ShowLoader('formloader');
		}

		var opptres = function(cmd)
		{
			if(cmd != "ATTOPTIONS") return;
			
			eval(xmlHttp.responseText);
			try
			{
				document.getElementById(cid).options.length = 0;
				if(data.length > 0)
				{
					document.getElementById(cid).options[0] = new Option("- select " + cid + " -",-1);
					for(i=0; i< data.length; i++)
					{
						document.getElementById(cid).options[i+1] = new Option(lables[i], data[i]);
					}
					document.getElementById(cid).value = '-1';
					document.getElementById(cid).disabled = false;
					
					if(client_command == "root")
					{
						if(sc1 != null)
						{
							cBoxArray[1].value = sc1;
							client_command = "sc1";
							sc1 = null;
						}
					}
					
					if(client_command == "sc1" && sc2 != null)
					{
						cBoxArray[2].value = sc2;
						client_command = "sc2";
						sc2 = null;
					}
					
					
					//document.getElementById(cid).Change();
				}
				else
				{
					document.getElementById(cid).options[0] = new Option("- no items -", -2);
					document.getElementById(cid).disabled = true;
				}
				
			}
			catch (e)
			{
				//alert(e.text);
			}
			HideLoader('formloader');
		}
		
		
		onError = function()
		{
			//
		}
		
		req.push(opptres);
		req.push(start);
		
		AddRequest(req);
		//AjaxRequest();
		
	}
	else
	{
		try
		{
			document.getElementById(cid).value = '-1';
			document.getElementById(cid).disabled = true;
			//document.getElementById(cid).Change();
		}
		catch(e)
		{
			//alert(e.text);
		}
	}
}
// dummy
function Init()
{
	//
}

function show_mandals(did, dnm)
{
	var mandalRes = function(cmd)
	{
		if(cmd != "GETMANDALS")
		{	
			return; 
		}

		try
		{
			var obj = document.getElementById('mandal_td');
			var result = xmlHttp.responseText;
			obj.innerHTML = result;
		}
		catch(e)
		{
			//
		}
	}
	
	var munRes = function(cmd)
	{
		if(cmd != "GETMUNIS")
		{	
			return; 
		}
		
		try
		{
			var obj = document.getElementById('mun_id');
			var result = xmlHttp.responseText;
			obj.innerHTML = result;
		}
		catch(e)
		{
			//
		}
	}
	
	try
	{
		var start = function(){
			document.getElementById('mandal_td').innerHTML = "Loading Mandals of "+dnm+"...";
			document.getElementById('mondals_head').innerHTML = dnm + " District";
		}
		
		var mstart = function()
		{
			document.getElementById('mun_id').innerHTML = "Loading Municipalities of "+dnm+"...";
		}
	}
	catch(e)
	{
		//
	}
	
	AddRequest(new Array("GETMANDALS", "d="+did, mandalRes, start));
	AddRequest(new Array("GETMUNIS", "d="+did, munRes, mstart));
}

function ChangeCity()
{
	//
}

window.onscroll = function()
{
	MovePopDiv();
}

function MovePopDiv()
{
	try
	{
		document.getElementById('thewindow').style.top = document.body.scrollTop;
	}
	catch(e)
	{
		//
	}
}

function ValidateCategory(obj)
{
	try
	{
		if(new String(document.getElementById('cats').value).split("_")[0] == 'm')
		{
			alert('Select the Subcategory...');
		}
		else
		{
			document.getElementById('mod').value = document.getElementById('cats').mod;
		}
	}
	catch(e)
	{
		document.getElementById('cats').selectedIndex = 0;
	}
}

function SubmitSearch2()
{
	if(document.getElementById('cats').value == "-1")
	{
		alert('Please select the category...');
		document.getElementById('cats').focus();
		return false;
	}
/*
	else if(document.getElementById('opt_city').value == "-1")
	{
		alert('Please select city...');
		document.getElementById('opt_city').focus();
		return false;
	}
*/	
	
	var ccb = document.getElementById('opt_city');
	var ccat = document.getElementById('cats');
	
	try
	{
		//document.getElementById('city_name').value = ccb.options[ccb.selectedIndex].text;
		document.getElementById('mod').value = ccat.options[ccat.selectedIndex].attributes.mod.value;
		document.getElementById('mid').value = ccat.options[ccat.selectedIndex].attributes.mid.value;
		document.getElementById('cat_name').value = ccat.options[ccat.selectedIndex].text;
		document.getElementById('sstr').value = document.getElementById('sstr2').value;
		document.getElementById('cats2').value = document.getElementById('cats').value;
	}
	catch(e)
	{
		return false;
	}
	
	document.getElementById('sform').submit();
}


function SubmitSearch()
{
	if(document.getElementById('cats').value == "-1")
	{
		alert('Please select the category...');
		document.getElementById('cats').focus();
		return false;
	}
/*
	else if(document.getElementById('opt_city').value == "-1")
	{
		alert('Please select city...');
		document.getElementById('opt_city').focus();
		return false;
	}
*/	
	
	var ccb = document.getElementById('opt_city');
	var ccat = document.getElementById('cats');
	
	try
	{
		//document.getElementById('city_name').value = ccb.options[ccb.selectedIndex].text;
		document.getElementById('mod').value = ccat.options[ccat.selectedIndex].attributes.mod.value;
		document.getElementById('mid').value = ccat.options[ccat.selectedIndex].attributes.mid.value;
		document.getElementById('cat_name').value = ccat.options[ccat.selectedIndex].text;
	}
	catch(e)
	{
		return false;
	}
	
	return true;
}


function ShowLoader(id)
{
	document.getElementById(id).style.display = 'block';
}

function HideLoader(id)
{
	document.getElementById(id).style.display = 'none';
}

function validatePassword (pw, options) 
{
	// default options (allows any password)
	var o = {
		lower:    0,
		upper:    0,
		alpha:    0, /* lower + upper */
		numeric:  0,
		special:  0,
		length:   [0, Infinity],
		custom:   [ /* regexes and/or functions */ ],
		badWords: [],
		badSequenceLength: 0,
		noQwertySequences: false,
		noSequential:      false
	};

	for (var property in options)
		o[property] = options[property];

	var	re = {
			lower:   /[a-z]/g,
			upper:   /[A-Z]/g,
			alpha:   /[A-Z]/gi,
			numeric: /[0-9]/g,
			special: /[\W_]/g
		},
		rule, i;

	// enforce min/max length
	if (pw.length < o.length[0] || pw.length > o.length[1])
		return false;

	// enforce lower/upper/alpha/numeric/special rules
	for (rule in re) {
		if ((pw.match(re[rule]) || []).length < o[rule])
			return false;
	}

	// enforce word ban (case insensitive)
	for (i = 0; i < o.badWords.length; i++) {
		if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) > -1)
			return false;
	}

	// enforce the no sequential, identical characters rule
	if (o.noSequential && /([\S\s])\1/.test(pw))
		return false;

	// enforce alphanumeric/qwerty sequence ban rules
	if (o.badSequenceLength) {
		var	lower   = "abcdefghijklmnopqrstuvwxyz",
			upper   = lower.toUpperCase(),
			numbers = "0123456789",
			qwerty  = "qwertyuiopasdfghjklzxcvbnm",
			start   = o.badSequenceLength - 1,
			seq     = "_" + pw.slice(0, start);
		for (i = start; i < pw.length; i++) {
			seq = seq.slice(1) + pw.charAt(i);
			if (
				lower.indexOf(seq)   > -1 ||
				upper.indexOf(seq)   > -1 ||
				numbers.indexOf(seq) > -1 ||
				(o.noQwertySequences && qwerty.indexOf(seq) > -1)
			) {
				return false;
			}
		}
	}

	// enforce custom regex/function rules
	for (i = 0; i < o.custom.length; i++) {
		rule = o.custom[i];
		if (rule instanceof RegExp) {
			if (!rule.test(pw))
				return false;
		} else if (rule instanceof Function) {
			if (!rule(pw))
				return false;
		}
	}
	
	if(new String(pw).indexOf(' ') >=0)
	{
		return false;
	}

	// great success!
	return true;
}


function ValidateRegister()
{
	try
	{
		if(!EmailCheck(document.getElementById('email').value))
		{
			alert("Invalid Email/Empty, Please enter valid emailID");
			document.getElementById('email').focus();
			return false;
		}
		else if((new String(document.getElementById('pwd1').value).indexOf(' ') >= 0) || (document.getElementById('pwd1').value != document.getElementById('pwd2').value))
		{
				alert("Invalid password combination or \n Password should not conatin spaces.");
				document.getElementById('pwd1').focus();
				return false;
		}
		else if(new String(document.getElementById('pwd1').value).length < 5)
		{
			alert("Password must have atleast 5 letters");
			return false;
		}
		else if(document.getElementById('fname').value == "")
		{
			alert("Please enter Full name");
			document.getElementById('fname').focus();
			return false;
		}
		else if(document.getElementById('loc').value == '-1' || document.getElementById('loc').value == '-2')
		{
			alert("Please select valid city or district");
			document.getElementById('loc').focus();
			return false;
		}
		else if(!document.getElementById('agree').checked)
		{
			alert("You must agree the Terms and Conditions");
			document.getElementById('agree').focus();
			return false;
		}
		else if(document.getElementById('auth').value == "")
		{
			alert("Please enter the authorization code");
			document.getElementById('auth').focus();
			return false;
		}
		return true;
	}
	catch(e)
	{
		return false;
	}
}

function EditInfo()
{
	try
	{
		if(document.getElementById('pwd1').value == "" || document.getElementById('pwd1').value != document.getElementById('pwd2').value)
		{
			alert("Password mismatch or Empty");
			document.getElementById('pwd1').focus();
			return false;
		}
		else if(document.getElementById('fname').value == "")
		{
			alert("Please enter Full name");
			document.getElementById('fname').focus();
			return false;
		}
		else if(document.getElementById('loc').value == '-1' || document.getElementById('loc').value == '-2')
		{
			alert("Please select valid city or district");
			document.getElementById('loc').focus();
			return false;
		}
		return true;
	}
	catch(e)
	{
		return false;
	}
}

function EditPass()
{
	if(document.getElementById('pwd1').value == "" || document.getElementById('pwd1').value != document.getElementById('pwd2').value)
	{
		alert("Password mismatch or Empty");
		document.getElementById('pwd1').focus();
		return false;
	}
	return true;
}

//=======================================================
function ReloadImage () 
{
	//var f = document.getElementById('icode');
	//f.src = f.src

	window.frames['icode'].location.reload(true);
	window.frames['icode'].location.href = window.frames['icode'].location.href;
}

function ValidateLogin(obj)
{
	if(obj.email.value == '' || obj.pwd1.value == '')
	{	 
		alert('Email or Password cannot be empty...'); 
		return false; 
	}
	
	if(!EmailCheck(obj.email.value))
	{
		alert('Invalid Email..., Please enter valid email!'); 
		return false; 
	}
	return true;
}

function GetCheckBoxData(obj)
{
	$script1 = "$a1=array();";
	$script2 = "$a2=array();";
	for(i=0; i<obj.elements.length; i++)
	{
		if(obj.elements[i].name == "sold[]")
		{
			if(obj.elements[i].checked)
			{
				$script1 += "array_push($a1, array("+ obj.elements[i].value +", 1));";
			}
			else
			{
				$script1 += "array_push($a1, array("+ obj.elements[i].value +", 0));";
			}
		}
		if(obj.elements[i].name == "hide[]")
		{
			if(obj.elements[i].checked)
			{
				$script2 += "array_push($a2, array("+ obj.elements[i].value +", 1));";
			}
			else
			{
				$script2 += "array_push($a2, array("+ obj.elements[i].value +", 0));";
			}
		}
		document.getElementById('pscript').value = $script1 + $script2;
	}

	//alert(obj.elements.length);
	return true;
}

//========================================================================================

function show_ads(did)
{
	var adresponse = function(cmd)
	{
		if(cmd != "GETADS")
		{	return; }
		
		var adresult = xmlHttp.responseText;
		try
		{
			eval(adresult);
			document.getElementById('adzone1').innerHTML = ad1source;
			document.getElementById('adzone2').innerHTML = ad2source;
			document.getElementById('adzone3').innerHTML = ad3source;
			document.getElementById('adzone4').innerHTML = ad4source;
		}
		catch(e)
		{
			//
		}
	}
	AddRequest(new Array("GETADS", "did="+ did, adresponse, function(){}))
}

function RenderAds()
{
	try
	{
		document.getElementById('adzone1').innerHTML = ad1source;
		document.getElementById('adzone2').innerHTML = ad2source;
		document.getElementById('adzone3').innerHTML = ad3source;
		document.getElementById('adzone4').innerHTML = ad4source;
	}
	catch(e)
	{
		//
	}
}

//============================ home page ==============================================
function loadDistricts()
{
	var mdresponse = function(cmd)
	{
		if(cmd != "GETDIST")
		{	return; }
		
		var mdresult = xmlHttp.responseText;
		try
		{
			eval(mdresult);
			var sel = "listMandal";
			document.getElementById(sel).options[0] = new Option("- select district -", -1);
			for(i=0; i< distArr.length; i++)
			{
				document.getElementById(sel).options[i+1] = new Option(distArr[i].label, distArr[i].data);
			}
			document.getElementById(sel).value = '-1';
			document.getElementById(sel).disabled = false;
			
			document.getElementById('tdMunis').innerHTML = "Please select the district to proceed...";
			document.getElementById('tdMandal').innerHTML = "";
			
			document.getElementById(sel).onchange = function()
			{
				show_mandals2(document.getElementById(sel).value, document.getElementById(sel).options[document.getElementById(sel).selectedIndex].text);	
			}
		}
		catch(e)
		{
			//
		}
	}
	AddRequest(new Array("GETDIST", "", mdresponse, function(){}))
}

function show_mandals2(did, dnm)
{
	if(did == -1 || did == undefined)
	{
		document.getElementById('tdMunis').innerHTML = "Please select the district to proceed...";
		document.getElementById('tdMandal').innerHTML = "";
		return;
	}
	
	var mandalRes = function(cmd)
	{
		if(cmd != "GETMANDALS")
		{	
			return; 
		}
		var obj = document.getElementById('tdMandal');
		var result = xmlHttp.responseText;
		obj.innerHTML = '<br /><b style="font-size:10px; color:#ff6600">Mandals:</b> <br />' +result;
	}
	
	var munRes = function(cmd)
	{
		if(cmd != "GETMUNIS")
		{	
			return; 
		}
		var obj = document.getElementById('tdMunis');
		var result = xmlHttp.responseText;
		obj.innerHTML = '<b style="font-size:10px; color:#ff6600">Municipalities:</b> <br />' + result;
	}
	
	try
	{
		document.getElementById('distHead').innerHTML = dnm + " District";
		var start = function(){
			document.getElementById('tdMandal').innerHTML = "Loading Mandals of "+dnm+"...";
			document.getElementById('tdMunis').innerHTML = dnm + " District";
		}
		
		var mstart = function()
		{
			document.getElementById('tdMunis').innerHTML = "Loading Municipalities of "+dnm+"...";
		}
	}
	catch(e)
	{
		//
	}
	
	AddRequest(new Array("GETMANDALS", "d="+did, mandalRes, start));
	AddRequest(new Array("GETMUNIS", "d="+did, munRes, mstart));
}
