var httpProjectsDir = null;
var httpDesignFirm = null;
var httpProjectRTA = null;
var httpJobDraft = null;

var projectDirPages = 1;
var projectDirCurPage = 1;

var designFirmPages = 1;
var designFirmCurPage = 1;

var keyword = "";

function initPage() {
	showLoading();
	getProjectDir();
	getDesignFirm();
}

function resetPaging(){
	projectDirCurPage = 1;
}

 

//AJAX FOR PROJECT DIRECTORY

function reset(){
    document.getElementById("txtKeyword").value = "";
    getDesignFirm('')
}

function uncheckAll(){
    uncheckAllGenreList(document.frmProjectDirectory,'chkListGenre');
    resetPaging();
    getProjectDir();
}

function checkAll(){
   checkAllGenreList(document.frmProjectDirectory,'chkListGenre');
   resetPaging();
   getProjectDir();
}

function uncheckAllGenreList(obj, prefix){
  var len = prefix.length;
  
  for (i=0; i<obj.elements.length; i++) {
    if (obj.elements[i].name.substring(0, len) == prefix) {    
      obj.elements[i].checked = false;
    }
  }     
}

function checkAllGenreList(obj, prefix){
  var len = prefix.length;
  
  for (i=0; i<obj.elements.length; i++) {
    if (obj.elements[i].name.substring(0, len) == prefix) {    
      obj.elements[i].checked = true;
    }
  }     
}

function getProjectDir() {

	httpProjectsDir = GetXmlHttpObject();

  if (httpProjectsDir != null)  {
    if (httpProjectsDir.readyState == 4 || httpProjectsDir.readyState == 0) {
      var url="process.aspx?type=PROJECT_POSTING&page=" + projectDirCurPage + "&genre=" + getGenre();

      httpProjectsDir.onreadystatechange=drawProjectsDir;
      httpProjectsDir.open("GET",url,true);
      httpProjectsDir.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      httpProjectsDir.send(null);
    }
  }
  else  {
    alert ("Your browser does not support AJAX!");
  }
}

function drawProjectsDir(){
    var desc = "";
	if (httpProjectsDir != null)  {
		if (httpProjectsDir.readyState==4 && httpProjectsDir.status == 200)  {
			if(httpProjectsDir.responseText != ""){
				document.getElementById("PDListing").innerHTML = "";

				var xmlDoc = httpProjectsDir.responseXML.documentElement;
				var buff = "";
				for (n=0; n<xmlDoc.childNodes.length; n++) {

					if (xmlDoc.childNodes[n].nodeName == "job") {

						var mNode = xmlDoc.childNodes[n];
						structNew = nodeFieldsToArray(mNode);
                        
                        desc = "<div>"+structNew["company_name"]+"</div>";
                        desc += "<div>"+structNew["description"]+"</div>";
                        desc += "<div>&nbsp;</div>";
                        desc += "<div>Budget : "+ structNew["budget"] +"</div>";
                        desc += "<div>&nbsp;</div>";
                        desc += "<div>Start Date :"+structNew["start_date"]+"</div>";
                        desc += "<div>Completion Date :"+structNew["completion_date"]+"</div>";
                          
						buff += "<div class='projectWrapper'>";
						buff += "<div class='projectTitle'><a href='javascript:showDescription(" + n + ")' style='float:left'>" + structNew["title"] + "</a></div><div class='projectComleteDate' style='float:right'>"+structNew["posting_date"]+"</div><div style='clear:both'></div>";
						//buff += "<div id='prjDesc_" + n + "' class='projectDescription'>" + desc + "<br /><br /><a href='javascript:submitProjectRTA("+structNew["id"]+")'><img src='./images/button_rta.gif' alt='Respond to AD' style='border:0px;' /></a></div>";
						buff += "<div id='prjDesc_" + n + "' class='projectDescription'>" + desc + "<br /><br /><a href='projectrta.aspx?height=300&width=480&id="+structNew["id"]+"' title='Respond To AD' class='thickbox'><img src='./images/button_rta.gif' alt='Respond to AD' style='border:0px;' /></a></div>";
						buff += "</div>";

					}else if (xmlDoc.childNodes[n].nodeName == "totalpage") {
						projectDirPages = parseInt(xmlDoc.childNodes[n].childNodes[0].nodeValue,10);
					}else if(xmlDoc.childNodes[n].nodeName == "noresult"){
                       
                       break;
                    }
				}

				if (buff != "") {
					buff += "<div class='pagingpn'>" + drawPaging() + "</div>";
				}else{
				    buff += "<span class='noresult'>There are no project under this category.</span>";
				}

				buff += "<div style='clear:both'></div>";
				document.getElementById("PDListing").innerHTML = buff;
				httpProjectsDir = null;
				
				
				document.getElementById("divtermofuse").innerHTML = "<a href='term_of_use.aspx?height=500&width=620' title='Terms of Use' class='thickbox' id='fTerm'>Terms of Use</a> | ";
				document.getElementById("divcontactus").innerHTML = "<a href='privacy_policy.aspx?height=500&width=620' title='Privacy Policy' class='thickbox' id='fPrivacy'>Privacy Policy</a> | ";
				tb_init('a.thickbox, area.thickbox, input.thickbox');
            }
		}else{
			document.getElementById("PDListing").innerHTML = "";
		}
	}	
}



