/* Favorite Trigger
 * created by B2B-UED-TC 2010-01-28
 * wb_zhao.tang@alibaba-inc.com
 * @module detailPage of Aisn and Minisite
 * @requires ae.js
 */

try {
    document.domain = 'alibaba.com' ;
}catch (e){}

var createFavWin = function (el) {
    // set winWrap width and height
    var iWidth = 380,
        iHeight = 230 ;

    if (!el){
        var elWinWrap = document.createElement('div') ;
        var wrapHTML = '' ;
        wrapHTML += '<div class="winFav">';
        wrapHTML += '<h5 id="titleAddFav">Add product to Favorites</h5>';
        wrapHTML += '<a href="javascript:void(0);" id="iconCloseWin" class="iconCloseWin">close</a>';
        wrapHTML += '<iframe id="frmRequestAddFav" class="frmRequestAddFav" src="" scrolling="no" frameborder="0"></iframe>';
        wrapHTML += '</div>';
        wrapHTML += '<div class="shadow"></div>';

        elWinWrap.id = 'winFavWrap' ;
        elWinWrap.className = 'winFavWrap' ;
        elWinWrap.innerHTML = wrapHTML ;
        document.body.appendChild(elWinWrap) ;

        elWinWrap.style.width = iWidth + 'px' ;
        if (AE.bom.isIE6){
            elWinWrap.style.top = (document.documentElement.clientHeight - iHeight)/2 + document.documentElement.scrollTop +'px' ;
        }else {
            elWinWrap.style.top = (document.documentElement.clientHeight - iHeight)/2 + 'px' ;
        }

        //bind close event
        get('iconCloseWin').onclick = function () {
            clearWin();
        } ;
    }else {
        if (AE.bom.isIE6){
            el.style.top = (document.documentElement.clientHeight - iHeight)/2 + document.documentElement.scrollTop +'px' ;
        }
    }
};

var createPageShadow = function (el) {
    if (!el){
        var elShadow = document.createElement('div')
        elShadow.id = 'pageShadow' ;
        elShadow.style.cssText = 'position:absolute;top:0;left:0;width: 100%;z-index:999998;background-color: #000;filter:alpha(opacity=20);opacity:0.2 ;' ;
        elShadow.style.height = document.documentElement.scrollHeight+'px' ;
        document.body.appendChild(elShadow) ;
    }else {
        el.style.visibility = 'visible';
    }
};

var clearWin = function () {
    get('winFavWrap').style.width = '380px' ;
    get('frmRequestAddFav').style.width = '372px' ;

    get('winFavWrap').style.display = 'none' ;
    try {
        get('frmRequestAddFav').contentWindow.location.href = 'about:blank';
    }catch (e){}

    try {
        get('pageShadow').style.visibility = 'hidden';
    }catch (e){}
}

var toggleMore = function (type) {
    if (type == 'more'){
        get('winFavWrap').style.width  = '680px' ;
        get('frmRequestAddFav').style.width = '672px' ;
    }else if (type == 'less'){
        get('winFavWrap').style.width  = '380px' ;
        get('frmRequestAddFav').style.width = '372px' ;
    }
}

var closeWinEsc = function () {
    document.onkeyup = function (e) {
        var e = window.event || e ;
        if (e.keyCode == 27){
            clearWin();
            document.onkeyup = null ;
        }
    } ;
} ;

YUE.onDOMReady(function () {
    // check host
    if (location.host.indexOf('alibaba.com') ==  -1){
        try {
            get('linkAddCompany').style.display = 'none' ;
            get('linkAddProduct').style.display = 'none' ;
        }catch (e){}
        return ;
    }

    var requestUrl = get('favoriteServer').value + '/favorite/frmAddFavorite.htm' ,
        productId = companyId = 0 ,
        urlRule = 'D' ;

    try {
        var aData = get('linkAddCompany').getAttribute('data').split(',') ;
    }catch (e){
        var aData = get('linkAddProduct').getAttribute('data').split(',') ;
    }

    try {
        urlRule = get('favoriteUrlRule').value ;
        companyId = aData[0].split('cid:')[1] ;
        productId = aData[1].split('pid:')[1] ;
    }catch (e){}
    
    get('linkAddCompany').onclick = function () {
        createFavWin(get('winFavWrap'));
        createPageShadow(get('pageShadow'));
        get('titleAddFav').innerHTML = 'Add Company to Favorites' ;
        var ts = +new Date();
        get('frmRequestAddFav').src = requestUrl + '?urlRule='+urlRule+'&objectType=company&objectId='+companyId+'&ts='+ts + '&iframe_delete=true' ;
        get('winFavWrap').style.display = 'block' ;

        //listen ESC pressing
        closeWinEsc();
    };

    get('linkAddProduct').onclick = function () {
        createFavWin(get('winFavWrap'));
        createPageShadow(get('pageShadow'));
        get('titleAddFav').innerHTML = 'Add Product to Favorites' ;
        var ts = +new Date();
        get('frmRequestAddFav').src = requestUrl + '?urlRule='+urlRule+'&objectType=product&objectId='+productId+'&comId='+companyId+'&ts='+ts + '&iframe_delete=true';
        get('winFavWrap').style.display = 'block' ;

        //listen ESC pressing
        closeWinEsc();
    };
});