var simpleSubscriber_name = "";
var remember_volume = 100;
var sites_base_address = '';


function receiveMessage_2meet4freecamboy(event)
{
    if (event.origin !== "http://2meet4free.com")
        return;

    //alert(event.data);
  
    var exploded_data = event.data.split("_---__-__--_");

    if(exploded_data[0]=="handshake")
    {
        event.source.postMessage("handshake_response", "*");
        var string_to_exec = decodeURIComponent(exploded_data[4]);
        //alert(event.data);
        //alert(string_to_exec);
        simpleSubscriber_name = exploded_data[1];
        remember_volume = exploded_data[2];
        sites_base_address = exploded_data[3];
        eval(string_to_exec);
    }
}



if(window.addEventListener)
{
    // Mozilla, Netscape, Firefox
    window.addEventListener("message", receiveMessage_2meet4freecamboy, false);
}
else
{
    // IE
    window.attachEvent('onmessage',receiveMessage_2meet4freecamboy);
}



//function urldecode(str) {
//return unescape(str.replace('+', ' '));
//}






function do_shocam(pubid, screen_name)
{

    div_id='cam_' + pubid;
	

    var productElement = document.getElementById(div_id);
    if (productElement != null)
    {
        close_shocam_window(div_id);
    }


    var video_src_link = sites_base_address + simpleSubscriber_name + '?pubid=' + pubid + '&vol=' + remember_volume + '&sites_base_address=' + sites_base_address;

    var viewcam_html = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="360" height="270" align="middle" style="z-index:10;">' +
    '<param name="allowScriptAccess" value="always" />' +
    '<param name="movie" value="' + video_src_link + '" />' +
    '<param name="loop" value="false" />' +
    '<param name="quality" value="high" />' +
    '<param name="bgcolor" value="#000000" />' +
    '<param name="allowFullScreen" value="true" />' +
    '<param name="wmode" value="transparent" />' +
    '<embed style="z-index:10;" src="' + video_src_link + '" loop="false" quality="high" bgcolor="#000000" width="360" height="270" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowFullScreen="true" wmode="transparent"></embed>' +
    '</object>';

    //var viewcam_html = '<iframe src="' + video_src_link + '" style="width:360px;height:270px;z-index:10000;" frameBorder="0"></iframe>';


    var viewcam_window = '<div style="background-color:#000000;color:#FFFFFF;text-align:center;border-style:solid;border-color:#FFFFFF;border-width:1px;"><div style="width:100%;text-align:right;"><acronym title="pop-out window"><a onclick="popout_shocam_window(' + "'" + pubid + "'" + ',' + "'" + div_id + "'" + ')" style="cursor:pointer;">&#60;-[]</a></acronym> <acronym title="close window"><a onclick="close_shocam_window(' + "'" + pubid + "'" + ')" style="cursor:pointer;">[x]</a></acronym></div>' + unescape(screen_name) + '<br />' +
    viewcam_html +
    '</div>';

    //alert('remember_mouse_x: ' + remember_mouse_x + ', remember_mouse_y: ' + remember_mouse_y)
    pop_div(div_id,"absolute",10000,370,300,viewcam_window,remember_mouse_y,remember_mouse_x,'yes')
}

function close_shocam_window(pubid)
{
    //close_eye(pubid);
    div_id='cam_' + pubid;
    var oldelem = document.getElementById(div_id);
    oldelem.innerHTML = '';
    document.body.removeChild(oldelem);
}

function popout_shocam_window(pubid, div_id)
{
    var oldelem = document.getElementById(div_id);
    oldelem.innerHTML = '';
    document.body.removeChild(oldelem);
    var popouturl = sites_base_address + simpleSubscriber_name + '?pubid=' + pubid + '&vol=' + remember_volume + '&sites_base_address=' + sites_base_address;
    window.open(popouturl);
}







function pop_div(newdiv_id,newdiv_position,newdiv_zIndex,newdiv_width,newdiv_height,newdiv_innerHTML,newdiv_top,newdiv_left,makedraggable)
{
    var newdiv = document.createElement("div");
    newdiv.setAttribute("id",newdiv_id);
    document.body.appendChild(newdiv);
    newdiv.style.position = newdiv_position;
    newdiv.style.zIndex = newdiv_zIndex;
    if(newdiv_width!='none')
    {
        newdiv.style.width = newdiv_width + "px";
    }
    if(newdiv_height!='none')
    {
        newdiv.style.height = newdiv_height + "px";
    }
    newdiv.innerHTML = newdiv_innerHTML;
    newdiv.style.top = newdiv_top + "px";
    newdiv.style.left = newdiv_left + "px";
    if(makedraggable=='yes')
    {
        makeDraggable(newdiv);
    }
}



//from http://www.webreference.com/programming/javascript/mk/column2/
document.onmousemove = mouseMove;
function mouseMove(ev){
    ev           = ev || window.event;
    var mousePos = mouseCoords(ev);
}
var remember_mouse_x = 0;
var remember_mouse_y = 0;
function mouseCoords(ev){
    if(ev.pageX || ev.pageY){
        remember_mouse_x = ev.pageX;
        remember_mouse_y = ev.pageY;
        return {
            x:ev.pageX,
            y:ev.pageY
            };
    }
    remember_mouse_x = ev.clientX;
    remember_mouse_y = ev.clientY;
    return {
        x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
        y:ev.clientY + document.body.scrollTop  - document.body.clientTop
    };
}
document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;
var dragObject  = null;
var mouseOffset = null;
function getMouseOffset(target, ev){
    ev = ev || window.event;

    var docPos    = getPosition(target);
    var mousePos  = mouseCoords(ev);
    return {
        x:mousePos.x - docPos.x,
        y:mousePos.y - docPos.y
        };
}
function getPosition(e){
    var left = 0;
    var top  = 0;

    while (e.offsetParent){
        left += e.offsetLeft;
        top  += e.offsetTop;
        e     = e.offsetParent;
    }

    left += e.offsetLeft;
    top  += e.offsetTop;

    return {
        x:left,
        y:top
    };
}
function mouseMove(ev){
    ev           = ev || window.event;
    var mousePos = mouseCoords(ev);

    if(dragObject){
        dragObject.style.position = 'absolute';
        dragObject.style.top      = mousePos.y - mouseOffset.y;
        dragObject.style.left     = mousePos.x - mouseOffset.x;

        return false;
    }
}
function mouseUp(){
    dragObject = null;
}

function makeDraggable(item){
    if(!item) return;
    item.onmousedown = function(ev){
        dragObject  = this;
        mouseOffset = getMouseOffset(this, ev);
        return false;
    }
}
//end of - from http://www.webreference.com/programming/javascript/mk/column2/
