var render=false;

function fbs_click() 
{
    u=location.href;
    t=document.title;
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
    return false;
}


var handleSubmit = function() {
    this.submit();
};
var handleCancel = function() {
    this.cancel();
};
var handleSuccess = function(o) {
    var response = o.responseText;
    response = response.split("<!")[0];
    document.getElementById("resp").innerHTML = response;
    eval(response);
};
var handleFailure = function(o) {
    alert("Submission failed: " + o.status);
};


YAHOO.namespace("example.container");
function init() {
    // Define various event handlers for Dialog
    // Instantiate the Dialog
    YAHOO.example.container.dialog1 = new YAHOO.widget.Dialog("dialog1", 
    { 
        width : "460px",
        height : "130px",
        fixedcenter : true,
        visible : false
            
    } );
    YAHOO.example.container.dialog2 = new YAHOO.widget.Dialog("dialog2", 
    {
        width : "460px",
        height : "160px",
        fixedcenter : true,					
        visible : false
    } );
    YAHOO.example.container.dialog3 = new YAHOO.widget.Dialog("dialogPost", 
    {
        width  : "470px",
        height : "290px",
        fixedcenter : true,					
        visible : false
    //	constraintoviewport : true,
    //  buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true } ]
            
            
    } );

    YAHOO.example.container.dialog4 = new YAHOO.widget.Dialog("dialog3", 
    {
        width : "460px",
        height : "240px",
        fixedcenter : true,					
        visible : false
    } );

    // Validate the entries in the form to require that both first and last name are entered

    // Wire up the success and failure handlers
    // Render the Dialog
    YAHOO.example.container.dialog1.render();
    YAHOO.example.container.dialog2.render();
    YAHOO.example.container.dialog3.render();
    YAHOO.example.container.dialog4.render();

	if(document.getElementById("magi_mail").value=="1") 
	{
		YAHOO.example.container.dialog4.show();
	}

    render=true;

}

YAHOO.util.Event.addListener(window, "load", init);

function Over1000(){
    var msg_obj=document.getElementById('message');
    var desc_obj=document.getElementById('err_desc');
    if(document.getElementsByName('g_why')[0].value.length > 1000){
	    msg_obj.innerHTML='Sorry, we dont have lots of money to buy database. You can only enter up to 1000 characters.';
		desc_obj.innerHTML='';
        YAHOO.example.container.dialog1.show();
		return true;
    }
	return false;
}

function comment_Over1000(){
    var msg_obj=document.getElementById('message');
    var desc_obj=document.getElementById('err_desc');
    if(document.getElementsByName('comment')[0].value.length > 1000){
	    msg_obj.innerHTML='Sorry, we dont have lots of money to buy database. You can only enter up to 1000 characters.';
		desc_obj.innerHTML='';
        YAHOO.example.container.dialog1.show();
		return true;
    }
	return false;
}

function show_level(obj,level){
	var p= YAHOO.util.Dom.getXY(obj);
	p[0]=p[0]+25;
	p[1]=p[1]+5;
	
	var bg=document.getElementById("level_bg_"+level);
	var txt=document.getElementById("level_"+level);

	var el=document.getElementById("magilevel");
	YAHOO.util.Dom.setXY(el, p); 

    if(	el.style.visibility=="visible"){
		bg.style.backgroundColor='#FFFFFF';
		txt.innerHTML=tmp;
        el.style.visibility="hidden";
    }else{
     	bg.style.backgroundColor='#FFFFDD';
		tmp=txt.innerHTML;
		txt.innerHTML='<strong><font color="#FF0000">'+tmp+'</font></strong>';
        el.style.visibility="visible";	
    }
}

function poppick(sid,nickname,ref,g_what) {
		
	var obj=document.getElementById("user");
	obj.innerHTML=nickname;
	var obj=document.getElementById("user2");
	obj.innerHTML=nickname;
	
	var obj=document.getElementById("ref");
	obj.innerHTML=ref;

	var obj=document.getElementsByName("o_nickname")[0];
	obj.value=nickname;	
	var obj=document.getElementById("what");
	obj.innerHTML=g_what;
	var obj=document.getElementsByName("o_ref")[0];
	obj.value=ref;	
	var obj=document.getElementsByName("o_sid")[0];
	obj.value=sid;
	var obj=document.getElementsByName("o_qid")[0];
	obj.value=document.getElementById("magi_qid").value;

	if(render == true){
		YAHOO.example.container.dialog3.show();
	}

}


//obj.onmouseover=function(){show_level()};
//YAHOO.util.Event.on(obj,'mouseover', show_level,magi);
//YAHOO.util.Event.on(obj,'mouseout', show_level,magi);

function recomm(id,sid) {
    //var inner = document.getElementById("image");
    var callback = {
        success: function(o) {
            var name='recom'+id;
            var thumb='thumbimg'+id;

            document.getElementById(name).innerHTML=eval(o.responseText);
            document.getElementById(thumb).src='/magisgift/images/thumbup_g.gif';
            var pos=YAHOO.util.Dom.getXY(name);

        },
            failure:function(o) {

            }
    }

    var connObj = YAHOO.util.Connect.asyncRequest('GET','/magi/ajax/'+id+'/'+sid, callback);
}



var input_name=['g_what','nickname','email','nickbox','reference','nickemail'];

