﻿var ScrollUpNewsObj = new Array();
//垂直移动
function qswhMarquee(demoUpNews, demoUpNews1, demoUpNews2)
{
    if(document.getElementById(demoUpNews2).offsetTop-document.getElementById(demoUpNews).scrollTop<=0)
	{
	    document.getElementById(demoUpNews).scrollTop-=document.getElementById(demoUpNews1).offsetHeight
	}
	else
	{
	    document.getElementById(demoUpNews).scrollTop = document.getElementById(demoUpNews).scrollTop +1  //3表示一次移动的象素
	}
}

function ScrollUpNewsMouseOver(demoUpNews, demoUpNews1, demoUpNews2)
{           
    ScrollUpNewsObj[demoUpNews] = setInterval(function(){qswhMarquee(demoUpNews, demoUpNews1, demoUpNews2)},40);
}

//水平移动
function qswhMarqueeH(demoUpNews, demoUpNews1, demoUpNews2)
{
    
    if(document.getElementById(demoUpNews2).offsetWidth-document.getElementById(demoUpNews).scrollLeft<=0)
	{
	    document.getElementById(demoUpNews).scrollLeft-=document.getElementById(demoUpNews1).offsetWidth
	}
	else
	{
	    document.getElementById(demoUpNews).scrollLeft = document.getElementById(demoUpNews).scrollLeft +1  //3表示一次移动的象素
	}
}
function ScrollHMouseOver(demoUpNews, demoUpNews1, demoUpNews2)
{           
    ScrollUpNewsObj[demoUpNews] = setInterval(function(){qswhMarqueeH(demoUpNews, demoUpNews1, demoUpNews2)},40);
}


//Yinyf

var Oxsir = {};

Oxsir.Browser = {};

Oxsir.Browser.InternetExplorer = {};
Oxsir.Browser.Firefox = {};
Oxsir.Browser.Safari = {};
Oxsir.Browser.Opera = {};

Oxsir.Browser.agent = null;
Oxsir.Browser.hasDebuggerStatement = false;
Oxsir.Browser.name = navigator.appName;
Oxsir.Browser.version = parseFloat(navigator.appVersion);

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Oxsir.Browser.agent = Oxsir.Browser.InternetExplorer;
    Oxsir.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
    Oxsir.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Oxsir.Browser.agent = Oxsir.Browser.Firefox;
    Oxsir.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
    Oxsir.Browser.name = 'Firefox';
    Oxsir.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Oxsir.Browser.agent = Oxsir.Browser.Safari;
    Oxsir.Browser.version = parseFloat(navigator.userAgent.match(/ Safari\/(\d+\.\d+)/)[1]);
    Oxsir.Browser.name = 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Oxsir.Browser.agent = Oxsir.Browser.Opera;
}


Oxsir.Common = {};

Oxsir.Common.Random = function()
{
    return parseInt(Math.random() * 10000, 10);
}

Oxsir.Common.UploadFileDialog = function(directory, fileID, path)
{
	var arr = showModalDialog(path + "imgFile.htm?directory=" + directory + "&name=time&FileId="+fileID, window, "dialogWidth:400px;dialogHeight:150px;help:no;scroll:no;status:no");
	var tmp = document.getElementById(fileID);
	

	if (tmp && arr)
	{
        if (arr.indexOf("http://") < 0)
        {
            if (location.port == "80")
            {
                tmp.value = location.protocol + "//" + location.hostname + "/images/" + directory + "/" + arr;
            }
            else
            {
                tmp.value = location.protocol + "//" + location.hostname + ":" + location.port+ "/images/" + directory + "/" + arr;
            }
	        
	    }
	    else
	    {
	        tmp.value = arr;
	    }
	    tmp.fireEvent("onchange");
	}
}

Oxsir.Common.PaletteDialog = function(id, path)
{
    var arr = showModalDialog(path + "selcolor.htm" , "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0");
    var tmp = document.getElementById(id);
    if(arr && tmp)
    {
        tmp.value = arr;
        tmp.fireEvent("onchange");
    }
}

Oxsir.Common.RequestQueryString = function(name)
{
    var sValue = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]*)(\&?)","i")); 
    return sValue ? sValue[1] : sValue; 
}

Oxsir.Common.Table = {};

