function imageopen(url,width,height) {
  imgwin=window.open('','img','left=0,top=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width='+width+',height='+height);
  imgwin.document.open();
  imgwin.document.write("<html><head><title>Image</title></head><body topmargin=\"0\" marginheight=\"0\" leftmargin=\"0\" marginwidth=\"0\"><a href=\"javascript:window.close()\"><img src=\""+url+"\" width="+width+" height="+height+" style=\"border: none\"></a><br></body></html>");
  imgwin.document.close();
}

/* *** */

function setToday() {
    setFormDate(0);
}
function setTomorrow() {
    setFormDate(1000*3600*24);
}
function setFormDate(diff) {
    var stamp = new Date();
    stamp.setTime(stamp.getTime() + diff);
    
    var number = stamp.getYear();
    document.getElementById('stamp_year').value = (number < 1000) ? number + 1900 : number;
    
    document.getElementById('stamp_month').value = stamp.getMonth() + 1;
    document.getElementById('stamp_day').value = stamp.getDate();
}

function setRandomTime() {
    document.getElementById('stamp_hour').value = Math.floor(Math.random() * 11 + 8);
    document.getElementById('stamp_minute').value = Math.floor(Math.random() * 60);
    document.getElementById('stamp_second').value = Math.floor(Math.random() * 60);
}


/* *** */

function addBookmark() {
    if (window.sidebar) { // Firefox
        window.sidebar.addPanel('CelebHírek.hu', 'http://www.celebhirek.hu', '');
    } else if (window.external) { // IE
        window.external.AddFavorite('CelebHírek.hu', 'http://www.celebhirek.hu');
    }
}

/* *** */

var searchTimer;

function startSearch() {
	window.clearInterval(searchTimer);
	searchTimer = window.setTimeout(doSearch, 500);
}

function doSearch() {
	var key = document.getElementById('searchInput').value;
	key = key.replace(/^(\s)*/, '');
    key = key.replace(/(\s)*$/, '');
    if (key.length >= 3) {
	    var sUrl = '/celebs/ajaxsearch?key=' + key;
	    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, searchCallback);
    } else {
    	document.getElementById('autoComplate').style.display = 'none';
    }
}

var searchCallback = {
    success: searchHandleSuccess/*,
    failure: searchHandleFailure,
    argument: { foo:"foo", bar:"bar" }*/
}

function searchHandleSuccess(o) {
    if (o.responseText !== undefined) {
        var el = document.getElementById('autoComplate');
        el.innerHTML = o.responseText;
        el.style.display = 'block';
    }
}

/* *** */

var restoreTimer_v1 = null;
var restoreTimer_v2 = null;
var restoreTimer_v3 = null;
var restoreTimer_v4 = null;
var restoreTimer_v5 = null;

function storeStars(name,value) {
	document.getElementById(name).value = value;
}

function drawStars(name,value) {
	var active = document.getElementById('pollActive').value;
    var inactive = document.getElementById('pollInactive').value;
	switch (name) {
		case 'v1':
            window.clearTimeout(restoreTimer_v1);
            break;
        case 'v2':
            window.clearTimeout(restoreTimer_v2);
            break;
        case 'v3':
            window.clearTimeout(restoreTimer_v3);
            break;
        case 'v4':
            window.clearTimeout(restoreTimer_v4);
            break;
        case 'v5':
            window.clearTimeout(restoreTimer_v5);
            break;
	}
	
	for (var i=1; i<=5; i++) {
		if (value >= i) {
	       document.getElementById(name + '_' + i).setAttribute('src', '/gfx/star_' + active + '.png');
		} else {
           document.getElementById(name + '_' + i).setAttribute('src', '/gfx/star_' + inactive + '.png');
		}
	}
}

