function countryAJAXInteraction(url,countrycallback,objcountry,objstate,isAny,selected) {

    var req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
      // readyState of 4 signifies request is complete
      if (req.readyState == 4) {
	 //status of 200 signifies sucessful HTTP call
        if (req.status == 200) {			
          if (countrycallback) countrycallback(req.responseXML,objcountry,objstate,isAny,selected);
        }
      }
    }

    this.doGet = function() {
      // make a HTTP POST request to the URL asynchronously     
      req.open("get", url, true);
      req.send(null);
    }
}

function showState(objcountry,objstate,isAny,selected){
	var countryid=document.forms[0].elements[objcountry].value;
	if( countryid != 0){		
		var url = "/flirt/servlet/ajax?type=state&countryid=" + countryid;
		var ajax = new countryAJAXInteraction(url,countrycallback,objcountry,objstate,isAny,selected); 
		ajax.doGet();
	}
	else{
		document.forms[0].elements[objstate].options.length = 0;
		document.forms[0].elements[objstate].options[0] = new Option('Any','');
	}
}

function countrycallback(responseXML,objcountry,objstate,isAny,selected) {		
	var valueList=responseXML.getElementsByTagName("state")[0].firstChild.nodeValue;
	var tokens=valueList.split(",");
	var c=0;
	document.forms[0].elements[objstate].options.length = 0;
	if( isAny ){
		document.forms[0].elements[objstate].options[0] = new Option('Any','');
		c=1;
	}
	for(var i=0;i<tokens.length;i=i+2){
		document.forms[0].elements[objstate].options[c++] = new Option(tokens[i],tokens[i+1]);
	}
	
	if( selected !=0 ){			
		for(var j=0;j<document.forms[0].elements[objstate].options.length;j++){			
			if(document.forms[0].elements[objstate].options[j].value == selected){							
				document.forms[0].elements[objstate].selectedIndex=j;
				break;
			}
		}
	}
}

function checkProfile(){
	var eMsg="";
	if(trim(document.forms[0].elements["profile.email"].value)!='')	
		eMsg+=isEmailValid(document.forms[0].elements["profile.email"].value,"Email");
	if(eMsg!=''){
		alert(eMsg)
		return ;
	}
	textCounter(document.forms[0].elements["profile.descriptionme"],500)
    document.forms[0].action=_Update;  
	document.forms[0].submit();
}

function joinProfile(){
	var eMsg="";
	if(trim(document.forms[0].elements["profile.nickname"].value)=='')	
		eMsg+=isRequired(document.forms[0].elements["profile.nickname"].value,"nickname");

	if(document.forms[0].elements["profile.password"].value.length < 6)
		eMsg+="Password must be at least 6 characters\n";
	else if( document.forms[0].elements["profile.password"].value != document.forms[0].elements["passwordconfirm"].value )
		eMsg+="Password must be match\n";
	else
		eMsg+=isLegal2(document.forms[0].elements["profile.password"].value,"Password"); 

	if(trim(document.forms[0].elements["profile.email"].value)!='')	
		eMsg+=isEmailValid(document.forms[0].elements["profile.email"].value,"Email");
	if(eMsg!=''){
		alert(eMsg)
		return ;
	}
	textCounter(document.forms[0].elements["profile.descriptionme"],500)
    document.forms[0].action=_Create;  
	document.forms[0].submit();
}

function textCounter(field, maxlimit) {
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit);
}

function searchProfile(){
	document.forms[0].elements["pagingManager.currentPage"].value=1;
    document.forms[0].action=_Search;  
	document.forms[0].submit();
}