//把表格的多行多列变成一列多行形?
Oxsir.Common.Table.RowToColumn = function(table, tdStyle)
{
    var tr, td;
    var columnCount, rowCount;
    if (table)
    {
        rowCount = table.rows.length;
        for (var j = 0; j < rowCount; j++)
        {
            columnCount = table.rows[0].cells.length;
            for(var i = 0; i < columnCount; i++)
            {
                tr = table.insertRow(table.rows.length);
                td = tr.insertCell(0);                
                td.innerHTML = table.rows[0].cells[i].innerHTML;
                try
                {
                    td.attributes["id"].value = table.rows[0].cells[i].attributes["id"].value;
                    td.attributes["onclick"].value = table.rows[0].cells[i].attributes["onclick"].value;
                    td.attributes["vessels"].value = table.rows[0].cells[i].attributes["vessels"].value;
                }
                catch(e)
                {
                }
                td.style.cssText = tdStyle;
            }
            table.deleteRow(0);       
        }
    }
}

//�把表格的多行多列变成一行多列形?
Oxsir.Common.Table.ColumnToRow = function(table, tdStyle)
{
    var tr, td;
    var columnCount, rowCount;
    
    if (table)
    {
        rowCount = table.rows.length;
        
        tr = table.insertRow(table.rows.length);
        for (var i = 0; i < rowCount; i++)
        {
            columnCount = table.rows[0].cells.length;
            for (var j = 0; j < columnCount; j++)
            {
                td = tr.insertCell(tr.cells.length);
                td.innerHTML = table.rows[0].cells[j].innerHTML;
                try
                {
                    td.attributes["id"].value = table.rows[0].cells[j].attributes["id"].value;
                    td.attributes["onclick"].value = table.rows[0].cells[j].attributes["onclick"].value;
                    td.attributes["vessels"].value = table.rows[0].cells[j].attributes["vessels"].value;
                }
                catch(e)
                {
                }
                td.style.cssText = tdStyle;

            }
            table.deleteRow(0);
        }
    }
}

Oxsir.Common.JavaScript = {};

Oxsir.Common.JavaScript.TypeOf = function(objClass)
{
    if (objClass && objClass.constructor && objClass.constructor.__typeName)
    {
        return objClass.constructor.__typeName;
    }
    else if( objClass && objClass.constructor )
    {
        var strFun = objClass.constructor.toString();
        var className = strFun.substr(0, strFun.indexOf('('));
        className = className.replace('function', '');
        return className.replace(/(^\s*)|(\s*$)/ig, '');  
    }
    else
    {
        return typeof(objClass);
    }
}


Oxsir.Common.JavaScript.Serialize = function(o)
{
    var type = Oxsir.Common.JavaScript.TypeOf(o);
    switch(type)
    {
         case 'Array' :
         {
              var strArray = '['; 
              for ( var i=0 ; i < o.length ; ++i )
              {
                   var value = ''; 
                   if ( o[i] )
                   {
                        value = Oxsir.Common.JavaScript.Serialize(o[i]);
                   }
                   strArray += value + ',';
              }
              if ( strArray.charAt(strArray.length-1) == ',' )
              {
                   strArray = strArray.substr(0, strArray.length-1);
              }
              strArray += ']';  
              return strArray;
         }
         case 'Date' :
         {
              return 'new Date(' + o.getTime() + ')';
         }
         case 'Boolean' :            
         case 'Number' :
         case 'number' :
            return o.toString();
         case 'String' :
         {
              return "\"" + o.toString() + "\"";
         }
        default:
         {
              var serialize = '{'; 

              for ( var key in o )
              {
                   var subserialize = 'null';
                   if ( o[key] != undefined && o[key].constructor.__typeName != "Function")
                   {
                        subserialize = Oxsir.Common.JavaScript.Serialize(o[key]);
                        serialize += key + ' : ' + subserialize + ',';
                   }                   
              }
              
              if (o.constructor && o.constructor.__typeName)
              {
                  serialize += 'constructor : { __typeName : \"' + o.constructor.__typeName + '\"}';
              }
              else if ( serialize.charAt(serialize.length-1) == ',' )
              {
                  serialize = serialize.substr(0, serialize.length-1);
              }
              serialize += '}';
              return serialize;
         }
    }
}

Oxsir.Common.JavaScript.Deserialize = function(o)
{
    return eval(o);
}