function showLoading() {
  document.getElementById("PDListing").innerHTML = getLoadingBar();
  document.getElementById("DFListing").innerHTML = getLoadingBar();
}

function showDescription(id){

	if(document.getElementById("prjDesc_" + id).style.display == "none" || document.getElementById("prjDesc_" + id).style.display == ""){
		document.getElementById("prjDesc_" + id).style.display = "block";
	}else{
		document.getElementById("prjDesc_" + id).style.display = "none";
	}

}

function drawPaging(){
  var currentpage = projectDirCurPage;
  var totalpage = projectDirPages;
  var page_range = 3;
  var func_name = "goPage";
  var i;
  var buff = "";

  /*if (curPage == 1 && totPage > 1)  {
    buff += "<a href='javascript:goNextPage()' class='gonext' ></a>";
  }
  else if (curPage < totPage) {
    buff += "<a href='javascript:goPrevPage()' class='goprev'></a>";
    buff += "<a href='javascript:goNextPage()' class='gonext' ></a>";
  }
  else if (curPage == totPage && totPage > 1) {
    buff += "<a href='javascript:goPrevPage()' class='goprev'></a>";
  }

  buff +="<div style='clear:both'></div>";*/
  
  var curWin = Math.ceil((currentpage) / page_range); //this is the current "Window"
  var totalWin = Math.ceil(totalpage / page_range);
  var pStart = ((curWin -1) * page_range) + 1;
   
  buff+="";      
  if (curWin < totalWin) {
    buff += "<a href='javascript:"+func_name+"("+ ((curWin * page_range) + 1) +")' class='gonext'></a>"; 
  }
  buff += "<div class='paging'>";
  for (p=pStart; p<(pStart+page_range)&&p<=totalpage; p++) {
    if (p == currentpage) {
      buff += "&nbsp;<b>" + p + "</b>&nbsp;";
    }
    else {
      buff += "&nbsp;<a href='javascript:"+func_name+"("+ p +")'>" + p + "</a>&nbsp;";
    }
  }
  buff += "</div>";
  
  if (currentpage > page_range) {
    buff += "<a href='javascript:"+func_name+"("+ (((curWin-2) * page_range) + 1) +")' class='goprev'></a>";
  }
  
  buff +="<div style='clear:both'></div>";
      

  return buff;
}

function goNextPage() {
	projectDirCurPage++;
	getProjectDir();
}

function goPrevPage() {
	projectDirCurPage--;
	getProjectDir();
}

function goPage(page){
    projectDirCurPage = page;
    getProjectDir();
}