document.getElementsByName('g_what')[0].value='what';
//document.getElementsByName('g_why')[0].value='why';
document.getElementsByName('email')[0].value=document.getElementById("magi_email_value").value;
document.getElementsByName('nickname')[0].value=document.getElementById("magi_nick_value").value;
document.getElementsByName('nickemail')[0].value=document.getElementById("magi_email_value").value;
document.getElementsByName('email')[1].value=document.getElementById("magi_email_value").value;
document.getElementsByName('nickname')[1].value=document.getElementById("magi_nick_value").value;





function clear(o,el){
    el.style.textAlign='left'; 
}

var obj=new Array();
for (x in input_name){
    obj[x]=document.getElementsByName(input_name[x])[0];

    YAHOO.util.Event.on(obj[x],'mousedown',clear,obj[x]);
}


function compare(op,cate){
    switch(cate){
    case "email" :
        var myReg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
        if(myReg.test(op)) return true;
        error='email';
        return 	false; 

    case "require" :
        if(op !='' && op !='what' && op != 'why'){ 
            return true;
        }
        return false;
    }
}





function validate(){

    g_what=compare(document.getElementsByName('g_what')[0].value,"require");
    g_why=compare(document.getElementsByName('g_why')[0].value,"require");
    nickname=compare(document.getElementsByName('nickname')[1].value,"require");
    var msg_obj=document.getElementById('message');
    var desc_obj=document.getElementById('err_desc');

    if(!g_what || !g_why ){	
        var error='Data is missing.';
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=error;
        return false;
    }
	
    result=compare(document.getElementsByName('nickname')[1].value,"require");
    if(!result){
        var error='Nickname is required.';	
		var title='Please create a nickname for yourself. Nickname helps users to know whom they are interacting with.';
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=error;
        desc_obj.innerHTML=title;
        return false;
    }

	if(Over1000()){
		return false;
	}
	
    result=compare(document.getElementsByName('email')[1].value,"require");
    if(!result){

		var title='Email is required for confirmation.';
        var error='Please enter a valid email.';	
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=title;
		desc_obj.innerHTML=error;
		
        return false;
    }
	
    result=compare(document.getElementsByName('email')[1].value,"email");
    if(!result){

		var title='Your email is not valid.';
        var error='Please enter again.';	
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=title;
		desc_obj.innerHTML=error;
		
        return false;
    }
	
	
	var url=document.getElementsByName('reference')[0].value;
    if(url == 'copy paste the photo URL or the Gift page URL'|| url ==''){
        document.getElementsByName('reference')[0].value='';
    }else{
        if(!verify(url)){
            var title='Your url is not valid.';	
            var error='Please enter a valid URL. URL must start with http://. ';
            YAHOO.example.container.dialog1.show();
            msg_obj.innerHTML=title;
	    	desc_obj.innerHTML=error;
            
            return false;
        }
    }
    return true;
}


function validate1(){

    nickname=compare(document.getElementsByName('nickname')[0].value,"require");
    comment=compare(document.getElementsByName('comment')[0].value,"require");
    var msg_obj=document.getElementById('message');
    var desc_obj=document.getElementById('err_desc');

    if(!nickname || !comment ){	
        var error='Data is missing.';
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=error;
        toggleLayer('commentForm');
        return false;
    }
	
    result=compare(document.getElementsByName('nickname')[0].value,"require");
    if(!result){
        var error='Nickname is required.';	
		var title='Please create a nickname for yourself. Nickname helps users to know whom they are interacting with.';
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=error;
        desc_obj.innerHTML=title;
        toggleLayer('commentForm');
        return false;
    }

	if(comment_Over1000()){
        toggleLayer('commentForm');
		return false;
	}
	
    result=compare(document.getElementsByName('email')[0].value,"require");
    if(!result){

		var title='Email is required for confirmation.';
        var error='Please enter a valid email.';	
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=title;
		desc_obj.innerHTML=error;
		
        toggleLayer('commentForm');
        return false;
    }
	
    result=compare(document.getElementsByName('email')[0].value,"email");
    if(!result){

		var title='Your email is not valid.';
        var error='Please enter again.';	
        YAHOO.example.container.dialog1.show();
        msg_obj.innerHTML=title;
		desc_obj.innerHTML=error;
		
        toggleLayer('commentForm');
        return false;
    }
	
    return true;
}

function hide(){
	YAHOO.example.container.dialog3.hide();	
}

function verify(url)
{
    var regExp=new RegExp("(https?|ftps?)\\://");
    var rtn=url.match(regExp);
    if (rtn==null)
    {
        return false;
    }
    else
    {
        return true;
    }
}


function toggleLayer( whichLayer )
{  
    var elem, vis;  
    if( document.getElementById ) // this is the way the standards work    
        elem = document.getElementById( whichLayer );  
    else if( document.all ) // this is the way old msie versions work      
        elem = document.all[whichLayer];  
    else if( document.layers ) // this is the way nn4 works    
        elem = document.layers[whichLayer];  

    vis = elem.style;  // if the style.display value is blank we try to figure it out here  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)    
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';  
    vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

function valid(confirm_url) {
    var callback = {
        success: function(o) {
             YAHOO.example.container.dialog4.show();
        },
        failure:function(o) {

        }
    }

    var connObj = YAHOO.util.Connect.asyncRequest('GET',confirm_url, callback);
}

var confirm_url = document.getElementById('magi_confirm_url').value;
if ( confirm_url != '' ) {
    valid(confirm_url);
}