Oxsir.Common.JavaScript.GetValidAttributes = function(o)
{
    var type = Oxsir.Common.JavaScript.TypeOf(o);
    switch (type)
    {
        case "Array":
            for (var i = 0; i < o.length; i++)
	        {
		        Oxsir.Common.JavaScript.GetValidAttributes(o[i]);
	        }
            break;
            
        case 'Date' :
        case 'Boolean' :            
        case 'Number' :
        case 'number' :
        case 'String':
        case 'Null':  
            break;
            
        default:
            try
            {
                var typeName = o.constructor.__typeName.toString();
                var validAttributes = eval("t = " + typeName + "ValidAttributes");
                for (var key in o)
                {
                    if (!validAttributes[key])
                    {
                        o[key] = null;
                    }
                    else                
                    {
                        Oxsir.Common.JavaScript.GetValidAttributes(o[key]);
                    }
                }
            }
            catch(e)
            {
                
            }
            break;
    }
}

Oxsir.Common.JavaScript.Converter = function(s)
{
    var dfr;
    var type = Oxsir.Common.JavaScript.TypeOf(s);
    switch (type)
    {
        case "Array":
	        dfr = [];
	        for (var i = 0; i < s.length; i++)
	        {
		        dfr[i] = Oxsir.Common.JavaScript.Converter(s[i]);
	        }
            break;
        case 'Date' :
        case 'Boolean' :            
        case 'Number' :
        case 'number' :
        case 'String':
        case 'Null':    //�有待验证

           dfr = s;
           break;
        default:
           try
           { 
	            var typeName = s.constructor.__typeName.toString();
	            dfr = eval("new " + typeName + "()");
	            if (dfr)
	            {
		            for (var key in s)
		            {
		                //规定Parent为父指针
		                if (key == "Parent"){continue;}
			            dfr[key] = Oxsir.Common.JavaScript.Converter(s[key]);
		            }
	            }
	        }
	        catch (e)
	        {
	            dfr = s;
	        }	        
	        break;
	 }
	 return dfr;
}

Oxsir.TabClickTab = function(o)
{
    try
    {
        //debugger;
        var tagID = o.parentNode.id;
        var vessels = document.getElementById(o.getAttribute("vessels"));
        
        var argument = vessels.getAttribute("arguments");
        argument = Oxsir.Common.JavaScript.Deserialize(argument);
        for (var i = 0; i < argument.length; i++)
        {
            if (argument[i].Tag == tagID)
            {
                var tag = document.getElementById(argument[i].Tag);
                var tab = document.getElementById(argument[i].Tab);                
                tag.firstChild.style.backgroundImage = "url(" + tag.firstChild.getAttribute("bgimgcur") + ")";                
                tab.style.display = "block";
            }
            else
            {
                var tag = document.getElementById(argument[i].Tag);
                var tab = document.getElementById(argument[i].Tab);                
                tag.firstChild.style.backgroundImage = "url(" + tag.firstChild.getAttribute("bgimg") + ")";                
                tab.style.display = "none";
            }
        }
        
    }
    catch(e)
    {
        //alert(e.toString());
    }
}


Oxsir.WebResear = {};