//AJAX FOR FIND A DESIGN FIRM
function getDesignFirm(e) {

	httpDesignFirm = GetXmlHttpObject();
	var keynum;
	var keychar;

	if(e != "" && e != null){
		if(window.event){
			keynum = e.keyCode
		}
		else if(e.which){
			keynum = e.which
		}

		keychar = String.fromCharCode(keynum);

		if((keynum >= 65 && keynum <= 90) || (keynum >= 48 && keynum <= 57)) {
			keyword = keyword + keychar;
		}else if(keynum == 8) {
			keyword = keyword.substring(0,keyword.length-1);			
		}else{
			return;
		}
	}else{
	    keyword = "";
	}

	if (httpDesignFirm != null)  {
		if (httpDesignFirm.readyState == 4 || httpDesignFirm.readyState == 0) {
			var url="process.aspx?type=SEARCH_MEMBER_BY_NAME&page=" + designFirmCurPage + "&keyword=" + keyword;
			httpDesignFirm.onreadystatechange=drawDesignFirm;
			httpDesignFirm.open("GET",url,true);
			httpDesignFirm.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			httpDesignFirm.send(null);
		}
	}
	else  {
		alert ("Your browser does not support AJAX!");
	}
}

function drawDesignFirm(){
	if (httpDesignFirm != null)  {
		if (httpDesignFirm.readyState==4 && httpDesignFirm.status == 200)  {
			if(httpDesignFirm.responseText != ""){
                
				document.getElementById("DFListing").innerHTML = "";

				var xmlDoc = httpDesignFirm.responseXML.documentElement;
				var buff = "";
                var noresult = 0;
                var buff1 = "";
                var i = 1;
                          
                buff += "<table cellpadding='0' cellspacing='0' border='0'>";      
				for (n=0; n<xmlDoc.childNodes.length; n++) {

					if (xmlDoc.childNodes[n].nodeName == "member") {

						var mNode = xmlDoc.childNodes[n];
						structNew = nodeFieldsToArray(mNode);
                        
                        if(i%2!=0){
                          buff += "<tr>";
                        }
                        
                        buff += "<td class='linedot' valign='top'>";
						buff += "<div class='firmWrapper'>";
						buff += "<div style='float:left;' class='firmIcon'><a href='design_directory.aspx#mid_"+structNew["id"]+"'><img src='" + structNew["logo_name"] + "' style='border:0px;' /></a></div>";
						buff += "<div style='float:left;'>";
						buff += "<div class='firmTitle'><a href='design_directory.aspx#mid_"+structNew["id"]+"'>" + structNew["company_name"] + "</a></div>";
						buff += "<div class='firmGenre'>" + structNew["genre_short"] + "</div>";
						buff += "</div>";
						//buff += drawbookmarkBtn(structNew["id"]);
						buff += "<div style='clear:both'></div>";
						buff += "</div>";
						buff += "</td>";
						
						
						if(i%2==0){
                         buff += "</tr>";
                        }
          
						i++;

					}else if (xmlDoc.childNodes[n].nodeName == "totalpage") {
						projectDirPages = parseInt(xmlDoc.childNodes[n].childNodes[0].nodeValue,10);
					}else if(xmlDoc.childNodes[n].nodeName == "noresult"){
                       buff1 = "<span class='noresult'>There are no firms under this category.</span>";
                       noresult = 1;
                       break;
                    }
				}
                
                if(i%2==0){
                     buff += "<td>&nbsp;</td></tr>";
                }
                buff += "</table>";
                
				buff += "<div style='clear:both'></div>";
				buff1 += "<div style='clear:both'></div>";
				
				
				if(noresult==0){
				    document.getElementById("DFListing").innerHTML = buff;
				}else{
				    document.getElementById("DFListing").innerHTML = buff1;
				}
				
				httpDesignFirm = null;
      }

		}else{
			document.getElementById("DFListing").innerHTML = "";
		}
	}	
}