function restoreStars_v1() {
	restoreTimer_v1 = window.setTimeout(doRestoreStars_v1, 100);
}
function restoreStars_v2() {
    restoreTimer_v2 = window.setTimeout(doRestoreStars_v2, 100);
}
function restoreStars_v3() {
    restoreTimer_v3 = window.setTimeout(doRestoreStars_v3, 100);
}
function restoreStars_v4() {
    restoreTimer_v4 = window.setTimeout(doRestoreStars_v4, 100);
}
function restoreStars_v5() {
    restoreTimer_v5 = window.setTimeout(doRestoreStars_v5, 100);
}
function doRestoreStars_v1() {
	drawStars('v1', document.getElementById('v1').value);
}
function doRestoreStars_v2() {
    drawStars('v2', document.getElementById('v2').value);
}
function doRestoreStars_v3() {
    drawStars('v3', document.getElementById('v3').value);
}
function doRestoreStars_v4() {
    drawStars('v4', document.getElementById('v4').value);
}
function doRestoreStars_v5() {
    drawStars('v5', document.getElementById('v5').value);
}

function doPoll(celeb_id,el,type) { /* type: n=normal, f=fashion */
    var sUrl = '/celebs/ajaxpoll?celeb_id=' + celeb_id + '&type=' + type;
    
    var x = YAHOO.util.Dom.getX(el);
    var y = YAHOO.util.Dom.getY(el);

    var pollCallback = {
        success: pollHandleSuccess,
        argument: { type: type, x: x, y: y }
    }

    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, pollCallback);
}

function pollHandleSuccess(o) {
    if (o.responseText !== undefined) {
    	switch (o.argument.type) {
    		case 'n':
              var el = document.getElementById('pollBlock');
    		  break;
    		case 'f':
              var el = document.getElementById('pollBlockRuci');
    		  break;
    	}
        el.innerHTML = o.responseText;
        el.style.display = 'block';
        YAHOO.util.Dom.setX(el, o.argument.x + 70);
        YAHOO.util.Dom.setY(el, o.argument.y - 130);

        // restore stars
        window.clearTimeout(restoreTimer_v1);
        window.clearTimeout(restoreTimer_v2);
        window.clearTimeout(restoreTimer_v3);
        window.clearTimeout(restoreTimer_v4);
        window.clearTimeout(restoreTimer_v5);
        doRestoreStars_v1();
        doRestoreStars_v2();
        doRestoreStars_v3();
        doRestoreStars_v4();
        doRestoreStars_v5();
    }
}

function doVote(form,type) {
    var sUrl = '/celebs/ajaxvote?type=' + type;
    
    var postData = 'celeb_id=' + form.celeb_id.value;
    postData += '&v1=' + form.v1.value;
    postData += '&v2=' + form.v2.value;
    postData += '&v3=' + form.v3.value;
    postData += '&v4=' + form.v4.value;
    postData += '&v5=' + form.v5.value;

	var voteCallback = {
	    success: voteHandleSuccess,
	    argument: { type: type }
	}

    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, voteCallback, postData);
}

function voteHandleSuccess(o) {
    if (o.responseText !== undefined) {
        switch (o.argument.type) {
            case 'n':
              var el = document.getElementById('pollBlock');
              break;
            case 'f':
              var el = document.getElementById('pollBlockRuci');
              break;
        }
        el.innerHTML = o.responseText;
    }
}

/* *** */

function doComment(news_id,el) {
    var sUrl = '/news/ajaxcomment?news_id=' + news_id;
    
    var x = YAHOO.util.Dom.getX(el);
    var y = YAHOO.util.Dom.getY(el);

    var commentCallback = {
        success: commentHandleSuccess,
        argument: { news_id: news_id, x: x, y: y }
    }

    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, commentCallback);
}

function commentHandleSuccess(o) {
    if (o.responseText !== undefined) {
        var news_id = o.argument.news_id;

        var el = document.getElementById('commentBlock');
        el.innerHTML = o.responseText;
        el.style.display = 'block';
        YAHOO.util.Dom.setX(el, o.argument.x + 70);
        YAHOO.util.Dom.setY(el, o.argument.y - 230);
        
        doAjaxlogin();
    }
}

