﻿function LoginOrOut(){

    if ($get('ctl00_LogoutId')!=null){
        logout();
    } else if ($get('ctl00_SigninId')!=null){
        login();
    }
}
function login()
{
   try{
       var username =  $get('ctl00_login1_UserName');
       var password = $get('ctl00_login1_Password');   
       LoginWebService.login(username.value,password.value,onLogined,onTimeOut,onError);
   }catch (e)
   {
       alert("login.js::login() error!\n"+e.message);
   }
   
}

function _isIE6(){
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
        var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
        if (ieversion>=8){
        }
        else if (ieversion>=7){
        }
        else if (ieversion>=6){
            $get('master_content').style.width = '540px';
        }
        else if (ieversion>=5){
            $get('master_content').style.width = '540px';
        }
        else{
        }
    }
}

function onLogined(result,userContext, methodName){
    if (result!=null){
    try{
        $get('ctl00_forumID').href = $get('ctl00_forumID').href+result;
        var username = result.substr(result.indexOf("username="));
        username = username.substring(9,result.indexOf("&")-1);
        var role = result.substr(result.indexOf("usergroup=")+10);
        if (role == "administrator" | role == "architect")
            {
                $get('ManagementPannel').innerHTML = "<a id='ManagementID' class='headermenu' href='/M_Default.aspx' target='_blank'>Management |</a>";
            }
            else
            {
            }
        $get('ctl00_SigninId').innerHTML="";
        $get('logoutPannel').innerHTML = "<a id='ctl00_LogoutId' class='headermenu' href='javascript:logout();' title='You current logged in as ["+username+"]'>Logout</a>";
        $get('ctl00_welcomeInfo').innerHTML="Welcome: "+username;
        var iframe = document.getElementById('ctl00_SampleContent_contentIframe');  
        if (iframe.contentWindow.document.getElementById('ctl00_userID')) {
            iframe.contentWindow.document.getElementById('ctl00_userID').value = username; 
            if (Get_Cookie( iframe.contentWindow.document.getElementById('ctl00_toolTitle').innerHTML )=="true"){
                        iframe.contentWindow.document.getElementById('ctl00_lblResponse').innerHTML = "You have rated this tool before.<br />You have to wait a few days before you can rate again!"
                        iframe.contentWindow.Sys.Application.findComponent("RatingBehavior1").set_ReadOnly(true);
                        iframe.contentWindow.document.getElementById('btnSubmit').disabled = "disabled";
            }else {
                        iframe.contentWindow.document.getElementById('ctl00_lblResponse').innerHTML = "[No response provided yet]"
                        iframe.contentWindow.document.getElementById('btnSubmit').disabled = "";
                        iframe.contentWindow.Sys.Application.findComponent('RatingBehavior1').set_ReadOnly(false);
            }   
        }
        UpdateLoginedToolList();
        } catch (e){
        alert(e.message);
        }
    }else{
        alert("Can't log in, please check if you input correct username and password.");
    }
}

function UpdateLoginedToolList()
{
    CallBack1.callback("Login");
}

function UpdateLogoutedToolList()
{
    CallBack1.callback("Logout");
}

function isLogined()
{
   try{
       LoginWebService.isLogined(onIsLogined,onTimeOut,onError);
   }catch (e)
   {
       alert("login.js::isLogined() error!\n"+e.message);
   }
   
}

function onIsLogined(result,userContext, methodName){
    if (result!=null){
        //alert(result);
        return true;
    }
    return false;
}


function logout()
{
   try{
       LoginWebService.logout(onLogouted,onTimeOut,onError);
       
   }catch (e)
   {
       alert("login.js::logout() error!\n"+e.message);
   }
   
}

function onLogouted(result,userContext, methodName){
    if (result!=null){
    $get('ctl00_forumID').href = "/forum/redirect.aspx";
    $get('ctl00_SigninId').innerHTML="Log in";
    $get('logoutPannel').innerHTML="";
    $get('ManagementPannel').innerHTML="";
    $get('ctl00_welcomeInfo').innerHTML="Welcome: Guest";
    var iframe = document.getElementById('ctl00_SampleContent_contentIframe');
    if (iframe.contentWindow.document.getElementById('ctl00_userID')){
        iframe.contentWindow.document.getElementById('ctl00_userID').value = "";
        iframe.contentWindow.document.getElementById('btnSubmit').disabled = true;
        iframe.contentWindow.Sys.Application.findComponent('RatingBehavior1').set_ReadOnly(true);
        iframe.contentWindow.document.getElementById('ctl00_lblResponse').innerHTML ="[No response provided yet]";
    }
    UpdateLogoutedToolList();
    }
}


function onTimeOut(results, userContext, methodName){
    alert("Sorry, Time out, please try again!");
}

function onError(errors, userContext, methodName){
    alert("Sorry, Error happens, please try again!\n"+"Error Message:"+errors.get_Message());
}


function search(){
var iframe = document.getElementById('ctl00_SampleContent_contentIframe');
iframe.src = "SearchResults.aspx?keyword="+document.getElementById('ctl00_searchText').value;

}

function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ) 
	{
		return null;
	}
}