function drawbookmarkBtn(id){
    return "<div style='bookmark'><a href='javascript:addBookmark("+id+")' class='bookmarklink' title='Add Bookmark'></a></div>";
}

function submitProjectRTA(id) {
    
  var msg = "";
  if(document.getElementById("txtMsg")!=undefined){
    msg = document.getElementById("txtMsg").value;
  }
     
  httpProjectRTA = GetXmlHttpObject();

  if (httpProjectRTA != null)  {
    if (httpProjectRTA.readyState == 4 || httpProjectRTA.readyState == 0) {
      var url="process.aspx?type=SUBMIT_PROJECT_RTA&project_id="+id+"&msg="+msg+"";
      httpProjectRTA.onreadystatechange=getProjectRTAResponse;
      httpProjectRTA.open("GET",url,true);
      httpProjectRTA.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      httpProjectRTA.send(null);
    }
  }
  else  {
    alert ("Your browser does not support AJAX!");
  }
  
  return false;
}

function getProjectRTAResponse() {
  if (httpProjectRTA != null)  {
    if (httpProjectRTA.readyState==4 && httpProjectRTA.status == 200)  {
      
      var xmlDoc = httpProjectRTA.responseXML.documentElement; 
      var buff = "";
      for (n=0; n<xmlDoc.childNodes.length; n++) {
        if(xmlDoc.childNodes[n].nodeName == "Update") {
           var eventNode = xmlDoc.childNodes[n];
           structEvent = nodeFieldsToArray(eventNode);
           
           document.getElementById("frmsubmit").style.display = "none";
           document.getElementById("divMsg").style.display = "";
           
           if(structEvent["description"]=="SUBMITSUCCESS"){
             document.getElementById("divMsg").innerHTML ="Thank you for your response.<br/>It has been forwarded to the company.";                     
           }else if(structEvent["description"]=="SUBMITFAIL"){
             document.getElementById("divMsg").innerHTML ="Submit Fail. Please try again later.";                     
           }else if(structEvent["description"]=="PROJECTNOTEXIST"){
             document.getElementById("divMsg").innerHTML ="Project does not exist.";                     
           }else if(structEvent["description"]=="NOTLOGIN"){
             document.getElementById("divMsg").innerHTML ="Please Login.";            
           }
           
        }
      }
    }
  }
}










/*   TAB CHANGE */

function notifySaveDraft() {
  if (httpJobDraft != null)  {
    if (httpJobDraft.readyState==4 && httpJobDraft.status == 200)  {
      //do nothing
      return false;
    }
  }
}

function goEditProfile() {
  location.href = "design_profile.aspx?lastpage=project_directory.aspx";
}

function showStepOne(){
    document.getElementById("divS1").style.display = "";
    document.getElementById("divS2").style.display = "none";
    document.getElementById("divS3").style.display = "none";
    document.getElementById("divS4").style.display = "none";
    
    document.getElementById("aS1").className = "secTabSelh";
    document.getElementById("aS2").className = "secTabh";
    document.getElementById("aS3").className = "secTabh";
    
}

function showStepTwo(){
    //if(!validateP()){
    //    return ;
    //}    
    //store job information to session
    httpJobDraft = GetXmlHttpObject();
    
    if (httpJobDraft != null)  {
      if (httpJobDraft.readyState == 4 || httpJobDraft.readyState == 0) {
        var url="process.aspx?type=SAVEDRAFT_JOB";
        var title = document.getElementById("txtTitle").value;
        var budget = document.getElementById("ddlProjectContractValue").value;
        var completionDate = document.getElementById("txtCompleteDate").value;
        var description = document.getElementById("txtDesc").value;
        var genre = "";
        var startDate = document.getElementById("txtStartDate").value;

        genre= fnGetGenres();       
        
        var post = "title=" + title + "&budget=" + budget + "&completionDate=" + completionDate +
          "&genre=" + genre + "&description=" + description + "&startDate=" + startDate;
        httpJobDraft.onreadystatechange=notifySaveDraft;
        httpJobDraft.open("POST",url,true);
        httpJobDraft.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        httpJobDraft.setRequestHeader("Content-length", post.length);
        httpJobDraft.setRequestHeader("Connection", "close");
        httpJobDraft.send(post);
      }
    }
    else  {
      alert ("Your browser does not support AJAX!");
    }    
    //
    //
    //document.getElementById("divS1").style.display = "none";
    //document.getElementById("divS2").style.display = "";
    //document.getElementById("divS3").style.display = "none";
    //document.getElementById("divS4").style.display = "none";
    
    //document.getElementById("aS1").className = "secTabh";
    //document.getElementById("aS2").className = "secTabSelh";
    //document.getElementById("aS3").className = "secTabh";
}