Oxsir.WebResear.CheckFormrd = function(o, id,pkId)
{
    var txtbox = document.getElementById(id);
    var TextBox = document.getElementById(pkId);
    if (o && txtbox)
    {//清除文本框内容记录

        if(txtbox.value.indexOf("&<Text%") != -1)
        {
             txtbox.value = txtbox.value.replace(
                               txtbox.value.slice(
                                  txtbox.value.slice(0,
                                                    txtbox.value.indexOf("&<Text%")
                                                    ).lastIndexOf("|<ID%"),
                                                txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("&<Text%",0))+6
                                               )
                                           ,"");
         }
        if(txtbox.value.indexOf("%Text>|") != -1)
        {   
            txtbox.value = txtbox.value.replace(
            txtbox.value.slice(txtbox.value.slice(0,(txtbox.value.indexOf("="))).lastIndexOf("|<ID%") , 
            txtbox.value.indexOf("%ID>=")),
            "|"+"<ID%" + o.value + "");
        }
        else
            txtbox.value = txtbox.value + "<ID%" + o.value + "%ID>" + "=" + "<Text%" + o.checked + "%Text>" + "|";
    }
    if(TextBox)
         TextBox.disabled = true;
}
Oxsir.WebResear.CheckFormcb = function(o, id,pkId)
{
    var txtbox = document.getElementById(id);
    if(o && txtbox)
    {
        if(txtbox.value.indexOf("<ID%" + pkId + "%ID>",0) != -1)
        {   
            if(!o.checked)
                    txtbox.value = txtbox.value.replace(
                                        txtbox.value.slice(
                                                   txtbox.value.indexOf("<ID%" + pkId + "%ID>",0),
                                                   txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("<ID%" + pkId + "%ID>",0))+7
                                                          ),
                                               "");
//                  txtbox.value = txtbox.value.replace(
//                                        txtbox.value.slice(
//                                                   txtbox.value.indexOf("<ID%" + pkId + "%ID>",0),
//                                                   txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("<ID%" + pkId + "%ID>",0))+6
//                                                          ),
//                                               "<ID%" + pkId + "%ID>"+"="+"<Text%" + o.checked + "%Text>");
        }
        else
            txtbox.value = txtbox.value + "<ID%" + pkId + "%ID>" + "=" + "<Text%" + o.checked + "%Text>" + "|";
    }
}
Oxsir.WebResear.CheckFormrdTxt = function(o,id,pkId)
{
    var txtbox = document.getElementById(id);
    var TextBox = document.getElementById(pkId);
    
    if (o && txtbox)
    {
        if(txtbox.value.indexOf("%Text>|") != -1)
        {  //替换选项为文本框内容
              txtbox.value = txtbox.value.replace(
                                          txtbox.value.slice(
                                                   txtbox.value.slice(0,txtbox.value.indexOf("%ID>=")).lastIndexOf("|<ID%"),
                                                   txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("=<Text%",0))+6
                                                            ),
                                          "|"+ "<ID%" +o.value + "%ID>" + "&<Text%" + TextBox.value + "%Text>");
//            txtbox.value = txtbox.value.replace(
//            txtbox.value.slice(txtbox.value.slice(0,(txtbox.value.indexOf("="))).lastIndexOf("|") , 
//            txtbox.value.indexOf("=")),
//            "|"+o.value);
        }
        else
            txtbox.value = txtbox.value + "<ID%" +o.value + "%ID>" + "&<Text%" + TextBox.value + "%Text>|";
    }
    if(o && TextBox)
    {
        if(o.checked)
        { 
             TextBox.disabled = false;
        }
    }
}
Oxsir.WebResear.CheckFormcbTxt = function(o,id,pkId)
{
    var txtbox = document.getElementById(id);
    var TextBox = document.getElementById(pkId);
    if(o && TextBox)
    {
        if(o.checked)
        {
            txtbox.value = txtbox.value + "<ID%" +o.value + "%ID>" + "&<Text%" + TextBox.value +"%Text>|";
            TextBox.disabled = false;
        }
        else
        {
            if(txtbox.value.indexOf("&<Text%") != -1)
            txtbox.value = txtbox.value.replace(
                              txtbox.value.slice(
                                 txtbox.value.slice(0,txtbox.value.indexOf("&<Text%")).lastIndexOf("|<ID%"),
                                                    txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("&<Text%",0))+6
                                                 ),"");
            TextBox.disabled = true;
        }
    }
}
Oxsir.WebResear.CheckFormtxb = function(o,id,pkId)
{
    var txtbox =document.getElementById(id);
    if(o && txtbox)
    {
        if(txtbox.value.indexOf("<ID%" + o.getAttribute("optionsId") + "%ID>",0) != -1)
        {    
            txtbox.value = txtbox.value.replace(
                              txtbox.value.slice(
                                                   txtbox.value.indexOf("<ID%" + o.getAttribute("optionsId") + "%ID>",0),
                                                   txtbox.value.indexOf("%Text>|",txtbox.value.indexOf("<ID%" + o.getAttribute("optionsId") + "%ID>",0))+6
                                                ),
                                                 "<ID%" + o.getAttribute("optionsId") + "%ID>"+"&<Text%"+o.value+"%Text>");
        }
        else
            txtbox.value = txtbox.value + "<ID%" + o.getAttribute("optionsId") + "%ID>" + "&<Text%" + o.value + "%Text>|";
    }
}

Oxsir.WebResear.ViewPole = function(bigClassPkId)
{
      var aaa="WebResearResultPole.aspx?bigClassPkId=" + bigClassPkId;
      window.open(aaa,"","width=450,height=400,scrollbars=yes,status=yes");
}
Oxsir.WebResear.ViewCake = function(bigClassPkId)
{
  
      var aaa="WebResearResultCake.aspx?bigClassPkId=" + bigClassPkId;
      window.open(aaa,"","width=450,height=400,scrollbars=yes,status=yes");
}

Oxsir.WebResear.InitWebResearData = function(webResearClientID)
{     
     document.isSubmited = false;
     window.open("WebResearVote.aspx?ClientID="+webResearClientID,"","width=450,height=400,scrollbars=yes,status=yes");
}