function doAjaxlogin(mode) {
    var sUrl = '/members/ajaxlogin';

    var commentCallback = {
        success: ajaxloginHandleSuccess
    }
    
    if (mode) {
	    var postData = 'mode=' + mode;

        var el = document.getElementById('loginmanager_name');
	    if (el) {
	       postData += '&name=' + el.value;
	    }

        var el = document.getElementById('loginmanager_email');
        if (el) {
           postData += '&email=' + el.value;
        }

        var el = document.getElementById('loginmanager_passwd');
        if (el) {
           postData += '&passwd=' + el.value;
        }

        var el = document.getElementById('loginmanager_passwd2');
        if (el) {
           postData += '&passwd2=' + el.value;
        }
    
        var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, commentCallback, postData);
    } else {
        var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, commentCallback);
    }

    document.getElementById('loginmanager').innerHTML = '<img src="/gfx/loading.gif">';
}

function ajaxloginHandleSuccess(o) {
    if (o.responseText !== undefined) {
        var el = document.getElementById('loginmanager');
        el.innerHTML = o.responseText;
        
        var el = document.getElementById('loginmanager_return_mode');
        if (el) {
        	loginmanager_switchTo(el.value);
        }
    }
}

function doPostComment() {
    var sUrl = '/news/ajaxpostcomment';

    var news_id = document.getElementById('newscomment_news_id').value;
    
    var commentCallback = {
        success: ajaxpostcommentHandleSuccess,
        argument: { news_id: news_id }
    }
    
    var postData = 'news_id=' + news_id;
    postData += '&body=' + document.getElementById('newscomment_body').value;

    var el = document.getElementById('loginmanager_name');
    if (el) {
       postData += '&name=' + el.value;
    }

    var el = document.getElementById('loginmanager_email');
    if (el) {
       postData += '&email=' + el.value;
    }

    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, commentCallback, postData);
}

function ajaxpostcommentHandleSuccess(o) {
    if (o.responseText !== undefined) {
    	if (o.responseText != 'success') {
    		alert(o.responseText);
    		return;
    	}
    	
        var news_id = o.argument.news_id;
        location.replace('/news/details?id=' + news_id + '#comments');
    }
}

function loginmanager_switchTo(mode) {
	YAHOO.util.Dom.setStyle('loginmanager_tr_userid', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_email', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_passwd', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_passwd2', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_button_join', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_button_signin', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_button_signoff', 'display', 'none');
    YAHOO.util.Dom.setStyle('loginmanager_tr_button_submit', 'display', 'none');

    var onValue = 'table-row';
    if (navigator.appName == 'Microsoft Internet Explorer') {
    	onValue = 'block';
    }
    
    switch (mode) {
        case 'anon':
           YAHOO.util.Dom.setStyle('loginmanager_tr_userid', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_email', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_button_submit', 'display', onValue);
           break;
        case 'signin':
           YAHOO.util.Dom.setStyle('loginmanager_tr_userid', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_passwd', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_button_signin', 'display', onValue);
           break;
        case 'join':
           YAHOO.util.Dom.setStyle('loginmanager_tr_userid', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_email', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_passwd', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_passwd2', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_button_join', 'display', onValue);
           break;
        case 'signoff':
           YAHOO.util.Dom.setStyle('loginmanager_tr_button_signoff', 'display', onValue);
           YAHOO.util.Dom.setStyle('loginmanager_tr_button_submit', 'display', onValue);
           break;
    }
}

/* *** */

function doGallery(celeb_id,offset) {
    var sUrl = '/celebs/ajaxgallery?celeb_id=' + celeb_id + '&offset=' + offset;
    
    var galleryCallback = {
        success: galleryHandleSuccess
    }

    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, galleryCallback);
}

function galleryHandleSuccess(o) {
    if (o.responseText !== undefined) {
        var el = document.getElementById('profilGallery');
        el.innerHTML = o.responseText;
    }
}

/* *** */

function doFashion(celeb_id,offset) {
    var sUrl = '/fashion/ajaxgallery?celeb_id=' + celeb_id + '&offset=' + offset;
    
    var fashionCallback = {
        success: fashionHandleSuccess,
        argument: { celeb_id: celeb_id }
    }

    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, fashionCallback);
}

function fashionHandleSuccess(o) {
    if (o.responseText !== undefined) {
        var celeb_id = o.argument.celeb_id;
        
        var el = document.getElementById('ruciBox_' + celeb_id);
        el.innerHTML = o.responseText;
    }
}