function showStepThree(){

    if(!validateP()){
        return ;
    }
    showPreview();
    document.getElementById("divS1").style.display = "none";
    document.getElementById("divS2").style.display = "none";
    document.getElementById("divS3").style.display = "";
    document.getElementById("divS4").style.display = "none";
    
    document.getElementById("aS1").className = "secTabh";
    document.getElementById("aS2").className = "secTabh";
    document.getElementById("aS3").className = "secTabSelh";
}

function showStepFour(){

    document.getElementById("divS1").style.display = "none";
    document.getElementById("divS2").style.display = "none";
    document.getElementById("divS3").style.display = "none";
    document.getElementById("divS4").style.display = "";
    
    document.getElementById("aS1").className = "secTabh";
    document.getElementById("aS2").className = "secTabh";
    document.getElementById("aS3").className = "secTabh";
}

function showStepThrees(){

    showPreview();
    document.getElementById("divS1").style.display = "none";
    document.getElementById("divS2").style.display = "none";
    document.getElementById("divS3").style.display = "";
    
    document.getElementById("aS1").className = "secTabh";
    document.getElementById("aS2").className = "secTabh";
    document.getElementById("aS3").className = "secTabSelh";
    
    document.getElementById("pnBeforeSubmit").style.display = "none";
    
}

function validate(){
    if(validate_field(document.frmProjectDirectory.txtUserId,"User ID",TEXT)&&
        validate_field(document.frmProjectDirectory.txtPassword,"Password",TEXT)){
        return true;    
    }else{
        return false;
    }
}
    
function validateP(){
    
    if(validate_field(document.frmProjectDirectory.txtTitle,"Title",TEXT)&&
        validate_field(document.frmProjectDirectory.txtBudget,"Budget",TEXT)&&
        validate_field(document.frmProjectDirectory.txtStartDate,"start Date",DATE)&&
        validate_field(document.frmProjectDirectory.txtCompleteDate,"Completion Date",DATE)&&
        validate_field(document.frmProjectDirectory.txtDesc,"Description",TEXT)
        ){
        
        var genre = getProjectGenre();  
        if(genre==""){
            alert("Please Select Genre.");
            return false;
        }
        
        if(document.frmProjectDirectory.chkTnc.checked!=true){
            alert("Tick Terms and Conditions to continue.");
            document.frmProjectDirectory.chkTnc.focus();
            return false;
        }
        
        return true;    
    }else{
        return false;
    }
}

function showPreview()
{
    var title = document.frmProjectDirectory.txtTitle.value;
    var budget = document.frmProjectDirectory.txtBudget.value;
    var startDate = document.frmProjectDirectory.txtStartDate.value;
    var completionDate = document.frmProjectDirectory.txtCompleteDate.value;
    var desc = document.frmProjectDirectory.txtDesc.value;
    var genre = getProjectGenre();
    
    document.getElementById("lblTitle").innerHTML = title;
    document.getElementById("lblBudget").innerHTML = budget;
    document.getElementById("lblStartDate").innerHTML = startDate;
    document.getElementById("lblCompletionDate").innerHTML = completionDate;
    document.getElementById("lblDesc").innerHTML = desc;
    document.getElementById("lblGenre").innerHTML = genre;
}





